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

JavaEdge

关注公众号:JavaEdge,加入全国最大的后端交流群。
专栏作者
2430
文章
2484008
阅读量
176
订阅数
深入理解Disruptor
Disruptor通过缓存行填充,利用CPU高速缓存,只是Disruptor“快”的一个因素,快的另一因素是“无锁”,尽可能发挥CPU本身的高速处理性能。
JavaEdge
2023-01-14
4990
Java系统线上生产问题排查一把梭
可以随意使用任何熟悉的工具排查。只要问题能重现,排查就不会太难,最多就是把程序调试到各种框架源码,所以这也是为何面试都会问源码,不求都看过,但要有思路知道如何去看能解决问题。
JavaEdge
2022-11-30
5910
Java并发编程实战系列(15)-原子遍历与非阻塞同步机制
非阻塞算法,用底层的原子机器指令代替锁,确保数据在并发访问中的一致性。 非阻塞算法被广泛应用于OS和JVM中实现线程/进程调度机制和GC及锁,并发数据结构中。
JavaEdge
2022-11-30
1910
JVM的class文件结构详解
Java具有平台无关性,即任何操作系统都能运行Java代码。 之所以能实现这一点,是因为Java运行在虚拟机之上,不同的操作系统都拥有各自的Java虚拟机,因此Java能实现"一次编写,处处运行"。
JavaEdge
2022-11-30
3500
final关键字
当调用final方法时,直接将方法主体插入到调用处,而不是进行方法调用,这样能提高程序效率(内联机制) 如果你认为一个方法的功能已经足够完整了,子类中不需要改变的话,你可以声明此方法为final final方法比非final方法快,因为在编译时候已静态绑定了,不需要在运行时再动态绑定。
JavaEdge
2022-11-29
3110
关注专栏作者,随时接收最新技术干货
JavaEdge
华为软件开发工程师
HotSpot对象的创建过程
一个对象所需的内存大小,是在该对象所属的类被定义完就能确定的!且一个类所生产的所有对象的内存大小一样!
JavaEdge
2022-11-29
4280
String那些事
没错,一个true,一个是false,大家可能在想编译器肯定又调皮了,编译的时候是不是又偷偷加了些什么,迫不及待的打开class文件看一下:
JavaEdge
2022-11-29
1600
线上异常日志没有堆栈信息
线上大量异常,查看日志,却只有java.lang.NullPointerException,无异常堆栈信息,无法定位异常的位置。
JavaEdge
2022-04-14
7310
Java NIO为何导致堆外内存OOM了?
某天报警:某台机器部署的一个服务突然无法访问。谨记第一反应登录机器查看日志,因为服务挂掉,很可能因OOM。这个时候在机器的日志中发现了如下的一些信息:
JavaEdge
2022-02-02
1.4K0
如何优化生产环境的Full GC?
大部分工程师开发完一个系统后,部署生产环境的时候往往不对JVM进行参数设置,直接用默认JVM参数,这绝对是系统负载逐渐增高的时最大问题
JavaEdge
2022-01-30
5460
JVM运行状态评估及优化
估算系统QPS,每个请求会创建多少对象,占多少内存,机器配置选型,年轻代应该给多少内存,YGC触发频率,对象进入老年代的速率,老年代应该给多少内存,Full GC触发的频率。这些都是根据代码可大概合理预估的。
JavaEdge
2022-01-30
7760
手把手教你如何写出完美的JVM的Young GC
该行会在JVM Eden内放入一个1M数组,同时在main线程的虚拟机栈压入一个main方法栈帧,其栈帧内部有一“arr1”变量,该变量指向Eden的那1M数组:
JavaEdge
2022-01-27
4570
一文搞懂Y-GC和Full GC的触发条件
说明本次Y-GC后,可能升入老年代的对象大小超过老年代当前可用内存空间,此时必须先触发一次Old GC给老年代腾出空间,再执行Young GC。
JavaEdge
2022-01-26
3.1K0
阿里二面:说说JVM的Stop the World?
此时必然触发Minor GC,有专门GC线程执行GC,且对不同内存区域有不同垃圾回收器,这相当于GC线程和垃圾回收器配合,使用自己的GC算法对指定内存区域执GC:
JavaEdge
2022-01-25
3780
彻底理解对象内存分配及Minor GC和Full GC全过程
某数据计算系统,日处理亿级数据量。系统不断从各种数据源提读数据,加载到JVM内存进行计算处理:
JavaEdge
2022-01-17
4730
Java及JVM是如何识别重载、重写方法的?
可变长参数方法的重载造成的。(官方文档建议避免重载可变长参数方法,见[1]的最后一段。
JavaEdge
2021-12-27
1.1K0
Servlet实例数量到底多少,是否线程安全
通过注解或servlet声明都能控制 servlet 容器如何提供 servlet 实例。
JavaEdge
2021-12-07
3150
Tomcat如何打破双亲委派机制实现隔离Web应用的?
Tomcat通过自定义类加载器WebAppClassLoader打破双亲委派,即重写了JVM的类加载器ClassLoader的findClass方法和loadClass方法,以优先加载Web应用目录下的类。
JavaEdge
2021-12-07
9840
Tomcat如何打破双亲委托机制?
我们经常会遇到ClassNotFound异常,表明JVM在尝试加载某类时失败了。 要解决这个异常,你得知道
JavaEdge
2021-12-07
3880
Tomcat的各级容器们的职责
这些启动类或组件不处理具体的请求,它们主要是“管理”,管理下层组件的生命周期,并给下层组件分配任务,即路由请求到应负责的组件。
JavaEdge
2021-12-07
3680
点击加载更多
社区活动
RAG七天入门训练营
鹅厂大牛手把手带你上手实战,赢鹅厂证书、公仔好礼!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档