RSS feed [root] /weblog /java



title search:


Wed Jun 23 23:53:07 AEST 2021


(google search) (amazon search)
download zip of files only

Thu Sep 09 10:17:05 AEST 2021 From /weblog/java/features


(google search) (amazon search)

Tue Jul 13 00:21:23 AEST 2021 From /weblog/java/fundamental


Detailed decision of arraylist and linkedlist, consist of a lot benchmark results, take a look if interested:

One bug from java HashMap explaining it can be difficult to achieve fail-fast -

Performance difference of difference collection -[..]0/12/what-is-faster-jvm-performance.html[..]/2011/07/14/java-collection-performance/

A treelist implementation -

Implement LRU cache using LinkedHashMap -[..]11/06/java-secret-lru-cache-in-java.html

Problem of using soft-reference for automate cache clean up -[..]

if it claims that an element is contained in it, this might be in error, but if it claims that an element is not contained in it, then this is definitely true. -

Comment of various collections library -

List of FAQ of Java collections -[..]lections-interview-questions-and-answers

Java Collections – Performance (Time Complexity) -[..]1/java-collections-performance-time.html

Performance improvement for HashMap for Java8 -[..]hashmap-performance-improvements-in.html

Introduction to GS collection -[..]s/gs-collections-examples-tutorial-part1[..]s/gs-collections-examples-tutorial-part2

removeEldestEntry, interesting function of linkedhashmap -[..]/prevent-your-caches-from-exploding.html

How new version of java help immutable style -

Hash puzzle with stringbuilder -

(google search) (amazon search)

Thu Jun 24 23:58:59 AEST 2021 From /weblog/java/fundamental


From java code to java heap, detail of how java use memory -[..]rks/java/library/j-codetoheap/index.html

Algorithm of determine suitable thread pool size -[..]reading-stories-about-robust-thread.html

Detail of how to analysis how much memory you need -[..]m/2012/12/how-much-memory-do-i-need.html

Chinese introduction of memory model -

Difference between PermGem and MetaSpace -[..]02/java-8-from-permgen-to-metaspace.html

How many bytes a boolean value takes in Java? -[..]many-bytes-a-boolean-value-takes-in-Java

🚀 Demystifying JVM Memory Management -

Quest to the OS: Java Native Memory -[..]o-the-os-java-native-memory-5d3ef68ffc0a

(google search) (amazon search)

Thu Jun 24 23:52:43 AEST 2021 From /weblog/java/performance


5 tips for proper Java Heap size -[..]07/5-tips-for-proper-java-heap-size.html

What does JVM do -[..]t/uploads/2011/03/2011_WhatDoesJVMDo.pdf

How Azul do pauseless GC -

New feature, DoEscapeAnalysis

A very nice blog about VM detail

Tips for configing 64bit system with large pagesize -[..]garbage-collector-in-latest-openjdk.html[..]-optimize-hot-loops-and-allow-debugging/
Just an idea -[..]aded-virtual-memory-in-java.1-46188.html
How java use native memory ( in aix ) -[..]erworks/java/library/j-nativememory-aix/

How JRebel enable dynamic adding or removing method in running VM, using existing Java technology like classloading and agent to breakthough hotswap limitation -[..]loading_java_classes_401_hotswap_jrebel/

Biased locking -

Aleksey Shipilëv: One Stop Page -

Discussion about safepoint -

JVM Pauses - It's more than GC -

(google search) (amazon search)

Sun Jun 20 22:54:51 AEST 2021 From /weblog/java/fundamental


(google search) (amazon search)

Sun Jun 20 22:53:30 AEST 2021 From /weblog/java/features


URL handler -[..]ibrary/2012/05/14/java_url_handlers.html , UrlSchemeRegistry.register("dinner", DinnerHandler.class);

Talking to Postgres Through Java 16 Unix-Domain Socket Channels -[..]ugh-java-16-unix-domain-socket-channels/

(google search) (amazon search)

Sun Jun 20 22:52:11 AEST 2021 From /weblog/java/features


FizzBuzz – SIMD Style! -

(google search) (amazon search)

Fri Jun 18 10:28:23 AEST 2021 From /weblog/java/features


VisualVM , a collection of tools for debugging and monitoring -

Presentation of BTrace, which allow user to have event base tracing -[..]ts/8510/98299/BTrace_BOF-5552_J12008.pdf

JDK command line tools which help to solving memory issue -

Show how to get stack trace and memory map from JVM dump -[..]gr/2012/08/analysing-java-core-dump.html

VM options about dumps -

(google search) (amazon search)

Sun Mar 21 23:59:18 AEDT 2021 From /weblog/java/deploy


How to Publish Artifacts on Maven Central -[..]-artifacts-on-maven-central-24342fd286cd[..]ing-to-maven-central-using-apache-maven/

Switching Java versions the whole day long -[..]021/03/introduction-to-maven-toolchains/

(google search) (amazon search)

Mon Mar 08 16:05:16 AEDT 2021 From /weblog/java/fundamental


A very good tutorial of how to config and develop i18n web application

and a shorter one[..]/spidaman/20050215#a_java_i18n_checklist

and a tip

An introduction of a useful API for localized currency handling DecimalFormatSymbols[..]mbols-DecimalFormat-DecimalFormatSymbols

Benchmark of various charset detector -[..]007/01/character-encoding-detection.html

Work with filename with non-ASCII char -[..]-internationalization-and-normalization/

(google search) (amazon search)

Wed Feb 24 14:49:26 AEDT 2021 From /weblog/java/string


String.intern() is designed for constant strings, it's implemented in C/C++ in the hotspot core code, and it has a fixed-size hashmap of around 20K entries and if more than this number of strings are interned, the performance degrades linearly since there are hash collisions and the code has to search down linked lists.

