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
hotspot
JVM:垃圾收集器(7种)
其中Serial(串行)、Parallel(并行)1、Serial收集器Serial收集器是最基础、历史最悠久的收集器,是
HotSpot
虚拟机新生代收集器的唯一选择。
日上三杆快起床
·
2024-01-20 08:08
jvm
java
算法
热点检测、方法内联、动态反优化
Java
HotSpot
VM不会立即编译方法,而是立即使用解释器运行程序,并在运行时分析代码以检测程序中的关键热点。然后,它将本地代码优化器的注意力集中在热点上。
偷吃虾的猫
·
2024-01-20 03:13
(六)垃圾收集器
1.概述在我们开展关于
HotSpot
虚拟机收集器讨论之前,我们来简单回顾一下JVM堆和方法区内存区域的划分与管理以及针对不同区域所采用的垃圾回收算法。
Davince西西
·
2024-01-20 02:59
面试:JDK8的元空间存储什么内容?会发生FGC吗?
为了与堆做区分,方法区还有个名字叫“非堆”,也有人用“永久代”(
HotSpot
对方法区的实现方法)来表示方法区。在jdk1.8中,方法区已经不存在,原方法区中存储的类信
_夜半钟声到客船
·
2024-01-19 15:11
java 垃圾回收GC(CMS、G1)原理及调优
概述本文介绍GC基础原理和理论,GC调优方法思路和方法,基于
Hotspot
jdk1.8,学习之后将了解如何对生产系统出现的GC问题进行排查解决阅读时长约30分钟,内容主要如下:GC基础原理,涉及调优目标
A゛孤青
·
2024-01-19 13:44
java
java
开发语言
HotSpot
虚拟机对象
对象的创建Java创建对象的过程Step1:类加载检查虚拟机遇到一条new指令时,首先将去检查这个指令的参数,是否能在常量池中定位到这个类的符号引用,并且检查这个符号引用代表的类是否已被加载过、解析和初始化。如果没有,那必须先执行相应的类加载过程。Step2:分配内存在类加载检查通过后,接下来虚拟机将为新生对象分配内存。对象所需的内存大小,在类加载完成后便可确定,为对象分配空间的任务,等同于把一块
happyJared
·
2024-01-19 12:19
Hotspot
源码解析-第二十章-字典表创建和基础类预加载(四)
20.5字典表创建和基础类预加载20.5.1systemDictionary.cpp/hpp20.5.1.1SystemDictionary::initializevoidSystemDictionary::initialize(TRAPS){//Allocatearraysassert(dictionary()==NULL,"SystemDictionaryshouldonlybeinitial
多栖码农
·
2024-01-19 03:52
Java虚拟机
java
Hotspot
源码解析-第二十章-系统类及其方法以符号形式存储在符号表(三)
20.4系统类及其方法以符号形式存储在符号表20.4.1vmSymbolls.cpp/hpp20.4.1.1vmSymbols::initialize这块实现中用到了很多宏定义,所以在讲解时,需要先宏展开,下面根据用到的顺序介绍各个宏定义及其宏展开结果#defineVM_SYMBOL_BODY(name,string)string"\0"staticconstchar*vm_symbol_bodi
多栖码农
·
2024-01-19 02:48
Java虚拟机
java
IBM J9 VM 的介绍
IBM的J9全称:IBMTechnologyforJavaVirtualMachine,简称IT4J,内部代号:J9市场定位与
HotSpot
接近,服务器端、桌面应用、嵌入式等多用途VM广泛用于IBM的各种
Shaw_Young
·
2024-01-18 17:14
openjdk-jdk8-b109
hotspot
虚拟机启动过程分析_1
基于OpenJdk标签jdk8-b109版本分析
HotSpot
是由Oracle开发的Java虚拟机(JVM)的一种实现,也是使用最广泛的JVM之一。
IT回忆录
·
2024-01-18 16:49
Java
java
hotspot虚拟机
jvm启动过程
JVM优化策略——编译及垃圾回收器
名称作用基本命令jps显示指定系统内所有的
HotSpot
虚拟机进程jps-ljstat用于收集
Hotspot
虚拟机各方面的运行数据jstat[optionvmid[interval[s|ms][count
huaishu
·
2024-01-18 01:00
JVM
Hotspot
源码解析-第十八章-元空间的创建与分配
元空间就是从C堆中划出来的一片完整的区域,为了提升元数据的内存分配效率,又把元空间按若干个chunk内存块管理起来,其中chunk块又分为已使用和空间两种类型,并分别用VirtualSpaceList和ChunkManager来管理,chunk内存块之间以链表的形式关联起来,同时为了满足不同元数据占用内存大小的内存分配,chunk内存块也是有多种不同大小的chunk,如SpecializedChu
多栖码农
·
2024-01-17 19:53
Java虚拟机
java
Hotspot
源码解析-第二十章-虚函数表
这一章涉及到一个vtable(虚函数表)的概念,所以先从虚函数表讲起20.1虚函数表刚学Java入门的时候,有一个概念叫多态,这是面向对象语言都有的特性,C++也不例外,在C++中,虚函数的主要作用就是实现多态机制。多态就是用父类的指针指向子类的实例,再通过父类指针调用实际子类的成员函数,该技术可以让父类的指针有“多种形态”,所以叫多态,也是一种泛型技术。所谓泛型技术,就是试图使用不变的代码来实现
多栖码农
·
2024-01-17 19:53
Java虚拟机
java
Hotspot
源码解析-第二十章-基础类型的数组类型对象的创建与分配
20.2基础类型的数组类型创建该函数的入口在init.cpp->init_globals(),然后再调用universe.cpp->universe2_init()函数,实际执行的函数是Universe::genesis,所以从这开始源码的解析。解析前先了解一下Klass的概念,大家思考个问题:我们编写的java类在JVM中是以何种形式存在的呢?答:其实他就是以Klass类存在的,Klass类就是
多栖码农
·
2024-01-17 19:53
Java虚拟机
java
Hotspot
内存管理之ClassLoaderData 源码解析
目录一、ClassLoaderData1、Dependencies2、ChunkedHandleList3、JNIMethodBlock4、init_null_class_loader_data/init_dependencies5、构造和析构函数6、record_dependency7、add_to_deallocate_list/free_deallocate_list8、metaspace_
孙大圣666
·
2024-01-17 19:21
Hotspot和Linux内核
ClassLoaderData
JNIMethodBlock
Dependencies
Hotspot
启动和初始化源码解析
目录1、JVM启动入口2、JLI_Launch3、可移植性4、JavaMain5、JavaVM和JNIEnv对象6、JNI_CreateJavaVM7、Threads::create_vm学习一个复杂项目源码的最关键的一步是找准应用启动和对外提供服务的入口,从这些入口处开始顺藤摸瓜式的查看代码,可以对项目的各功能模块有一个整体宏观上的认识,并以此为切入点,有的放矢,按需深入了解各功能模块的实现细节
孙大圣666
·
2024-01-17 19:21
Hotspot和Linux内核
JVM启动
JVM初始化
JavaVM
JNIEnv
Hotspot
源码解析一
文章目录call_stub_call_stub_entry例程JAVA数据结构与面向对象解析魔数java字节码试了一天,windows一直失败.无奈了.安装了一个linux明天试试.詹姆斯老爷子通过一种中间语言形式,兼容所有操作系统.刚开始是通过C进行编译,但是效率极低,为了提高中间语言执行效率,老爷子从指令集出发,高度抽象出了java指令集.从而当一个程序编译成中间语言也就是class后,运行时
Nuan_Feng
·
2024-01-17 19:51
HotSpot源码解析
HotSpot
源码阅读 - 初步启动(1)
下载源码选择openjdk官网下载从github获取代码,在Github有很多维护了跟openjdk的镜像仓库,但是我们可以使用最常用的git来获取代码,地址https://github.com/AdoptOpenJDK/openjdk-build阅读源码工具C/C++,推荐使用VSCode,免费也好用快捷键Ctrl+p,Ctrl+e搜索具体文件main方法入口jvm由c,c++写的,我们首先需要
DaJiangU
·
2024-01-17 19:20
JVM
源码浅析
java
c++
c语言
jvm
Hotspot
源码解析-第十九章-ClassLoaderData、符号表、字符串表的初始化
第十九章-ClassLoaderData初始化讲解本章先从一张图开始众所周知,Java类的相关信息都是存储在元空间中的,但是是怎么存储的,相信很多读者是不清楚的,这里就不得不涉及到ClassLoaderDataGraph、classLoader、classLoaderData(简称CLD)和Klass的概念及他们四者的关系,这里简单描述下他们的概念,具体细节放到类加载器那一张来讲解。Instanc
多栖码农
·
2024-01-17 19:50
Java虚拟机
java
JVM与
HotSpot
JVM和
HotSpot
1、概念JVM是虚拟机的规范,
HotSpot
是jvm的具体实现
HotSpot
包括一个解释器和两个编译器(client和server,二选一的),解释与编译混合执行模式,默认启动解释执行
小张frog
·
2024-01-16 23:05
JVM
jvm
java
Java基础面试题 1day
答:因为当
HotSpot
虚拟机引入JIT后,就开始对对象进行逃逸分析,如果发现
云来喜
·
2024-01-16 22:52
java
开发语言
HotSpot
虚拟机中对象的分配、布局和访问
本篇文章以
HotSpot
虚拟机和常用的内存区域Java堆为例,深入探讨
HotSpot
在Java堆中对象分配、布局和访问的全过程。
匠丶
·
2024-01-16 05:48
java反汇编工具介绍
反汇编程序java生成字节码层面会隐藏实现细节,通过汇编代码了解程序运行指令,这个介绍HSDIS(
Hotspot
Disassembler)和JITWatch的使用方式注意:网上关于使用文章很多,以下方法是本人亲测可用方法
唯爱_0834
·
2024-01-15 13:34
2016年北京周报2月份的
Hotspot
Summary
内容仅供学习参考!禁止用于买卖资料!第一页,整理制作By阳光罗诺第二页,整理制作By阳光罗诺第三页,整理制作By阳光罗诺第四页,整理制作By阳光罗诺第五页,整理制作By阳光罗诺第六页,整理制作By阳光罗诺以上资源内容来源:微博@北京周报如有侵权,请联系删除!谢谢!联系邮箱
[email protected]
!
阳光罗诺
·
2024-01-15 11:35
Axure笔记 - 锚点滚动
2.在目标滚动至的位置处放置一个“
hotspot
”。3.为“arrowdown”动态面板添加交互效果。4.效果完成,点击“预览”,查看效果
elsieg
·
2024-01-15 07:35
Hotspot
源码解析-第十七章-虚拟机万物创建(一)
第十七章-虚拟机万物创建17.1硬编码偏移计算主要是对预加载的系统类的一些static字段的偏移进行计算,因为在C/C++中,对象分配后是一串连续的内存空间,各字段内容无法像java那样直接属性名获取,只能通过内存偏移位置来获取,所以这里要计算偏移位置17.1.1javaClasses.cpp17.1.1.1JavaClasses::compute_hard_coded_offsetsvoidJa
多栖码农
·
2024-01-14 20:17
Java虚拟机
java
Hotspot
源码解析-第十七章-虚拟机万物创建(二)
17.2GC策略初始化这一步主要就是确定分代(新生代和老年代)信息、即将分配的Java堆内存的大小,以及针对这些信息的校验17.2.1collectorPolicy.cpp&ollectorPolicy.hpp17.2.1.1initialize_allvirtualvoidinitialize_all(){//针对内存分配的大小值做设置和校验CollectorPolicy::initialize
多栖码农
·
2024-01-14 20:17
Java虚拟机
java
Hotspot
源码解析-第十六章-代码缓存空间初始化
第十六章-代码缓存空间初始化16.1codeCache.cpp16.1.1codeCache_initvoidcodeCache_init(){CodeCache::initialize();}voidCodeCache::initialize(){//判断操作assert(CodeCacheSegmentSize>=(uintx)CodeEntryAlignment,"CodeCacheSegm
多栖码农
·
2024-01-14 20:47
Java虚拟机
java
Hotspot
源码解析-第十七章-虚拟机万物创建(三)
17.4Java堆空间内存分配分配Java堆内存前,我们先通过两图来了解下C堆、Java堆、内核空间、native本地空间的关系。1、从图17-1来看,Java堆的分配其实就是从Java进程运行时堆中选中一块内存区域来映射2、从图17-2,可以看中各内存空间的关系,当然实际的内存区域比这个复杂的多,这里只是概括说明图17-1图17-217.4.1genCollectedHeap.cpp17.4.1
多栖码农
·
2024-01-14 20:46
Java虚拟机
开发语言
java
后端编译与优化(JIT,即时编译器)
目录解释器与编译器编译对象与触发条件编译过程查看及分析即时编译结果目前主流的两款商用Java虚拟机(
HotSpot
、OpenJ9)里,Java程序最初都是通过解释器(Interpreter)进行解释执行的
Java都不学
·
2024-01-14 18:47
JVM
java
jvm
开发语言
第11章 后端编译与优化
第11章后端编译与优化11.2即时编译器当虚拟机发现某个方法或代码块的运行特别频繁,就会把这些代码认定为“热点代码(
HotSpot
Code)”,为了提高热点代码的执行效率,在运行时,虚拟机将会把这些代码编译成本地机器码
asertgh123
·
2024-01-14 18:58
java
jvm
解决 Agent JAR loaded but agent failed to initialize
com.sun.tools.attach.AgentInitializationException:AgentJARloadedbutagentfailedtoinitializeatsun.tools.attach.
HotSpot
VirtualMachine.loadAgent
寂夜了无痕
·
2024-01-14 05:49
java
java
agent
agent动态替换class
JVM 元空间、java中的元空间
JDK1.6
HotSpot
JVM使用MethodArea方法区存储,也叫永久代(PermanentGeneration)。方法区和“永久代(PermanentGeneration)
LIJINGPO
·
2024-01-14 03:21
JVM
jvm
java
开发语言
GVM垃圾收集器
它是
Hotspot
虚拟机运行在客户端模式下的默认新生代收集器。它是一个单线程收集器。
芋泥泡芙卷
·
2024-01-13 12:43
java
jvm
算法
JVM虚拟机垃圾回收机制
HotSpot
JVM把新生区分为三部分:1个Eden区和2个Survivor区,默认内存大小比例为8:1:1,一般情况下,新创建的对象都会被分配到Eden区(一些大对象特殊处理),这些对象经过第一次MinorGC
artisan_young
·
2024-01-13 12:41
java
JVM
java
java虚拟机
对象的结构
对象头
HotSpot
虚拟机的对象头包括两部分信息:markword第一部分markword,用于存储对象自身的运行时数据,如哈希码(HashCode)、GC分代年龄、锁状态标志、线程持有的锁、偏向线程ID
0ab6a9ea3ef8
·
2024-01-13 03:38
虚拟机研究系列-Java各种类型对象占用内存情况分析(上)
对于不同的jvm实现,Java对象占用的内存空间大小可能不尽相同,本文主要分析
HotSpot
jvm中的情况,实验环境为64位window10系统、JDK1.8。
洛神灬殇
·
2024-01-13 00:53
JVM 内存布局
在
HotSpot
虚拟机中,方法区被划分为永久代(PermanentGenerati
qyhua
·
2024-01-12 20:08
jvm
HBase实际应用中常见的问题 解决方案
Region
Hotspot
:问题:部分RegionServer负载过高,导致热点区域(Regio
KevinAha
·
2024-01-12 13:31
hbase
数据库
大数据
线程栈默认大小
而在Linuxx64上
HotSpot
VM给Java栈定义的“系统默认”大小也是1MB。所以这个条件下普通Java线程的默认栈大小怎
1f8f4365addf
·
2024-01-12 12:50
jvm参数优化
jvm参数优化一、
HotSpot
JVM提供了三类参数现在的JVM运行Java程序(和其它的兼容性语言)时在高效性和稳定性方面做的非常出色。
dbwg38174
·
2024-01-11 07:58
java
运维
内存管理
JVM的执行引擎
文章目录执行引擎一、指令、汇编、高级语言1、机器码2、指令3、指令集4、汇编语言5、高级语言6、字节码二、执行引擎1、虚拟机vs物理机2、JVM的执行引擎三、Java代码编译和执行过程1、编译和执行过程2、
HotSpot
VM3
scj1022
·
2024-01-11 07:17
JVM
jvm
java
开发语言
第十章 前端编译与优化
10.2.2解析与填充符号表10.2.3注解处理器10.2.4语义分析与字节码生成10.1概述三个常见的编译方式:前端编译器:JDK的Javac、EclipseJDT中的增量式编译器(ECJ)即时编译器:
HotSpot
倜傥村的少年
·
2024-01-11 00:22
深入理解Java虚拟机
jvm
实战讲解Linux进程内存空间
哈喽,我是子牙,一个很卷的硬核男人深入研究计算机底层、Windows内核、Linux内核、
Hotspot
源码……聚焦做那些大家想学没地方学的课程。
子牙老师
·
2024-01-10 06:03
linux
汇编
c++
计算机底层
Java中native关键字的作用
首先,看见这个关键字的位置,在源码中的java.lang.Object中的hashCode方法@
HotSpot
IntrinsicCandidatepublicnativeinthashCode();什么是
折纸之泪
·
2024-01-09 20:54
涨知识
java
编程语言
jni
c++
api
三、虚拟机性能监控与故障处理工具
目录[toc]1.jdk命令行工具名称主要作用jps显示指定系统内所有的
HotSpot
虚拟机进程jstat用于收集
HotSpot
虚拟机各方面的运行数据jinfo显示虚拟机配置信息jmap生成虚拟机的内存转储快照
这个程序猿不太冷
·
2024-01-08 12:03
【JVM系列1】深入分析Java虚拟机堆和栈及OutOfMemory异常产生原因
前言JVM系列文章如无特殊说明,一些特性均是基于
HotSpot
虚拟机和JDK1.8版本讲述。
刀哥说Java
·
2024-01-08 01:34
JVM详解——内存结构
,欢迎来我的个人网站看看:耶瞳空间一:JVM基本介绍JVM是JavaVirtualMachine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,具体实现有很多,以下内容如果不额外声明,默认是
HotSpot
JVM
耶瞳
·
2024-01-07 13:21
java
jvm
java
Java基础学习之JVM篇:说说栈和堆的区别
本节文章将以
HotSpot
虚拟机为例,重点围绕栈和堆来让我们一起认识Java虚拟机内存的分配方式和基础原理。
黄小黄的黄
·
2024-01-07 13:50
Java基础学习
java
jvm
堆栈
hotspot
源码角度看OOP之类属性的底层实现
问题分析在计算机的世界里,一个问题的解决方案永远不止一种。但是取舍过后,最合适的只剩唯一。当然,你能想到的解决方案的多少,与你对这个问题的理解程度是息息相关的。对于一个问题的理解程度,与你的技术视野紧密不可分。你想到而能不能做到,与你的技术实力直接挂钩。好像不止是计算机世界哈,哪个世界都这样!比如说让你来实现OOP机制。咱们先不说完整的,就聚焦属性继承,你会如何实现。经常看我文章的小伙伴可能比较奇
子牙老师
·
2024-01-06 23:27
手写JVM专栏
jvm
c++
开发语言
Java
上一页
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
其他