lotus

贵有恒何必三更眠五更起 最无益只怕一日曝十日寒

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  1846 随笔 :: 0 文章 :: 109 评论 :: 288万 阅读

随笔分类 -  java底层

JVM,GC
摘要:文章目录 MaxTenuringThreshold参数讲解 MaxTenuringThreshold代码实战 MAXTENURINGTHRESHOLD参数讲解 在GC回收的时候. 如下图详解 From 区和To区 会来回的复制和交换位置. 每交换一次,就会增加一次年龄. 默认交换了15次, 就会从新 阅读全文
posted @ 2022-11-07 16:56 白露~ 阅读(398) 评论(0) 推荐(0) 编辑

摘要:本文约7300字,完整阅读大概会花费你「15分钟」左右的时间 什么是 JMM? JMM 就是 Java 内存模型(java memory model)。 JMM 是一个抽象的概念,并不像 JVM 内存结构一样真实存在。它描述的是和多线程相关的一组规范,需要各个 JVM 的实现来遵守 JMM 规范,以 阅读全文
posted @ 2022-09-29 15:48 白露~ 阅读(3987) 评论(1) 推荐(2) 编辑

摘要:一、String类的使用: String:字符串,使用一对“”引起来表示 String声明为final的,不可以被继承 字符串的字符使用Unicode进行编码,一个字符(不区分字母还是汉字)占两个字节 String实现了Serializable接口:表示字符串是支持序列化的,说明可以在网络上传输。 阅读全文
posted @ 2022-09-22 10:03 白露~ 阅读(278) 评论(0) 推荐(0) 编辑

摘要:1、 runAsync 和 supplyAsync方法 CompletableFuture 提供了四个静态方法来创建一个异步操作。 public static CompletableFuture<Void> runAsync(Runnable runnable) public static Comp 阅读全文
posted @ 2021-08-28 14:25 白露~ 阅读(268) 评论(0) 推荐(0) 编辑

