Easy to Learn Java: Programming Articles, Examples and Tips

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


Code Examples

Java Tools

More Java Tools!

Java Forum

All Java Tips


Submit News
Search the site here...
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"!.

Java Newsletters Archive: 177

JavaFAQ Home » Java Newsletters Go to all tips in Java Newsletters

Bookmark and Share

=== [ The Java FAQ Daily Tips, weekly publication ] ===

Issue No: 177 5 August 2003
14019 subscribers

Foreword: Excuse me for possible mistakes. English is not native language for me.

In this issue:
  • 1. When does garbage collection performance matter to the user?
  • 2. What is young generation in GC(Garbage Collector)?
  • 3. Why SUN does not introduce dynamic policies (for security)?
  • 4. Latest posts on our message board
  • 5. Link to Java FAQ

  • Hello dear friends!

    In one of my last newsletters was the answer to the question:
    Why wait(), sleep(), notify(), notifyAll() must be inside a synchronized block, otherwise it throws java.lang.IllegalMonitorStateException: current thread not owner. see newsletter No 175, tip 2, July 22

    Harald M. Mueller from Germany corrected me:
    "This is not true for sleep(). However, sleep() can throw an
    InterruptedException. It is, in many cases, ok to write
    try {
    } catch (InterruptedException ex) {
    // empty - ignore the exception

    catch blocks, either
    * rethrow an exception
    * show the problem in a GUI dialog
    * crash the program
    Writing an exception to stdout or stderr with ex.printStacktrace() is NOT OK!!
    Regards Harald M. Mueller Germany "
    Thanks for correction. Please always correct me if I am wrong!


    Tip 1

    Question: When does garbage collection performance matter to the user?

    Answer: For many applications it doesn't. That is, the application can perform within its specifications in the presence of garbage collection with pauses of modest frequency and duration. An example where this is not the case (when the default collector is used) would be a large application that scales well to large number of threads, processors, sockets, and a large amount of memory.

    Java wimps please close your ears ... For the Java programmer who
    thought he knew everything there was to know about Java, have a
    look at the most advanced Java newsletter archived on the website
    http://www.smotricz.com/kabutz Guess what, it won't even cost you
    anything! Subscribe today - you won't be disappointed.

    Tip 2

    Question: What is young generation in GC(Garbage Collector)?

    Answer: In the J2SE platform version 1.4.1 two new garbage collectors were introduced to make a total of four garbage collectors from which to choose.
    Beginning with the J2SE platform, version 1.2, the virtual machine incorporated a number of different garbage collection algorithms that are combined using generational collection. While naive garbage collection examines every live object in the heap, generational collection exploits several empirically observed properties of most applications to avoid extra work.

    The default collector in HotSpot has two generations: the young generation and the tenured generation. Most allocations are done in the young generation. The young generation is optimized for objects that have a short lifetime relative to the interval between collections. Objects that survive several collections in the young generation are moved to the tenured generation. The young generation is typically smaller and is collected more often. The tenured generation is typically larger and collected less often.

    The young generation collector is a copying collector. The young generation is divided into 3 spaces: eden-space, to-space, and from-space. Allocations are done from eden-space and from-space. When those are full a young generation is collection is done. The expectation is that most of the objects are garbage and any surviving objects can be copied to to-space. If there are more surviving objects than can fit into to-space, the remaining objects are copied into the tenured generation. There is an option to collect the young generation in parallel.

    The tenured generation is collected with a mark-sweep-compact collection. There is an option to collect the tenured generation concurrently.

    This tip is based on FAQ about Garbage Collection in the HotSpot Java Virtual Machine
    and article "Tuning Garbage Collection with the 1.4.2 Java Virtual Machine"

    Sara Freder offering you a FREE Clairvoyance Horoscope and she will reveal your lucky numbers, all FREE of charge. Click Here.

    Tip 3

    Question: Why SUN does not introduce dynamic policies (for security)?

    Answer: Support for dynamic policies has been added. In Java 2 SDK releases prior to version 1.4, classes were statically bound with permissions by querying security policy during class loading. The lifetime of this binding was scoped by the lifetime of the class loader. In version 1.4 this binding is now deferred until needed by a security check. The lifetime of the binding is now scoped by the lifetime of the security policy.

    Latest posts on our message board
    JList in a JTable cell

    Is it possible to render JList into a JTable cell? If it is please provide a code sample.
    please help here ...

    Object serialization

    Hi all,

    have a question for you.
    I have a socket sock, I use ObjectStream to read/write objects on the socket. If I write 2 or more times an object on the stream (the exactly same object) on the other side I don't see its state (values of attributes) changes.

    For example if I write a Dimension object 2 times and after the first writeObject I change its state with setSize, the second time I do readObject it return the SAME STATE as the first time, as I if never changed the size of Dimension.

    continues here ...

    How to realize my project

    I’m new on java and i should do a project to create an application to design Workflow on thin client (IE6) or a software and use Java Web Start. The design is base on the state-chart diagram. All the information concerning items (position, size) will be store under lotus Notes Documents.
    Each item (state, chart relations) will have different values selected from list. Each list will be fill in with informations descended from data contains under Lotus Notes documents.
    State and chart max number: 99
    We will use Lotus Domino R6 as HTTP server.
    In fact the applet I should create will only be use to draw, all the information are from and store under Lotus Notes

    The software should contain a zoom option, an export option(GIF,.. ) and a print option (PDF, printer)

    I found jgraph,

    continues here ...

    Open-Source Wireless App Development

    Please vote to help select the topic for open-source wireless development,after the voting is over interested candidates will be able to join the project.

    Direct Link : http://www.thesoftwareobjects.com/Projects
    Main Url: http://www.thesoftwareobjects.com

    problem with JPopup


    i have following problem.
    In a JTree i show a JPopup if i clicked with right mousebutton.
    If something is select and action the Popup i will allow to move it. This means i draw a ghost image of the selection on the position of the popup.
    I draw this image if the method actionperformed of the Popup calls.
    And when the mouse moves i draw it at the mouseposition.
    Now the problem. After the popup action the image is not draw correctly. At the position of popup it draw wight and the rest show correct.
    I have try to draw in following methods:

    -popupMenuWillBecomeInvisible and
    -propertyChange(PropertyChangeEvent e) {
    if((Boolean)e.getNewValue() == Boolean.FALSE)
    continues here ...

    Rounding Oval in a rect.

    Hey everybody. Please help me create a java applet of which the ball is rounding in a rectengular/square...

    And otherone. There is bar getting longer as you press a key.

    Please please please I need you...

    Limiting JTextArea

    Basically all I want to do is limit a JTextArea to, say, four lines max. I mean 4 physical lines, not 4 sentences. Now I know about PlainDocument and I know how to determine how many carriage returns there are in the JTextArea. But sometimes there will be carriage returns and sometimes there will just be linewraps at a word space. Both create "new lines" in my situation.

    So I'm struggling determining how many lines are in the JTextArea when carriage returns aren't used and how to limit the max number of lines. I have got as far as stopping entry when the fourth line is at its maximum width but this also stops entry on previous lines if the user moves the cursor back up a line.

    At this point I'm going around in circles and need a fresh approach. Any code examples or thoughts would be sincerely appreciated.
    please help here ...

     Printer Friendly Page  Printer Friendly Page
     Send to a Friend  Send to a Friend

    .. Bookmark and Share

    Search here again if you need more info!
    Custom Search

    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