Java Stuff
- Determining the Process ID (PID)
- Handling signed bytes
- Oracle JDBC Driver URL
- Proxy Settings
Determine PID in Java:
exec java -Dpid=$$
Having started the Java interpreter as above, you'll be able to access
the process id of the interpreter through the system properties:
String pid = System.getProperty("pid");
bytes, signed in Java
the byte data type is signed in java, to get the proper
(unsigned) value into, say, an int:
byte b = (byte)0xFF;
int notSigned = b < 0 ? b+256 : b;
Internally, the Java VM uses int for boolean,byte, short and
char anyway, so, consider using just using int
to save yourself the trouble. Just make sure you throw out the high bits
when you look at the value:
int notSigned &= 0x000000ff;
HTTP Proxies
One of the single most retarded aspects of Java. Use of the HTTP proxies by
Java's HTTP implementation is governed by System Properties. Instead
of using perfectly good existing environment variables (http_proxy),
Sun decided to make up new names for it's system properties and not
document them anywhere. The names were proxySet, proxyHost and
proxyPost.
Later they realized their mistake and decided to change things aroung
again to something else non standardized: http.proxyHost and
http.proxyPort at least now you only need to set those properties and
not a third one to inform the VM about the other two.
java -Dhttp.proxyHost=my.proxy.com -Dhttp.proxyPost=8080
Alternatively, it's possible to set the properties from within Java source code:
Properties props = System.getProperties();
props.put("http.proxyHost","my.proxy.com") ;
props.put("http.proxyPort", 8080)
You'll eventually find an Overview of Networking Properties on Sun's Java site if you search long enough.