carfield.com.hk gc.txt 2024-01-09T10:53:31Z 2024-01-09T10:53:31Z <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/>Concurrent Marking in G1 - <a href="https://tschatzl.github.io/2022/08/04/concurrent-marking.html">https://tschatzl.github.io/2022/08/04/concurrent-marking.html</a> <br/><br/>What Should I Know About Garbage Collection as a Java Developer? - <a href="https://foojay.io/today/what-should-i-know-about-garbage-collection-as-a-java-developer">https://foojay.io[..]t-garbage-collection-as-a-java-developer</a> <br/><br/>JDK 21: The GCs keep getting better - <a href="https://kstefanj.github.io/2023/12/13/jdk-21-the-gcs-keep-getting-better.html">https://kstefanj.github.io[..]/jdk-21-the-gcs-keep-getting-better.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> 2024-01-09T10:53:31Z Thread.txt 2023-09-06T13:46:21Z 2023-09-06T13:46:21Z <br/>An API to get the state of a thread, but someone say it is not reliable - <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.State.html">http://java.sun.com[..]5.0/docs/api/java/lang/Thread.State.html</a> <a href="http://java.silke-wingens.de/2011/03/13/threads-states/?lang=en">http://java.silke-wingens.de/2011/03/13/threads-states/?lang=en</a> <br/><br/><a href="http://www.nabble.com/TDD-for-multi-threaded-programs-tf3627394.html#a10128844">http://www.nabble.com[..]readed-programs-tf3627394.html#a10128844</a> <br/><br/>Having said that, I have to note that using Thread#getState() is not<br/>something you can absolutely rely on as the behavior isn't guaranteed<br/>to be the same on all platforms. That is, it can be a useful tool for<br/>debugging and test-driving but not ideal for regression (unit)<br/>testing.<br/><br/>Overview of Java thread - <a href="http://java67.blogspot.hk/2014/01/10-points-about-thread-and-javalangthread-in-java.html">http://java67.blogspot.hk[..]t-thread-and-javalangthread-in-java.html</a> <br/><br/>Loom - <a href="https://webtide.com/do-looms-claims-stack-up-part-1/">https://webtide.com/do-looms-claims-stack-up-part-1/</a> <a href="https://webtide.com/do-looms-claims-stack-up-part-2/">https://webtide.com/do-looms-claims-stack-up-part-2/</a> <br/><br/>How will we debug Loom applications? - <a href="https://www.reddit.com/r/java/comments/vxvdrv/how_will_we_debug_loom_applications/">https://www.reddit.com[..]drv/how_will_we_debug_loom_applications/</a> <br/><br/>Question: Why exactly are fibers cheaper than platform threads? - <a href="https://www.reddit.com/r/java/comments/xcr66k/question_why_exactly_are_fibers_cheaper_than/">https://www.reddit.com[..]ion_why_exactly_are_fibers_cheaper_than/</a> <br/><br/>Handling Virtual Threads - <a href="https://dzone.com/articles/handling-virtual-threads">https://dzone.com/articles/handling-virtual-threads</a> <br/><br/>1. Avoid Synchronized Blocks/Methods<br/>2. Avoid Thread Pools To Limit Resource Access<br/>3. Reduce ThreadLocal Usage<br/><a href="https://dzone.com/articles/pitfalls-to-avoid-when-switching-to-virtual-thread">https://dzone.com[..]o-avoid-when-switching-to-virtual-thread</a> <br/><br/>Exploring the design of Java’s new virtual threads - <a href="https://blogs.oracle.com/javamagazine/post/java-virtual-threads">https://blogs.oracle.com/javamagazine/post/java-virtual-threads</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> 2023-09-06T13:46:21Z profiler.txt 2023-07-01T14:23:08Z 2023-07-01T14:23:08Z <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/>Unleash the Power of Open Source Java Profilers: Comparing VisualVM, JMC, and async-profiler - <a href="https://www.infoq.com/articles/open-source-java-profilers/">https://www.infoq.com/articles/open-source-java-profilers/</a> <a href="https://www.infoq.cn/article/yO6pjms5izsxK5YrZ036">https://www.infoq.cn/article/yO6pjms5izsxK5YrZ036</a> <br/><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> 2023-07-01T14:23:08Z agent.txt 2023-05-04T12:27:29Z 2023-05-04T12:27:29Z <br/><a href="http://www.takipioncode.com/2014/01/07/double-agent-java-vs-native-agents/">http://www.takipioncode.com[..]1/07/double-agent-java-vs-native-agents/</a> <br/><br/>List the pros of using native agent - <a href="http://apmblog.compuware.com/2014/01/15/pros-and-cons-of-using-java-vs-native-agent-for-application-performance-management/">http://apmblog.compuware.com[..]-for-application-performance-management/</a> <br/><br/>Writing a Profiler in 240 Lines of Pure Java - <a href="https://mostlynerdless.de/blog/2023/03/27/writing-a-profiler-in-240-lines-of-pure-java/">https://mostlynerdless.de[..]ng-a-profiler-in-240-lines-of-pure-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> 2023-05-04T12:27:29Z security.txt 2023-04-21T23:07:50Z 2023-04-21T23:07:50Z <br/>Introduction to Java Encryption/Decryption - <a href="https://dev.java/learn/security/intro/">https://dev.java/learn/security/intro/</a> <br/><br/>Java Serialization Filtering: Prevent 0-day Security Vulnerabilities - <a href="https://foojay.io/today/java-serialization-filtering-prevent-0-day-security-vulnerabilities">https://foojay.io[..]g-prevent-0-day-security-vulnerabilities</a> <br/><br/>Using JCE with OpenSSL - <a href="http://kasparov.skife.org/blog-live/src/java/jce-openssl-redux.writeback">http://kasparov.skife.org[..]ive/src/java/jce-openssl-redux.writeback</a> <br/><br/>---------- Forwarded message ----------<br/>From: "cab" <c@a.b><br/>To: <br/>Date: 10 Mar 2005 23:33:16 +0800<br/>Subject: Re: CRC-32<br/><pre><br/>java.util.zip.CRC32 crc32 = new java.util.zip.CRC32();<br/>crc32.update(byteArray);<br/>long crcValue = crc32.getValue();<br/></pre><br/>"Day Chan" <day@funmobile.com> 撰寫於郵件新聞:4230a15b$3@newsgroup.com.hk...<br/>> Does anyone know how to calculate CRC-32 in Java?<br/>> Thanks~<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> 2023-04-21T23:07:50Z memory.txt 2023-04-20T13:08:46Z 2023-04-20T13:08:46Z <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/>Panama: Not-so-Foreign Memory. Using MemorySegment as a high-performance ByteBuffer replacement without a 2GB limit. - <a href="https://gavinray97.github.io/blog/panama-not-so-foreign-memory">https://gavinray97.github.io/blog/panama-not-so-foreign-memory</a> <a href="https://www.reddit.com/r/java/comments/x54aad/panama_notsoforeign_memory_using_memorysegment_as/">https://www.reddit.com[..]soforeign_memory_using_memorysegment_as/</a> <br/><br/>What’s the deal with humongous objects in Java? - <a href="https://devblogs.microsoft.com/java/whats-the-deal-with-humongous-objects-in-java">https://devblogs.microsoft.com[..]-the-deal-with-humongous-objects-in-java</a> <br/><br/><br/>Netflix on Java: How to build a 1TB Non-Heap, ultra-efficient application for video streaming - an example - <a href="https://dac.digital/netflix-on-java-a-non-heap-application-for-video-streaming/">https://dac.digital[..]on-heap-application-for-video-streaming/</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> 2023-04-20T13:08:46Z mqtt.txt 2023-03-18T12:52:17Z 2023-03-18T12:52:17Z <br/>一文带你掌握物联网 Mqtt 网关搭建背后的技术原理 - <a href="https://xie.infoq.cn/article/15d34a2d1042101d319261da8">https://xie.infoq.cn/article/15d34a2d1042101d319261da8</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> 2023-03-18T12:52:17Z threadlocal.txt 2023-03-08T12:44:43Z 2023-03-08T12:44:43Z <br/>There is a little bit performance cost for threadlocal variable - <a href="http://software.intel.com/en-us/blogs/2011/05/02/the-hidden-performance-cost-of-accessing-thread-local-variables/">http://software.intel.com[..]ost-of-accessing-thread-local-variables/</a> <br/><br/>Look like a useful but less known API - <a href="http://crazybob.org/2006/07/hard-core-java-threadlocal.html">http://crazybob.org/2006/07/hard-core-java-threadlocal.html</a> <br/><br/>Forward up discussion - <a href="http://www.theserverside.com/news/thread.tss?thread_id=41473&asrc=EM_NNL_406677&uid=703565">http://www.theserverside.com[..]d_id=41473&asrc=EM_NNL_406677&uid=703565</a> pointing out some problems of using this technique, include similar effect of GLOBLE , possible memory leak <br/><br/>Another discussion in higher level - <a href="http://blog.objectmentor.com/articles/2007/09/04/thread-local-a-convenient-abomination">http://blog.objectmentor.com[..]04/thread-local-a-convenient-abomination</a> , Key is "An object is an abstraction of function. A thread is an abstraction of schedule" , you can read further conclusion at <a href="http://www.infoq.com/news/2007/09/confusing_uow_with_threads">http://www.infoq.com/news/2007/09/confusing_uow_with_threads</a> <br/><br/>Protential issue of using threadlocal, one is memory leak and the other is it is that local - <a href="http://blog.maxant.co.uk/pebble/2008/09/23/1222200780000.html">http://blog.maxant.co.uk/pebble/2008/09/23/1222200780000.html</a> <a href="http://www.javacodegeeks.com/2012/05/threading-stories-threadlocal-in-web.html">http://www.javacodegeeks.com[..]hreading-stories-threadlocal-in-web.html</a> <br/><a href="http://plumbr.eu/blog/how-to-shoot-yourself-in-foot-with-threadlocals">http://plumbr.eu[..]shoot-yourself-in-foot-with-threadlocals</a> <br/><br/>The beauty of the design of threadlocal, how it prevent locking and memory leaking - <a href="http://plumbr.eu/blog/how-is-threadlocal-implemented">http://plumbr.eu/blog/how-is-threadlocal-implemented</a> <br/><br/>JEP 429: Extent-Local Variables to Promote Immutability in Java - <a href="https://www.infoq.com/news/2022/09/extent-local-variables-java/">https://www.infoq.com/news/2022/09/extent-local-variables-java/</a> <br/><br/>An Introduction to Scoped Values in Java - <a href="https://foojay.io/today/an-introduction-to-scoped-values-in-java/">https://foojay.io/today/an-introduction-to-scoped-values-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> 2023-03-08T12:44:43Z optional.txt 2023-03-08T12:38:40Z 2023-03-08T12:38:40Z <br/>The Beauty of Java Optional and Either - <a href="https://dzone.com/articles/the-beauty-of-java-optional-and-either">https://dzone.com/articles/the-beauty-of-java-optional-and-either</a> <br/><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> 2023-03-08T12:38:40Z language related.txt 2023-03-07T13:15:18Z 2023-03-07T13:15:18Z <br/>Recursion solution can be faster than iterative solution - <a href="http://www.ahmadsoft.org/articles/recursion/index.html">http://www.ahmadsoft.org/articles/recursion/index.html</a> <br/><br/>Java 21: Performance Improvements Revealed - <a href="https://minborgsjavapot.blogspot.com/2023/01/java-21-performance-improvements.html">https://minborgsjavapot.blogspot.com[..]01/java-21-performance-improvements.html</a> <a href="https://minborgsjavapot.blogspot.com/2023/02/jdk-21-image-performance-improvements.html">https://minborgsjavapot.blogspot.com[..]k-21-image-performance-improvements.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> 2023-03-07T13:15:18Z type.txt 2023-02-17T11:55:07Z 2023-02-17T11:55:07Z <br/>Autoboxing, Type can be changed - <a href="http://blog.jooq.org/2013/10/08/java-auto-unboxing-gotcha-beware/">http://blog.jooq.org/2013/10/08/java-auto-unboxing-gotcha-beware/</a> <br/><br/>Project Valhalla: A look inside Java’s epic refactor - <a href="https://www.infoworld.com/article/3687670/project-valhalla-a-look-inside-javas-epic-refactor.html">https://www.infoworld.com[..]a-a-look-inside-javas-epic-refactor.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> 2023-02-17T11:55:07Z memory.txt 2023-02-15T13:22:38Z 2023-02-15T13:22:38Z <br/>How to use Eclipse Memory Analyzer - <a href="http://eclipsesource.com/blogs/2013/01/21/10-tips-for-using-the-eclipse-memory-analyzer/">http://eclipsesource.com[..]s-for-using-the-eclipse-memory-analyzer/</a> <br/><br/>Tool to check java memory layout, how the object placed in JVM - <a href="http://openjdk.java.net/projects/code-tools/jol/">http://openjdk.java.net/projects/code-tools/jol/</a> <br/><br/>Question: How do you handle oversized heap analysis? - <a href="https://www.reddit.com/r/java/comments/vca5q2/question_how_do_you_handle_oversized_heap_analysis/">https://www.reddit.com[..]w_do_you_handle_oversized_heap_analysis/</a> <br/><br/>JVM Field Guide: Memory - <a href="https://serce.me/posts/01-02-2023-jvm-field-guide-memory">https://serce.me/posts/01-02-2023-jvm-field-guide-memory</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> 2023-02-15T13:22:38Z java19.txt 2023-02-08T13:19:36Z 2023-02-08T13:19:36Z <br/>Structured Concurrency and Loom - <a href="https://www.loicmathieu.fr/wordpress/en/informatique/java-19-quoi-de-neuf/">https://www.loicmathieu.fr[..]ss/en/informatique/java-19-quoi-de-neuf/</a> <br/><br/>Using Pattern Matching - <a href="https://dev.java/learn/pattern-matching">https://dev.java/learn/pattern-matching</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> 2023-02-08T13:19:36Z vector.txt 2022-12-10T12:45:08Z 2022-12-10T12:45:08Z <br/>FizzBuzz – SIMD Style! - <a href="https://www.morling.dev/blog/fizzbuzz-simd-style/">https://www.morling.dev/blog/fizzbuzz-simd-style/</a> <br/><br/>SIMD accelerated sorting in Java - how it works and why it was 3x faster - <a href="https://jbaker.io/2022/06/09/vectors-in-java/">https://jbaker.io/2022/06/09/vectors-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> 2022-12-10T12:45:08Z pandas.txt 2022-08-02T13:15:30Z 2022-08-02T13:15:30Z <br/>Kotlin DataFrame Preview - <a href="https://blog.jetbrains.com/kotlin/2022/06/kotlin-dataframe-library-preview/">https://blog.jetbrains.com[..]022/06/kotlin-dataframe-library-preview/</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-08-02T13:15:30Z constructor.txt 2022-08-02T12:39:29Z 2022-08-02T12:39:29Z <br/>Things I didn't know about Java: Generic Constructors - <a href="https://www.objectos.com.br/blog/java-generic-constructors.html">https://www.objectos.com.br/blog/java-generic-constructors.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-08-02T12:39:29Z image.txt 2022-07-06T13:31:29Z 2022-07-06T13:31:29Z <br/>Strategies of loading image, select difference API to load image in difference case - <a href="http://java.sun.com/developer/technicalArticles/Media/imagestrategies/index.html">http://java.sun.com[..]rticles/Media/imagestrategies/index.html</a> <br/><br/>The Perils of Image.getScaledInstance() , with more detail explanation of image handling - <a href="http://today.java.net/pub/a/today/2007/04/03/perils-of-image-getscaledinstance.html">http://today.java.net[..]3/perils-of-image-getscaledinstance.html</a> <br/><br/>In Part I we talk about the building blocks of metadata in images and how it may matter to you as developer. - <a href="https://hillert.com/blog/read-write-image-metadata-java-part-1/">https://hillert.com/blog/read-write-image-metadata-java-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-07-06T13:31:29Z data.txt 2022-05-22T12:36:05Z 2022-05-22T12:36:05Z <br/>Data in Java programs - a basic conceptual model - <a href="https://docs.google.com/document/d/1J-a_K87P-R3TscD4uW2Qsbt5BlBR_7uX_BekwJ5BLSE/preview">https://docs.google.com[..]TscD4uW2Qsbt5BlBR_7uX_BekwJ5BLSE/preview</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-05-22T12:36:05Z classloading.txt 2022-05-03T14:08:30Z 2022-05-03T14:08:30Z <br/>Hint to prevent blocking of loadClass by using Thread.getContextClassLoader() - <a href="https://blog.fastthread.io/2022/05/03/java-class-loading-performance-impact/">https://blog.fastthread.io[..]3/java-class-loading-performance-impact/</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-05-03T14:08:30Z 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 scalability.txt 2022-04-15T12:54:04Z 2022-04-15T12:54:04Z <br/>1,000,000 Concurrent Connections - <a href="https://josephmate.github.io/2022-04-14-max-connections/">https://josephmate.github.io/2022-04-14-max-connections/</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-15T12:54:04Z applet related.txt 2022-03-29T05:39:05Z 2022-03-29T05:39:05Z <br/>Workaround with sandbox - <a href="http://imagingexperts.typepad.com/imaging_experts/2006/10/javascripting_i.html">http://imagingexperts.typepad.com[..]ing_experts/2006/10/javascripting_i.html</a> <br/><br/>Help running old Java applets in Windows 11 / Chrome - <a href="https://www.reddit.com/r/java/comments/tjjnft/help_running_old_java_applets_in_windows_11_chrome">https://www.reddit.com[..]ng_old_java_applets_in_windows_11_chrome</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-03-29T05:39:05Z hash.txt 2022-03-29T05:28:14Z 2022-03-29T05:28:14Z <br/>JVM Anatomy Quark #26: Identity Hash Code - <a href="https://shipilev.net/jvm/anatomy-quarks/26-identity-hash-code">https://shipilev.net/jvm/anatomy-quarks/26-identity-hash-code</a> <br/><br/>Hash, displace, and compress: Perfect hashing with Java - <a href="https://www.andreinc.net/2022/03/15/perfect-hashing-with-java">https://www.andreinc.net/2022/03/15/perfect-hashing-with-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> 2022-03-29T05:28:14Z Interrupt.txt 2022-03-19T12:00:19Z 2022-03-19T12:00:19Z <br/>Just know that interrupt() call is just setting a flag, it have to be doing IO work (like database call), or in wait() status, before the thread can really be interrupted.<br/><br/><a href="http://blogs.sun.com/roller/page/swinger?entry=swingworker_stop_that_train">http://blogs.sun.com[..]winger?entry=swingworker_stop_that_train</a> <br/><br/>Another nice explanation about interrupt, in summary:<br/><br/>What should we do when we call code that may cause an InterruptedException? Don't immediately yank out the batteries! Typically there are two answers to that question: <br/>1) Rethrow the InterruptedException from your method. This is usually the easiest and best approach. It is used by the new java.util.concurrent.* package [ <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/Semaphore.html#acquire()">http://java.sun.com[..]util/concurrent/Semaphore.html#acquire()</a> ], which explains why we are now constantly coming into contact with this exception. <br/>2) Catch it, set interrupted status, return. If you are running in a loop that calls code which may cause the exception, you should set the status back to being interrupted. For example: <br/><pre>while (!Thread.currentThread().isInterrupted()) {<br/> // do something<br/> try {<br/> TimeUnit.SECONDS.sleep(1000);<br/> } catch (InterruptedException e) {<br/> Thread.currentThread().interrupt();<br/> break;<br/> }<br/>}</pre>Remember the Law of the Sabotaged Doorbell - don't just ignore interruptions, manage them properly!<br/><br/>- <a href="http://www.javaspecialists.eu/archive/Issue146.html">http://www.javaspecialists.eu/archive/Issue146.html</a> <br/><br/>Another blog explain about InterruptedException - <a href="http://www.nurkiewicz.com/2014/05/interruptedexception-and-interrupting.html">http://www.nurkiewicz.com[..]terruptedexception-and-interrupting.html</a> <br/><br/><a href="http://ocpsoft.org/regex/how-to-interrupt-a-long-running-infinite-java-regular-expression">http://ocpsoft.org[..]running-infinite-java-regular-expression</a> <br/><br/><a href="http://praveer09.github.io/technology/2015/12/06/understanding-thread-interruption-in-java/">http://praveer09.github.io[..]derstanding-thread-interruption-in-java/</a> <br/><br/>How to Stop a Java Thread Without Using Thread.stop()? - <a href="https://4comprehension.com/how-to-stop-a-java-thread-without-using-thread-stop/">https://4comprehension.com[..]a-java-thread-without-using-thread-stop/</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-03-19T12:00:19Z java8.txt 2022-02-12T14:08:30Z 2022-02-12T14:08:30Z <br/>Introduction of Lambdas expression in Java - <a href="http://zeroturnaround.com/labs/java-8-the-first-taste-of-lambdas/">http://zeroturnaround.com/labs/java-8-the-first-taste-of-lambdas/</a> , an example show how lambdas help to clean up the duplication - <a href="http://www.nurkiewicz.com/2014/03/simplifying-readwritelock-with-java-8.html">http://www.nurkiewicz.com[..]mplifying-readwritelock-with-java-8.html</a> <br/><br/>Another article about Java8 change, where Lambdas is the highlight - <a href="http://www.infoq.com/news/2013/08/everything-about-java-8">http://www.infoq.com/news/2013/08/everything-about-java-8</a> <a href="http://www.shaunabram.com/java8/">http://www.shaunabram.com/java8/</a> <br/><br/>Nice tutorial - <a href="http://www.dreamsyssoft.com/java-8-lambda-tutorial/index.php">http://www.dreamsyssoft.com/java-8-lambda-tutorial/index.php</a> <br/><br/>Huge list of articles - <a href="http://www.baeldung.com/java8">http://www.baeldung.com/java8</a> <br/><br/>Use lambdas to replace for-loop - <a href="http://saltnlight5.blogspot.com.au/2014/04/creating-your-own-loop-structure-in.html">http://saltnlight5.blogspot.com.au[..]creating-your-own-loop-structure-in.html</a> <a href="https://www.ibm.com/developerworks/library/j-java8idioms3">https://www.ibm.com/developerworks/library/j-java8idioms3</a> <br/><br/>Overview for new Date/Time library - <a href="http://www.infoq.com/articles/java.time">http://www.infoq.com/articles/java.time</a> <a href="https://binkley.blogspot.com/2019/02/java-date-time-timezone-formats.html">https://binkley.blogspot.com[..]/02/java-date-time-timezone-formats.html</a> <br/><br/><a href="http://www.javacodegeeks.com/2014/05/java-8-features-tutorial.html">http://www.javacodegeeks.com[..]om/2014/05/java-8-features-tutorial.html</a> <br/><br/>Grouping and partitioning with stream - <a href="http://fahdshariff.blogspot.com/2015/11/java-8-streams-api-grouping-and.html">http://fahdshariff.blogspot.com[..]/11/java-8-streams-api-grouping-and.html</a> <br/>In a nutshell, make sure to never override a default method in another interface - <a href="http://mydailyjava.blogspot.com.au/2014/05/java-8-default-methods-can-break-your.html">http://mydailyjava.blogspot.com.au[..]va-8-default-methods-can-break-your.html</a> <br/><br/>Convert SQL feature to stream - <a href="http://blog.jooq.org/2015/08/13/common-sql-clauses-and-their-equivalents-in-java-8-streams/">http://blog.jooq.org[..]and-their-equivalents-in-java-8-streams/</a> <br/><br/>Simple overview of steam operation - <a href="https://www.javaprogramto.com/2019/06/java-8-stream-intermediate-operations.html">https://www.javaprogramto.com[..]va-8-stream-intermediate-operations.html</a> <a href="https://mydeveloperplanet.com/2020/09/23/java-streams-by-example">https://mydeveloperplanet.com/2020/09/23/java-streams-by-example</a> <br/><br/>Behind the scenes: How do lambda expressions really work in Java? - <a href="https://blogs.oracle.com/javamagazine/behind-the-scenes-how-do-lambda-expressions-really-work-in-java">https://blogs.oracle.com[..]o-lambda-expressions-really-work-in-java</a> <br/><br/>Useful & Unknown Java Features - <a href="https://piotrminkowski.com/2022/01/05/useful-unknown-java-features/">https://piotrminkowski.com[..]2022/01/05/useful-unknown-java-features/</a> <a href="https://www.infoq.cn/article/tWHfLK4Kxphu3JDhlds5">https://www.infoq.cn/article/tWHfLK4Kxphu3JDhlds5</a> <br/><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-12T14:08:30Z