String.intern in Java 7 and 8 -[..]-intern-java-6-7-8-multithreaded-access/

Suggestion of improving string decoding -

(google search) (amazon search)

Sun Feb 21 00:10:54 AEDT 2021 From /weblog/java/features


Java on Truffle — Going Fully Metacircular -[..]le-going-fully-metacircular-215531e3f840

(google search) (amazon search)

Sun Feb 14 01:24:00 AEDT 2021 From /weblog/java/fundamental


In this post we will be looking at crash logs, the hs_err file, that is generated when the Java Virtual Machine crashes. Trying to find what is going wrong, and which component to blame, is important to understand how to interpret the crash log file. The focus will be on understanding the frames that make up the stack trace. -

(google search) (amazon search)

Sun Feb 14 01:17:38 AEDT 2021 From /weblog/java/tools


Java Flight Recorder, a tool to record all detail of how the API work for undo and replay and detail profiling -

Creating Custom JFR Events -

Java Mission Control -[..]-mission-control-52-is-finally-here.html

Support of JMX from common java library -[..]ling-jmx-in-hibernate-ehcache-qurtz.html

sample code show how to get vm info at jmx -

An excellent short tutorial of JMX -

Monitoring all tomcat 5 JMX information, with free tools and java startup config -[..]illiams/20050202#monitoring_tomcat_5_5_x

Task manager like jconsole plugin -[..]is/entry/top_threads_plugin_for_jconsole

Performance cost of JMX -[..]nus/archive/2006/07/how_much_does_i.html

Monitoring Local and Remote Applications Using JMX 1.2 and JConsole -

Collections of tools -[..]/client-side-server-monitoring-with.html

remote conenction with ssh -[..]nitoring-remote-jvm-over-ssh-jmx-or-not/

IBM healthcare API -[..]rary/j-healthcareapi1/index.html?ca=drs-

JVM Statistics with jstat -[..]k/2017/05/jvm-statistics-with-jstat.html

Useful JDK tools -

(google search) (amazon search)

Fri Feb 12 11:37:17 AEDT 2021 From /weblog/java/fundamental


The tool that allow you write JVM instruction using assemble like command

An article about assemble Java -[..]s/content/GuideJavaBytecode/article.html

Overview of bytecode -[..]/2011/01/java-bytecode-fundamentals.html

(google search) (amazon search)

Fri Feb 05 00:57:57 AEDT 2021 From /weblog/java/network


Talking to Postgres Through Java 16 Unix-Domain Socket Channels -[..]ugh-java-16-unix-domain-socket-channels/

(google search) (amazon search)

Wed Jan 06 23:49:46 AEDT 2021 From /weblog/java/string


Java's String.repeat Method in Action: Building PreparedStatement with Dynamic Number of Parameters -[..]k11-string-repeat-preparedstatement.html

(google search) (amazon search)

Wed Dec 30 23:49:03 AEDT 2020 From /weblog/java/concurrency


An API to get the state of a thread, but someone say it is not reliable -[..]5.0/docs/api/java/lang/Thread.State.html[..]readed-programs-tf3627394.html#a10128844

Having said that, I have to note that using Thread#getState() is not
something you can absolutely rely on as the behavior isn't guaranteed
to be the same on all platforms. That is, it can be a useful tool for
debugging and test-driving but not ideal for regression (unit)

Overview of Java thread -[..]t-thread-and-javalangthread-in-java.html

Loom -

(google search) (amazon search)

Mon Dec 21 01:24:50 AEDT 2020 From /weblog/java/performance


How can jruby take advantage of hotspot -[..]nderstanding-jvm-jit-and-helping-it.html

Discussion about OOME -[..]01/14/jvm_lies_the_outofmemory_myth.html

How hotspot optimization ofoptimzate Polymorphism -

List of tools -

an issue of hotspot but haven't handle in 5 year -

A test for how hotspot inline method -[..]ggressive-is-method-inlining-in-jvm.html

Various JIT optimization that JVM doing -[..]uper-useful-jit-optimization-techniques/[..]ava_as_fast_as_c_when_it_comes_to_stack/

(google search) (amazon search)

Wed Oct 14 15:11:16 AEDT 2020 From /weblog/java/libraries

high performance

Reactor framework, base on disruptor -

One http library to consider, Comsat -

disruptor 高性能队列最佳选择 -

Babl High-Performance WebSocket Server -[..]l-high-performance-websocket-server.html

(google search) (amazon search)

Thu Oct 08 11:22:27 AEDT 2020 From /weblog/java/features


Invoking Assembly Language Programs using java native interface -

Best practices for using the Java Native Interface -

Other library try to simple using native library -

(google search) (amazon search)

Thu Oct 08 00:11:17 AEDT 2020 From /weblog/java/features


(google search) (amazon search)

Wed Aug 26 16:25:14 AEST 2020 From /weblog/java/features


Good : dynamic, generic
Bad: slow, don't work with Obfuscators and most searching and refactoring tools

A very nice tool to get parameter name - (e.g.: user of getUser(User user))

How to improve the performance -[..]-reflection-as-fast-as-direct-calls.html

The problem of using reflection to modify final field -[..]7-writing-to-final-fields-via-reflection

Using reflection for using test -[..]f-hacking-enums-and-modifying-final.html

Sharing about using invokedynamic -[..]ticles/Invokedynamic-Javas-secret-weapon

LamdbaMetafactory is pretty fast. (*) -[..]8/01/09/JavaReflectionButMuchFaster.html

(google search) (amazon search)

Tue Jul 14 16:44:05 AEST 2020 From /weblog/java/fundamental


We can control how the default hashcode return, and and what the difference of default hashcode between java7 and 8 -

(google search) (amazon search)