
Java系列——深入理解JVM
冷静BB
Java开发
展开
-
java类加载机制
1.类的加载过程 JVM将类加载过程分为三个步骤:装载(Load),连接(Link)和初始化(Initialize)。连接又分为三个步骤,如下图所示: 1) 装载:把类的.class文件中的数据读入到内存中,通常是创建一个字节数组读入.class文件,然后产生与所加载类对应的Class对象; 2)连接:验证:确保被加载类的正确性; 准备:为类的静态变量分配内存,并将其初始化为默认零值; 解析:把转载 2017-10-27 12:13:00 · 354 阅读 · 0 评论 -
初探java虚拟机类加载机制(零)——概述
通过一道面试题,简单介绍java虚拟机的类加载机制原创 2017-10-12 23:17:49 · 399 阅读 · 0 评论 -
java8内存模型——永久代和元空间
一、JVM 内存模型 根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。 1、虚拟机栈:每个线程有一个私有的栈,随着线程的创建而创建。栈里面存着的是一种叫“栈帧”的东西,每个方法会创建一个栈帧,栈帧中存放了局部变量表(基本数据类型和对象引用)、操作数栈、方法出口等信息。栈的大小可以固定也可以动态扩展。当栈调用深度大于JVM所允许的范围,会抛出Stack转载 2017-10-26 11:43:56 · 583 阅读 · 0 评论 -
通过反编译深入理解Java String及intern
原文出处: liuxiaopeng 一、字符串问题 字符串在我们平时的编码工作中其实用的非常多,并且用起来也比较简单,所以很少有人对其做特别深入的研究。倒是面试或者笔试的时候,往往会涉及比较深入和难度大一点的问题。我在招聘的时候也偶尔会问应聘者相关的问题,倒不是说一定要回答的特别正确和深入,通常问这些问题的目的有两个,第一是考察对 JAVA 基础知识的了解程度,第二是考察应聘者对技术的态度。 我们看转载 2017-10-26 11:48:06 · 319 阅读 · 0 评论 -
深入理解java对象的创建过程:类的初始化和实例化
摘要: 在Java中,一个对象在可以被使用之前必须要被正确地初始化,这一点是Java规范规定的。在实例化一个对象时,JVM首先会检查相关类型是否已经加载并初始化,如果没有,则JVM立即进行加载并调用类构造器完成类的初始化。在类初始化过程中或初始化完毕后,根据具体情况才会去对类进行实例化。本文试图对JVM执行类初始化和实例化的过程做一个详细深入地介绍,以便从Java虚拟机的角度清晰解剖一个Java对转载 2017-10-29 16:01:57 · 419 阅读 · 0 评论 -
java中类的初始化顺序
在java中,类的初始化顺序是这样的: 首先,初始化的是静态初始化块 然后,初始化的是普通初始化块 最后,初始化构造器和普通成员变量 如下实例: class Root { static{System.out.println("Root的静态初始化块");} {System.out.println("Root的普通初始化块");} public Root() {System...原创 2015-01-18 20:50:29 · 525 阅读 · 0 评论