- 博客(20)
- 收藏
- 关注

原创 JUC 线程池正确使用姿势
线程池(Java中有哪些方法获取多线程)前言获取多线程的方法,我们都知道有三种,还有一种是实现Callable接口实现Runnable接口实现Callable接口实例化Thread类使用线程池获取Callable接口Callable接口,是一种让线程执行完成后,能够返回结果的在说到Callable接口的时候,我们不得不提到Runnable接口/** * 实现Runnable接口 */class MyThread implements Runnable { @Overrid
2020-10-16 23:49:41
262
原创 线上JVM调优
什么是线程堆栈2 堆栈中线程状态分析3 通过线程堆栈日志定位并解决死锁问题实际工作中很难保证以 固定的顺序去获取锁4 通过线程堆栈日志定位资源不足问题jstatck5 通过线程堆栈日志排查系统中存在大量WAITING线程的原因...
2021-10-18 00:31:14
155
原创 打log正确的姿势
优秀的日志记录规范选择合适的日志级别对日志合理性 正确性 必要性分析需要规避的日志打印过程日志要对业务逻辑进行解释logback的MDC 解析微服务下的分布式调用链路追踪日志***!!!!!!!!!!!!!见本地代码!!!!!!!!!!!!***!!好的日志应该怎么样!!...
2021-10-17 21:38:30
183
原创 JUC正确姿势
JUCjuc基础1为什么多线程如此重要摩尔定律失效,单核CPU主频提升缓慢,已经开始采用多核时代高并发系统, 充分利用CPU,异步+回调 解决生产需求问题2 进程线程是什么?进程: 是程序的一次执行,是系统进行资源分配和调度的独立单位,每一个进程都有它自己的内存空间和系统资源线程: 在同一个进程内又可以执行多个任务,而这每一个任务我们尽可以看做是一个线程,一个进程会有1个或多个线程的。管程: Montor(监视器) 也就是我们平时所说的锁3 用户线程和守护线程java线程分为
2021-10-10 23:49:39
107
原创 面试整理啊
1 concurrentHashMap1.7 与 1.81.71.82 集合遍历删除 快速失败机制 与 安全失败机制写时复制那个集合类3 集合遍历删除 快速失败机制 与 安全失败机制
2021-10-06 01:45:54
79
原创 docker 正确姿势
官方文档https://docs.docker.com/engine/install/centos/先按照 官方文档安装docker官方文档的一个坑 #注意加上 .x86_64 大版本号#yum install docker-ce-3:20.10.5-3.el7.x86_64 docker-ce-cli-3:20.10.5- 3.el7.x86_64 containerd.io #注意加上 .x86_64 大版本号...
2021-10-05 00:58:50
81
原创 Mysql正确姿势
1 表属性设置为NULL,你可能要面临很多麻烦mysql 允许对null列加索引 但是只有 is null 才会走索引 !!!唯一性索引 允许插入多条为null的数据 对后续如果查询使用select one 会有影响 !!!null 参与计算 结果都是null 也可能会对后续程序有影响 !!!null 参与聚合 eg count 函数返回的这一列不为null的总和 也可能会对后续程序有影响 !!!null 参与排序 null的列
2021-10-03 21:31:22
118
原创 Spring常见大坑
1 spring Bean 的默认名称生成策略导致的空指针定义一个Bean(使用 @Component @Service 等注解标记) spring 生成的Bean名称是把第一个字母变成小写,其他不变Apple -> apple User -> user但是事实果真如此么?beanName 生成源码如下也就是如果开头两个字母全是大写的时候 beanName 就是类名不在作转换2 使用了 @Autowired 注解,但是依然出现了空指针3多线程下spring B
2021-10-03 00:41:29
197
原创 redis 6.X 正确使用姿势
标题redis1 官网https://redis.io/http://www.redis.cn/http://doc.redisfans.com/2 配置文件6.0.8版本 安装后需要修改配置文件1 修改daemonize 改为 daemonize yes2 修改protected-mode yes 改为 protected-mode no3 注释掉 #bin 127.0.0.13 redis单线程&多线程问题redis 是单线程还是多线程-redis的版本有很多3.
2021-09-05 23:47:04
1067
原创 Linux 正确使用规则
Linux 用户与用户组用户1)Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。2)对用户的操作新增用户:useradd 新用户名设置密码: passwd 用户名用户是否存在:id 用户名切换用户:su – 切换用户名查看当前用户/登录用户:whoami/ who am I删除用户:userdel6.2 用户组1)类似于角色,系统可以对有共性的多个用户进行统一的管理。2)对用户组的操作
2021-01-04 15:46:34
162
原创 spring循环依赖正确姿势
循环依赖:通常来说,如果问Spring容器内部如何解决循环依赖,一定是指默认的单例Bean中,属性互相引用的场景spring 常用注入方式有两种构造器注入: 会引起循环依赖问题set方法注入: 不会引起循环依赖问题我们AB循环依赖问题只要A的注入方式是setter且singleton,就不会有循环依赖问题...
2020-12-20 15:08:25
96
原创 阿里云服务器centos7环境搭建gitLab&jenkins
在防火墙里开放http跟ssh端口yum install lokkit yum install -y curl policycoreutils-python openssh-server croniesystemctl start postfix 开机自启动chkconfig postfix on centos7 systemctl enable postfix.service这句是用来做防火墙的,在防火墙里开放http跟ssh端口lokkit -s http -s ssh遇到
2020-11-19 00:03:18
511
原创 Java 日常开发积累
java去除List集合中null元素list.removeAll(Collections.singleton(null));List nullList = new ArrayList(); nullList.add(null); list.removeAll(nullList); Iterator it = list.iterator(); while (it.hasNext()) { if (it.next() == null) {
2020-10-27 22:13:19
243
原创 RabbitMQ 正确使用姿势
RabbitMQ三个核心概念Exchange:message 到达 broker 的第一站,根据分发规则,匹配查询表中的 routing key,分发消息到queue 中去。常用的类型有:direct (point-to-point), topic (publish-subscribe) and fanout (multicast)Queue:消息最终被送到这里等待 consumer 取走Binding:exchange 和 queue 之间的虚拟连接,binding 中可以包含 routing k
2020-10-17 00:41:06
342
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人