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
Jvm学习
Jvm学习
笔记(一)
一、Jvm内存区域Jvm内存分布1.程序计数器:较小的一块内存,可看做是当前程序所执行字节码的行数。Java虚拟机的多线程是通过线程切换来并分配处理器实现的,为了切换线程后还能恢复到原来位置,每个线程都需要一个程序计数器来保存当前程序执行情况。而且程序计数器是线程私有的。2.虚拟机栈:Java方法执行的内存模型,每个方法执行时都会产生一个栈帧用于存储局部变量表、操作数栈、动态链接、方法出口等信息。
windfall_
·
2020-02-26 23:18
JVM学习
笔记(3)-垃圾收集算法
JVM学习
笔记(1)-内存管理机制
JVM学习
笔记(2)-内存分配与回收垃圾收集算法JVM垃圾收集算法有四种:标记-清除算法、复制算法、标记-整理算法、分代收集算法标记-清除算法标记-清除是最基础的收集算法
黄俊彬
·
2020-02-26 09:39
Jvm学习
笔记(二)
Class类文件结构Class类文件结构无符号数:u1、u2、u4、u8分别代表1个字节、2个字节、4个字节、8个字节magic:魔数,4个字节,唯一取值"0xCAFEBABE"minjor_version、major_version:Class文件版本号constant_pool_count:由于常量池数量不固定,在常量池入口放置一2字节类型数据,代表常量池容量计数。计数从1开始。即consta
windfall_
·
2020-02-23 20:16
JVM学习
(3)堆的配置参数
jvm区域总体分两类,heap区和非heap区。heap区又分:EdenSpace(伊甸园)、SurvivorSpace(幸存者区)、TenuredGen(老年代-养老区)。非heap区又分:CodeCache(代码缓存区)、PermGen(永久代)、JvmStack(java虚拟机栈)、LocalMethodStatck(本地方法栈)。堆空间是java进程的重要组成部分,几乎所有与应用有关的内存
陈阳001
·
2020-02-20 02:54
JVM学习
-垃圾回收器
Serial收集器单线程收集器,收集时会暂停所有工作线程(StopTheWorld),虚拟机运行在Client模式时的默认新生代收集器。最早的收集器,单线程进行GCNew和OldGeneration都可以使用在新生代,采用复制算法那;在老年代,采用Mark-Compact算法因为是单线程GC,没有多线程切换的额外开销,简单使用HotspotClient模式缺省的收集器image.pngParNew
Sol__C
·
2020-02-11 12:09
1.JVM如何学习
一.学习方法论与高效学习方式演进学习有输入也需要有输出(做项目,写博客,记笔记等)知识自己明白,和别人讲让别人听明白视频多看,记笔记(笔记软件使用印象笔记Evernote)二.
JVM学习
曲线与疑难点剖析理论多且枯燥
海恋天
·
2020-02-10 00:00
黑马
JVM学习
笔记二
title:黑马
JVM学习
笔记二date:2020-01-131:00:00tags:JVMcategories:JVM黑马jvm内存结构内存结构总览图:程序计数器1.定义:ProgramCounterRegister
森林老虎
·
2020-01-13 03:11
2020年以前文章
黑马
JVM学习
笔记一
title:黑马解密JVMdate:2020-01-131:00:00tags:JVMcategories:JVM黑马jvmblibli视频地址:黑马JVM解密引言什么是jvmjvm运行在操作系统之上数组下标越界异常检查解释:jvm如果没有提供这个机制,当数组下标越界,如果没检查出来异常,有可能会覆盖数据,这个是比较危险的。学习jvm有什么用面试,提高面试竞争力理解底层的实现原理解决内存溢出,运行
森林老虎
·
2020-01-13 01:44
2020年以前文章
深入浅出 JVM 系列(一)初识 JVM
现在就开启我们的
JVM学习
之路吧!什么是JVM?面试官:什么是JVM?小李:JVM(JavaVirtualMachine)是Java虚拟机,
程序员小李
·
2020-01-12 10:27
jvm
java
深入浅出 JVM 系列(一)初识 JVM
现在就开启我们的
JVM学习
之路吧!什么是JVM?面试官:什么是JVM?小李:JVM(JavaVirtualMachine)是Java虚拟机,
小李不秃
·
2020-01-11 09:24
深入浅出 JVM 系列(一)初识 JVM
现在就开启我们的
JVM学习
之路吧!什么是JVM?面试官:什么是JVM?小李:JVM(JavaVirtualMachine)是Java虚拟机,
小李不秃
·
2020-01-10 23:00
阿里Java岗面试必备JVM指南:内存分配+垃圾回收+调优+类加载器等
今天分享一份平时学习整理的Java程序员必备的
JVM学习
文档,这份文档不管是懂得JVM的开发者
若丨寒
·
2020-01-07 09:38
JVM学习
之—Java内存区域
为了加深对Java语言的理解,加深对Java虚拟机工作机制、底层特性的了解和掌握,准备在闲暇时间,抽空对《深入理解Java虚拟机JVM高级特性与最佳实践》一书进行学习。本文是学习此书第2章时的总结与笔记,加入了一些自己的理解,也希望能帮助到需要的人。1运行时数据区域:image1.1程序计数器:一块较小的内存空间(线程私有的内存),当前线程所执行的字节码的行号指示器。字节码解释器通过改变这个计数器
你想要怎样的未来
·
2020-01-02 18:55
JVM学习
之—垃圾回收与内存分配策略
为了加深对Java语言的理解,加深对Java虚拟机工作机制、底层特性的了解和掌握,准备在闲暇时间,抽空对《深入理解Java虚拟机JVM高级特性与最佳实践》一书进行学习。本文是学习此书第3章时的总结与笔记,加入了一些自己的理解,也希望能帮助到需要的人。不过此文没有对垃圾收集器进行表述,因为这些垃圾收集器并没有实际去底层调试过,理解并不深刻,只讲一些理论的东西也不甚有用。所以此文只对垃圾收集算法和内存
你想要怎样的未来
·
2019-12-31 01:07
jvm学习
——jstat整理
jstat是jvm最常用的命令之一,下面针对常用的几个进行整理。1、jstat-gcutilpid统计gc信息统计。[root@AY140330215454793e81Z~]#jstat-gcutil5801S0S1EOPYGCYGCTFGCFGCTGCT0.0097.375.5453.3769.83210.36610.4800.8462、jstat-gcpid可以显示gc的信息,查看gc的次数,
sleepforests
·
2019-12-30 04:06
java虚拟机
JVM学习
笔记
查看了张秀宏写的自己动手写Java虚拟机WriteyourownJavavirtualmachine,对java底层有了新的认识,将笔记整理一下Java代码编译和执行的整个过程包含了以下三个重要的机制:编译机制(编译器内):主要是编译器将.java文件转为.class字节码文件。详细都包括:1.分析和输入到符号表。2.注解处理。3.语义分析和生成class文件。类加载机制(jvm虚拟机):是通过C
吃猫的鱼0
·
2019-12-29 04:25
面试又被JVM虐哭了?20道JVM灵魂质问面试题解析,让你吊打面试官
今天给小伙伴分享BAT等大厂Java岗面试必问的JVM问题,对于这些问题还整理了视频讲解分析和
JVM学习
笔记提供参考,有需要可以加Q裙:464403846点击立即加入找群管理免费获取!
若丨寒
·
2019-12-26 16:31
JVM学习
笔记与调优实战(二):GC
标签:JVM1、什么是可回收对象(垃圾)?画图演示GC垃圾引用:强引用:强引用指的是子啊程序代码中普通存在的,类似Objectobj=newObject()这类的引用,只要强引用还在,垃圾收集器则不会回收掉被引用的对象.软引用:软引用用于描述一些还有用但并非必需的对象。对于软引用关联着的对象,在系统将要发生内存溢出异常之前,将会把这些对象列进回收范围之中进行第二次回收,如果这次回收还没有足够的内存
Vechace
·
2019-12-26 10:42
JVM学习
笔记
1.JVM运行时数据区域1.1.程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。每条线程都有一个独立的程序计数器,各条线程之间计数器互不影响,独立存储,这类内存区域被称为“线程私有”的内存。是唯一一个在JVM规范中没有规定任何OutOfMemoryError情况的区域。1.2.虚拟机栈描述的是Java方法执行的内存模型:每个方法在执行的同时都会创建一个栈帧用于存储局部
王睿同学
·
2019-12-25 20:51
JVM 从入门到实战 --- 03 简述垃圾回收算法
所以本文用餐厅回收餐桌的方式类比JVM垃圾回收算法,应该能帮助
JVM学习
的理解和记忆。经典垃圾回收算标记-清除(Mark-Sweep)研发园
程序猿杂货铺
·
2019-12-25 10:13
吃透了这些JVM核心知识点,阿里架构师都问不倒你!(附学习笔记+面试真题+视频解析)
今天分享一份平时学习的Java程序员必备的
JVM学习
文档,这份文档不管是懂得JVM的开发者和刚刚学
Java_老男孩
·
2019-12-24 22:51
Java
程序员
JVM
JVM学习
-运行时内存
运行时数据区域 Java虚拟机在执行Java程序的过程中会把它管理的各个内存区域进行划分,每个区域都有各自的用途,以及各自的创建和销毁时间。有的区域随着进程启动而创建,有的区域依赖用户线程的启动和结束而建立和销毁。jvm运行时内存区域.png程序计数器 生命周期:线程私有的内存,伴随着线程建立和销毁; 作用:当前线程所执行字节码的行号指示器; 字节码解释器工作时就是通过改变这个计数器的值来
if_wang
·
2019-12-24 17:59
JVM学习
笔记(1)-内存管理机制
简介Java与C++之间有一堆由内存动态分配与垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来。——《深入理解Java虚拟机:JVM高级特性与最佳实践》运行时数据区域Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途。以及创建和销毁的时间。有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。
黄俊彬
·
2019-12-20 10:02
JVM学习
(一):Java类的加载机制
目录目录一、类加载机制1、类加载?1.1什么是类加载机制?首先,在代码被编译器编译后生成的二进制字节流(.class)文件;然后,JVM把Class文件加载到内存,并进行验证、准备、解析、初始化;最后,能够形成被JVM直接使用的Java类型的过程。--这就是类加载机制类加载器并不需要等到某个类被“首次主动使用”时才加载它,JVM规范允许类加载器在预料某个类将要被使用时就预先加载。如果预先加载的过程
J先生有点儿屁
·
2019-12-17 03:12
JVM学习
(一)判断对象是否可回收和回收算法
一、对象已死吗?引用计数算法不能解决循环引用问题,所以java虚拟机不用这种算法判断对象是否能回收。java,c#甚至古董Lisp都是通过可达性分析算法来判断对象是否存活的。image.png引用,java1.2之后,将引用分为强引用,软引用,弱引用,虚引用4种。即使在可达性分析算法中不可达的对象,也不是非死不可的。至少需要两次标记过程。finalize()方法是对象逃脱死亡命运的最后一次机会。回
lunabird
·
2019-12-15 06:19
JVM学习
笔记
什么是Java虚拟机各个硬件平台本身不支持Java字节码,Java虚拟机就是在不同硬件平台上支持Java字节码的软件系统。Java语言写的源程序通过Java编译器,编译成与平台无关的字节码程序(.class文件),字节码文件是一种和任何具体机器环境及操作系统环境无关的中间代码,它是一种二进制文件,是Java源文件由Java编译器编译后生成的目标代码文件。Java解释器负责将字节码文件翻译成具体硬件
Charles1993
·
2019-12-04 23:29
想进阿里美团?这份JVM核心文档让你直通BAT
今天分享一份平时学习的Java程序员必备的
JVM学习
文档,这份文档不管是懂得JVM的开发者和刚刚学习的朋友都是一份非常不错的内容,同时也是面试复习的精选文档!
老男孩_Misaya
·
2019-12-02 07:22
阿里Java岗面试必备JVM指南:内存分配+垃圾回收+调优+类加载器等
今天分享一份平时学习整理的Java程序员必备的
JVM学习
文档,这份文档不管是懂得JVM的开发者
java高并发
·
2019-12-02 03:07
面试又被JVM虐哭了?20道JVM灵魂质问面试题解析,让你吊打面试官
今天给小伙伴分享BAT等大厂Java岗面试必问的JVM问题,对于这些问题还整理了视频讲解分析和
JVM学习
笔记提供参考,在文末有免费获取!
java高并发
·
2019-11-30 20:52
想要玩转 JVM?你需要这份快速上手指南,从入门进阶到源码底层,这里全都有!
今天分享一份平时学习的Java程序员必备的
JVM学习
文档,这份文档不管是懂得JVM的开发者和刚刚学
老男孩_Misaya
·
2019-11-29 19:00
JVM学习
笔记
JVM基本结构jvm基本结构PC寄存器每个线程拥有一个PC寄存器线程创建时创建PC寄存器指向下一条指令的地址执行本地方法时,PC的值是undefind方法区:用来保存类的一些元信息的(例外,jdk1.7String的常量信息已经移到了堆)类的常量池字段方法信息方法字节码通常和永久区(Perm关联在一起)永久区并不是永久不变的,只是相对的稳定堆和程序开发密切相关应用程序对象都保存在java堆中所有线
渔樵店
·
2019-11-29 03:06
深入理解
jvm学习
笔记
引言刚入门java的时候,很难理解jvm到底是啥,一个类从编写到运行,经历了什么?类、方法、变量都存在了哪里?到底什么是类加载器?什么是堆?什么是栈?什么是栈溢出?什么是堆溢出?今天就来整理一下我的学习笔记511574911694_.pic_hd.jpg可以观察一下此图,紫色部分都是线程私有的,每个线程独占此内存区域.橘黄色部分是线程共享的.1.类加载器负责加载class文件,class文件在文件
使劲敲
·
2019-11-28 15:15
JVM学习
屏幕快照2019-11-26下午7.17.44.png屏幕快照2019-11-26下午7.18.00.png1,每个线程运行时所需要的内存,称为虚拟机栈。2,每个栈有多个栈帧组成,对应着每个方法调用时所占用的内存。3,每个线程只能有一个活动栈帧,对应着当前正在执行的那个方法。
灯火楼台666
·
2019-11-27 12:15
想要玩转 JVM?你需要这份快速上手指南,从入门进阶到源码底层,这里全都有!
今天分享一份平时学习的Java程序员必备的
JVM学习
文档,这份文档不管是懂得JVM的开发者和刚刚学
Java_老男孩
·
2019-11-20 15:02
Java
程序员
后端开发
深入理解
JVM学习
笔记-类文件结构
代码编译结果从本地机器码转变为字节码时存储格式发现的一小步,确实编程语言发现的一大步。1.无关性的基石计算机只认识0和1,我们编写的程序需要经编译器翻译成由0和1构成的二进制格式才能由计算机执行,但是随着虚拟机不的蓬勃发现,编程程序的程序编译成二进制本地机器码不再是唯一选择,越来越多的编程语言选择了与操作系统和机器指令集无关的、平台中立的格式作为程序编译后的存储格式,如字节码,代码编译结果从本地机
htkeepmoving
·
2019-11-09 16:27
JVM学习
之运行期优化知识点
JAVA简介基本语言特性(面向对象(封装,继承,多态),泛型,Lambda,反射)平台无关性(JVM运行.class文件,符合平台的字节码)核心类库(集合,并发,网络,IO/NIO,安全类库等)JDK(Java开发工具包,JRE,JVM,API类库)JRE(Java运行环境,JVM,Javase核心类库)JVM(垃圾收集器,运行时,动态编译,辅助功能JFR等)JVM作为一个平台,不仅仅Java语言
GuoDongW
·
2019-11-06 17:27
Jvm学习
笔记(三)
类的初始化和加载类初始化遇到new,或读取、修改或调用一个类的static变量时。反射调用。初始化一个类时若父类没有被初始化,会初始化父类。虚拟机启动时,用户指定的运行的主类。只有遇到这四种情况时才会进行类的初始化,叫做主动引用,其他情况均不会发生类的初始化,叫做被动引用。被动引用:通过子类调用父类的static变量,子类不会被初始化,父类会被初始化。通过类名调用finalstatic常量,类不会
windfall_
·
2019-11-05 09:28
JVM学习
-垃圾收集
何为垃圾类比现实生活,对于那些你不可能再使用的物品,可以称之为生活垃圾,在编程的世界中亦是如此,对于应用程序中那些不可能再使用的对象,就是所谓的"垃圾"为何需要收集如果在你的房间中积累了一周乃至更久的垃圾没有丢掉,你的房间会怎么样?可能连站脚的地方都没有,那么在jvm中也是如此,如果不收集处理掉这些"垃圾",就没有可用的内存再被新的对象使用,最终就会导致内存溢出为何需要自动垃圾收集还是类比生活场景
0爱上1
·
2019-11-01 16:24
JVM学习
笔记--类加载机制
生命周期类加载过程类加载的时期:加载,验证,准备,初始化和卸载这5个阶段的顺序是确定的。有且只有5中情况必须立即对类进行“初始化”(主动引用)使用new实例化对象的时候。读取或设置一个类的静态字段。(被final修饰,已在编译期把结果放入常量池的静态字段除外)调用一个类的静态方法的时候。使用java反射的时候当初始化一个类,其父类没有进行过初始化的时候,需先触发其父类的初始化。当虚拟机启动时,用户
NealLemon
·
2019-11-01 00:22
01_
JVM学习
笔记_类加载机制详解一
概述把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。在java代码中,类型的加载、连接与初始化过程都是在程序运行期间完成的。提供了更大的灵活性,增加了更多的可能性。类的加载、连接与初始化加载:查找并加载类的二进制数据类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区
leofight
·
2019-10-31 22:25
JVM学习
笔记一【运行时数据区域】
开篇之前我们先思考以下问题:1.JVM都有哪些运行时数据区,各数据区的作用是什么?2.各数据区的生命周期是怎样的?3.各数据区都可能会出现什么异常?4.字符串常量池,常量池,运行时常量池到底有什么区别?程序计数器程序计数器是一块较小的内存空间,可以看做当前线程所执行字节码的行号指示器。在虚拟机概念模型了,字节码解释器工作原理就是通过改变这个计数器的值来选择下一条需要执行的字节码指令,分支、循环、跳
爪哇部落格
·
2019-10-22 18:06
JVM学习
笔记(3)之命名空间
加载器命名空间什么是加载器命名空间每个类加载器都有自己的命名空间,命名空间由该加载器及所有父加载器所加载的类组成在同一个命名空间中不会出现类的完整名字(类的包名+类名)相同的两个类在不同的命名空间中,有可能会出现类的完整名字(类的包名+类名)相同的两个类代码示例1packagecom.zh.classloader;importjava.io.ByteArrayOutputStream;import
qq_24286273
·
2019-10-22 15:36
JVM
JVM学习
笔记(2)之类加载器双亲委托机制实例
JVM学习
笔记(2)之类加载器双亲委托机制实例1、什么是类加载器的双亲委托机制类的加载器分为三种,也可以自定义,分别为BootstrapClassLoader(启动加载器)、ExtensionsClassLoader
qq_24286273
·
2019-10-21 21:28
JVM
JVM学习
笔记(1)之ClassLoader
JVM学习
笔记(1)之ClassLoader1.JVM简介JVM是伴随Java这门语言的诞生而存在的,Java的最大特点就是跨平台性,即我们常常说的一次编译,到处运行,这个特性其实就是JVM的功劳,JVM
qq_24286273
·
2019-10-20 01:32
JVM
JVM学习
笔记第一天,jclasslib的安装和使用
参考书:《实战Java虚拟机,JVM故障诊断与性能优化》葛一鸣第一章:初探Java虚拟机2000年,JDK1.3发布,Hotspot虚拟机成为Java的默认虚拟机在JAVA中,char占两字节,而不是C语言中的1字节第二章:认识Java虚拟机的基本结构类加载子系统负责从文件系统或者网络中加载Class信息,加载的类信息存放于一块成为方法区的内存空间。除了类的信息外,方法区还会存放运行时常量池信息。
kanhou98
·
2019-10-11 21:07
jvm学习
(2)JVM内存说明
前言一、类方法类方法是静态方法,前面需要有static修饰符修饰。类方法内不能涉及有关变量的内容1、不能调用类的对象方法2、不能引用对象变量3、类方法不能被重写(覆盖)4、类方法不能使用super,this关键字二、实例方法1、可以调用类的对象方法2、可以引用对象变量3、实例方法可以被重写(覆盖)4、实例方法可以使用super,this关键字区别类方法在加载类时就被分配了内存地址,因此加载后即可被
一叶飘零如秋
·
2019-09-29 20:00
【
JVM学习
】3.深入解析强引用、软引用、弱引用、幻象引用
来源:公众号:猿人谷关于强引用、软引用、弱引用、幻象引用的区别,在很多公司的面试题中经常出现,可能有些小伙伴觉得这个知识点比较冷门,但其实大家在开发中经常用到,如new一个对象的时候就是强引用的应用。在java语言中,除了原始数据类型(boolean、byte、short、char、int、float、double、long)的变量,其他所有都是所谓的引用类型,指向各种不同的对象。理解这些引用的区
alterem
·
2019-09-27 12:51
java
【
JVM学习
】2.Java虚拟机运行时数据区
来源:公众号:猿人谷这里我们先说句题外话,相信大家在面试中经常被问到介绍Java内存模型,我在面试别人时也会经常问这个问题。但是,往往都会令我比较尴尬,我还话音未落,面试者就会“背诵”一段(Java虚拟机是由堆、方法区、虚拟机栈,吧啦吧啦。。。),估计心里还一脸自豪的想幸好哥提前在网上搜过,早有准备。每每这个时候,我都不忍心打断,因为“背诵”的真的太顺畅了!这也怪不得面试者,首先Java虚拟机方面
alterem
·
2019-09-27 12:24
java
jvm学习
(1) 总体篇
1.1Java体系构成JAVA体系包括四个方面:JAVA编程语言,编辑的文件为Java源代码,文件格式为(.java);JAVA类文件格式,编译后文件格式为(.class);JAVA虚拟机,即通常所说的JVM;JAVA应用程序接口(JavaAPI)。这四者的运行关系如下:Java编译环境:程序员利用Java编程语言编写Java源代码(.java文件),利用Java编译器,将其编译为Java字节码(
一叶飘零如秋
·
2019-09-25 15:00
深入了解Java GC的工作原理
JVM学习
笔记之JVM内存管理和JVM垃圾回收的概念,JVM内存结构由堆、栈、本地方法栈、方法区等部分组成,另外JVM分别对新生代下载地址和旧生代采用不同的垃圾回收机制。
·
2019-09-25 05:44
上一页
10
11
12
13
14
15
16
17
下一页
按字母分类:
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
其他