首页
学习
活动
专区
工具
TVP
发布

技术趋势

专栏作者
195
文章
166976
阅读量
25
订阅数
tomcat-集群实现-源码解析
tomcat支持单机模式与集群模式,通过集群模式来提供应用的高可用,保障业务的稳定。
逍遥壮士
2022-12-01
7730
jvm-问题分析及优化利器-gceasy的使用
gceasy是一个网站 :https://gceasy.io/ 主要为分析gc日志,形成可视化的报表快速排查问题使用。并且可以推荐jvm优化的配置(当然这块收费了!!!)。
逍遥壮士
2022-06-15
4440
如何打破双亲委派机制?
上文说过,jdk是通过双亲委派机制实现类的加载,但是这个加载效率及场景存在弊端,所以本文借鉴tomcat的实现方式去打破双亲委派机制实现自定义类加载器来模似tomcat的类加载方式。
逍遥壮士
2022-06-15
2880
JVM-VisualVM:多合-故障处理工具
VisualVM(All-in-One Java Troubleshooting Tool)是功能最强大的运行监视和故障处理程序之一,曾经在很长一段时间内是Oracle官方主力发展的虚拟机故障处理工具。
逍遥壮士
2021-12-01
3320
jvm-jmap(内存映像工具)的使用
jmap(Memory Map for Java)命令用于生成堆转储快照(一般称为heapdump或dump文件)。
逍遥壮士
2021-11-02
1.4K0
JVM-jinfo的使用
jinfo全称Configuration Info for Java作用是实时查看和调整虚拟机各项参数。
逍遥壮士
2021-10-12
5710
jvm的jps简单使用
jps(JVM Process Status Tool),可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(Main Class,main()函数所在的类)名称以及这些进程的本地虚拟机唯一 ID(LVMID,Local Virtual Machine Identifier)。
逍遥壮士
2021-09-17
7440
jvm空间分配担保怎么回事?
jvm发生gc之前,先检查老年代最大可用的连续空间是否大于新生代所有对象总空间。
逍遥壮士
2021-09-17
1.1K0
jvm动态对象年龄判定
jvm动态对象年龄判定,是根据Survivor空间中相同年龄所有对象大小的总和大于Survivor空间的一半,年龄大于或等于该年龄的对象就可以直接进入老年代,无须等到-XX:MaxTenuringThreshold要求的年龄。
逍遥壮士
2021-08-25
1.1K0
jvm参数PretenureSizeThreshold让对象直接进入老年代!
配置jvm参数让对象直接进入老年代,避免在Eden区及两个Survivor区之间来回复制,产生大量的内存复制操作。
逍遥壮士
2021-08-25
1.6K0
实战-配置+OmitStackTraceInFastThrow 导致不打印日志具体信息
运营人员反馈线上某些操作异常,导致无法继续业务流程,但是只有个别操作会出现,通过查询发现异常如下:
逍遥壮士
2021-08-25
1.3K0
JVM安全点和安全区域的区别
安全点(safepoint): JVM并不是为每条指令都生成OopMap,当JVM进入特定的位置,记录的信息才能进能暂停用户线程进入GC流程,这个点称为安全点。
逍遥壮士
2021-07-29
1K3
JVM可达性分析是怎么GC的?
可达性分析是用来判断对象是否存活,通过"GC Roots"作为起点,从这个节点往下搜索,如果有有引用,则这个对象是存活的,如果没有则判定可回收的对象。
逍遥壮士
2021-07-29
7880
JVM (标记-清除算法、复制算法、标记-整理算法、分代收集算法、分区算法)
在Java堆中存放着所有Java的对象实例 ,在GC执行垃圾收回之前,JVM需要标识出来哪些是对象已经不被引用(垃圾),哪些被引用,而JVM有两种垃圾标识对象是否存活,分别是:引用计数算法和可达性分析算法。
逍遥壮士
2021-07-29
2.1K0
JVM执行引擎(Execution Engine)
机器码是通过各种二进制表示的一串可以被计算机直接运行的指令,这种也叫机器语言,通常用010110这种来表示。虽然容易被计算机理解并且执行速度快,但是与我们所有的语言相关太大,并且维护成本巨大。
逍遥壮士
2021-07-05
1.1K0
JVM-直接内存(Direct Memory)
直接内存是Java堆之外的,直接向系统申请的内存空间,所以直接内存不是虚拟机的一部分,也不是《Java虚拟机规范》中定义的内存区域,也有可能导致OOM。
逍遥壮士
2021-07-05
1.3K0
逃逸分析(Escape Analysis)技术
背景:随着jvm的发展,堆已经不是分配内存的唯一选择了,还有栈上分配、标量替换优化技术。
逍遥壮士
2021-04-29
1.2K0
jvm堆
java堆,属于内存中最大的一块,也是常见OOM发生地,大部分对象的实例都是在这里分配内存,当然随着逃逸分析技术的日益强大,栈上分配、标量替换也是可以直接分配对象内存的,所以不是所有的java实例都是在堆中分配。
逍遥壮士
2021-04-29
3700
深入方法区
方法区(Method Area)属于jvm运行时数据区的一块,也是跟堆一样被所有线程共享,并且方法区在物理层面是属于堆中的一块。方法区在JVM启动的时候被创建。
逍遥壮士
2021-04-13
4100
深入栈帧
每个方法被执行的时候,java虚拟机都会同步创建一个栈帧,栈的基本单位为栈帧,每个线程都有自已的栈,每个执行方法对应一个栈帧,也叫当前栈帧。每一个栈帧都包括了局部变量表,操作数栈,动态连接,方法返回地址和一些额外的附加信息。
逍遥壮士
2021-04-13
8000
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档