自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 透过DCL单例深入理解volatile关键字作用与原理

譬如:某一时刻有N个线程调用此方法,其中只有一个线程可以进入被synchronized修饰的代码块中,其他N-1个线程都被阻塞在外,当第一个线程初始化单例完成后,释放锁,如果不加singleton==null的话就会造成重复。2.lock指令:总线锁,在同一时刻只有一个线程能操作内存(主存)中的数据,会导致其他CPU核心中的缓存失效(缓存一致性协议:MESI),所有cpu都有这个指令。当然,指令重排序在单线程的中不会有问题,因为指令重排序的定义就是:指令重排序不会影响单线程环境下的结果最终一致性。

2024-07-08 10:26:28 802 1

原创 Nacos服务器ip和项目ip不同导致服务无法访问

公司的开发环境服务器很久不用了,导致调试功能和查找bug都不是很方便,所以就琢磨着直接在idea本地项目连接测试环境的数据库,在历经千辛万苦的摸索之后,终于连上了测试环境的数据库,但是随之而来的新问题更让人头疼,真是一波还未平息,一波又来侵袭~。公司的测试服务器是阿里云,而我idea本地启动项目是在公司的内网,这就导致本地启动的项目注册到nacos后的地址仍然是内网地址,从而通过网关访问找不到注册的服务,直接报错502Bad Gateway。这里我使用的是网云穿(有免费套餐),免费的还有Natapp。

2024-06-28 15:38:34 306

原创 在Java项目中连接需要SSH隧道的数据库

提供的ssh转发功能实现:使用servlet监听器在web项目启动时连接到ssh服务器,在初始化dataSource时将数据库连接请求转发到目标数据库,后续所有对数据库的操作都通过转发实现对目标数据库的操作。公司的开发环境已经日式衰微,再加上测试人员测试都在测试环境上,但是测试环境的数据库需要通过ssh隧道才能连接上,于是研究了一波,才有了下文。最后数据库如下配置,我这里使用的是Druid连接池。

2024-06-27 10:55:45 301

原创 MYSQL中var和varchar类型的区别

我们在建表的时候如果使用char的话,那么使用char类型的字符串占用的字节空间是固定的,如果长度不满50个字符,则会默认填充0(二进制)。例如:该字段只存放了长度为20的字符串,那么该字段实际占用字节数就是字符串长度的字节数(但是mysql会维护一个字段去保存使用varchar类型的字段的实际长度,若长度小于255,则维护的字段是一个字节,若大于255,则需要两个字节),所以varchar的实际占用字节数=字符串占用字节数+保存字符串占用字节数的字节。

2024-06-25 11:07:05 186 1

空空如也

空空如也

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

TA关注的人

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