- 博客(17)
- 收藏
- 关注
原创 从volatile开始简单聊聊Java多线程
在多线程中,变量的值都是独立的,但添加了volatile这访问修饰符的变量,别的线程也可以获取到对应的值了,volatile是如何实现的呢?我们就从这开始聊聊java多线程这里就要聊聊多线程的内存结构了从。细说的话通过上面可以看到对应的内容,这简单说下相关的部分。
2024-05-17 11:56:57 967
原创 自动化代码质量审查sonar
自己做项目管理时候是不是有个困扰,明明自己已经做了代码规范,产出了文档,还有这么多开发人员没有按照规范执行?项目代码写法五花八门太难维护了?是不是面试时候有面试官问,项目管理时候代码质量怎么得到保证的?如何指定规范并让开发强制执行?如果有开发没按规范编写代码有什么办法第一时间知道?
2024-05-11 18:04:55 786 1
原创 java垃圾回收的那点事
给对象添加一个引用计数器,当对象增加一个引用时计数器加1,引用失效时计数器减1。引用计数为0的对象可被回收。两个对象出现循环引用的情况下,此时引用计数器永远不为0,导致无法对它们进行回收。因为循环引用的存在,所以 Java 虚拟机不适用引用计数算法。
2024-05-08 21:44:29 1146 1
原创 rapid-generator代码生成器实战篇
平时业务需求开发,经常面临的枯燥而又机械的创建各种实体类,写一些无脑的CRUD,还要对着数据库给实体类添加注解和注释,接口使用的实体类还要写参数效验,前端调用后端还要对着接口文档写请求地址,请求参数,返回内容还需要接收处理等等还有很多无脑操作的工作,既浪费时间又没啥营养。于是我们可以把这些有一定规则的代码让他自动生成,这样我们就可以专注业务或技术点来写代码了,摆脱无脑和机械的操作。废话不多说,来干活。
2024-04-30 15:25:05 738 2
原创 从synchronized深入浅出java锁的机制
synchronized在多线程并发编程中一直是元老级人物,而且在JDK1.6之前由于实现同步所带来的性能消耗过大,因而被称为重量级锁,随着JDK1.6对的各种优化,它现在也就没有那么重量级了。这里就涉及到jdk1.6升级新增的偏向锁,下面锁升级和锁的内存重点以偏向锁为线索来介绍。
2024-04-29 15:27:10 667 3
原创 docker中安装宝塔和使用
注意,宝塔老版本默认端口是8888,新版本端口是随机端口(需要进入容器,修改宝塔的端口为映射端口),我这修改了端口,是因为端口被占用,可以根据实际使用情况增加端口。3.在PHP项目中添加站点,把阿里云配置的域名配置进去,然后把前端项目路径配置好(前端项目是通过项目中的drone.yaml配置信息,自动同步到宝塔映射的地址上)进入宝塔面板,选择面板设置,点击全部设置,往下可以看到对应修改端口,访问地址,账号密码的地方。2.在宝塔中点击网站,如果没安装ng,打开如果提示安装则安装完后就可以使用。
2024-04-26 14:45:02 3374 7
原创 分布式事务seata搭建
在官网查看自己需要的版本,官网地址是这里用当前最新版本1.6.1为例当前搭建方式为seata整合nacos,连接mysql数据库方式实现的。nacos和mysql数据库需要提前准备好。首先准备配置文件application.yml,我这里把名字修改为application-nacos.yml。
2024-04-26 10:46:32 1038 1
原创 docker安装redis
redis启动时候需要加载配置文件,以上命令加载配置文件,redis.conf配置文件可以去官网下载或去容器里面拿,获得之后修改里面配置,开启远程连接,设置持久化aof和rdb,后续玩哨兵或代理集群时候也是通过修改这配置文件,当前项目没有设置redis账号密码,所以这地方我们可以认证这块用默认。推荐安装redis6.0以上版本,6.0新增了代理模式集群和增加了多线程io(内容过大时候通过多线程并发处理提供性能,但需要手动开启这功能),下面以redis6.0为例来安装。通过命令获取自己准备安装的redis。
2024-04-25 16:40:06 334 3
原创 docker安装nacos
提前准备好application.properties,并且配置好启动模式,这以单机为例,集群需要额外准备cluster.conf文件。application.properties里面配置这就不做介绍,详情参考nacos.io。当前需求是要求nacos使用mysql,如果是使用nacos1.3之后的持久化方式,直接把上图选中的内容去掉即可。选择一个nacos,这里选择的是nacos/nacos-server,然后执行命令。ps:数据库连接是在application.properties配置文件中配置的。
2024-04-25 11:40:09 197 3
原创 安装docker和docker-compose
文件放在/usr/local/bin/docker-compose文件夹下。中途提示安装的都选y,上图就是成功界面。docker -v,如图,说明安装成功。#创建软链接(可选)
2024-04-25 09:51:19 622 1
原创 docker安装mysql以及数据库恢复/找回数据
然后把容器内的my.cnf拷贝出来(容器内没有vi命令,不方便编辑),添加lower_case_table_names=1。首先进入存储地址,如果docker安装的进入挂载地址,不知道挂载地址的可以进入容器。《容器id》:/etc/mysql/my.cnf my.cnf。执行结束后,再把剩余的binlog文件全部按上面步骤执行完即可。生成后如果在容器中,拷贝出来,查看里面内容是否是需要的。《容器id》:/etc/mysql/my.cnf。首先停止容器,并删除挂载的data,
2024-04-24 16:58:54 1138 1
原创 idea注释
还是在file->setting->Editor->LiveTemplates这个路径下点击一下刚刚你添加的那个名字(我这是template),然后点击右边上面那个绿色的+号,选择LiveTemplate双击,填写下面的图上的框。选择enter, 点击右边上面那个绿色的+号,选择Template Group双击,然后弹出一个窗口,随便添加一个名字,我这里添加的是template然后点击OK。点击 Edit variables。File Header添加内容。打开idea,选择顺序。
2024-04-24 15:23:13 413
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人