Java 内存布局与垃圾回收归纳
本文基于由周志明所著的《深入理解 Java 虚拟机》一书的第二部分的内容,同时加入了 JVM 规范以及 Oracle 官方 GC 性能调优指南中的内容,旨在能让读者更好地理解这部分知识。目前本文只会包含 JVM 内存布局与垃圾回收相关的归纳内容,如果以后有机会我会继续更新 JVM GC 调优相关的内容。如果读者对本文的内容组织有更好的建议,欢迎在下方评论处提出。
本文基于由周志明所著的《深入理解 Java 虚拟机》一书的第二部分的内容,同时加入了 JVM 规范以及 Oracle 官方 GC 性能调优指南中的内容,旨在能让读者更好地理解这部分知识。目前本文只会包含 JVM 内存布局与垃圾回收相关的归纳内容,如果以后有机会我会继续更新 JVM GC 调优相关的内容。如果读者对本文的内容组织有更好的建议,欢迎在下方评论处提出。
教你如何使用 Jython 在 Java 程序中嵌入 Python 代码。
In the past few days, I managed to find a way to dynamically load and run Python code in a Java program. In this post, I will briefly explain how I achieve this.
在本文中,我们将详细解析 java.util.TreeMap
的源代码。本文将首先讲述红黑树及其相关操作的基本原理,并结合 TreeMap
中的相关代码加深印象,继而再对 TreeMap
中的其他代码进行详析。
Printing or producing a simple String
message has been really trivial in Java. Most of the time, we use concatenation to create String
instance we want:
1 | int a = 3; |
Though modern Java compiler uses StringBuilder
to optimize statements like these, using concatention to construct String
has its limitations, which include:
String
is not reusable;Fortunately, Java SE 5.0 brought back the venerable printf
method from the C library, which also come with the basic feature of string formatting.
Java8 中最为人津津乐道的新改变恐怕当属函数式 API 的加入。但实际上,Java8 所加入的新功能远不止这个。本文将基于《Java SE8 for the Really Impatient》的第 5 章,归纳一下 Java8 加入的位于 java.time
包下的日期和时间 API。