E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
虚拟机学习
Java
虚拟机学习
总结之JVM类加载机制
一.原理上一节说到了JVM的内存结构。JVM将class文件字节码文件加载到内存中,并将这些静态数据转换成方法区中的运行时数据结构,在堆(并不一定在堆中,HotSpot在方法区中)中生成一个代表这个类的java.lang.Class对象,作为方法区类数据的访问入口。二.具体过程1.加载官方描述:加载阶段是类加载过程的第一个阶段。在这个阶段,JVM的主要目的是将字节码从各个位置(网络、磁盘等)转化为
Atomatom98
·
2019-10-04 22:17
JVM
Java
虚拟机学习
总结之JVM内存结构
我们都知道,我们自己用键盘敲入的代码保存为Java文件,Java文件通过编译器(比如Javac)进行编译,会变为class文件,class文件是怎么执行的呢?就是JVM将其转化为计算机能够“看懂”的机器代码虚拟机的内存空间,也叫运行时数据区,共分为五个部分:方法区,堆区,程序计数器,虚拟机栈,本地方法栈。其中,方法区和堆区是所有线程共享的,而程序计数器,虚拟机栈和本地方法栈则是每一个线程私有的区域
Atomatom98
·
2019-10-04 21:31
JVM
java
虚拟机学习
笔记进阶篇
上一节是把大概的流程给过了一遍,但是还有很多地方没有说到,后续的慢慢会涉及到,敬请期待!这次我们说说垃圾收集器,又名gc,顾名思义,就是收集垃圾的容器,那什么是垃圾呢?在我们这里指的就是堆中那些没人要的对象。1.垃圾收集器的由来为什么要有垃圾收集器啊?不知道有没有想过这个问题,你说我运行一个程序要什么垃圾收集器啊?随意看一下下面两行代码:Useruser=newUser("root","12345
·
2019-09-24 20:30
java
虚拟机学习
高级篇
还是继续说一下java虚拟机,为什么呢?因为我随意翻着别人的博客一不小心看到有关jvm的一点新的东西,挺有趣的,就按照我的理解分享一下;还记得以前学过一首诗,“看成岭侧成峰,远近高低各不同”,这一句诗的内在含义有的时候真的会让你猛然惊醒,进而如获至宝!的确,有的时候换一个角度看问题,你会发现不一样的世界。我们平常学java的时候肯定涉及到了进程,多线程的概念,但是有没有想过操作系统也有进程和线程的
·
2019-09-23 08:18
java
虚拟机学习
笔记基础篇
1.前言(基于JDK1.7)最近想把一些java基础的东西整理一下,但是又不知道从哪里开始!想了好久,还是从最基本的jvm开始吧!这一节就简单过一遍基础知识,后面慢慢深入。。。水平有限,我自己也是很难把jvm将清楚的,我参考一本书《深入java虚拟机第二版》(版本比较老,其实很多大佬的博客都是参考的这本书的内容。。。)所谓jvm,又名java虚拟机。我们平常写java程序的时候几乎是感觉不到jvm
·
2019-09-23 08:41
Java
虚拟机学习
(一)---java虚拟机运行时数据区
文章目录运行时数据区图示运行时数据区划分方法区(MethodArea)堆(Heap)虚拟机栈(VMStack)本地方法栈(NativeMethodStack)程序计数器(ProgramCountorRegister)直接内存(DirectMemory)运行时数据区图示运行时数据区划分方法区(MethodArea)虚拟机栈(VMStack)本地方法栈(NativeMethodStack)堆(Heap
lupengfei1009
·
2019-09-21 21:35
JVM虚拟机
Hadoop完全分布式集群的搭建流程(非HA)
虚拟机学习
用的话,配置本地YUM源即可,配置方法查看我的收藏帖用户权限设置:如果进入的不是root用户而是自定义的hadoop用户,在配置环境之前,最好先修改用户权限,即切换到在root用户下去配置"/
Roland870927
·
2019-09-20 19:13
Jvm
虚拟机学习
一篇一、组成及其作用1、类加载器1.1、类加载过程1.2、双亲委派模型1.3、类加载器分类2、运行时区域2.1、程序计数器2.2、Java虚拟机栈2.3、本地方法栈2.4、堆2.5、方法区2.6、运行时常量池二、垃圾收集如何判断一个对象是否可被回收1、引用计数法2、可达性分析算法3、一个对象有多个引用,如何判断它的可达性引用类型1、强引用2、软引用3、弱引用4、虚引用垃圾收集算法1、标记-清除算法
to_be_better_one
·
2019-09-18 17:48
JVM虚拟机学习
深入理解java
虚拟机学习
笔记 - java 虚拟机判断一个对象是否存活
java虚拟机判断一个对象是否存活判断一个对象是否存活依赖就是该对象是否被引用,下面主要介绍两种方法。引用计数算法给对象添加一个引用计数器,当对象被引用的时候计数器加1,当引用失效的时候计数器减1,当计数器为0的时候说明该对象没有被引用。优点实现起来比较简单缺点无法解决循环依赖的问题,Aa=b;Bb=a;可达性分析算法为了解决上述的遗留问题,即解决循环依赖的问题,提出了可达性分析算法,即Rcroo
小鱼儿-karl
·
2019-09-04 16:20
java虚拟机
JVM
虚拟机学习
笔记
目录一、类加载机制二、类加载的过程2.1加载:2.2验证2.3准备2.4解析2.5初始化三、JVM结构四、JVM内存结构4.1程序计数器4.2java虚拟机栈4.3本地方法栈4.4java堆:4.5方法区:五、虚拟机中对象创建的过程5.1如何创建5.2分配内存的两种方式:(1)指针碰撞(2)空闲列表5.3对象的内存布局:5.4JVM中的对象访问:(1)句柄访问(2)指针访问六、垃圾回收算法8.1引
czboy_
·
2019-08-18 16:22
java
JAVA
虚拟机学习
笔记4-虚拟机类加载机制
虚拟机类加载机制4.1父类和子类加载顺序4.2类加载过程4.3加载4.4验证文件格式验证元数据验证字节码验证符号引用验证4.5准备4.6解析4.7初始化4.1父类和子类加载顺序父类静态变量->父类静态模块->子类静态变量->子类静态模块->父类普通属性->父类普通代码模块->父类构造方法->子类普通属性->子类普通代码模块->子类构造方法4.2类加载过程4.3加载通过一个类的全限定名来获取定义此类
linmoo1986
·
2019-07-06 21:39
JVM(java虚拟机)
JAVA
虚拟机学习
笔记3-类文件结构
类文件结构3.1魔数与版本号3.2常量池常量池数量描述常量类型Javap字面量符号引用3.3访问标志3.4类索引、父类索引与接口索引集合3.5字段表集合3.7属性表集合预定义属性Code属性表的结构Exceptions属性LocalVariableTable属性SourceFile属性其它以下面的例子做讲解。JAVA代码:CLASS文件:3.1魔数与版本号Class文件的前4个字节为魔数,十六进制
linmoo1986
·
2019-07-05 16:30
JVM(java虚拟机)
JAVA
虚拟机学习
笔记2-垃圾收集器GC
垃圾收集器GC2.1对象标示死亡算法引用计数算法可达性分析算法finalize2.2垃圾收集算法2.3垃圾收集器结构图回收器参数2.4虚拟机性能监控工具jpsjstatjinfojmapjhatjstackjconsolejisualVM2.1对象标示死亡算法引用计数算法引入一个计数器,被引用一次加1,引用失效减1。优点:算法实现简单、效率高。缺点:无法解决相互循环引用问题(比如A对象引用B,B对
linmoo1986
·
2019-07-05 16:33
JVM(java虚拟机)
JAVA
虚拟机学习
笔记1-内存结构
内存结构1.1结构图1.2内存区说明虚拟机栈本地方法栈程序计数器方法区堆直接内存1.3内存出错分析1.1结构图1.2内存区说明虚拟机栈线程私有的,保存局部变量表、操作数栈、动态链接、方法出入口等信息。通过Xss设置大小。本地方法栈线程私有的,与虚拟机栈类似功能,不过用于保存native方法服务。通过Xss设置大小。程序计数器线程私有的,由于当前线程执行的行号指示器。方法区所有线程共享的,包括类信息
linmoo1986
·
2019-07-05 16:05
JVM(java虚拟机)
Java
虚拟机学习
——虚拟机类加载机制
1.概述 在Java代码中,类型(类或者接口)的加载、连接与初始化过程都是在程序运行期间完成。 Java类的从加载进内存直到卸载出内存经过加载、连接(验证、准备、解析)、初始化,其中加载、验证、准备、初始化、卸载这些阶段的顺序是确定,对于解析的阶段,有可能是在类初始化之后才会解析,常见的场景是Java的动态绑定。下图是类的生命周期流程图。 类的生命周期
Hebbert Cao
·
2019-07-02 22:11
类加载
虚拟机
JVM
【深入理解JAVA
虚拟机学习
笔记三】栈溢出,堆溢出,直接内存溢出,内存泄漏,以及异常信息
文章目录虚拟机栈和本地方法栈溢出Java堆溢出方法区和运行时常量池溢出本机直接内存溢出内存溢出的多种情况总结虚拟机栈和本地方法栈溢出由于在Hotspot虚拟机中中不区分虚拟机栈和本地方法栈,因此-Xoss(本地方法栈大小)修改参数是无效的,栈容量只由-Xss参数设定。如果线程请求的栈深度大于虚拟机允许的最大深度,将抛出StackOverflowError异常。如果虚拟机在扩展栈时无法申请到足够的内
m努力努力再努力
·
2019-06-07 11:08
jvm学习
vmware centos7固定(设置静态)ip(图文)
vmwarecentos7固定ip背景相信不少程序员在空闲时间自学的时候,都喜欢在自己电脑上搭建
虚拟机学习
,在vmware创建虚拟机后,默认是动态分配ip的。
NP_Exception
·
2019-06-02 12:34
linux
centos7忘记密码解决方案
很多原因,最近很少用自己电脑中的虚拟机,感觉还是不能放弃学习,想打开
虚拟机学习
学习,发现密码总是不对,于是找资料进行解决。
浮云6363
·
2019-05-26 19:17
centos
java
虚拟机学习
笔记
学习java虚拟机已经很久了,最近有空,于是将我所知道的一些关于java虚拟机的知识写出来。首先当做是重新复习一下,其次是给想了解java虚拟机的朋友一些参考。笔记内容大量参看《深入理解java虚拟机》这本书。一、虚拟机内存组成模块java虚拟机规范中规定了以下组成部分:程序计数器、虚拟机方法栈、本地方法栈(Hotspot中将虚拟机方法栈和本地方法栈合并成方法栈)、java堆、方法区(java8以
刹那华芳
·
2019-05-06 00:47
java
虚拟机
规范
java虚拟机
QC
mercury(是一个软件测试工具开发商,QCQTPLoadRunner)被HP收购QC最新版本叫ALM:applicationlifecyclemangementctrl+alt+insert--->直接进入
虚拟机学习
杨小呆yyy
·
2019-04-20 23:26
JVM
虚拟机学习
二、虚拟机内存模型(JDK1.8)
JVM
虚拟机学习
二、虚拟机内存模型(JDK1.8)基于JDK1.8,HostPot虚拟机JVM运行时内存模型(1.8)先说说与JDK1.7之前的区别:没有了方法区,取而带之的是元空间(这么说不标准,方法区只是
吴一尘
·
2019-04-16 16:06
JVM内存
Vmware虚拟机下鼠标定位不准确问题(解决)
最近在用Vmware
虚拟机学习
Ubuntu系统,其中遇到一个问题,虽说不是大问题,却也影响了我的工作效率。问题:在双屏下,当我把Vmware移动到笔记本屏幕时,鼠标会出现定位不准确问题(如图1)。
DianLong_I2
·
2019-04-10 11:00
笔记
【深入理解Java
虚拟机学习
笔记】第三章 垃圾收集器与内存分配策略
最近想好好复习一下java虚拟机,我想通过深读【理解Java虚拟机jvm高级特性与最佳实践】(作者周志明)并且通过写一些博客总结来将该书读薄读透,这里文章内容仅仅是个人阅读后简短总结,加强学习深度的同时方便进行知识的回顾之用。如涉及版权还望周大神看到后告知一下小弟,我会第一时间将文章下线,在此强烈推荐大家买纸质图书【理解Java虚拟机jvm高级特性与最佳实践】(作者周志明)进行阅读,学习java虚
桌前明月
·
2019-04-07 22:28
【读书笔记】
JAVA
虚拟机学习
笔记
体系结构内存模型JVM内存区域模型1.方法区方法区包括存储虚拟机加载的类信息的区域和运行时常量池虚拟机加载的类信息类型信息:类的完整名称(eg:java.lang.String);类的直接父类的完整名称;类的直接实现接口的有序列表(因为一个类直接实现的接口可能不止一个,因此放到有序列表中);类的修饰符可以看做对类的一个信息登记:比如这个类的名字叫啥,父类是谁,有没有实现接口,权限是啥类型的常量池(
Don_mingo
·
2019-03-06 15:09
JVM
JVM内存模型
JVM内存调优
JVM垃圾收集
JVM对象访问
JVM
JAVA
虚拟机学习
笔记
体系结构内存模型JVM内存区域模型1.方法区方法区包括存储虚拟机加载的类信息的区域和运行时常量池虚拟机加载的类信息类型信息:类的完整名称(eg:java.lang.String);类的直接父类的完整名称;类的直接实现接口的有序列表(因为一个类直接实现的接口可能不止一个,因此放到有序列表中);类的修饰符可以看做对类的一个信息登记:比如这个类的名字叫啥,父类是谁,有没有实现接口,权限是啥类型的常量池(
Don_mingo
·
2019-03-06 15:09
JVM
VMware安装说明
vmware10虚拟机是个软件,安装后可用来创建虚拟机,在虚拟机上再安装系统,在这个虚拟系统上再安装应用软件,所有应用就像操作一台真正的电脑,因此,我们可以利用
虚拟机学习
安装操作系统、学用Ghost、分区
dingpeiqiang
·
2019-02-20 22:02
VMware
Java
虚拟机学习
笔记
其他idea打印gc日志的2种方法jconsole的连接jvisualvm工具使用JConsole的远程连接JConsole远程连接配置(用VisualVM进行远程连接的配置和JConsole是一摸一样滴)JVM之jconsole远程连接配置Java内存管理机制JVM有哪些分区,要求画图,并作出详细说明——答案有待进一步细化完善?程序计数器程序计数器-线程私有,指向下一条需要执行的字节码指令程序计
4change
·
2019-02-15 18:16
Java
Java
虚拟机学习
笔记
JVM数据存储模型,新生代、年老代的构造?javaGC算法,什么时候会触发minorgc,什么时候会触发fullgc?GC可达性分析中哪些算是GCROOT?你熟悉的JVM调优参数,使用过哪些调优工具?类加载机制,一个类加载到虚拟机中一共有几个步骤,这些步骤的顺序哪些是固定的,哪些是不固定的,为什么不固定其他idea打印gc日志的2种方法jconsole的连接jvisualvm工具使用JConsol
4change
·
2019-02-15 18:16
Java
虚拟机学习
有感内存分配篇
目录对象的创建对象的内存分布结构对象的访问定位对象的创建对象的内存分布结构对象的组成:对象头、实例数据、对象填充三部分组成(HotSpot虚拟机)对象头第一部分:对象运行时自身的数据(Hash、GC分代、线程持有的锁、偏向线程ID、偏向时间戳等)对象需要存储的运行时数据很多,其实已经超出了32位、64位Bitmap结构所能记录的限度,但是对象头信息是与对象自身定义的数据无关的额外存储成本,考虑到虚
qq_30364247
·
2019-01-30 10:41
虚拟机
JAVA
虚拟机学习
笔记之类加载机制
一、JVM类加载机制1、JVM系统加载器:BootstrapClassLoader(c++实现,程序不可见)->ExtClassLoader->SystemClassLoader2、BootstrapClassLoader启动类加载器(加载jre/lib目录下指定jar)3、ExtClassLoader扩展类加载器(加载jre/lib/ext目录)4、SystemClassLoader系统类加载器
疯狂的巨爪
·
2019-01-24 16:01
代码天地
Java
虚拟机学习
笔记
GC算法与内存分配策略一、运行时数据区域二、可达性分析算法基本思路:通过一系列GCRoots(通常是一组特别管理的指向引用类型对象的指针)对象作为七点,从这些节点往下搜索,搜索经过的路径成为引用链。当一个对象到GCRoots不可达时,则证明此对象不可用,即可回收。在Java中,可作为GCRoots的对象包括以下几种:(GC管理的的区域是Java堆,虚拟机栈、方法区和本地方法栈不被GC管理,因此选用
HUANG Zichen
·
2019-01-10 16:24
Java
研发
JAVA
虚拟机学习
之GC算法篇(四)
简单介绍几个垃圾收集算法:一、标记-清除算法----最基础的收集算法原理:首先标记出所有的需要回收的对象,标记完成后统一回收缺陷:效率的问题:标记和清楚的过程,效率都不高。空间的问题:回收后会产生大量的不连续的内存碎片。可能导致的直接后果就是后面要分配大内存对象的时候,内存不够,又要在GC一次。二、复制算法:原理:将内存容量划分为2块相同大小的部分,每次只使用其中一块,当这一块的内存用完了,就把还
Jerry没有Tom
·
2018-12-21 12:04
JAVA
JAVA
虚拟机学习
之GC算法篇(四)
简单介绍几个垃圾收集算法:一、标记-清除算法----最基础的收集算法原理:首先标记出所有的需要回收的对象,标记完成后统一回收缺陷:效率的问题:标记和清楚的过程,效率都不高。空间的问题:回收后会产生大量的不连续的内存碎片。可能导致的直接后果就是后面要分配大内存对象的时候,内存不够,又要在GC一次。二、复制算法:原理:将内存容量划分为2块相同大小的部分,每次只使用其中一块,当这一块的内存用完了,就把还
Jerry没有Tom
·
2018-12-21 12:04
JAVA
JAVA
虚拟机学习
之GC篇(三)
首先来说说内存溢出和内存泄露的关系内存溢出是指内存不够用了。内存泄露是导致内存溢出的主要原因之一,内存泄露累加起来,量变产生质变引发内存溢出。内存泄露是指本该被GC回收的对象并未被回收。产生原因:长生命周期的对象引用了短生命周期的对象。没有把无用的对象置为null再来说说对象被GC程序计数器,虚拟机栈,本地方法栈都是随线程创建、销毁。所以主要考虑JAVA堆。一个接口的多个实现类需要的内存可能不一样
Jerry没有Tom
·
2018-12-20 14:57
JAVA
JAVA
虚拟机学习
之对象篇(二)
对象的创建当虚拟机遇到一条new指令时,开始进行对象的创建:将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用。若没有,说明这个类还没有被定义,会抛出ClassNotFoundException.若有,则继续下一步。检查这个符号引用代表的类是否已被加载、解析、和初始化过如果没有,那必须先执行类加载的过程。在类加载通过后,接下来虚拟机将为新生对象分配内存。根据方法区中该类的信息确定所需的内
Jerry没有Tom
·
2018-12-20 11:50
JAVA虚拟机
JAVA
Java
虚拟机学习
笔记(四):内存分配与回收策略
Java技术体系中所提倡的自动内存管理最终可以归结为自动化地解决了两个问题:给对象分配内存以及回收分配给对象的内存。对象的内存分配,往大方向讲,就是在堆上分配,对象主要分配在新生代的Eden区上,如果启动了本地线程分配缓冲,将按线程优先在TLAB上分配。少数情况下也可能会直接分配在老年代中,分配的规则并不是百分之百固定的,其细节取决于当前使用的是哪一种垃圾收集器组合,还有虚拟机中与内存相关的参数设
cp_Mark
·
2018-11-06 23:51
Java虚拟机
Java
虚拟机学习
笔记(三):垃圾收集器
垃圾收集器我们讨论的收集器基于JDK1.7Update14之后的HotSpot虚拟机,这个虚拟机包含的所有收集器如图:连线说明可以搭配使用Serial收集器Serial是最基本、发展历史最悠久的收集器,在JDK1.3之前是虚拟机新生代收集的唯一选择。Serial收集器是一个单线程的收集器,单线程的意义并不仅仅说明它只会使用一个CPU或一条收集线程去完成垃圾收集工作,更重要的是在它进行垃圾收集时,必
cp_Mark
·
2018-11-05 23:08
Java虚拟机
Java
虚拟机学习
笔记(二):垃圾收集算法及HotSpot的算法实现
概述垃圾收集(GC)需要考虑3件事情:(1)哪些内存需要回收?(2)什么时候回收?(3)如何回收?前面我们已经提及程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈的操作,每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知。而Java堆和方法区则不一样,一个接口中的多个实现类需要的内存可能不一样,一个方法中的多个分支需要
cp_Mark
·
2018-11-05 22:37
Java虚拟机
Java
虚拟机学习
笔记(一):内存区域与HotSpot虚拟机对象探秘
运行时数据区域Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。根据《Java虚拟机规范(JavaSE7版)》的规定,Java虚拟机所管理的内存将会包括以下几个运行时数据区域:程序计数器(线程私有)程序计数器是一块较小的内存空间,它可
cp_Mark
·
2018-11-05 18:23
Java虚拟机
Java
虚拟机学习
笔记
HotSpot:Java虚拟机的一种实现技术,把Java的bytecode编译成Nativecode,然后运行ProfilerMonitor:监视程序运行中,哪一部分运用频度大,哪些对性能影响至关重要动态编译:HotSpot会把这部分动态地编译成机器码,Nativecode,同时也对机器码进行优化(类似C编译器的一些优化),从而提高运行效率JIT虚拟机:(JustInTime)另一种虚拟机技术,动
growing_hawk
·
2018-10-20 15:00
JVM
虚拟机学习
笔记
谈谈自己对jvm的认识:一、主要围绕以下几个方面讲解:1.class文件的构成2.类加载机制3.运行时数据区4.垃圾回收机制5.jvm的内存模型JMM6.GC分析,及调优二、如下图是jvm的大体结构图三、Class文件结构:主要介绍大体的存储内容,这样对后面的内容了解起来更容易:java的开号称是与平台无关的,大概就是起源于此。jvm其实不仅仅运行java文件,只要文件能够编译成class文件,并
Alader_FH
·
2018-10-18 20:02
java
Linux部分-介绍与安装(U盘镜像制作与Linux安装)
目录一、Linux系统介绍二、Linux系统安装(U盘镜像安装)三、Windows环境下安装
虚拟机学习
Linux一、Linux系统介绍Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX
学编程的鹿
·
2018-08-02 22:24
深入拆解JAVA
虚拟机学习
教程
搞JAVA的深入下去java虚拟机是必须掌握的知识,最近发现个不错的视频教程,学习了几篇讲得非常不错,推荐给大家。废话不多说,大看直接看目录吧。PS:主讲人是Oracle高级研究员,计算机博士郑雨迪大牛..共36期,分为四大模块。模块一Java虚拟机基本原理剖析Java虚拟机的运行机制,逐次介绍Java虚拟机的设计决策以及工程实现。模块二高效编译在本模块中,作者将带你探索Java编译器,以及内嵌于
林de
·
2018-07-17 16:59
java
深入理解Java
虚拟机学习
笔记:第三章,垃圾收集器
第三章,垃圾收集器概述一、概述1.垃圾收集器(GC)需要思考的三件事情:哪些内存需要回收?什么时候回收?如何回收?2.Java内存运行数据区域中,程序计数器、虚拟机栈、本地方法栈、三个区域跟线程的声明周期相同。方法结束或者线程结束时,内存就跟着回收了。而Java堆和方法区不同,我们只有程序处于运行期间才会知道创建那些对象,这部分内存的分配和回收都是动态的。垃圾收集器所关注的就是这部分。二、如何判断
追逐太阳-追求梦想
·
2018-07-12 09:32
书籍:深入理解Java虚拟机
深入理解Java
虚拟机学习
笔记:第二章,HotSpot虚拟机对象探秘
第二章Java内存区域与内存溢出异常HotSpot虚拟机对象探秘一、对象的创建1.虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那就执行相应的加载过程。2.对象所需的大小是在类加载完成之后就可以确认的。3.如果Java堆中的内存是规整的,分配内存就是把指针从空闲空间那边挪动一段与对象大
追逐太阳-追求梦想
·
2018-07-02 08:59
书籍:深入理解Java虚拟机
JavaWeb23-HTML篇笔记(一)
第23章WEB23-Linux篇今日任务Ø在Linux系统上安装JDK.Ø在Linux系统上安装Tomcat.Ø在Linux系统上安装MySQL教学导航教学目标了解Linux系统安装Linux
虚拟机学习
czbkzmj
·
2018-06-22 10:00
JAVA
深入学习Java
虚拟机学习
笔记-虚拟机类加载机制
1.类加载时机加载、验证、准备、初始化和卸载这5个阶段的顺序是确定的,解析阶段则不一定:它在某些情况下可以在初始化阶段之后再开始,这是为了支持java语言的运行时绑定(也称动态绑定)。什么情况下需要开始类加载过程的第一个阶段:加载?虚拟机规范并没有规定。初始化阶段,规范有严格规定,有且只有5种情况,必须立即对类进行初始化(加载、验证、准备自然需要在此之前开始):a.遇到new,getstatic,
三乐君
·
2018-06-15 16:54
深入学习Java
虚拟机学习
笔记-垃圾收集器与内存分配策略
1.判断对象已死的方法1.1引用计数算法:给对象添加一个引用计数器,每当有一个地方引用它,就加1。缺点是很难解决对象之间的相互循环引用。1.2可达性算法:通过一系列的称为“GCRoots”的对象作为起始点,从这些节点开始向下搜索,搜索走过的路径称为“引用链”,当一个对象到GCRoots没有任何引用链相连时,证明此对象是不可用的。能作为GCRoots的对象包括:栈中引用的对象,方法区中类静态属性引用
三乐君
·
2018-06-13 22:33
深入理解JAVA
虚拟机学习
笔记11——JDK可视化工具-VisualVM以及案例分析
VisualVM:多合一故障处理工具,功能比较全面的一个工具,与其它的检测工具相比,对实际性能影响很小,并且还具备安装插件功能。这个工具和前面介绍的JConsole工具有很多类似的功能,但是比JConsole功能更全面,朋友们可以自己到JDK的bin目录下找到jvisualvm.exe进行测试。这里简单介绍两个比较有用的插件。一个是VisualGC,可以堆内存的使用有一个更全面的监控,包括类的编译
徐可心
·
2018-06-05 08:59
实战java虚拟机01- 认识java虚拟机的基本结构
实战java
虚拟机学习
笔记看穿Java虚拟机的架构类加载子系统:负责从文件系统或者网络中加载class信息。
伊布拉西莫
·
2018-05-22 17:52
虚拟机
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他