Fork me on GitHub
1 2 3 4 5 ··· 7 下一页
摘要: 前言 请看上篇:Java 对象头那点事 文章中的源码都有不同程度缩减,来源于openjdk8的开源代码(tag:jdk8-b120)。 锁粗化过程 偏向锁 ①:markword中保存的线程ID是自己且epoch等于class的epoch,则说明是偏向锁重入。 ②:偏向锁若已禁用,进行撤销偏向锁。 ③ 阅读全文
posted @ 2022-05-18 16:54 竹根七 阅读(373) 评论(2) 推荐(1) 编辑
摘要: 时间不在于你拥有多少,而在于你怎样使用。 #1:Redisson 是什么 个人理解:一种 可重入、持续阻塞、独占式的 分布式锁协调框架,可从 ReentrantLock 去看它。 ①:可重入锁 拿到锁的线程后续拿锁可跳过获取锁的步骤,只进行value+1的步骤。 ②:持续阻塞 获取不到锁的线程,会在 阅读全文
posted @ 2021-05-08 18:30 竹根七 阅读(2768) 评论(2) 推荐(5) 编辑
摘要: 知识点: ProtoStuff 是将结构数据转为字节流进行序列化的,优点是占用空间小,速度快,缺点是可读性差。 ProtoStuff 是基于 ProtoBuf 发展而来的。 本文不讲那么多背景,直接上代码: import io.protostuff.LinkedBuffer; import io.p 阅读全文
posted @ 2024-08-05 17:55 竹根七 阅读(12) 评论(0) 推荐(0) 编辑
摘要: ## 背景 当我们一个接口响应报文比较大的时候,超过几兆甚至几十兆的情况下,减少响应体的报文大小是能有效减少响应时间的。 ## spring boot 配置 ```yaml server: compression: ## 开启服务端的报文压缩 enabled: true ## 只压缩响应类型为app 阅读全文
posted @ 2023-07-11 12:03 竹根七 阅读(533) 评论(0) 推荐(1) 编辑
摘要: 前言: 关于Java的Selector,其实也没什么好说的。 说高级点就是就是多路复用。而多路复用是由于操作系统的支持,才能得以实现。 体悟: Java代码只是进行native 方法的调用。 核心代码在C/C++写的jdk源码中。 而多路复用是OS系统(Linux/Windows/MacOS)内核得 阅读全文
posted @ 2022-06-23 17:41 竹根七 阅读(905) 评论(0) 推荐(1) 编辑
摘要: 安装过程 1:RabbitMQ 延迟插件GitHub 2:各版本地址 如我的MQ版本是3.8.16,那么根据提示下载的版本是: ①:移动插件到RabbitMQ的插件目录下,如我的位置是:/usr/lib/rabbitmq/lib/rabbitmq_server-3.8.16/plugins。 mv 阅读全文
posted @ 2022-05-13 12:04 竹根七 阅读(367) 评论(0) 推荐(0) 编辑
摘要: # 概览 ![image](https://img2022.cnblogs.com/blog/1537140/202205/1537140-20220510105906976-1040901789.png) *** - 对象头 存放:关于堆对象的布局、类型、GC状态、同步状态和标识哈希码的基本信息。 阅读全文
posted @ 2022-05-11 17:07 竹根七 阅读(744) 评论(1) 推荐(1) 编辑
摘要: 1:Channel是什么 通道表示与实体的开放连接,例如硬件设备、文件、网络套接字或能够执行一个或多个不同 I/O 操作(例如读取或写入)的程序组件。 1.1:Channel与Stream的对比 Stream Channel 为什么 是否支持异步 否 是 是否同时支持输入和输出 否 是 Stream 阅读全文
posted @ 2022-04-11 12:03 竹根七 阅读(724) 评论(0) 推荐(0) 编辑
摘要: 1:Buffer 是什么 Buffer(缓冲区)本质上是一个由基本类型数组构成的容器。 我们先看看Buffer类的基本构成: public abstract class Buffer { // Invariants: mark <= position <= limit <= capacity pri 阅读全文
posted @ 2022-03-31 11:04 竹根七 阅读(324) 评论(0) 推荐(0) 编辑
摘要: 1:什么是Dockerfile Dockerfile是一个文本文档,可以通过docker build 命令构建成一个镜像。 我们可以在Dockerfile中定义一系列的命令,构建出我们想要的镜像。 想要制作一个新的镜像离不开Dockerfile。 2:Dockerfile 相关命令解释 只做比较重要 阅读全文
posted @ 2021-12-31 22:43 竹根七 阅读(1133) 评论(0) 推荐(1) 编辑
摘要: #1:事务原理 ##1.1:aop/动态代理 类路径:org/springframework/aop/framework/CglibAopProxy.java ReflectiveMethodInvocation#proceed 后续: 作用:采用aop/动态代理的作用是为了在调用@Transact 阅读全文
posted @ 2021-09-01 18:05 竹根七 阅读(1536) 评论(0) 推荐(2) 编辑
1 2 3 4 5 ··· 7 下一页