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 160


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

Java Newsletters: Java Newsletters Archive: 174

Go to all tips in Java Newsletters

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

 Issue No: 174                                            17 July 2003
13637 subscribers    

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

In this issue:
  • 1. On some Windows 2000 machines our application (uses Java 2D) causes system crash - blue screen of Windows death Smile...
  • 2. How can I completely clean up my Windows XP from Microsoft JVM before I install Sun Microsystems JVM?
  • 3. Latest posts on our message board
  • 4. Link to Java FAQ

  • Hello dear friends!

    Tip 1

    Question: On some Windows 2000 machines our application (uses Java 2D) causes system crash - blue screen of Windows death Smile...

    Answer: It can happen if you J2SE 1.4.1 and later. The problem is not in Java itself but rather in obsolete video drivers that can contain bugs. Java 2D functionality in J2SE 1.4.1 and beyond is implemented using DirectDraw and Direct3D for various off screen rendering functions.
    Possible solution is to update video driver. Find out what is chipset your graphical card uses and then go to the site of manufacturer, for example http://www.atitech.com

    If it does not help you can run your application with different flags.

    One example of a known problem is that using Direct3D on some small subset of Windows 2000 systems has been known to cause a system crash. You can also try launching your application with the following command-line flag set:

    -Dsun.java2d.d3d=false

    This forcibly disables our use of Direct3D and avoids any Direct3D-specific problems.
    You can also try the following flag:

    -Dsun.java2d.ddoffscreen=false

    This flag disables our use of DirectDraw and Direct3D for off screen images (such as the Swing back buffer).
    If a problem persists, try launching the application with this flag:

    -Dsun.java2d.noddraw=true

    This flag disables our use of DirectDraw and Direct3D completely and thus avoids any problems you may be seeing associated with our use of those APIs and their respective drivers on your system.

    This tip is based on release notes for J2SE 1.4.2:

    http://java.sun.com/j2se/1.4.2/relnotes.html#vm


    Tip 2

    Question: How can I completely clean up my Windows XP from Microsoft JVM before I install Sun Microsystems JVM?

    Answer: You might want to remove the Microsoft JVM, which Microsoft no longer supports, in favor of the more recent Sun Microsystems JVM. To remove the Microsoft JVM, perform the following steps:

       1. From the Start menu, select Run.
       2. Enter the command
           RunDll32 advpack.dll,LaunchINFSection java.inf,UnInstall
           to start the uninstall process
       3. Click Yes to the confirmation, then select Reboot.
       4. After the machine restarts, delete the following items:
           the \%systemroot%java folder
           java.pnf from the \%systemroot%inf folder
           jview.exe and wjview.exe from the \%systemroot%system32 folder
          The HKEY_LOCAL_MACHINESOFTWAREMicrosoftJava VM registry subkey
          The HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet
          ExplorerAdvancedOptionsJAVA_VM registry subkey (to remove the Microsoft
          Internet Explorer (IE) options)

    Now you can get latest JVM from Sun!


    Latest posts on our message board


    7 comments | Printer Friendly Page  Send to a Friend | Java Newsletters | Score: 0
    Posted by jalex on Monday, February 02, 2004 (16:04:31) (2705 reads)

    Java Newsletters: Java Newsletters Archive: 173

    Go to all tips in Java Newsletters

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

    Issue No: 173 15 July 2003
    13637 subscribers

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

    In this issue:
  • 1. If your system does take in external XML data this security tip is for you!
  • 2. What are enhancements were added to new javac since 1.4.2?
  • 3. If I turn off daylight saving during an installation of Windows XP then Java runtime...
  • 4. Latest posts on our message board
  • 5. Link to Java FAQ

  • Hello dear friends!

    Tip 1

    Good to know: If your system does take in external XML data this security tip is for you!

    While XML does not allow recursive entity definitions, it does permit nested entity definitions, which produces the potential for Denial of Service attacks on a server which accepts XML data from external sources. For example, a SOAP document like the following that has extremely deeply nested entity definitions can consume 100% of CPU time and a lot of memory in entity expansions.
    <?xml version="1.0" encoding ="UTF-8"?>
    <!DOCTYPE foobar[
    <!ENTITY x100 "foobar">
    <!ENTITY x99 "&x100;&x100;">
    <!ENTITY x98 "&x99;&x99;">
    ...
    <!ENTITY x2 "&x3;&x3;">
    <!ENTITY x1 "&x2;&x2;">
    ]>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV=...>
    <SOAP-ENV:Body>
    <ns1:aaa xmlns:ns1="urn:aaa" SOAP-ENV:encodingStyle="...">
    <foobar xsi:type="xsd:string">&x1;</foobar>
    </ns1:aaa>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>

    A system that doesn't take in external XML data need not be concerned with issue, but one that does can utilize one of the following safeguards to prevent the problem:
    New system property to limit entity expansion
    The entityExpansionLimit system property lets existing applications constrain the total number of entity expansions without recompiling the code. The parser throws a fatal error once it has reached the entity expansion limit. (By default, no limit is set, because such a constraint would make the XML parser incompatible with the XML 1.0 specification.)

    To set the entity expansion limit using the system property, use an option like the following on the java command line: -DentityExpansionLimit=100000

    New parser property to disallow DTDs
    The application can also set the http://apache.org/xml/features/disallow-doctype-decl parser property to true. A fatal error is then thrown if the incoming XML document contains a DOCTYPE declaration. (The default value for this property is false.) This property is typically useful for SOAP based applications where a SOAP message must not contain a Document Type Declaration.

    This tip is based on:
    http://java.sun.com/j2se/1.4.2/relnotes.html#jaxp

    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 are enhancements were added to new javac since 1.4.2?

    Answer: The following enhancements and bug fixes have been made to the javac source compiler in the Java 2 SDK.
    RFE 4626998 implemented: Added -cp synonym for -classpath option to set classpath.
    RFE 4515858 implemented: Added -Xbootclasspath/p: option to prepend to bootclasspath.
    RFE 4253402 implemented: Added -Xmaxerrors and -Xmaxwarns to increase the number of errors and warnings printed by javac.

    Also optimizations have been made to the core libraries to reduce startup time. For a small command line application, startup time has been reduced by roughly thirty percent; for a small Swing application, by fifteen to twenty percent.
    In some rare situations, one optimization related to filename canonicalization may cause inconsistent views of the host platform's file system to be briefly visible to Java applications. The optimization caches, for a short time, the results of calls to File.getCanonicalFile() and File.getCanonicalPath(). If a file is moved by another application then the canonicalization result for that file may briefly differ from its true value, although attempts to open and access the file will succeed or fail as before. Applications should not rely on the presence or absence of such inconsistencies. If an application must disable this optimization for correctness purposes then the system property -Dsun.io.useCanonCaches=false may be specified.


    Tip 3

    Question: If I turn off daylight saving during an installation of Windows XP then Java runtime detects the platform time zone in the GMT offset format (e.g., "GMT+09:00"), not as a time zone ID (e.g., "Asia/Tokyo"). What is fix for that problem?

    Answer: To fix this installation problem, take the following steps after the installation (unless you intend to turn off the setting):
    1. Open Date/Time in Control Panel.
    2. On the Time Zone tab, choose a time zone that observes daylight saving time (e.g., "(GMT-08:00) Pacific Time (US & Canada); Tijuana"), select the "Automatically adjust clock for daylight saving changes" check box, and press the Apply button.
    3. Choose your time zone back and press the OK button.


    Latest posts on our message board



    1 comment | Printer Friendly Page  Send to a Friend | Java Newsletters | Score: 0
    Posted by jalex on Monday, February 02, 2004 (16:03:25) (3028 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