
JVM探索
与JVM相关技术博客
jeanboydev
Android | iOS | Web 开发者,专注移动开发领域,热爱分享,热爱开源。
展开
-
字节码指令
虚拟机是一个相对于物理机的概念,这两种机器都有代码执行能力,其区别在于物理机的执行引擎是直接建立在 CPU 处理器、指令集、操作系统和硬件层面上的。 而虚拟机的执行引擎则由自己实现,因此可以制定自己的指令集和执行引擎的结构体系,而且还可以执行一些不被硬件直接支持的指令集格式。这就是虚拟机相对于物理机的优势所在。 但是缺点也比较明显,由于多了一层虚拟指令,执行虚拟机指令后还要转化为本地机器码,所以在...原创 2019-10-20 11:07:18 · 825 阅读 · 0 评论 -
原来 ArrayList 内部原理这么简单
简介 ArrayList 是一种变长的基于数组实现的集合类,ArrayList 允许空值和重复元素,当往 ArrayList 中添加的元素数量大于其底层数组容量时,它会自动扩容至一个更大的数组。 另外,由于 ArrayList 底层基于数组实现,所以其可以保证在 O(1) 复杂度下完成随机查找操作。其他方面,ArrayList 是非线程安全类,并发环境下,多个线程同时操作 ArrayList,会引...原创 2019-03-13 19:34:08 · 1581 阅读 · 2 评论 -
一篇文章看明白 HashMap 工作原理
HashMap 源码分析 简介 HashMap 是 Java 语言中常用的用于存放键值对数据类型的集合类。随着 JDK(Java Developmet Kit)版本的更新,JDK 1.8 对 HashMap 底层的实现进行了优化,底层实现也由之前的 数组 + 链表 改为 数组 + 链表 + 红黑树 。HashMap 的常用方法如下: //创建一个 map Map<String, String...原创 2019-01-14 10:46:51 · 2251 阅读 · 1 评论 -
Java 虚拟机垃圾回收机制
Java 虚拟机垃圾回收机制 概述 垃圾回收是一种自动的存储管理机制。 当一些被占用的内存不再需要时,就应该予以释放,以让出空间,这种存储资源管理,称为垃圾回收(Garbage Collection)。 垃圾回收器可以让程序员减轻许多负担,也减少程序员犯错的机会。 哪些对象需要回收? 自动垃圾回收机制就是寻找Java堆中的对象,并对对象进行分类判别,寻找出正在使用的对象和已经不会使...原创 2017-09-19 14:18:05 · 2464 阅读 · 2 评论 -
Java 虚拟机内存分配机制
Java 虚拟机内存分配机制 内存区域划分 对于大多数的程序员来说,Java 内存比较流行的说法便是堆和栈,这其实是非常粗略的一种划分,这种划分的“堆”对应内存模型的 Java 堆,“栈”是指虚拟机栈,然而 Java 内存模型远比这更复杂,想深入了解 Java 的内存,还是有必要明白整个内存区域分。 了解 Java GC 机制,必须先清楚在 JVM 中内存区域的划分。 在 Java 运行...原创 2017-09-15 15:34:45 · 3449 阅读 · 0 评论 -
字节码文件结构
我们都知道 .java 文件在执行之前会编译成 .class 文件后再执行。比如下面的代码: package com.jeanboy.jvm; public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } } 在 ...原创 2019-09-03 07:23:40 · 1281 阅读 · 2 评论