Easy to Learn Java: Programming Articles, Examples and Tips

Start with Java in a few days with Java Lessons or Lectures

Home

Code Examples

Java Tools

More Java Tools!

Java Forum

All Java Tips

Books

Submit News
Search the site here...
Search...
 
Search the JavaFAQ.nu
1000 Java Tips ebook

1000 Java Tips - Click here for the high resolution copy!1000 Java Tips - Click here for the high resolution copy!

Java Screensaver, take it here

Free "1000 Java Tips" eBook is here! It is huge collection of big and small Java programming articles and tips. Please take your copy here.

Take your copy of free "Java Technology Screensaver"!.

Easy Learn Java: Programming Articles, Examples and Tips - Page 144


Previous 1060 Stories (530 Pages, 2 Per Page) Next

What's the difference between the -client and -server systems (options in JVM)?

Go to all tips in Java Tools

Question: What's the difference between the -client and -server systems (options in JVM)?

Answer: These two systems are different binaries. They are essentially two different compilers (JITs) interfacing to the same runtime system. The client system is optimal for applications which need fast startup times or small footprints, the server system is optimal for applications where the performance is most important. In general the client system is better on GUIs. Some of the other differences include the compilation policy used, heap defaults, and inlining policy.

from the Java Hotspot Virtual Machine FAQ:
http://java.sun.com/docs/hotspot/PerformanceFAQ.html



6 comments | Printer Friendly Page  Send to a Friend | Score: 2

Posted by jalex on Thursday, January 29, 2004 (00:00:00) (7140 reads)

Java Newsletters: Java Newsletters Archive: 13

Go to all tips in Java Newsletters

******************************************************************
* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ *
* > The Java FAQ Daily Tips, weekly publication < *
* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ *
* *
* Issue No: 13 29 November 2000 *
* http://www.javafaq.nu/java *
* *
* *
* Please recommend us and our FREE "100 Java Tips" book to your *
* friends and colleagues! *
* http://javafaq.nu/java/advert/our_book.shtml *
******************************************************************

Table of Contents

1. Is there any performance or other benefit from importing only
the classes you need ...
2. Is it possible to redirect the System.out.println to a file?
3. == and equals ()... These two still make me confused...
4. Could some kind person please tell me how to save the object
as a file so as the same program can load it again?
5. Why do I get message like “wrong magic number� when I am trying
to run an applet?
6. Can anyone write me a short method that lets me know what files
are in a particular directory?
7. In java, I found a lot of methods, which let you enter a line
... They ALL wait until return is pressed. Does ...
******************************************************************

Hello dear friends!

We prepared for publishing pdf-version (Acrobat Reader) of our
"100 Java Tips" book and planning to have it on the site next week.
So it will be possible for all of you to read this book.

We will regularly update this book (every 2-3 weeks). So one nice
beautiful sunny day you will discover that your "100 Java Tips"
become "100's Java Tips"! Please feel free to present it to your
friends, colleagues and just good people!

You can read about book and download it from page:
http://javafaq.nu/java/advert/our_book.shtml

Also we started some job on building in into our site the searching
engine that will let you do additional search of Java resources
(really any resources) on whole web without leaving our site.
This engine has more than 2,000,000 best active links in the
continuolsly growing database!
All links are selected by people (not by automated web spider program)!



Tip 1

Is there any performance or other benefit from importing only the
classes you need in a file using something like:

import java.util.HashMap;

instead of using ,

import java.util.*;

to import all the classes in a package.

Answer: Strictly speaking, "import java.util.*;" does not import
the whole of java.util. It is an "import on demand" which imports
any class or interface in java.util that is needed. If the first
import statement would have done the job, then HashMap is the only
class the second one would import.

No measurable differences in compile time performance. You can do
the test, but I suspect you would get identical byte code, so no
difference in run time performance.

There is a practical difference when two packages contain classes
with the same name. Suppose you also imported java.awt.* and tried
to declare a List. It would be ambiguous. If you use the second
form you would either import java.util.List or java.awt.List.

There is also a documentation difference. The first one makes it
clear exactly what imported classes are being used.

******************************************************************

Tip 2

Q: Is it possible to redirect the System.out.println to a file?

