java
文章平均质量分 54
基础文章
丈剑走天涯
这个作者很懒,什么都没留下…
展开
-
JAVA中静态块、静态变量加载顺序详解
Java 面试题 静态代码块,静态变量加载顺序原创 2024-04-23 19:48:05 · 461 阅读 · 1 评论 -
一、unsafe api 详情 ---jdk1.8
unsafe api 使用场景原创 2023-05-22 11:44:49 · 178 阅读 · 0 评论 -
二、unsafe api 应用场景及例子 ---jdk1.8
unsafe api 及使用场景原创 2023-05-22 11:58:37 · 157 阅读 · 0 评论 -
EventBus-----spring
获取Spring上下文的工具类,用于事件的发布。事件监听@EventListener。原创 2023-04-23 18:50:33 · 279 阅读 · 0 评论 -
EventBus-----spring Guava
支持spring4.x以上及springboot)使AsyncEventBus交给spring容器管理。需要异步执行的类中注册该类,并给异步执行的方法上加@Subscribe注解。需要异步执行的类中注册该类,并给异步执行的方法上加@Subscribe注解。application.properties 配置。spring 配置 异步消息总线。原创 2023-04-23 18:42:54 · 245 阅读 · 0 评论 -
EventBus----Google Guava
guava event bus原创 2023-04-23 18:14:42 · 422 阅读 · 0 评论 -
JVM(七) 永久代(方法区)元空间(直接内存)
jdk1.8 后没有了永久代(方法区)用元空间(直接内存)来对方法区进行了实现原来的永久代,被挪到堆内存中从上述结果可以看出,JDK 1.6下,会出现“PermGen Space”的内存溢出,而在 JDK 1.7和 JDK 1.8 中,会出现堆内存溢出,并且 JDK 1.8中 PermSize 和 MaxPermGen 已经无效。因此,可以大致验证 JDK 1.7 和 1.8 将字符串常量由...原创 2019-11-19 00:27:06 · 1043 阅读 · 0 评论 -
JVM(六)监控工具
监控工具:一般问题定位,性能调优都会使用到。(一)、jpsJps是参照Unix系统的取名规则命名的,而他的功能和ps的功能类似,可以列举正在运行的饿虚拟机进程并显示虚拟机执行的主类以及这些进程的唯一ID(LVMID,对应本机来说和PID相同),他的用法如下:Jps [option] [hostid]jps -q 只输出LVMID jps -m 输出JVM启动时传给主类的方法...原创 2019-11-19 00:14:32 · 148 阅读 · 0 评论 -
JVM(五)垃圾收集器
一、七种垃圾收集器Serial(串行GC)-XX:+UseSerialGC ParNew(并行GC)-XX:+UseParNewGC Parallel Scavenge(并行回收GC) Serial Old(MSC)(串行GC)-XX:+UseSerialGC CMS(并发GC)-XX:+UseConcMarkSweepGC Parallel Old(并行GC)-XX:+UseP...原创 2019-11-19 00:09:27 · 142 阅读 · 0 评论 -
JVM(四) 垃圾收集算法
写前面几章节主要是为后面垃圾回收器优化做铺垫经典的垃圾回收算法以下几种一、标记--清除算法(Mark-Sweep) ( CMS回收器使用的算法 ,FullGc后可以配置内存整理)图示:回收前状态: 回收后状态:优缺点: 算法执行分为两个阶段标记与清除,所有的回收算法,基本都基于标记回收算法做了深度优化 缺点:...原创 2019-11-18 23:51:50 · 92 阅读 · 0 评论 -
jvm(三)内存区域控制参数及对应溢出异常
开发过程中,或程序运行过程中每次遇到OutOfMemory异常或GC异常或StackOverflowError异常我们都是一堆参数乱配,都把值调大,只是大体知道是跟jvm内存分配有关,具体应该怎么调,对应的异常应该调整那些参数,或者换句话说,jvm内存分配区域中都分别对应那些参数大多数情况下都是不知道的,只是把相关的参数跳上去,预期结果都是应该起作用,到底能不能起作用,自己心里也没...原创 2019-11-18 23:15:01 · 165 阅读 · 0 评论 -
JVM(二)对象访问内部实现过程
句柄方式指针方式对象访问 涉及到对象的地址变更状态变更,内存地址移动,变量、接口、实现类、方法、父类型等。一、 句柄方式 (访问)二、指针方式 (访问)优缺点:句柄访问方式:reference中存储的是稳定的地址,对象变更时只会改变句柄实例数据指针,引用本身不需要修改指针访问方式:优点速度快,节省了指针定位时间开销...原创 2019-11-18 23:04:04 · 174 阅读 · 0 评论 -
JVM(一)虚拟机内存图解与说明--局部变量表(Local Stack Frame)
局部变量表(Local Stack Frame): 是一种程序运行数据模型,存放了编译期可知的各种数据类型例如:Boolean、byte、char、short、int、float、long、double、对象引用类型(对象内存地址变量,指针或句柄),程序运行时,根据局部变量表 分配栈帧空间大小,在运行中,大小是不变的。是一组变量值存储空间,用于存放方法参数和方法内部定...原创 2019-11-18 22:57:54 · 582 阅读 · 0 评论 -
JVM(一) 虚拟机内存图解与说明
JAVA程序运行与虚拟机之上,运行时需要内存空间。JAVA虚拟机执行JAVA程序的过程中会把它管理的内存划分为不同的数据区域方便管理。虚拟机管理内存数据区域划分如下图:数据区域分类:元空间 (MateSpace) (原来的方法区) 虚拟机栈 (VM Stack) 本地方法栈 (Native Method Stack) 堆 ...原创 2019-11-18 18:30:48 · 1023 阅读 · 0 评论