自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 搞懂volatile(java线程和unix线程)(一)

写在开头的地方,本文是笔者的理解,不一定正确,但属于是自己较为深入的学习所得,在此进行分享学习。话不多说,开搞, 一些volatile的基础知识我就不说了,我们先来看两类代码java和c++的先上java的代码,非常简单public class Test_1 { private static int a = 0; public static void main(String[] args) { new Thread...

2022-02-27 15:22:37 133

原创 jvm知识小课堂(一)

在群里看到有人问了这样的一个问题:a+b操作数栈过程,方法返回地址什么时候回收,程序计数器什么时候为空(开始想的很简单,后面仔细思索了一下发现不对)好吧,其实是三个小问题,我们先来看第一个a+b操作数栈过程,首先要知道什么是操作数栈JVM是软件模拟的虚拟机,基于栈运行虚拟机栈中又有很多栈帧,栈帧又被分成了其他区域。理解虚拟机栈的核心就是理解栈帧中的这几个区域1、局部变量表2、操作数栈3、动态链接4、返回地址5、附加信息操作数栈是一个基于数据结构栈实...

2021-09-24 22:57:47 323

原创 springboot2.5.x(spring5.3.x)版本bootstrap.yml不生效

创建测试项目总是用最新版的springboot,但是昨天刚创建的一个springboot项目以依赖nacos-config居然失效了,追溯了一下,记录找到问题和解决问题的过程废话不多说,开始这个是启动类的配置...

2021-07-08 20:21:29 1790 2

原创 数组长度在jvm中的存储

还记得上一篇最后留给小伙伴们的问题么? java中数组的长度(例如 arr.length)这个属性,如果不开启指针压缩,则在arrayOopDesc中声明的静态字段之后分配如果开启指针压缩,它将占oopDesc中_klass的后半部分 那么本篇文章就来证明上面的描述是否正确。 public static void main(String[] args) { int [] arr = ...

2021-06-24 12:37:21 486

原创 一文带你解锁什么是指针压缩

指针压缩,了解过jvm的都知道,可以节约内存,8bit对齐,在32位下可以放32g,那么它到底怎么实现的呢?class oopDesc { friend class VMStructs; public://这个就是我们熟知的对象头 volatile markOop _mark;//这个联合体就是指针压缩的关键 union _metadata {//关闭指针压缩时 klass pointer采用的是_klass 指针占 8b Klass* _klass;//开

2021-06-16 22:45:21 414

原创 nacos注册中心源码解析(一)

说道源码解析,那就不得不把源码从git上下载下来,所以想要深入的童鞋一定要把源码给下载下来。那么接下来就直接开始吧!那么从哪开始呢?我们日常使用当然是启动nacos,然后在一个springboot配置中添加nacos服务发现的一个jar包,我们项目用的是2.2.3版本的<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-s...

2021-04-21 23:10:50 763

原创 借助spring写个@MapperScan

写在开头的话: 本篇涉及到spring的是BeanFactoryPostProcesser,BeanDefinition,授人以鱼不如授人以渔,我写的不一定对,有错的地方欢迎指正,一起共同进步呗。老规矩,简单的pom文件,为了和mybatis区分,我这里所有@MapperScan中的Mapper我会用My来替代<dependencies> <dependency> <groupId>org.springframework.boot&lt...

2020-10-20 00:24:08 479

原创 写个分布式锁的aop

写在开头的话: 本篇涉及到AspectJ,springAop,springel表达式,redis分布式锁,授人以鱼不如授人以渔,我写的不一定对,有错的地方欢迎指正,一起共同进步呗。进入主题,老规矩pom文件如下 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</arti...

2020-09-09 23:44:35 187

原创 来写个mybatis的分页插件吧

写在开头的话: 本篇涉及到springBean的声明,mybatis的拦截器,对sql可扩展实现,mybatis的部分源码,授人以鱼不如授人以渔,我写的不一定对,有错的地方欢迎指正,一起共同进步呗。emmm,要写一个mybatis的分页插件,那需要干点什么事情呢?知道其原理,找个参考对象参考参考,照葫芦画瓢容易不少。那就以pageHelper这个市面上流行较广的插件作为参考吧。进入主题,老规矩,pom文件依赖如下 <dependency> ...

2020-06-06 19:05:37 2746 4

原创 10分钟写个动态改变日志等级的接口

故事背景是这样的,最近入职了家公司,由于公司规模不大,正式环境居然是不打log日志的,原因就是如果打了日志,那么流量大,会导致日志文件太大,占用过多的内存,但是没有日志又很难定位问题,那有没有一个在查问题的时候就把日志等级动态调整一下的方法呢?基于这个问题有了今天的这篇文章。 本文难度不高,但需要有一定spring的源码知识,话不多说,开搞!(不想看过程的可以从后往前看!) <dependencies> <dependency...

2020-05-22 21:33:53 349

原创 30分钟教你手写springmvc极简版

话不多说直接直接开干,这里就不bb springmvc的原理啥的。项目结构如下,pom文件是个没有做任何引用,此时所有文件都只是做了一个创建,没有任何代码,App里面有一个空的main方法那就开始吧!这是spring包中的@Controller注解,核心注解是前两个,第四个注解是spring的组件注解,但是我们写的用不到spring框架,所以不加,第三个注解这里不做解释,...

2020-03-30 18:22:38 228

原创 阿里云下RokectMQ4.6版本搭建

官网:http://rocketmq.apache.orgquick-start :http://rocketmq.apache.org/docs/quick-start/下载得到这个文件:rocketmq-all-4.6.0-source-release.zip然后把下载好的包上传到服务器上:1、所需配置如下:需要jdk和mvn。那就百度下载tar.gz格式的...

2020-01-10 22:19:34 533

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除