JVM串讲

LiveGBS流媒体平台GB/T28181实战指南:海康NVR物联网卡摄像头注册失败全链路排查与抓包技巧 本文详细解析了LiveGBS流媒体平台中海康NVR物联网卡摄像头注册失败的常见问题及解决方案。通过全链路排查与抓包技巧,包括物联网卡配置、多网卡冲突处理、防火墙设置等,帮助用户快速定位并解决GB/T28181协议下的设备注册难题,提升流媒体平台部署效率。 阅读详情

 

首先最重要的结构图

 

1.类加载器子系统

一个.java文件首先经过javac编译成一个class文件,class文件经过类加载器子系统(结构如下)。在准备阶段付初值0,初始化赋值初始值:(举例)int i = 5 在准备阶段付初值为0,初始化阶段初始化为5

 

加载的类信息存放于一块称为方法区的内存空间。除了类的信息外,方法区中还会
存放运行时常量池信息,可能还包括字符串字面量和数字常量(这部分常量信息是
Class文件中常量池部分的内存映射

 

类的初始化阶段会执行静态代码块,静态变量的显示赋值。

 

双亲委派机制:

一个类的加载调用类加载器的时候是,先调用父类的类加载器。如果父类的类加载器不能加载。就用子类的类加载器加载。这就是双亲委派机制。

举例:如果你自己建立一个java.lang包。下面写一个String类。。过程:先是调用系统类加载器。appClassLoad,然后AppClassLoader调用,ExtensionClassLoader,然后调用BootStrapClassLoader,因为BootStrapClass Loader只能加载系统定义的String类,所以不会调用自己写的String类。保证了程序不会受个人书写的String类的污染。

2.运行时数据区

本地方法栈,

native的。不存在GC,有内存溢出

程序计数器:

不存在GC,不存在内存溢出

存放下一条指令的地址,若下一条指令地址为native的则是未指定值   。PC寄存器用来存储指向下一条指令的地址,也即将要执行的指令代码。由执行引擎读取下一.条指令。

虚拟机栈

 

不存在GC,有内存溢出

基础单元是栈帧。一个栈帧对应一个方法

局部变量表

单位是slot槽double和long是占两个slot槽。

其他的基本数据类型都以int的形式存储。占一个slot槽

 

构造器的方法<inti>和自己定义的非静态的方法多一个slot  this指针的存放位置

相较于的是main的静态方法没有this

栈顶缓存技术

动态链接

指向栈帧的运行时常量池方法的引用

虚方法和非虚方法

方法返回地址

堆

堆存在溢出存在垃圾回收

年轻代老年代

新生代:老年代是1:2

Eden:Survivor0:Survivor1 = 8:1:1

 

堆:要看堆的文章

https://blog.youkuaiyun.com/Culprit/article/details/113852109

 

方法区

方法区主要包括:类型信息(域信息、方法信息),运行时常量池,静态变量,JIT代码缓存

 

 

 

 

OpenEuler内核编译及替换 一、内核源码下载 在gitee上下载OpenEuler内核源码 下载地址 选择需要的内核版本源码压缩包进行下载 二、内核编译 1.解压缩 将下载好的源码进行解压 tar xvf openeuler-kernel-4.19.90-2107.1.0.tar.gz 2.清理源代码树 解压后得到一个名为kernel的内核源码文件夹,进入后执行命令 make mrproper 清理过去内核编译产生的config,第一次编译时可不执行此命令 3.生成内核配置文件.config 先将将系统原配置文件拷贝过来,原 阅读详情

相关推荐

【UG/NX二次开发】记录在二次开发中遇到的坑

【UG/NX二次开发】记录在二次开发中遇到的坑

Trust_MJ的博客 2707

【Java】JVM 知识串讲

JVM 知识点串讲,文章结构为:什么是JVM --- JVM体系结构 --- 各结构详解 --- GC

liuwanqing233333的博客 516

从充电管理芯片里‘偷师’:拆解一个PMOS双向开关电路,搞定你的固态继电器需求

本文深入解析了PMOS双向开关电路在固态继电器应用中的设计要点,重点探讨了防电流倒灌和高侧双向开关的实现技巧。通过拆解充电管理芯片中的PMOS背靠背结构,工程师可以构建高效可靠的固态开关方案,适用于智能硬件和电池管理系统。文章还提供了关键参数选择、电路优化建议及实测数据对比,助力解决电源防反接等工程难题。

weixin_33698043的博客 482

JVM和GC

JVM内存结构 JVM体系概述 Java8以后的JVM java8 GC的作用域 常见的垃圾回收算法 引用计数 复制算法 JAVA堆从GC的角度还可以细分为:新生代(Eden区、From Survivor区和To Survivor区)和老年代。 标记清除 标记整理 标记-压缩(Mark-Compact) ...

qq_41911570的博客 231

六轴机器人正解

采用的是John H.Craig在【机器人学导论】中的改进DH模型 1.六轴坐标系 2.DH参数 i αi−1\alpha_{i-1}αi−1​ ai−1a_{i-1}ai−1​ did_idi​ θi\theta_iθi​初值 1 0 0 0 0 2 -90 a1a_1a1​ 0 -90 3 0 a2a_2a2​ 0 -90 4 -90 a3a_3a3​ d4d...

m0_37581770的博客 2511

智能体在车联网中的应用:一份详尽到每日的100天学习路线图

这100天的旅程,是一次对毅力、学习方法和工程实践能力的综合考验。它不仅关乎掌握一系列技术点,更关乎培养解决复杂系统性问题的思维模式——将宏观的交通需求分解为微观的智能体决策,再通过多智能体协同涌现出宏观的智能行为。当你完成这份大纲时,你将拥有的不仅是一个项目作品集,更是一套应对“智能体+车联网”乃至更广泛AI+垂直领域挑战的方法论。未来已来,期待你成为构建智能交通新生态的关键贡献者。

IT深耕十余载,大道之简 1333

Java JVM常见知识点串讲

大家可能在面试中,或多或少都遇到JVM相关的面试题,但是有个问题,就是JVM其实知识点挺多的,本文以笔者亲身经历为主,通过一个JVM的常见面试题,进行逐步了解,学习JVM。 这一切都是逼的,回想我刚工作的时候,然后被问JVM,那会儿第一反应,JVM是啥,现在在看看各个招聘岗位,或多或少都要求会JVM。然后面试者,也开始将JVM作为必备技能,虽然可能百分之95的程序员在实际工作中,不会用到任何和JVM相关的知识点。 1.面试场景案例 正常的面试官问题,其实大多都是,询问你是否了解某种技术,或者看你简历写了某种

歪桃的博客 1万+

Ansys Lumerical 启动时出现 Error: Could not connect to Ansys license server specified at 1055@ 的另一种解决办法

昨天在关闭了中之后 就能正常打开 FDTD 了,结果今天想开启出现了同样的报错:我猜测昨天能启动的原因在于关闭之后要重启电脑,并且在重启之后我第一时间打开 lumerical 测试因此端口没有被占用,今天是在电脑启动之后一段时间才打开所以又遇到了端口占用的问题。

qq_51404184的博客 9549

JVM之快速回顾复习串讲

JVM内存结构 JVM体系概述 Java8以后的JVM GC的作用域 常见的垃圾回收算法 引用计数 复制 标记清除 标记整理

沈光阳的博客 188

RAGFlow 离线部署:解决cl100k_base.tiktoken问题

摘要 本文详细解决了RAGFlow离线部署时tiktoken缓存文件下载失败的问题。通过分析tiktoken库的缓存机制,一次性不改代码解决.

baidu_25691461的博客 830

uniapp(全端兼容) - 最新实现全局设置修改字体大小功能,统一修改全部页面所有文字的大小(标准/小/中/大字号切换,用户修改后整个项目立即生效)设置应用字体的大小(详细示例代码,一键复制开箱即用

uni-app,支付宝微信小程序,h5,手机端H5网页,移动端网站,安卓app,ios苹果app,nvue,全局设置字体大小,退出后还能记录字号大小,uniApp将全部页面的字体字号进行修改,uniapp设置改变全局字体大小功能,动态调整应用字体大小,详细教程,动态显示字体大小,可调整显示字体大小,如何解决不同端字体大小的问题,除了rem还有什么方法,设置全局字体大小,用户设置字号大小,应用字体大中小,实现用户全局设置应用字体大小,老年模式字体设置思路,h5端不行怎么办,移动端不生效,修改全局字号,一键改整

✅ 精选推荐文章 8885

快速串讲---JVM内存的区域划分

目的 快速定位JVM内存泄漏或者溢出等问题。 面试基础题,加分项。 程序计数器(Program Counter Register) 记录当前线程所执行的字节码的行号。 依赖其实现分支、循环、跳转、异常处理、线程恢复。 Natvie 方法时,其的值就为空。 Java 虚拟机规范中唯一没有规定内存溢出的区域。 “线程私有”的内存区域。 虚拟机栈(Virtual Machine Stacks) 其生命周期与线程相同。 存储局部变量表、操作数栈、动态链接、方法出口等信息。 方法被执行的时候创建一个栈帧并

万猫学社 1670

最全教程cadence建立个人CIS数据库

此时如果你删除office365,再装Access数据库,可以安装上,然后你再装office365,系统又会把Access软件给你删除掉,因为冲突了。可以在自己的电脑上新建CIS库,主要包含下面几个内容:数据库文件,原理图封装,PCB封装,数据手册,另外建议做一个器件命名的说明。allegro在调用封装的时候,是看的.psm文件,而不是.dra文件,因此只要是c0402.psm,那么所有的内容都要保持一致。(1)文件夹不要有中文,不要有空格,否则无法识别,可以参考博主的方式,全部使用英文输入法下划线。

D_Katter的博客 249

JVM第十课:垃圾回收器串讲

G1 Garbage First Garbage Collector G1之前的垃圾回收器(Serial,Parallel Scavenge,CMS等)都是把内存从物理上分块的(为了分代) G1是物理上不分代,只在逻辑上分代,分成了很多Region,用到了分而治之的思想 G1是一种服务端应用使用的垃圾收集器,比较适合用在多核CPU,较大内存(几十G)的机器上,暂停时间很短,同时保证较高的吞吐量 据说G1和PS相比,吞吐量低了10%~15% 但是G1的停顿时间很短,只有200ms 基本概念(了解即可) car

upset_poor的博客 398

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

JVM面试“核武器” 垃圾回收器串讲及HotSpot的细节实现

一、三色标记 并发标记时候使用三色标记算法 在三色标记法之前有一个算法叫 Mark-And-Sweep(标记清除)。这个算法会设置一个标志位来记录对象是否被使用。最开始所有的标记位都是 0,如果 发现对象是可达的就会置为 1,一步步下去就会呈现一个类似树状的结果。等标记的步骤完成后,会将未被标记的对象统一清理,再次把所有的标记位 设置成 0 方便下次清理。 这个算法最大的问题是 GC 执行期间需要把整个程序完全暂停,不能异步进行 GC 操作。因为在不同阶段标记清扫法的标志位 0 和 1 有不同的含义, 那么

u012781820的博客 295

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

互联网大厂Java面试:技术场景实战+幽默剧情串讲(含Spring Cloud、JVM、Kafka等核心技术应答)

本文以互联网大厂面试为场景,通过面试官与“水货”程序员谢飞机的幽默故事化对话,串讲JVM、Spring Cloud、缓存、消息队列、内容社区安全、日志运维、AI、Elasticsearch等核心Java技术,并附详细答案,小白可学。

m0_61073709的博客 375

JVM从入门到精通(十):垃圾回收算法串讲:CMS,G1,三色标记算法

CMS 并发回收,工作线程和GC线程同时进行,暂停时间短 老年代 分为 四个阶段: 初始标记:需要STW,因为初始的垃圾并不多,因此耗费的时间不长 并发标记:垃圾回收线程和工作线程同时执行。一边产生垃圾,一边标记(最耗时的阶段,不过是并发的) 重新标记:STW,对并发标记的过程中新产生的垃圾进行重新标记 / 取消标记 并发清理:清理的过程也会产生新的“浮动垃圾”,需要等下一次CMS重新运行的时候再次清理 CMS 存在的 问题: Memory Fragmentation 内存碎片问题

寒泉 6万+

jvm高频速通面试

G1垃圾处理器替代了CMS垃圾处理器,它是根据分区的思想来完成的,G1将堆内存划分为多个大小相等的区域(Region),每个区域可以是Eden区、Survivor区、Old区或Humongous区。在前期,服务器的内存是相当小,但现在的服务器内存越来越大,G1的分区思想可以发挥更高的性能。CMS使用的是标记清除法,会造成内存碎片的问题,但是G1采用的是标记复制和标记整理算法,减少了垃圾碎片,虽然在性能上稍低,但大大节约了内存空间,所以G1成了后来的默认垃圾处理器。

2303_81248021的博客 945

一图13行代码,带你串通JVM

《深入理解Java虚拟机》确实是一本神书,但却不太适合入门,太过专业,细节很多,读者很容易就陷入到细节中去,结果看完后,感觉懂了一些,却有感觉串不起来,因此,笔者试着用一张图和13行代码来串下

lililuni的博客 792

【Spring专题】Spring底层核心原理解析——引导篇

Spring就是实现了AOP技术的IOC容器。并且,也概括地描述了IOC跟AOP的概念。既然我们也知道了,IOC其实也管理了对象的创建,那么说到对象创建,肯定也离不开我们在Q1说的,对象创建的过程。而且,无论对象怎么创建,谁创建,都没办法离开上面的流程的。事实上,可以提前告诉大家的是,IOC在创建对象的过程,无非就是在上面的对象创建流程中,丰富了一些细节,新增了一些拓展点,为Spring功能实现提供支持。简单学习了Spring启动的流程。

qq_32681589的博客 2260

Java面试题入职总线---总目录

?????——>领取专属粉丝福利????专栏简介Java攻城狮们的面试福音,全程干货,原价99.9¥,限时49.9¥??火爆订阅中,Java最详细面试汇总,由深到浅讲解,专栏最终文章数不低于50篇,专栏持续更新,面试官绞肉机??博主简介白大锅,从事Java领域多年,Java领域优质创作者、阿里云专家博主、华为云享专家,热衷Java、Js三十年??粉丝福利文末公众号可领取众多面试资料/简历模板/以及博主私人微信。...

m0_67392931的博客 172

JVM解读(五):JVM垃圾收集

JVM全称是java Virtual Machine(java虚拟机),JVM屏蔽了与各个计算机平台相关的软件和硬件差异。 在接下来的日子里,通过写博客的形式学习JVM,让自己更懂得Java! 本系列文章是对《深入分析javaweb技术内幕》和《深入理解java虚拟机》的总结,欢迎大家一起吐槽,一起进步。 《JVM解读》第一篇:JVM体系结构 《JVM解读》第二篇:JVM类加载器ClassL

uxiaolang的专栏 2039

java知识串讲_java基础知识串讲

JDK的安装1:下载,安装2 :配置环境变量a) path: ,;%Java_HOME%bin;b)JAVA_HOME: JDK安装目录c)classpath3:JDK和JRE和JVMJDK:JAVA开发工具包JRE:运行环境JVM:虚拟机1:编译 :把java源文件编译成class字节码文件2:运行java:运行calss文件。标识符:给我们的类方法 变量起名 ;1:以字母(采用Unicode字...

weixin_33501587的博客 346
上一篇: JVM----对象的实例化、内存布局与访问定位、直接内存
下一篇: 我终于搞懂了字符串常量池、运行时常量池、Class常量池
Renaissance14th
博客等级 码龄9年 39粉丝 72原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值