Πέμπτη 16 Οκτωβρίου 2008
Using Streams in Java
Using Java Streams: http://docs.rinet.ru/WebJPP/ch13.htm
Input and Output Streams: http://www.iam.ubc.ca/guides/javatut/java/io/index.html
Basic I/O: http://java.sun.com/docs/books/tutorial/essential/io/
Very very fast:
* Byte Streams handle I/O of raw binary data.
* Character Streams handle I/O of character data, automatically handling translation to and from the local character set.
* Buffered Streams optimize input and output by reducing the number of calls to the native API.
* Scanning and Formatting allows a program to read and write formatted text.
* I/O from the Command Line describes the Standard Streams and the Console object.
* Data Streams handle binary I/O of primitive data type and String values.
* Object Streams handle binary I/O of objects.
Δευτέρα 6 Οκτωβρίου 2008
Calculate the execution time
private long start;
private long end;
//Put this before the main code
start = System.currentTimeMillis();
//Main code here
//Put this at the end of the code
end = System.currentTimeMillis();
System.out.println("Completed in +"+(end-start)+"ms");
Running a threadless application on a Intel Core2 CPU
cat /proc/cpuinfo
ventrix@bytemobile:~$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Core(TM)2 CPU 6300 @ 1.86GHz
stepping : 6
cpu MHz : 1875.766
cache size : 2048 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
I created an application to test if a number is prime or not. It isn't very special, except the fact that you can check REALLY big numbers...
The result is this:

As you can see with htop, only one of the cores is executing the application.
Also, if you take a careful look at the xfce's cpu meter, the total use of the CPU counts a 50% percent.
After 25 minutes I guess 170141183460469231731687303715884105727 IS a big number to test:)
[BTW 170141183460469231731687303715884105727 is a prime, according to http://en.wikipedia.org/wiki/List_of_prime_numbers)
Τετάρτη 17 Σεπτεμβρίου 2008
Java comments for javadoc how to
In Netbeans, write /** before a constructor for example and press enter. It will automatically generate the javadoc comments for that constructor!
/**
* Returns an Image object that can then be painted on the screen.
* The url argument must specify an absolute {@link URL}. The name
* argument is a specifier that is relative to the url argument.
*
* This method always returns immediately, whether or not the
* image exists. When this applet attempts to draw the image on
* the screen, the data will be loaded. The graphics primitives
* that draw the image will incrementally paint on the screen.
*
* @param url an absolute URL giving the base location of the image
* @param name the location of the image, relative to the url argument
* @return the image at the specified URL
* @see Image
*/
public Image getImage(URL url, String name) {
try {
return getImage(new URL(url, name));
} catch (MalformedURLException e) {
return null;
}
}
http://java.sun.com/j2se/javadoc/writingdoccomments/
Πέμπτη 4 Σεπτεμβρίου 2008
J2me sockets and streams...
a call to Connector.open("sockets://...") in the main thread will STOP your application from running without an error.
if the inputStream is blocked waiting for a read(), then the outputStream is blocked also.
a call to InputStream.available() always returns 0, regardless of how many bytes are actually available.
Τρίτη 2 Σεπτεμβρίου 2008
Java Naming Conventions
http://java.sun.com/docs/codeconv/html/CodeConventions.doc8.html
http://geosoft.no/development/javastyle.html
