排序
2.2.6 堆
堆 一、堆的核心概述 一个进程对应一个jvm实例,同时包含多个线程,这些==线程共享方法区和堆==,每个==线程独有程序计数器、本地方法栈和虚拟机栈==。 一个jvm实例只存在一个堆内存,堆也是jav...
2.2.5 本地方法栈
本地方法栈 一、本地方法栈在运行时数据区中的位置 二、定义 Java虚拟机栈用于管理Java方法的调用,而本地方法栈用于管理本地方法的调用 本地方法栈,也是线程私有的。 允许被实现成固定或者是...
2.6.4 锁优化
锁优化 高效并发是JDK5升级到JDK6后一项重要的改进,HotSpot虚拟机开发团队在这个版本上花费了巨大的资源去实现各种锁优化。比如,自旋锁,自适应自旋锁,锁消除,锁膨胀,轻量级锁,偏向锁等。...
Java代理模式详解
1. 代理模式 代理模式是一种比较好理解的设计模式。简单来说就是 我们使用代理对象来代替对真实对象(real object)的访问,这样就可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标...
ArrayList扩容机制详解
简介 ArrayList 是 java 集合框架中比较常用的数据结构了。继承自 AbstractList,实现了 List 接口。底层基于数组实现容量大小动态变化。允许 null 的存在。同时还实现了 RandomAccess、Cl...
2.6.3 Java线程安全-JVM角度解析
Java线程安全-JVM角度解析 线程安全 当多个线程同时访问一个对象,如果不用考虑这些线程在运行环境下的调度和交替执行,也不需要考虑额外的同步,或者在调用方法时进行一些其他的协作,调用这个...
2.1.4 类加载的常用方法
类加载的常用方法 常用方法 ClassLoader类,它是一个抽象类,其后所有的类加载器都继承自ClassLoader(不包括启动类加载器) 方法名称 描述 getParent() 返回该类加载器的超类加载器 loadClas...
2.1.1 类加载子系统概述
类加载子系统 代码编译的结果从本地机器指令码转化为字节码,是存储格式发展的一小步,但却是编程语言发展的一大步—— 《深入理解JVM虚拟机》周志明·著 Java虚拟机将描述类的数据从class字节...
2.1.5 双亲委派机制
双亲委派机制 介绍 Java虚拟机对class文件采用的是按需加载的方式, 也就是说当需要使用该类时才会将它的class文件加载到内存生成的class对象。 而且加载某个类的class文件时,java虚拟机采用的...
2.1.6 沙箱安全机制
一、沙箱安全机制 1、定义: 自定义String类,但是在加载自定义String类的时候会率先使用引导类加载器加载, 而引导类加载器在加载过程中会先加载jdk自带的文件(rt.jar包中的java\lang\String.c...