Answer: Connect a PrintStream to the file, and then call
System.setOut (PrintStream out) that reassigns the "standard"
output stream.

******************************************************************

Tip 3

Q: == and equals ()... These two still make me confuse a lot of
time. Can somebody give me some thumb rule or explain it to me?

Answer: When you use == with a primitive -int, double, char, ...
you are checking that the values are identical. But if you
use == with an object, you are checking that the 2 objects are
stored at the same address. In other words the references pointing
to the same object...
Method equals () is different.
It is the same as ==, if it isn't overriden by the object class.
Many classes override the method equals (). In this case this
method will check that content of the object is the same or not,
not addresses.

******************************************************************

Tip 4

Q: Could some kind person please tell me how to save the object
as a file so as the same program can load it again?

Answer: try this program. It saves obect into file:

import java.io.File;
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
import java.io.IOException;

public class Save{
public void saveMyObject(String filename, Object obj) {
File myFile = new File(filename);
try {
FileOutputStream fileOutStr =
new FileOutputStream(myFile);
ObjectOutputStream outStr =
new ObjectOutputStream(fileOutStr);
outStr.writeObject(obj);
outStr.close();
}catch (IOException e){
System.out.println("?!!!!!!");
}
}
public static void main (String args[]) {
Save s = new Save();
Object myObject = new Object();
String test = "test";
myObject = (Object)test;
s.saveMyObject("myfile", myObject);
}
}

If you open myfile you will see that this object includes our
string "test"
In the same manner you can read this object from a file...

******************************************************************

Tip 5

Q: Why do I get message like “wrong magic number� when I am trying
to run an applet? What is a magic number?

Answer: The first thing a JVM does when it loads a class is check
that the first four bytes are (in hex) CA FE BA BE. This is the
"magic number" and thats why you are getting that error, you are
trying to load a file that isnt a class and so the class loader
in the JVM is throwing out that exception.

Make sure you transfer the class files to site in binary mode,
rather than text or ASCII mode. An error from the browser saying
"cannot start applet ... bad magic number" usually means that one
of the class files on the server is corrupted.
Replace your class binary files on the web server; clean up the
cache of your browser, and reload your applet.

******************************************************************

Tip 6

Q: Can anyone write me a short method that lets me know what files
are in a particular directory?
For example, I want to know that directory, d:/temp/aaa, has
files a.txt, b.java, b.class.
Also related to this, how do I find out what folders I have?

Thanks in advance.
Answer: use our program as a base and add checking for the files and
directories you need to find!

here it is:

import java.io.File;
public class Save{
public void showDirectoryList() {
File dir = new File("d:/temp/aaa");
File[] list = dir.listFiles();
for (int i=0; i if (list[i].isFile()) {
System.out.println("File "+list[i].getName());
} else if (list[i].isDirectory()) {
System.out.println("Directory "+list[i].getName());
}
}
}
public static void main (String args[]) {
Save s = new Save();
s.showDirectoryList();
}
}

******************************************************************

Tip 7

Q: In java, I found a lot of methods, which let you enter a line
(read (), readLine () e.c.t). They all wait until return is pressed,
and then start providing you the information.
Does anyone know if there is a read method available whith the
desired behaviour, i.e. which doesn't wait for return being pressed?

Answer: Java does not provide it, the terminal itself waits until
return is pressed before sending the entered line to Java.
You need to use some platform specific mechanism to change the
terminal settings.

The Java FAQ Daily Tips is a newsletter that is only sent to those
who have specifically subscribed to it.

John Andersson, Editor mailto:info@javafaq.nu


Copyright (c) 2000 John Andersson
******************************************************************
* *
* You can find our tips on site also! *
* Please recommend us and our FREE "100 Java Tips" book to your *
* friends and colleagues! *
* http://javafaq.nu/java/advert/our_book.shtml *
* *
******************************************************************



5 comments | Printer Friendly Page  Send to a Friend | Java Newsletters | Score: 0
Posted by jalex on Wednesday, January 28, 2004 (16:30:32) (2917 reads)

Previous 1060 Stories (530 Pages, 2 Per Page) Next

