carfield.com.hk collection.txt 2022-04-25T00:31:35Z 2022-04-25T00:31:35Z <br/>Performance comparison for various implementation - <a href="http://java-performance.info/hashmap-overview-jdk-fastutil-goldman-sachs-hppc-koloboke-trove-january-2015/">http://java-performance.info[..]-sachs-hppc-koloboke-trove-january-2015/</a> <br/><br/>Java Hashtable, HashMap, ConcurrentHashMap – Performance impact - <a href="https://blog.fastthread.io/2022/04/22/java-hashtable-hashmap-concurrenthashmap-performance-impact/">https://blog.fastthread.io[..]ap-concurrenthashmap-performance-impact/</a> <br/><br/><a href="http://marxsoftware.blogspot.com/2015/12/discovering-trove.html">http://marxsoftware.blogspot.com/2015/12/discovering-trove.html</a> <br/><br/>Using Red-Black tree in Map - <a href="https://dzone.com/articles/java-8-hashmaps-keys-and-the-comparable-interface">https://dzone.com[..]shmaps-keys-and-the-comparable-interface</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> 2022-04-25T00:31:35Z gc.txt 2022-02-01T13:38:23Z 2022-02-01T13:38:23Z <br/>Debugging RAM: Java Garbage Collection - Java Heap Deep Dive, Part 1 - <a href="https://talktotheduck.dev/debugging-ram-java-garbage-collection-java-heap-deep-dive-part-1">https://talktotheduck.dev[..]ge-collection-java-heap-deep-dive-part-1</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> 2022-02-01T13:38:23Z memory.txt 2022-01-04T13:36:02Z 2022-01-04T13:36:02Z <br/>Will you get any performance improvement if you manage memory yourself? - <a href="http://mentablog.soliveirajr.com/2012/11/which-one-is-faster-java-heap-or-native-memory/">http://mentablog.soliveirajr.com[..]ne-is-faster-java-heap-or-native-memory/</a> <br/><br/>More heap, GC will get slower - <a href="http://plumbr.eu/blog/increasing-heap-size-beware-of-the-cobra-effect">http://plumbr.eu[..]ing-heap-size-beware-of-the-cobra-effect</a> <br/><br/>Collection of tools to analysis GC activities - <a href="http://www.fasterj.com/tools/gcloganalysers.shtml">http://www.fasterj.com/tools/gcloganalysers.shtml</a> <br/><br/>Another presentation of performance hint for hotspot or memory - <a href="http://www.infoq.com/presentations/Extreme-Performance-Java">http://www.infoq.com/presentations/Extreme-Performance-Java</a> <br/><br/>Show how to enable and analyze the verbose:gc out data - <a href="http://javaeesupportpatterns.blogspot.com.au/2013/01/java-verbose-gc-tutorial-video.html">http://javaeesupportpatterns.blogspot.com.au[..]3/01/java-verbose-gc-tutorial-video.html</a> <br/><br/>Discussion and comparison of difference GC at Java 1.7 - <a href="http://mechanical-sympathy.blogspot.com.au/2013/07/java-garbage-collection-distilled.html">http://mechanical-sympathy.blogspot.com.au[..]7/java-garbage-collection-distilled.html</a> . And here is the detail experiment among those difference GC, look like G1 is quite promising - <a href="http://java-is-the-new-c.blogspot.com.au/2013/07/tuning-and-benchmarking-java-7s-garbage.html">http://java-is-the-new-c.blogspot.com.au[..]ng-and-benchmarking-java-7s-garbage.html</a> <br/><br/>Memory is not allocate to single block, thus even you allocate enough memory in term of size, it may not enough to held individual object - <a href="https://plumbr.eu/blog/outofmemoryerror-on-overprovisioned-heap">https://plumbr.eu/blog/outofmemoryerror-on-overprovisioned-heap</a> <br/><br/>Introduction to metaspace - <a href="http://www.infoq.com/articles/Java-PERMGEN-Removed">http://www.infoq.com/articles/Java-PERMGEN-Removed</a> <br/><br/><a href="http://vanillajava.blogspot.com.au/2014/08/try-optimising-memory-consumption-first.html">http://vanillajava.blogspot.com.au[..]optimising-memory-consumption-first.html</a> <br/><br/>Some comments about System.gc() - <a href="http://jeremymanson.blogspot.com/2015/12/why-i-dont-like-systemgc.html">http://jeremymanson.blogspot.com[..]om/2015/12/why-i-dont-like-systemgc.html</a> <br/><br/><a href="http://blog.takipi.com/5-tips-for-reducing-your-java-garbage-collection-overhead">http://blog.takipi.com[..]ng-your-java-garbage-collection-overhead</a> <br/><br/>Logging stop-the-world pauses in JVM - <a href="https://plumbr.eu/blog/performance-blog/logging-stop-the-world-pauses-in-jvm">https://plumbr.eu[..]log/logging-stop-the-world-pauses-in-jvm</a> <br/><br/>Why we should put difference app in same VM - <a href="http://mydailyjava.blogspot.hk/2016/10/generational-disparity-in-garbage.html">http://mydailyjava.blogspot.hk[..]0/generational-disparity-in-garbage.html</a> <br/><br/>Atlassian GC tuning guide - <a href="https://confluence.atlassian.com/enterprise/garbage-collection-gc-tuning-guide-461504616.html">https://confluence.atlassian.com[..]ollection-gc-tuning-guide-461504616.html</a> <br/><br/>Using jemalloc to get to the bottom of a memory leak - <a href="https://gdstechnology.blog.gov.uk/2015/12/11/using-jemalloc-to-get-to-the-bottom-of-a-memory-leak/">https://gdstechnology.blog.gov.uk[..]c-to-get-to-the-bottom-of-a-memory-leak/</a> <br/><br/>Troubleshooting-Java-Memory-Issues - <a href="https://www.infoq.com/articles/Troubleshooting-Java-Memory-Issues">https://www.infoq.com/articles/Troubleshooting-Java-Memory-Issues</a> <br/><br/>Useful parameters for OOME - <a href="https://jaxenter.com/jvm-outofmemoryerror-161257.html">https://jaxenter.com/jvm-outofmemoryerror-161257.html</a> <br/><br/>Why Java's TLABs are so important and why write contention is a performance killer in multicore environments - <a href="https://www.opsian.com/blog/jvm-tlabs-important-multicore/">https://www.opsian.com/blog/jvm-tlabs-important-multicore/</a> <br/><br/>MMU gang wars: the TLB drive-by shootdown - <a href="http://bitcharmer.blogspot.com/2020/05/t_84.html">http://bitcharmer.blogspot.com/2020/05/t_84.html</a> <br/><br/>Latency implications of virtual memory - <a href="https://rigtorp.se/virtual-memory/">https://rigtorp.se/virtual-memory/</a> <br/><br/>foreign-memaccess - <a href="http://cr.openjdk.java.net/~mcimadamore/panama/foreign-memaccess.html">http://cr.openjdk.java.net[..]cimadamore/panama/foreign-memaccess.html</a> <br/><br/>Detect proactively whether application’s memory is under-allocated - <a href="https://jaxenter.com/memory-under-allocated-176329.html">https://jaxenter.com/memory-under-allocated-176329.html</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> 2022-01-04T13:36:02Z leak.txt 2021-12-19T13:06:15Z 2021-12-19T13:06:15Z <br/>List some common causes of memory leak in application restart. - <a href="http://www.patrickpeak.com/comments/patrick/Weblog/your_web_app_is_leaking#comments">http://www.patrickpeak.com[..]/Weblog/your_web_app_is_leaking#comments</a> <a href="http://blog.dynatrace.com/2011/04/20/the-top-java-memory-problems-part-1/">http://blog.dynatrace.com[..]/20/the-top-java-memory-problems-part-1/</a> <br/><br/>Incorrect use of threadlocal - <a href="http://www.szegedi.org/articles/memleak.html">http://www.szegedi.org/articles/memleak.html</a> <br/><br/>Memory leak if load JDBC class incorrectly - <a href="http://www.szegedi.org/articles/memleak2.html">http://www.szegedi.org/articles/memleak2.html</a> <br/><br/>Serialization and ResourceBundle issue from core library (fixed) - <a href="http://www.szegedi.org/articles/memleak3.html">http://www.szegedi.org/articles/memleak3.html</a> <br/><br/>PermHeap bloat in and only in server VM - <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4957990">http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4957990</a> <br/><br/>String.subString() still held a big big char[] - <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4513622">http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4513622</a> <br/><br/>One pitfall of URLClassLoader, it cause leak from classloader, which is not obvious from the code - <a href="http://www.zeroturnaround.com/blog/rjc201/">http://www.zeroturnaround.com/blog/rjc201/</a> <br/><br/>Steps of finding out a memory leak by native code - <a href="http://web.archiveorange.com/archive/v/Dp7Rf33tij5BFBNRpVja#YnJRjM4IVyt54TV">http://web.archiveorange.com[..]e/v/Dp7Rf33tij5BFBNRpVja#YnJRjM4IVyt54TV</a> <br/><br/>Interesting Garbage Collection Patterns - <a href="https://blog.gceasy.io/2021/10/15/interesting-garbage-collection-patterns/">https://blog.gceasy.io[..]interesting-garbage-collection-patterns/</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> 2021-12-19T13:06:15Z option list.txt 2021-12-02T01:03:52Z 2021-12-02T01:03:52Z <br/>java -XX:+PrintFlagsFinal -version | findstr HeapSize , find out actual Xmx default in bytes - <a href="https://www.edureka.co/community/5621/default-parameters-of-xms-and-xmx-in-jvm">https://www.edureka.co[..]default-parameters-of-xms-and-xmx-in-jvm</a> <br/><br/>-XX:+PerfDisableSharedMem , prevent locking by sharedmem in linux - <a href="http://www.evanjones.ca/jvm-mmap-pause.html">http://www.evanjones.ca/jvm-mmap-pause.html</a> <br/><br/>How linkedin turn the GC - <a href="http://engineering.linkedin.com/garbage-collection/garbage-collection-optimization-high-throughput-and-low-latency-java-applications">http://engineering.linkedin.com[..]ughput-and-low-latency-java-applications</a> <br/><br/>Using generational & concurrent GC collector - <a href="http://www.javacodegeeks.com/2012/04/ibm-jvm-tuning-gencon-gc-policy.html">http://www.javacodegeeks.com[..]/04/ibm-jvm-tuning-gencon-gc-policy.html</a> <br/><br/>Full VM option list : <a href="http://blogs.sun.com/roller/resources/watt/jvm-options-list.html,">http://blogs.sun.com/roller/resources/watt/jvm-options-list.html,</a> update for Java7 - <a href="http://nerds-central.blogspot.com/2011/07/all-jvm-7-xx-options.html">http://nerds-central.blogspot.com[..]ot.com/2011/07/all-jvm-7-xx-options.html</a> <a href="http://stas-blogspot.blogspot.com/2011/07/most-complete-list-of-xx-options-for.html">http://stas-blogspot.blogspot.com[..]ost-complete-list-of-xx-options-for.html</a> <br/><br/>A simplified list for some frequency use options - <a href="http://rdafbn.blogspot.com.au/2013/11/garbage-collector-guidelines-and-tips.html">http://rdafbn.blogspot.com.au[..]rbage-collector-guidelines-and-tips.html</a> <br/><br/>HotSpot JVM garbage collection options cheat sheet - <a href="http://aragozin.blogspot.com/2011/07/hotspot-jvm-garbage-collection-options.html">http://aragozin.blogspot.com[..]spot-jvm-garbage-collection-options.html</a> <a href="http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html">http://www.oracle.com[..]va/javase/tech/vmoptions-jsp-140102.html</a> <br/><br/>An example and story about effect of difference VM parameter affecting the performance - <a href="http://www.javaspecialists.eu/archive/Issue191.html">http://www.javaspecialists.eu/archive/Issue191.html</a> <br/><br/>Clear the code cache automatically with -XX:+UseCodeCacheFlushing - <a href="http://blogs.amd.com/developer/2010/04/12/better-uptime-for-long-running-java-applications/">http://blogs.amd.com[..]time-for-long-running-java-applications/</a> <br/><br/>Discussion about -XX:MinHeapFreeRatio parameter - <a href="http://www.gossamer-threads.com/lists/lucene/java-user/44286#44286">http://www.gossamer-threads.com[..]s.com/lists/lucene/java-user/44286#44286</a> <br/><br/>The other detailed guide for VM parameters tuning - <a href="http://java.sun.com/j2se/1.5/pdf/jdk50_ts_guide.pdf">http://java.sun.com/j2se/1.5/pdf/jdk50_ts_guide.pdf</a> <br/><br/>Here is a more simple cookbook - <a href="http://java.sun.com/performance/reference/whitepapers/tuning.html">http://java.sun.com/performance/reference/whitepapers/tuning.html</a> <br/><br/>A outdated (1.4) , compehensive but still not really too detailed, overview of various GC tuning - <a href="http://www.petefreitag.com/articles/gctuning/">http://www.petefreitag.com/articles/gctuning/</a> <br/><br/>Some say following VM parameter is good enough<br/>-server -Xmx -XX:+UseParallelGC<br/><a href="http://blogs.sun.com/roller/page/binublog?entry=java_tuning_for_xml">http://blogs.sun.com[..]/page/binublog?entry=java_tuning_for_xml</a> <br/><br/>Some say is useful if you have huge memory<br/>-XX:+UseLargePages<br/><a href="http://blogs.sun.com/roller/page/dagastine?entry=java_se_tuning_tip_large">http://blogs.sun.com[..]dagastine?entry=java_se_tuning_tip_large</a> <br/><br/>Some say below parameter keep GC in low pause<br/>-XX:MaxGCPauseMillis=5000<br/>Some say below parameter are very optimal<br/>-XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:NewSize=1200m -XX:SurvivorRatio=16<br/><a href="http://www.theserverside.com/news/thread.tss?thread_id=41258&ASRC=EM_NNL_347804">http://www.theserverside.com[..]d.tss?thread_id=41258&ASRC=EM_NNL_347804</a> <br/>Some say those parameter is good<br/>-XX:+UseConcMarkSweepGC<br/> -XX:ParallelCMSThreads=1<br/> -XX:+CMSIncrementalMode<br/> -XX:+CMSIncrementalPacing<br/> -XX:CMSIncrementalDutyCycleMin=0<br/> -XX:CMSIncrementalDutyCycle=10<br/><a href="http://blog.mikiobraun.de/2010/08/cassandra-gc-tuning.html">http://blog.mikiobraun.de/2010/08/cassandra-gc-tuning.html</a> <br/><br/>Just in case anyone is curious, the flags enabled by -XX:+AggressiveOpts in JDK 1.6.0_25 are:<br/> <br/>-XX:+EliminateAutoBox<br/>-XX:AutoBoxCacheMax=20000<br/>-XX:BiasedLockingStartupDelay=500<br/>-XX:+DoEscapeAnalysis <br/>-XX:+OptimizeStringConcat<br/>-XX:+OptimizeFill<br/><br/>Generate dump with OOME - -XX:+HeapDumpOnOutOfMemoryError <br/><br/>GC log sample of -XX:+UseConcMarkSweepGC -XX:PrintFLSStatistics=1 -XX:+PrintGCDetails - <a href="https://gist.github.com/1329783">https://gist.github.com/1329783</a> <br/><br/>A case study of tuning VM GC parameters - <a href="http://plumbr.eu/blog/should-you-trust-the-default-settings-in-jvm">http://plumbr.eu[..]ld-you-trust-the-default-settings-in-jvm</a> <br/><br/>Explanation for few performance related VM parameters - <a href="http://www.techpaste.com/2012/02/java-command-line-options-jvm-performance-improvement/">http://www.techpaste.com[..]ine-options-jvm-performance-improvement/</a> <br/><br/>Show the exact vm flag that java using - <a href="http://matthewkwilliams.com/index.php/2015/10/02/looking-inside-a-jvm-xxprintflagsfinal/">http://matthewkwilliams.com[..]/looking-inside-a-jvm-xxprintflagsfinal/</a> <br/><br/>For G1GC - <a href="https://dzone.com/articles/g1gcgarbage-first-garbage-collector-tuning-flags-1">https://dzone.com[..]e-first-garbage-collector-tuning-flags-1</a> <br/><br/><a href="https://ionutbalosin.com/2020/01/hotspot-jvm-performance-tuning-guidelines">https://ionutbalosin.com[..]otspot-jvm-performance-tuning-guidelines</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> 2021-12-02T01:03:52Z cases.txt 2021-11-28T13:19:57Z 2021-11-28T13:19:57Z <br/>A case showing java is faster than C++ - <a href="https://groups.google.com/forum/?hl=en&fromgroups#!topic/comp.lang.c++/7aNw3PzPvMI">https://groups.google.com[..]mgroups#!topic/comp.lang.c++/7aNw3PzPvMI</a> <br/><br/>Case show how to improve GC time spend on a java application - <a href="http://javaeesupportpatterns.blogspot.com.au/2013/11/java-vm-beware-of-younggen-space.html">http://javaeesupportpatterns.blogspot.com.au[..]11/java-vm-beware-of-younggen-space.html</a> <br/><br/>A case study of solving thread contention - <a href="http://blogs.mulesoft.org/chasing-the-bottleneck-true-story-about-fighting-thread-contention-in-your-code/">http://blogs.mulesoft.org[..]fighting-thread-contention-in-your-code/</a> <br/><br/><a href="http://www.cubrid.org/blog/dev-platform/the-principles-of-java-application-performance-tuning/">http://www.cubrid.org[..]-of-java-application-performance-tuning/</a> <br/><br/>Notes about measuring map performance - <a href="http://vanillajava.blogspot.com.au/2014/10/chronicle-map-and-yahoo-cloud-service.html">http://vanillajava.blogspot.com.au[..]ronicle-map-and-yahoo-cloud-service.html</a> <br/><br/>High Performance Java - Binary instead of Objects - John Davies - <a href="https://vimeo.com/138956045">https://vimeo.com/138956045</a> <a href="http://www.infoq.com/presentations/java-low-latency">http://www.infoq.com/presentations/java-low-latency</a> <br/><br/>jemalloc, look like a really nice tool - <a href="https://gdstechnology.blog.gov.uk/2015/12/11/using-jemalloc-to-get-to-the-bottom-of-a-memory-leak/">https://gdstechnology.blog.gov.uk[..]c-to-get-to-the-bottom-of-a-memory-leak/</a> <br/><br/>story of finding why there is so many GC - <a href="http://www.infoq.com/cn/articles/thorough-jvm-thorough-analysis-ygc-part01">http://www.infoq.com[..]horough-jvm-thorough-analysis-ygc-part01</a> <br/><br/>GC thread blocked by system call - <a href="http://www.infoq.com/cn/articles/GC-Log-Uncovers-Pause">http://www.infoq.com/cn/articles/GC-Log-Uncovers-Pause</a> <a href="https://www.infoq.com/articles/GC-Log-Uncovers-Pause">https://www.infoq.com/articles/GC-Log-Uncovers-Pause</a> <br/><br/>We always need benchmark - <a href="https://arnaudroger.github.io/blog/2017/06/15/forward-vs-backward-loop.html">https://arnaudroger.github.io[..]2017/06/15/forward-vs-backward-loop.html</a> <br/><br/>Investigation and solutions of performance issue caused by GC log - <a href="https://engineering.linkedin.com/blog/2016/02/eliminating-large-jvm-gc-pauses-caused-by-background-io-traffic">https://engineering.linkedin.com[..]c-pauses-caused-by-background-io-traffic</a> <br/><br/>Using jemalloc to get to the bottom of a memory leak - <a href="https://technology.blog.gov.uk/2015/12/11/using-jemalloc-to-get-to-the-bottom-of-a-memory-leak/">https://technology.blog.gov.uk[..]c-to-get-to-the-bottom-of-a-memory-leak/</a> <br/><br/>Parallel Collection Processing: Leveraging Batching - <a href="https://4comprehension.com/parallel-collection-processing-2/">https://4comprehension.com/parallel-collection-processing-2/</a> <br/><br/>Maybe good to careful about collection initalization - <a href="http://blog.pitest.org/how-i-once-saved-half-a-million-dollars-with-a-single-character-code-change/">http://blog.pitest.org[..]ars-with-a-single-character-code-change/</a> <br/><br/>Issue of using non-thread safe collection in multi-thread - <a href="https://dzone.com/articles/troubleshooting-cpu-spike-in-a-major-trading-appli">https://dzone.com[..]oting-cpu-spike-in-a-major-trading-appli</a> <br/><br/>Performance comparison of difference JVM vendor - <a href="https://www.reddit.com/r/java/comments/ga1m4f/whats_stopping_openj9_from_overtaking_hotspot/">https://www.reddit.com[..]stopping_openj9_from_overtaking_hotspot/</a> <br/><br/>Why we chose java for HFT - <a href="https://medium.com/@jadsarmo/why-we-chose-java-for-our-high-frequency-trading-application-600f7c04da94">https://medium.com[..]equency-trading-application-600f7c04da94</a> <br/><br/>5 Mundane Java Performance Tips - <a href="https://richardstartin.github.io/posts/5-java-mundane-performance-tricks">https://richardstartin.github.io[..]/posts/5-java-mundane-performance-tricks</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> 2021-11-28T13:19:57Z Shenandoah.txt 2021-09-17T21:56:14Z 2021-09-17T21:56:14Z <br/><br/>Shenandoah Garbage Collector look good - <a href="https://www.javacodegeeks.com/2017/11/minimize-java-memory-usage-right-garbage-collector.html">https://www.javacodegeeks.com[..]emory-usage-right-garbage-collector.html</a> <br/><br/><a href="http://clojure-goes-fast.com/blog/shenandoah-in-production/">http://clojure-goes-fast.com/blog/shenandoah-in-production/</a> <br/><br/><a href="https://developers.redhat.com/blog/2020/03/04/shenandoah-gc-in-jdk-14-part-1-self-fixing-barriers/">https://developers.redhat.com[..]c-in-jdk-14-part-1-self-fixing-barriers/</a> <br/><br/><a href="https://developers.redhat.com/blog/2020/03/09/shenandoah-gc-in-jdk-14-part-2-concurrent-roots-and-class-unloading/">https://developers.redhat.com[..]-2-concurrent-roots-and-class-unloading/</a> <br/><br/>Shenandoah in OpenJDK 17: Sub-millisecond GC pauses - <a href="https://developers.redhat.com/articles/2021/09/16/shenandoah-openjdk-17-sub-millisecond-gc-pauses#">https://developers.redhat.com[..]ah-openjdk-17-sub-millisecond-gc-pauses#</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> 2021-09-17T21:56:14Z vm.txt 2021-06-24T13:52:43Z 2021-06-24T13:52:43Z <br/>5 tips for proper Java Heap size - <a href="http://javaeesupportpatterns.blogspot.hk/2012/07/5-tips-for-proper-java-heap-size.html">http://javaeesupportpatterns.blogspot.hk[..]07/5-tips-for-proper-java-heap-size.html</a> <br/><br/>What does JVM do - <a href="http://www.azulsystems.com/blog/wp-content/uploads/2011/03/2011_WhatDoesJVMDo.pdf">http://www.azulsystems.com[..]t/uploads/2011/03/2011_WhatDoesJVMDo.pdf</a> <br/><br/>How Azul do pauseless GC - <a href="http://www.artima.com/forums/flat.jsp?forum=226&thread=309917">http://www.artima.com/forums/flat.jsp?forum=226&thread=309917</a> <br/><br/>New feature, DoEscapeAnalysis <a href="http://www.google.com.hk/search?q=DoEscapeAnalysis">http://www.google.com.hk/search?q=DoEscapeAnalysis</a> <br/><br/>A very nice blog about VM detail<br/><a href="http://blogs.sun.com/roller/page/jonthecollector?catname=%2FJava">http://blogs.sun.com/roller/page/jonthecollector?catname=%2FJava</a> <br/><br/>Tips for configing 64bit system with large pagesize - <a href="http://andrigoss.blogspot.com/2008/02/jvm-performance-tuning.html">http://andrigoss.blogspot.com/2008/02/jvm-performance-tuning.html</a> <br/><br/><a href="http://jeremymanson.blogspot.com/2008/11/g1-garbage-collector-in-latest-openjdk.html">http://jeremymanson.blogspot.com[..]garbage-collector-in-latest-openjdk.html</a> <br/><br/><a href="http://www.cliffc.org/blog/2015/02/22/how-does-java-both-optimize-hot-loops-and-allow-debugging/">http://www.cliffc.org[..]-optimize-hot-loops-and-allow-debugging/</a> <br/>Just an idea - <a href="http://jaxenter.com/high-speed-multi-threaded-virtual-memory-in-java.1-46188.html">http://jaxenter.com[..]aded-virtual-memory-in-java.1-46188.html</a> <br/>How java use native memory ( in aix ) - <a href="https://www.ibm.com/developerworks/java/library/j-nativememory-aix/">https://www.ibm.com[..]erworks/java/library/j-nativememory-aix/</a> <br/><br/>How JRebel enable dynamic adding or removing method in running VM, using existing Java technology like classloading and agent to breakthough hotswap limitation - <a href="http://www.zeroturnaround.com/blog/reloading_java_classes_401_hotswap_jrebel/">http://www.zeroturnaround.com[..]loading_java_classes_401_hotswap_jrebel/</a> <br/><br/>Biased locking - <a href="http://blogs.sun.com/dave/entry/biased_locking_in_hotspot">http://blogs.sun.com/dave/entry/biased_locking_in_hotspot</a> <br/><br/>Aleksey Shipilëv: One Stop Page - <a href="http://shipilev.net/">http://shipilev.net/</a> <br/><br/>Discussion about safepoint - <a href="http://psy-lob-saw.blogspot.se/2015/12/safepoints.html">http://psy-lob-saw.blogspot.se/2015/12/safepoints.html</a> <br/><br/>JVM Pauses - It's more than GC - <a href="https://blanco.io/blog/jvm-safepoint-pauses/">https://blanco.io/blog/jvm-safepoint-pauses/</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> 2021-06-24T13:52:43Z hotspot.txt 2020-12-20T14:24:50Z 2020-12-20T14:24:50Z <br/>How can jruby take advantage of hotspot - <a href="http://headius.blogspot.com/2007/07/understanding-jvm-jit-and-helping-it.html">http://headius.blogspot.com[..]nderstanding-jvm-jit-and-helping-it.html</a> <br/><br/>Discussion about OOME - <a href="http://www.codingthearchitecture.com/2008/01/14/jvm_lies_the_outofmemory_myth.html">http://www.codingthearchitecture.com[..]01/14/jvm_lies_the_outofmemory_myth.html</a> <br/><br/>How hotspot optimization ofoptimzate Polymorphism - <a href="http://blogs.azulsystems.com/cliff/2008/03/another-round-o.html">http://blogs.azulsystems.com/cliff/2008/03/another-round-o.html</a> <br/><br/>List of tools - <a href="http://www.jroller.com/lmchung/entry/java_performance_tools">http://www.jroller.com/lmchung/entry/java_performance_tools</a> <br/><br/>an issue of hotspot but haven't handle in 5 year - <a href="http://bugs.sun.com/view_bug.do?bug_id=6186134">http://bugs.sun.com/view_bug.do?bug_id=6186134</a> <br/><br/>A test for how hotspot inline method - <a href="http://java.dzone.com/articles/how-aggressive-method-inlining">http://java.dzone.com/articles/how-aggressive-method-inlining</a> <a href="http://nurkiewicz.blogspot.com.au/2013/01/how-aggressive-is-method-inlining-in-jvm.html">http://nurkiewicz.blogspot.com.au[..]ggressive-is-method-inlining-in-jvm.html</a> <br/><br/>Various JIT optimization that JVM doing - <a href="http://blog.takipi.com/java-on-steroids-5-super-useful-jit-optimization-techniques/">http://blog.takipi.com[..]uper-useful-jit-optimization-techniques/</a> <br/><br/><a href="https://www.reddit.com/r/java/comments/kg6xzh/is_java_as_fast_as_c_when_it_comes_to_stack/">https://www.reddit.com[..]ava_as_fast_as_c_when_it_comes_to_stack/</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> 2020-12-20T14:24:50Z tools.txt 2020-06-25T11:00:54Z 2020-06-25T11:00:54Z <br/>Free online GC log Analyzer - <a href="http://gceasy.io/">http://gceasy.io/</a> <br/><br/>Free online thread analyzer - <a href="http://fastthread.io/">http://fastthread.io/</a> <a href="https://heaphero.io/">https://heaphero.io/</a> <br/><br/><a href="https://dzone.com/articles/java-memory-and-cpu-monitoring-tools-and-technique">https://dzone.com[..]y-and-cpu-monitoring-tools-and-technique</a> <br/><br/>off heap library - <a href="http://minborgsjavapot.blogspot.com/2019/07/java-chroniclemap-part-1-go-off-heap.html">http://minborgsjavapot.blogspot.com[..]ava-chroniclemap-part-1-go-off-heap.html</a> <a href="http://minborgsjavapot.blogspot.com/2019/07/java-chroniclemap-part-2-super-ram-maps.html">http://minborgsjavapot.blogspot.com[..]-chroniclemap-part-2-super-ram-maps.html</a> <a href="http://minborgsjavapot.blogspot.com/2019/07/java-chroniclemap-part-3-fast.html">http://minborgsjavapot.blogspot.com[..]19/07/java-chroniclemap-part-3-fast.html</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> 2020-06-25T11:00:54Z io.txt 2019-04-10T09:06:39Z 2019-04-10T09:06:39Z <br/>Improvement from io -> nio, then -> MappedByteBuffer - <a href="http://dobbscodetalk.com/index.php?option=com_myblog&show=File-IO-in-Java.html&Itemid=29">http://dobbscodetalk.com[..]blog&show=File-IO-in-Java.html&Itemid=29</a> <br/><br/>How to improve performance by tuning the IO - <a href="http://pzemtsov.github.io/2015/01/19/on-the-benefits-of-stream-buffering-in-Java.html">http://pzemtsov.github.io[..]enefits-of-stream-buffering-in-Java.html</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> 2019-04-10T09:06:39Z static.txt 2019-03-09T15:32:04Z 2019-03-09T15:32:04Z <br/><a href="https://pangin.pro/posts/computation-in-static-initializer">https://pangin.pro/posts/computation-in-static-initializer</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> 2019-03-09T15:32:04Z measurement.txt 2015-12-01T02:06:11Z 2015-12-01T02:06:11Z <br/>Use of LatencyUtil - <a href="https://jaxenter.com/improving-response-time-and-latency-measurements-119298.html">https://jaxenter.com[..]ime-and-latency-measurements-119298.html</a> <br/><br/>performance-problems-pre-production-tests - <a href="https://jaxenter.com/performance-problems-pre-production-tests-114128.html">https://jaxenter.com[..]roblems-pre-production-tests-114128.html</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> 2015-12-01T02:06:11Z profiler.txt 2015-11-09T07:46:49Z 2015-11-09T07:46:49Z <br/><a href="http://java-performance.info/introduction-jmh-profilers/">http://java-performance.info/introduction-jmh-profilers/</a> <br/><br/>Another blog of discussion of difference profiler - <a href="http://blog.orange11.nl/2012/03/13/java-profiler-comparison/">http://blog.orange11.nl/2012/03/13/java-profiler-comparison/</a> <br/><br/>Introduction to jmap, visualvm and btrace - <a href="http://www.infoq.com/articles/java-profiling-with-open-source">http://www.infoq.com/articles/java-profiling-with-open-source</a> <br/><br/>JMP <a href="http://www.khelekore.org/jmp/">http://www.khelekore.org/jmp/</a> is an easy to setup and provide real time data choice. However it will crash JVM occasionally. So may be the one using web interface is better for us: <a href="http://oss.metaparadigm.com/jmemprof/">http://oss.metaparadigm.com/jmemprof/</a> <br/><br/>Articles -<br/>Onjava - <a href="http://www.onjava.com/lpt/a/6689">http://www.onjava.com/lpt/a/6689</a> <br/>Eclipsecolorer profiler, however that plugin require you install binary yourself, somehow tedious if you move from one machine to another machine - <a href="http://www.theserverside.com/tt/articles/article.tss?l=EclipseProfiler&asrc=EM_NLN_476666">http://www.theserverside.com[..]tss?l=EclipseProfiler&asrc=EM_NLN_476666</a> <br/><br/>A total java version of profiler!!: <a href="http://jiprof.sourceforge.net">http://jiprof.sourceforge.net</a> <br/><br/>Few other profiler haven't get time to try:<br/>Free:<br/><a href="http://jcoverage.sourceforge.net/">http://jcoverage.sourceforge.net/</a> <br/><a href="http://www.tagtraum.com/gcviewer.html">http://www.tagtraum.com/gcviewer.html</a> <br/><a href="http://profiler4j.sourceforge.net/">http://profiler4j.sourceforge.net/</a> <br/><a href="http://www.jamonapi.com">http://www.jamonapi.com</a> <br/><br/>Eclipse plugin:<br/><a href="http://jmechanic.sourceforge.net/">http://jmechanic.sourceforge.net/</a> <br/><a href="http://eclipsecolorer.sourceforge.net/index_profiler.html">http://eclipsecolorer.sourceforge.net/index_profiler.html</a> <br/><a href="http://www.eclipse.org/mat/">http://www.eclipse.org/mat/</a> <br/><br/>Need $$:<br/><a href="http://www.ej-technologies.com/products/jprofiler/overview.html">http://www.ej-technologies.com/products/jprofiler/overview.html</a> <br/><br/>See if the information useful.<br/><br/>How to measure with less than milli second - <a href="http://www.rationaljava.com/2015/10/measuring-microsecond-in-java.html">http://www.rationaljava.com[..]15/10/measuring-microsecond-in-java.html</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> 2015-11-09T07:46:49Z java performance summary.txt 2015-03-27T09:19:52Z 2015-03-27T09:19:52Z <br/>A short summary of various aspect about performance - <a href="http://codeperformance.com/index.php/2005/07/07/javaone-talk-on-performance-myths/">http://codeperformance.com[..]07/07/javaone-talk-on-performance-myths/</a> <br/><br/>Any other discussion - <a href="http://www-128.ibm.com/developerworks/java/library/j-jtp09275.html">http://www-128.ibm.com[..]eloperworks/java/library/j-jtp09275.html</a> <br/><br/>Paper to show some prevalent methodologies can be misleading, and can even lead to incorrect conclusions. - <a href="http://buytaert.net/statistically-rigorous-java-performance-evaluation">http://buytaert.net[..]lly-rigorous-java-performance-evaluation</a> <br/><br/>Discussion about various issue on microbenchmark, try to do premature optimzation - <a href="http://www.javacodegeeks.com/2011/02/performance-anxiety-on-performance.html">http://www.javacodegeeks.com[..]/performance-anxiety-on-performance.html</a> <br/><br/>Java vs C performance... again... <a href="http://blogs.azulsystems.com/cliff/2009/09/java-vs-c-performance-again.html">http://blogs.azulsystems.com[..]2009/09/java-vs-c-performance-again.html</a> <br/><br/><a href="http://blog.jooq.org/2015/02/05/top-10-easy-performance-optimisations-in-java/">http://blog.jooq.org[..]-easy-performance-optimisations-in-java/</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> 2015-03-27T09:19:52Z various tips.txt 2015-02-10T09:33:40Z 2015-02-10T09:33:40Z <br/>-XX:+TieredCompilation, -XX:+UseCompressedOops, Escape Analysis and -XX:+UseNUMA - <a href="http://docs.oracle.com/javase/7/docs/technotes/guides/vm/performance-enhancements-7.html">http://docs.oracle.com[..]uides/vm/performance-enhancements-7.html</a> <br/><br/>Interestingly, PrintWriter, if pooled, shows considerable performance improvement. The creation of the object is expensive because of a call to get the line separator in its constructor.<br/><br/><a href="http://sachinhejip.blogspot.com/2004/08/experiences-in-java-performance.html">http://sachinhejip.blogspot.com[..]/08/experiences-in-java-performance.html</a> <br/><br/>Experience in twitter - <a href="http://www.umbrant.com/blog/2012/twitter_jvm_tuning.html">http://www.umbrant.com/blog/2012/twitter_jvm_tuning.html</a> <br/><br/>Cases study on how to test performance from using difference GC algo - <a href="http://plumbr.eu/blog/g1-vs-cms-vs-parallel-gc">http://plumbr.eu/blog/g1-vs-cms-vs-parallel-gc</a> <br/><br/>A lot of information - <a href="http://www.javaadvent.com/2013/12/part-1-of-3-synopsis-of-articles-videos.html">http://www.javaadvent.com[..]-1-of-3-synopsis-of-articles-videos.html</a> <br/><br/>Basically use lower level construct - <a href="http://blog.jooq.org/2015/02/05/top-10-easy-performance-optimisations-in-java/">http://blog.jooq.org[..]-easy-performance-optimisations-in-java/</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> 2015-02-10T09:33:40Z serialization.txt 2014-12-23T08:38:16Z 2014-12-23T08:38:16Z <br/>Comparing the Java Serialization Options - <a href="http://www.theserverside.com/news/thread.tss?track=NL-461&ad=725624&thread_id=57871&asrc=EM_NLN_9286283&uid=703565">http://www.theserverside.com[..]_id=57871&asrc=EM_NLN_9286283&uid=703565</a> <br/><br/>Use Unsafe for best performance Serialization - <a href="http://mechanical-sympathy.blogspot.com.au/2012/07/native-cc-like-performance-for-java.html">http://mechanical-sympathy.blogspot.com.au[..]native-cc-like-performance-for-java.html</a> <br/><br/>off heap serialization - <a href="http://java-is-the-new-c.blogspot.com.au/2014/12/a-persistent-keyvalue-server-in-40.html">http://java-is-the-new-c.blogspot.com.au[..]/a-persistent-keyvalue-server-in-40.html</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> 2014-12-23T08:38:16Z synchronization.txt 2013-01-05T05:18:39Z 2013-01-05T05:18:39Z <br/>An example about improving performance by replace synchronized with volatile - <a href="http://hg.openjdk.java.net/jdk8/tl/jdk/rev/fecba6a8b78e">http://hg.openjdk.java.net/jdk8/tl/jdk/rev/fecba6a8b78e</a> <br/><br/>Log4j can have deadlock due to performance - <a href="http://javaeesupportpatterns.blogspot.com.au/2012/09/log4j-thread-deadlock-case-study.html">http://javaeesupportpatterns.blogspot.com.au[..]09/log4j-thread-deadlock-case-study.html</a> <br/><br/>There is always some cost for synchronization - <a href="http://vanillajava.blogspot.com.au/2012/12/can-synchronization-be-optimisede-away.html">http://vanillajava.blogspot.com.au[..]-synchronization-be-optimisede-away.html</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> 2013-01-05T05:18:39Z usage.txt 2011-08-15T15:40:53Z 2011-08-15T15:40:53Z <br/>Offline parsing heap dump, good for analysis huge heap dump at server with GTK - <a href="http://www.eclipse.org/forums/index.php?t=rview&goto=703990#msg_703990">http://www.eclipse.org[..]index.php?t=rview&goto=703990#msg_703990</a> <br/><br/>Nice explanation of GC - <a href="http://redstack.wordpress.com/2011/01/06/visualising-garbage-collection-in-the-jvm/">http://redstack.wordpress.com[..]sualising-garbage-collection-in-the-jvm/</a> <br/><br/>Get call back for memory allocation, should be very useful - <a href="http://blogs.lessthandot.com/index.php/ITProfessionals/ITProcesses/applying-kanban-to-it-processes-part-2">http://blogs.lessthandot.com[..]s/applying-kanban-to-it-processes-part-2</a> <br/><br/>Detailed discussion of analysis memory consumption in Java - <a href="http://kohlerm.blogspot.com/2008/05/memory-consumption-of-netbeans-versus.html">http://kohlerm.blogspot.com[..]mory-consumption-of-netbeans-versus.html</a> <br/><br/>it probably one of the nicest feature of java 5 - dump VM for you to analyst <a href="http://blogs.sun.com/alanb/entry/heapdumponoutofmemoryerror_option_in_5_0u7">http://blogs.sun.com[..]apdumponoutofmemoryerror_option_in_5_0u7</a> <br/><br/>This article present a simple, and possible not accurate method to track object creation and finalization. May be not that useful in general but sometime is convenience - <a href="http://www.devx.com/tips/Tip/30833?trk=DXRSS_JAVA">http://www.devx.com/tips/Tip/30833?trk=DXRSS_JAVA</a> <br/><br/>checking memory consumption at object level - <a href="http://www.jroller.org/page/maxim?entry=again_about_determining_size_of">http://www.jroller.org[..]im?entry=again_about_determining_size_of</a> <br/><br/>Sun contain a nice library for we to investigate heap stat - <a href="http://elliotth.blogspot.com/2005/01/java-equivalent-of-heap1.html">http://elliotth.blogspot.com[..]om/2005/01/java-equivalent-of-heap1.html</a> <br/><br/>Use java.util.Observable to Monitor Object State changes - <a href="http://www.devx.com/tips/Tip/22592?trk=DXRSS_JAVA">http://www.devx.com/tips/Tip/22592?trk=DXRSS_JAVA</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> 2011-08-15T15:40:53Z dynamic compilation.txt 2011-04-10T01:54:33Z 2011-04-10T01:54:33Z <br/>Introduce the idea of using dynamic compilation to replace reflection using Janino - <a href="http://today.java.net/lpt/a/351">http://today.java.net/lpt/a/351</a> , but actually reflection isn't that slow - <a href="http://buzdin.blogspot.com/2011/01/is-java-reflection-really-slow.html">http://buzdin.blogspot.com[..]1/01/is-java-reflection-really-slow.html</a> <br/><br/>How to use eclipse compiler as API - <a href="http://dev.eclipse.org/viewcvs/index.cgi/jdt-core-home/howto/batch%20compile/batchCompile.html?rev=1.2">http://dev.eclipse.org[..]atch%20compile/batchCompile.html?rev=1.2</a> <br/><br/>Support of annotation - <a href="http://jroller.com/page/eu?entry=compiler_for_jsr_308">http://jroller.com/page/eu?entry=compiler_for_jsr_308</a> <br/><br/>Some cases that block method inlining - <a href="http://www.azulsystems.com/blog/cliff/2011-04-04-fixing-the-inlining-problem">http://www.azulsystems.com[..]f/2011-04-04-fixing-the-inlining-problem</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> 2011-04-10T01:54:33Z multi-core cpu.txt 2007-03-30T11:04:10Z 2007-03-30T11:04:10Z <br/>A simple test to see how your code work at multi-core CPU - <a href="http://www.cretesoft.com/archive/newsletter.do?issue=135">http://www.cretesoft.com/archive/newsletter.do?issue=135</a> <br/><br/>JRocky tested their JVM can use 4.5 TB memory - <a href="http://dev2dev.bea.com/blog/hstahl/archive/2007/03/the_biggest_jvm.html">http://dev2dev.bea.com[..]ahl/archive/2007/03/the_biggest_jvm.html</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> 2007-03-30T11:04:10Z language related.txt 2007-01-30T08:11:33Z 2007-01-30T08:11:33Z <br/>A guy work for a benchmark showing that in java, recursion solution is faster than iterative solution, interesting finding<br/><br/><a href="http://www.ahmadsoft.org/articles/recursion/index.html">http://www.ahmadsoft.org/articles/recursion/index.html</a> <br/><br/>So, don't optimized without benchmark<br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> 2007-01-30T08:11:33Z clustering.txt 2007-01-18T08:05:38Z 2007-01-18T08:05:38Z <br/>In this article, the authors draw from their practical experience to list and discuss some critical considerations when building J2EE applications so that they can be deployed in a clustered environment without requiring any code changes.<br/><br/><a href="http://www.onjava.com/lpt/a/4993">http://www.onjava.com/lpt/a/4993</a> <br/><br/>Someone tested that using Terrcotta is much better than RMI broadcast - <a href="http://pojomojo.blogspot.com/2007/01/reducing-bottlenecks-in-jee-stack_14.html">http://pojomojo.blogspot.com[..]educing-bottlenecks-in-jee-stack_14.html</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> 2007-01-18T08:05:38Z web.txt 2006-10-12T10:20:38Z 2006-10-12T10:20:38Z <br/>Improving performance in distributed Web applications<br/><br/>* Keep the session minimal - generally a bad idea to store shared objects in the session.<br/>* Don't bypass setAttribute - if you just call getAttribute() to retrieve the Vector and then add something to it without then calling setAttribute again, the container might not realize that Vector has been changed.<br/>* Use fine-grained session attributes - finer-grained objects in the session rather than one big monolithic object.<br/>* Invalidate when done - call HttpSession.invalidate()<br/>* Keep the session clean - remove reference to unuse thing to help GC<br/><br/><a href="http://www-106.ibm.com/developerworks/library/j-jtp07294.html">http://www-106.ibm.com/developerworks/library/j-jtp07294.html</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> 2006-10-12T10:20:38Z housekeeping.txt 2006-03-23T07:44:36Z 2006-03-23T07:44:36Z <br/>Show common pitfall of cleaning up non-memory resource, stream, database resource and class level collection.<br/><br/><a href="http://www-128.ibm.com/developerworks/java/library/j-jtp03216.html?ca=drs-">http://www-128.ibm.com[..]rks/java/library/j-jtp03216.html?ca=drs-</a> <br/><br/><script type="text/javascript"><!--google_ad_client = "pub-9426659565807829";google_ad_slot = "9359905831";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> 2006-03-23T07:44:36Z