jvm 工具


1. jps作用:查询 java 进程jps [-q] [-mlvV] [<hostid>]15653 Launcher1557415654 Application53615805 Jpsq: 只输出进程号m: 输出main method的参数l: 输出完全的包名,应用主类名,jar的完

JAVA 四种引用类型


1. 强引用在 Java 中最常见的就是强引用,把一个对象赋给一个引用变量,这个引用变量就是一个强引用。当一个对象被强引用变量引用时,它处于可达状态,它是不可能被垃圾回收机制回收的,即使该对象以后永远都不会被用到 JVM 也不会回收。因此强引用是造成 Java 内存泄漏的主要原因之一。2. 软引用软

java 代码执行


参考文档:【Java核心技术卷】Java的解释执行与编译执行1. JVM 简介一种能够运行 Java 字节码 (class) 的虚拟机。JVM 有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有一套字节码指令集。JVM 屏蔽了与具体操作系统平台相关的信息,使得Java 程序只需要生成在 Java

binlog 和 redo log


参考文档:Sharding-Jdbc实现读写分离、分库分表,妙!1. binlogbinlog(归档日志)MySQL 整体来看就有两块:一块是 Server 层,主要做的是 MySQL 功能层面的事情;还有一块是引擎层,负责存储相关的具体事宜。redo log 是 InnoDB 引擎特有的日志,而

JVM


参考文档:JVM内存管理、JVM垃圾回收机制、新生代、老年代以及永久代【转】Java中的新生代、老年代、永久代和各种GC0. JVM 知识图谱1. 线程这里所说的线程指程序执行过程中的一个线程实体。JVM 允许一个应用并发执行多个线程。Hotspot JVM 中的 Java 线程与原生操作系统线程有

Unsafe 类


参考文档:浅析 Unsafe 的使用干掉Random:这个类已经成为获取随机数的王者1. Unsafe 简介Unsafe 是 java 留给开发者的后门,用于直接操作系统内存且不受 jvm 管辖,实现类似 C++ 风格的操作。Oracle 官方一般不建议开发者使用 Unsafe 类,因为正如这个类的

java 对象头


参考文档:Java对象结构与锁实现原理及MarkWord详解1. 简介我们都知道,Java 对象存储在堆(Heap)内存。那么一个 Java 对象到底包含什么呢?概括起来分为对象头、对象体和对齐字节。如下图所示:对象的几个部分的作用:对象头中的 Mark Word(标记字)主要用来表示对象的线程锁状

java module


参考文档:JDK9的新特性:JPMS模块化1. 简介JDK9 引入了一个新的特性叫做 JPMS(Java Platform Module System),也可以叫做 Project Jigsaw。模块化的本质就是将一个大型的项目拆分成为一个一个的模块,每个模块都是独立的单元,并且不同的模块之间可以互

ThreadLocal


参考文献:深入分析 ThreadLocal 内存泄漏问题1. 实现原理ThreadLocal 的实现是这样的:每个 Thread 维护一个 ThreadLocalMap 映射表,这个映射表的 key 是 ThreadLocal 实例本身,value 是真正需要存储的Object。也就是说 Thr

java 时间


1. 名词解释1.1 UTCCoordinated Universal Time协调世界时, 是个世界标准时间。1.2 GMTGMT(Greenwich Mean Time,格林威治时间)是时区时间。GMT = UTC +0, 和 UTC 的值是一样的。Tue Mar 15 03:25:32 GMT