自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

立志成为一个前端、后端、测试全方位发展的程序员

分享一些学习、工作过程中的技术总结

  • 博客(9)
  • 资源 (4)
  • 收藏
  • 关注

原创 堆内存分配的并发问题

在实际的开发过程中,会经常的创建对象,作为虚拟机,必须保证线程安全。通常来讲虚拟机采用两种方式保证线程安全一、CAS + 失败重试CAS是一种乐观锁的实现方式,每次不加锁假设没有冲突的去完成某项操作,如果因为冲突导致操作失败就重试,直到成功为止。详见博客,传送地址:Java并发编程之 无锁(CAS)二、TLABTLAB是在Java堆空间的伊甸园划分出来的针对每个线程的内存空间,专门在该区域为该线程创建的对象分配内存。它的主要目的是在并发环境下进行内存分配的时候,减少线程之间对于内存空间的竞争,加速

2021-07-30 20:04:23 865

原创 ThreadLocal内存泄漏问题

ThreadLocal原理阅读本文章之前,需要先了解Java中强软弱虚的概念,传送地址:Java中强软弱虚四种引用详解文章目录ThreadLocal原理一、介绍二、快速入门三、ThreadLocal与synchronized的区别四、ThreadLocal内部结构五、ThreadLocal核心方法源码1. set方法2. get方法六、弱引用的使用1. 为什么要使用弱引用?2. 使用弱引用后是否依然存在内存泄漏?3. 线程池归还线程必须清理Map一、介绍可以解决多线程的数据安全问题,将当前线程关联

2021-07-25 09:36:53 201 1

原创 Java中强软弱虚四种引用

Java中强软弱虚四种引用详解文章目录Java中强软弱虚四种引用详解一、强引用二、软引用三、弱引用四、虚引用强、软、弱、虚四种引用的引用强度逐渐减弱一、强引用默认的引用类型(99%以上的引用都是强引用),即类似 object o = new object() 这种引用关系使用new操作符创建一个新的对象,并将其赋值给一个变量的时候,这个变量就成为指向该对象的一个强引用,这个对象成为被强引用的对象如果被强引用的对象正在被直接或间接的引用着,这个对象就永远不会被垃圾回收(即使溢出也不回

2021-07-23 09:10:34 1095

原创 interrupt、interrupted 、isInterrupted 区别

interrupt、interrupted 、isInterrupted 区别文章目录interrupt、interrupted 、isInterrupted 区别一、interrupt二、interrupted三、isInterrupted一、interrupt一个线程不应该由其他线程来强制中断或停止,而是应该由线程自己自行停止。所以,Thread.stop, Thread.suspend, Thread.resume 都已经被废弃了。而 Thread.interrupt() 的作用其实也不是中断

2021-07-19 21:33:01 1142

原创 AQS源码分析

深入ReentrantLock底层原理文章目录深入ReentrantLock底层原理一、AQS简介1. 成员变量2. Node节点3. 继承关系二、获取锁源码分析1. 加锁过程中的一个问题三、锁发生竞争源码分析1. 锁重入的体现2. 竞争锁时的一个问题3. t3线程入队的情况四、解锁源码分析一、AQS简介抽象队列同步器 AbstractQueuedSynchronizer 简称AQS,它是同步器的基础组件,JUC各种锁的底层实现均依赖于AQS1. 成员变量state 表示锁状态值为0表

2021-07-19 18:19:19 1003 2

原创 Netty线程模型

Netty线程模型文章目录Netty线程模型一、Reactor模型1. 单Reactor单线程2. 单Reactor多线程3. 主从Reactor多线程二、Netty线程模型一、Reactor模型Reactor模式,通过一个或多个输入同时传递给服务处理器的模式,服务器端程序处理传入的多个请求,并将它们同步分派到相应的处理线程, 因此Reactor模式也叫Dispatcher模式 。Reactor模式使用IO复用监听事件,收到事件后,分发给某个线程(进程),这点就是网络服务器高并发处理的关键。1. 单

2021-07-13 17:48:31 272

原创 Docker 安装 MySQL 8.0,详细步骤

Docker 安装 MySQL 8.0文章目录Docker 安装 MySQL 8.0一、拉取镜像二、查看镜像三、运行容器四、查看运行情况五、进入容器六、配置MySQL1. 进入MySQL2. 配置支持远程连接一、拉取镜像docker pull mysql:8.0.21二、查看镜像docker images三、运行容器docker run -p 3306:3306 --name mysql8.0 -e MYSQL_ROOT_PASSWORD=设置密码 -d mysql:8.0.21代码

2021-07-06 08:31:32 17954 5

原创 Docker 安装 Redis-5.0.12,详细步骤

Docker安装Redis-5.0.12文章目录Docker安装Redis-5.0.12一、拉取镜像二、查看镜像三、修改配置文件四、启动容器五、进入容器一、拉取镜像docker pull redis:5.0.12二、查看镜像docker images成功拉取三、修改配置文件因为 redis 默认配置你会发现只能够本地连接,不能进行远程访问,使用 Redis Desktop Manager连接都会报错,因此需要手动挂载 redis 配置文件。创建文件夹mkdir /opt/doc

2021-07-05 21:34:30 1781

原创 Netty核心组件 + 消息边界问题的解决

推荐先阅读关于NIO的文章作为预备知识,传送地址:NIO三大组件介绍及ByteBuffer的使用NIO多路复用之Selector的使用Netty核心组件文章目录Netty核心组件一、入门案例1. 概述2. 入门案例3. 流程梳理二、组件1. EventLoop2. Channel2.1 ChannelFuture2.2 CloseFuture2.3 Netty为什么使用异步3. Future & Promise3.1 JDK-Future3.2 Netty-Future3.3 Netty-P

2021-07-01 10:24:23 280

Java反编译工具 jd-gui 官方正版下载

Java反编译工具 jd-gui 官方正版下载

2021-05-12

阿里巴巴开源在线分析诊断工具Arthas(阿尔萨斯)

阿里巴巴开源在线分析诊断工具Arthas(阿尔萨斯)

2021-05-11

JDK8官方正版安装包

JDK8官方正版安装包,基于x64的win系统

2021-04-30

汇编语言第三版答案.zip

王爽《汇编语言》第三版,课后习题参考答案

2021-04-29

空空如也

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

TA关注的人

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