- 博客(20)
- 收藏
- 关注
原创 基于Mysql、Redis和zookeeper实现分布式锁,解决超卖问题
基于Mysql、Redis和zookeeper实现分布式锁,解决超卖问题
2022-10-29 14:56:18 1284
原创 LockSupport与线程中断
线程中断机制interrupt() 实例方法如果该线程正在阻塞Object类的wait方法或Thread类的join和sleep方法,那么他的中断状态将被清除,并且产生InterruptedException中断不活动的线程不会产生任何影响interrupted() 静态方法isInterrupted() 实例方法通过volatile(多线程下可见性)通过AtomicBoolean通过Tread类自带的中断API方法实现当前线程的中断标识为true,是不是线程就立刻...
2022-06-27 13:50:09 173
原创 JVM垃圾回收机制及算法
JVM垃圾回收机制在Java中,程序员是不需要像C++那样显示的去释放一个对象的内存的,而是由虚拟机自行执行。在JVM中,有一个垃圾回收线程,它是低优先级的,在正常情况下是不会执行的,只有在虚拟机空闲或者当前堆内存不足时,才会触发执行,扫面那些没有被任何引用的对象,并将它们添加到要回收的集合中,进行回收。什么是垃圾没有任何引用指向的一个对象或者多个对象(循环引用)如何定位垃圾引用计数(ReferenceCount)为每个对象创建一个引用计数,有对象引用时计数器 +1,引用被释放时计数-
2022-05-09 11:15:34 645
原创 使用Arthas排查解决项目部署后CPU飙高问题
什么是ArthasArthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!是否有一个全局视角来查看系统的运行状况?有什么办法可以监控到J
2022-05-06 19:19:08 2300
原创 JVM、Java内存模型理解
JVM由那些部分组成,运行流程是什么JVM包含两个子系统和两个组件:类加载子系统(Class Loader)类装载:根据给定的全限定名类名(如:java.lang.Object)来装载class文件到运行时数据区中的method area。执行引擎(Execution engine)执行引擎: 执行classes中的指令运行时数据区(Runtime data area)运行时数据区:JVM的内存本地接口(Native Interface)本地接口: 与本地方法库交互,是其它编程语言
2022-05-05 12:59:35 834
原创 Spring Cloud Gateway路由及过滤规则
路由断言FactoriesSpring Cloud Gateway包含许多内置的路由断言Factories。这些断言都匹配HTTP请求的不同属性。After 路由断言After Route Predicate 在该日期时间之后发生的请求都将被匹配(UTC日期个数xxxx-xx-xxTxx:xx:xx+08:00[Asia/Shanghai])spring: cloud: gateway: routes: - id: after_route uri:
2022-03-31 10:46:53 2342
原创 SpringBoot自动装配原理
SpringBoot自动装配原理项目依赖管理//依赖管理 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.4.RELEASE</version></parent>//他的父项目 &
2021-01-08 10:54:55 524 4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人