String类之字符串常量池与intern方法

String类之字符串常量池与intern方法

在 Java 中方法区与常量池一节中有讲到常量池的分类,以及三种常量池之间的关联,其中有提到 String 类中的 intern() 方法,可以在运行期间将 Class 文件常量池中未出现的常量放入到运行时常量池,以及将字符串对象的引用加...
Java之String 类源码学习

Java之String 类源码学习

Java 中数据类型分为两大类:基础数据类型(byte,short,int,long,float,double,char,boolean)和引用类型(String 类型和基础数据类型的包装类),可以看出 String 类型是非常特殊的,同时也是编写代码过程中使用比较频繁的...
Java 中方法区与常量池

Java 中方法区与常量池

前言Java 的 JVM 的内存可分为 3 个区:堆内存(heap)、栈内存(stack)和方法区(method)也叫静态存储区。在学习的过程中经常还会听到常量池这一术语,在上节关于数据做 = = 比较时,提到了字符串常量池,经查询得知常量池既不...
Java 中基于各种数据类型分析 == 和 equals 的区别

Java 中基于各种数据类型分析 == 和 equals 的区别

前言Java 中的数据类型,可分为两类:基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean 它们之间的比较,应用双等号(),比较的是它们的值。复合数据类型(类)。当它们用双等号进行比较的时...
Idea 使用技巧记录

Idea 使用技巧记录

声明:以下所讲皆是在 Idea 2019版本上操作的,且 Key Map 最好选择 Default 模式。1、配置 sys 输出快捷键首先点击工具栏 File->Settings,搜索 Live...新建一个分组,然后在该分组下添加快捷键。因为已经配置了 sys 快捷...
你知道Java有多少种内存溢出吗

你知道Java有多少种内存溢出吗

Java内存区域关于这部分内容大多来源于《深入理解Java虚拟机》一书。Java 运行时数据区域(JDK8)如下图所示:关于上述提到的线程共享和线程隔离区域,下图做详细讲解:程序计数器程序计数器是一块较小的内存空间,可以看作...
日志分析工具:GCViewer、VisualVM、GCeasy

日志分析工具:GCViewer、VisualVM、GCeasy

GCViewerGCViewer 是一个可以将 JVM 中的 gc log 可视化的工具,使用该工具可以帮助你充分的发现 JVM 垃圾回收中的潜在问题,让你可以更加准确的做出关于 JVM GC 优化的决策。安装并启动git clone https://github.com/chewi...
MAT工具使用详解

MAT工具使用详解

Eclipse Memory Analyzer (MAT)是一个快速且功能丰富的Java堆分析器,可帮助您发现内存泄漏并减少内存消耗。安装并启动直接参考 Mac下MAT的安装需要注意的是注意 JDK 版本和 MAT 版本的映射,最新的 MAT 版本为 1.12.0,需...
GC调优基础以及初识jstat命令

GC调优基础以及初识jstat命令

影响垃圾收集性能有三个主要的属性,垃圾收集调优又有三个基本原则,以及垃圾收集调优时需要采集的信息。如果想要对垃圾收集进行调优,则需要根据实际场景对不同属性做出取舍,理解调优的原则以及收集什么信息。性能属性吞...
你知道Jhsdb整合的故障处理工具吗

你知道Jhsdb整合的故障处理工具吗

Jhsdb 是 JDK9 引入的新的命令行工具,它有 clhsdb、debugd、hsdb、jstack、jmap、jinfo、jsnap 这些 mode 可以使用,其中有几个在名称和功能上与以前的 JDK 发行版中可用的各个命令行工具相对应。看得出来,官方想要 jhsdb...