摘要:同Dubbo的扩展SPI一样,Pf4j这个插件框架也师出同门,都是由JDK自带的SPI(参见Java的SPI简单实例)衍化而来。但Pf4j毕竟是一个插件框架,对插件的支持相对专业一些。官网上的介绍说:PF4J是一个开源(Apache许可证)轻量级(约100kb)的java插件框架,具有最小的依赖性( 阅读全文
posted @ 2021-06-23 14:20 白露~ 阅读(711) 评论(0) 推荐(0) 编辑

摘要:如何查看一个东西是否在有大量数据的池子里面? Bloom Filter(布隆过滤器)是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。Bloom Filter的这种高效是有一定代价的:在判断一个元素是否属于某个集合时,有可能会把不属于这个集合的元素 阅读全文
posted @ 2021-05-12 13:32 白露~ 阅读(863) 评论(0) 推荐(0) 编辑

摘要:聊聊JVM的年轻代 1.为什么会有年轻代 我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用,这样就会对堆的所有区域进行扫描。而我们的很多对象都是朝生夕 阅读全文
posted @ 2021-04-12 14:40 白露~ 阅读(405) 评论(0) 推荐(0) 编辑

摘要:编译和解释的区别是什么?编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快;而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的.这是因为计算机不能直接认识并执行我们写的 阅读全文
posted @ 2021-04-09 19:37 白露~ 阅读(283) 评论(0) 推荐(0) 编辑

摘要:前言 Full GC相对于Minor GC来说,停止用户线程的STW(stop the world)时间过长,至少慢10倍以上,所以要尽量避免,首先说一下Full GC可能产生的原因,接着给出排查方法以及解决策略。 Full GC产生原因 下图为与产生Full GC相关的内存区域,初生代、老年代、以 阅读全文
posted @ 2020-12-09 13:37 白露~ 阅读(2365) 评论(1) 推荐(1) 编辑

摘要:知识点总结 1.threadLocal里定义的四个方法 ThreadLocal定义了四个方法: get():返回此线程局部变量当前副本中的值 set(T value):将线程局部变量当前副本中的值设置为指定值 initialValue():返回此线程局部变量当前副本中的初始值 remove():移除 阅读全文
posted @ 2020-10-23 19:05 白露~ 阅读(241) 评论(0) 推荐(0) 编辑

摘要:https://sowhat.blog.csdn.net/article/details/105316177?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.channel_para 阅读全文
posted @ 2020-10-23 18:57 白露~ 阅读(248) 评论(0) 推荐(0) 编辑

摘要:一、概述 ThreadLocal的名称比较容易让人误解,会认为其是一个“本地线程”。其实,ThreadLocal并不是一个Thread,而是Thread的局部变量。 其设计的初衷是为了解决多线程编程中的资源共享问题。提起这个,大家一般会想到synchronized,synchronized采取的是“ 阅读全文
posted @ 2020-10-23 18:42 白露~ 阅读(2280) 评论(0) 推荐(0) 编辑

摘要:ThreadLocal<T>其实是与线程绑定的一个变量。ThreadLocal和Synchonized都用于解决多线程并发访问。但是ThreadLocal与synchronized有本质的区别。Synchronized用于线程间的数据共享,而ThreadLocal则用于线程间的数据隔离。Synchr 阅读全文
posted @ 2020-10-23 18:35 白露~ 阅读(350) 评论(0) 推荐(0) 编辑

摘要:一、Synchronized的基本使用 Synchronized是Java中解决并发问题的一种最常用的方法,也是最简单的一种方法。 Synchronized的作用主要有三个: (1)确保线程互斥的访问同步代码 (2)保证共享变量的修改能够及时可见 (3)有效解决重排序问题。 从语法上讲,Synchr 阅读全文
posted @ 2020-10-22 13:54 白露~ 阅读(573) 评论(0) 推荐(0) 编辑

摘要:0 前言 记得开始学习Java的时候,一遇到多线程情况就使用synchronized,相对于当时的我们来说synchronized是这么的神奇而又强大,那个时候我们赋予它一个名字“同步”,也成为了我们解决多线程情况的百试不爽的良药。但是,随着学习的进行我们知道在JDK1.5之前synchronize 阅读全文
posted @ 2020-10-22 13:36 白露~ 阅读(553) 评论(0) 推荐(0) 编辑

摘要:一、前言 “不好了,线上服务器超时严重,请求非常慢,好像报连接数too many了,怎么办?“小伙伴们在反馈。一般我们的技术老大的处理方式,把连接数和线程池调大点,重启,再观察。 往往这个方式是应急措施,治标不治本,因为不知道问题的原因。 有个严重误区,以为线程池设置太小了,调大点请求就会快了。 今 阅读全文
posted @ 2020-10-21 21:01 白露~ 阅读(268) 评论(0) 推荐(0) 编辑

摘要:目录 代码查看公司服务器或阿里云是几核的 合理线程数配置之CPU密集型 合理线程数配置之IO密集型 1. 代码查看公司服务器或阿里云是几核的 要合理配置线程数首先要知道公司服务器或阿里云是几核的 代码查看服务器核数: System.out.println(Runtime.getRuntime().a 阅读全文
posted @ 2020-10-21 20:58 白露~ 阅读(493) 评论(0) 推荐(0) 编辑

摘要:我们把jdk安装完成后,在命名行输入java -version 不仅可以看到jdk版本相关信息,还会看到类似与 Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode) 这样的信息。 其中有个Server VM (build 25 阅读全文
posted @ 2020-08-10 21:56 白露~ 阅读(389) 评论(0) 推荐(0) 编辑

摘要:JVM 参数调优: 堆空间主要组成部分: 1:新生代(new generation),新生代又划分为3部分: 1 eden 2 From Survivor(s0区域) 3 To Survivor(s1区域) 其中s0和s1区域大小相等 2:老年代(tenured generation) new出来的 阅读全文
posted @ 2019-08-07 17:04 白露~ 阅读(350) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示