530| 529| 528| 527| 526| 525| 524| 523| 522| 521| 520| 519| 518| 517| 516| 515| 514| 513| 512| 511| 510| 509| 508| 507| 506| 505| 504| 503| 502| 501| 500| 499| 498| 497| 496| 495| 494| 493| 492| 491| 490| 489| 488| 487| 486| 485| 484| 483| 482| 481| 480| 479| 478| 477| 476| 475| 474| 473| 472| 471| 470| 469| 468| 467| 466| 465| 464| 463| 462| 461| 460| 459| 458| 457| 456| 455| 454| 453| 452| 451| 450| 449| 448| 447| 446| 445| 444| 443| 442| 441| 440| 439| 438| 437| 436| 435| 434| 433| 432| 431| 430| 429| 428| 427| 426| 425| 424| 423| 422| 421| 420| 419| 418| 417| 416| 415| 414| 413| 412| 411| 410| 409| 408| 407| 406| 405| 404| 403| 402| 401| 400| 399| 398| 397| 396| 395| 394| 393| 392| 391| 390| 389| 388| 387| 386| 385| 384| 383| 382| 381| 380| 379| 378| 377| 376| 375| 374| 373| 372| 371| 370| 369| 368| 367| 366| 365| 364| 363| 362| 361| 360| 359| 358| 357| 356| 355| 354| 353| 352| 351| 350| 349| 348| 347| 346| 345| 344| 343| 342| 341| 340| 339| 338| 337| 336| 335| 334| 333| 332| 331| 330| 329| 328| 327| 326| 325| 324| 323| 322| 321| 320| 319| 318| 317| 316| 315| 314| 313| 312| 311| 310| 309| 308| 307| 306| 305| 304| 303| 302| 301| 300| 299| 298| 297| 296| 295| 294| 293| 292| 291| 290| 289| 288| 287| 286| 285| 284| 283| 282| 281| 280| 279| 278| 277| 276| 275| 274| 273| 272| 271| 270| 269| 268| 267| 266| 265| 264| 263| 262| 261| 260| 259| 258| 257| 256| 255| 254| 253| 252| 251| 250| 249| 248| 247| 246| 245| 244| 243| 242| 241| 240| 239| 238| 237| 236| 235| 234| 233| 232| 231| 230| 229| 228| 227| 226| 225| 224| 223| 222| 221| 220| 219| 218| 217| 216| 215| 214| 213| 212| 211| 210| 209| 208| 207| 206| 205| 204| 203| 202| 201| 200| 199| 198| 197| 196| 195| 194| 193| 192| 191| 190| 189| 188| 187| 186| 185| 184| 183| 182| 181| 180| 179| 178| 177| 176| 175| 174| 173| 172| 171| 170| 169| 168| 167| 166| 165| 164| 163| 162| 161| 160| 159| 158| 157| 156| 155| 154| 153| 152| 151| 150| 149| 148| 147| 146| 145|
144
| 143| 142| 141| 140| 139| 138| 137| 136| 135| 134| 133| 132| 131| 130| 129| 128| 127| 126| 125| 124| 123| 122| 121| 120| 119| 118| 117| 116| 115| 114| 113| 112| 111| 110| 109| 108| 107| 106| 105| 104| 103| 102| 101| 100| 99| 98| 97| 96| 95| 94| 93| 92| 91| 90| 89| 88| 87| 86| 85| 84| 83| 82| 81| 80| 79| 78| 77| 76| 75| 74| 73| 72| 71| 70| 69| 68| 67| 66| 65| 64| 63| 62| 61| 60| 59| 58| 57| 56| 55| 54| 53| 52| 51| 50| 49| 48| 47| 46| 45| 44| 43| 42| 41| 40| 39| 38| 37| 36| 35| 34| 33| 32| 31| 30| 29| 28| 27| 26| 25| 24| 23| 22| 21| 20| 19| 18| 17| 16| 15| 14| 13| 12| 11| 10| 9| 8| 7| 6| 5| 4| 3| 2| 1|


Home Code Examples Java Forum All Java Tips Books Submit News, Code... Search... Offshore Software Tech Doodling

RSS feed Java FAQ RSS feed Java FAQ News     

    RSS feed Java Forums RSS feed Java Forums

All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest 1999-2006 by Java FAQs Daily Tips.

Interactive software released under GNU GPL, Code Credits, Privacy Policy