Πέμπτη 16 Οκτωβρίου 2008

Using Streams in Java

If you got confused by the number of streams in Java, check this out:

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.

Ventrix's Code Folds

Ventrix's Code FoldsExplicit code

Δευτέρα 6 Οκτωβρίου 2008

Calculate the execution time

//variables
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

My processor:


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

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...

http://www.russellbeattie.com/notebook/1002646.html

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

Java Naming Conventions

http://java.sun.com/docs/codeconv/html/CodeConventions.doc8.html

http://geosoft.no/development/javastyle.html