- 博客(8)
- 收藏
- 关注
原创 synchronized关键字,理解偏向锁、轻量级锁和重量级锁
思考:如何理解和证明偏向锁和轻量级锁和重量级锁的存在的首先了解下java中一个对象的组成结构一个对象存在内存中是由三个部分组成的:1、mark word2、指向类的指针3、对齐填充字节链接: java中对象的组成链接: openjdk源文档链接: 偏向锁、轻量级锁和重量级锁证明...
2021-04-02 08:56:56 115
原创 activiti7工作流配置
参考:http://www.yund.tech/zdetail.html?type=1&id=babd8930-f8da-4659-a38a-73d01ce6b531一、开发前环境准备Idea(2019.2.3),springboot(2.2.7),activiti7,mybatis(2.1.2), druid(1.1.10);1、插件下载插件官网:https://plugins.jetbrains.com/plugin/7429-actibpm/versions下载完成之后
2020-06-28 18:34:38 1584
原创 如何计算一个java对象的内存大小
对于知道一个java对象的内存大小,在我们进行jvm的内存调优意义重大。对于一个亿万级别的秒杀系统,每秒都会在我们的代码层面创建很多的对象,对于这样的大量对象的产生,一旦出现full gc,将会使我们的系统暂停,将非常影响我们的系统的用户体验。(待更新。。。。)...
2020-05-28 11:36:48 235
原创 线程池原理
线程池的意义?其实线程是一个稀缺资源,我们的操作系统空间分为用户空间和内核空间,只有我们系统的内核空间才能调用我们的内核资源的,然后去调用我们的cup资源。为什么只用内核空间才能调用我们的系统内核?其实是为了安全考虑,不能够让所有的进程都能够调用我们的内核资源,万一植入病毒尼?这样对我们的整个系统的安全性和稳定性都有影响。所以只有我们的内核空间里的线程才能调用我们的内核。用户空间里的进程运行在用户空间,这样即使我们的进程崩溃了也不会影响我们的内核空间。所以用户级别的线程(user-level-t
2020-05-28 08:25:32 154
原创 spring boot 配置redis集群
1自己用idea搭建一个spring boot项目2pom文件添加依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependenc
2020-05-25 16:57:52 260 1
原创 docker搭建redis集群
1通过docker获取redis镜像通过命令docker search redis获取安装最新的redis镜像也可以直接通过命令安装$ docker pull docker.io/redis:5.0.0,通过docker images 查看是否安装成功$ docker network create redis-net创建redis-net虚拟网卡,目的是让docker容器能与宿主桥接网络,并间接与外界连接。查看redis-net虚拟网卡网关ip$ docke...
2020-05-21 19:46:12 729 2
原创 策略模式
使用策略模式来解决if-else的问题:对于策略模式的使用场景:在最近写代码的时候遇见了一个这样的业务问题,就是根据一卡通的状态去展示一卡通的一些个人卡片信息,有这么几种状态:申请状态、补办挂失、延期管理、清退申请这么几种状态,对于这么样的业务我们通常一个接口定义就可以解决这样的问题,只需要给每一种状态赋予特定的id表示即可通过一个接口做到,如下:public List<cardInfo> getCardInfoList(String status) {
2020-05-20 17:31:23 216
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人