- 博客(5)
- 收藏
- 关注
原创 基于 Hostpot 虚拟机的 Java 对象解析
对象的创建Java 是一门面向对象的编程语言,创建对象通常只是通过 new关键字创建。对象创建过程当虚拟机遇到一个字节码 new指令的时候,首先去检查这个指令的参数是否能够在常量池中定位到一个类的符号引用。并且检查这个符号引用代表的类是否被虚拟机类加载器加载。如果没有,必须先执行类加载的流程。 { return false;}if (刷单用户) { return false;}if (未付费用户 && 不再服务时段) { return false}if (转介绍用户 || 付费用户 || 内推用户) { return true;}按照上述的条件我们可以得出的结论是:咱们的的主要流程主要是基于 and 或者 or 的
2022-04-23 01:44:06
205
原创 ZGC 特性和 GC 日志分析
Z Garbage Collector,也称为ZGC,在 jdk 11 中引入的一种可扩展的低延迟垃圾收集器,在 jdk 15 中发布稳定版。
2022-04-23 01:36:25
1838
原创 Sentinel 常用流控算法
本文主要讲述常见的几种限流算法:计数器算法、漏桶算法、令牌桶算法。然后结合我对 Sentinel 1.8.0 的理解,给大家分享 Sentinel 在源码中如何使用这些算法进行流控判断。由于本人理解有限,如果有不正确的地方,希望大家能够留言讨论????????????。计数器限流算法我们可以直接通过一个计数器,限制每一秒钟能够接收的请求数。比如说 qps定为 1000,那么实现思路就是从第一个请求进来开始计时,在接下去的 1s 内,每来一个请求,就把计数加 1,如果累加的数字达到了 1000,那么后续的
2021-09-15 00:08:23
1019
原创 基于 Hotspot 的 Java 线程源码分析
基本概念Java 线程其实是映射到操作系统的内核线程上的,所以 Java 线程基本上也就是操作系统在进行管理。在 Linux系统中,线程和进程用的是同一个结构体进行描述的,只不过进程拥有自己独立的地址空间,而同一个进程的多个线程之间是共享资源的。简单说明: 本文基于 openjdk 1.8 进行线程状态每种线程状态的切换条件, 以及调用方法如下图所示 :线程具有一下几种状态 Java 的线程状态在 Thread.State 枚举中定义代码如下public enum State {
2021-09-08 18:10:43
613
空空如也
如何通过一个内存数据结构存储 24 小时的订单号?
2024-01-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人