- 博客(13)
- 收藏
- 关注
原创 AQS原理分析-独占篇
从ReentrantLock解读AQS独占锁原理JDK中JUC包多线程内容的讲解,涉及「线程池、阻塞队列、协作器、ThreadLocal、Atomic、Future、锁、CAS、AQS 等」; Object 下wait、notify ;JVM层面 synchronized、volatile 等。 最新文章公众号持续更新中… 欢迎骚扰,分享技术,探讨生活,前言:“为更好的理解AQS的设计思想,本文通过从ReentrantLock来逐步分析AQS实现独占模式的的核心实现逻辑。”Reentrant
2021-01-12 11:47:01 176
原创 JVM垃圾回收和内存分配策略
JVM垃圾回收器和内存分配策略JAVA中虚拟机的讲解,涉及「类加载机制,运行时区域,执行引擎,垃圾回收等」及对voliate, synchronized的JVM层面实现机制等。持续更新中…。 最新文章公众号持续更新中… 欢迎骚扰,分享技术,探讨生活。前言:程序计数器、虚拟机栈、本地方法栈 3 个区域随线程生灭「线程私有」,栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作。Java 堆和方法区则不一样,一个接口中的多个实现类需要的内存可能不一样,一个方法中的多个分支需要的内存也可
2021-01-04 10:15:59 258
原创 JMM角度详解Volatile
Volatile详解JAVA中虚拟机的讲解,涉及「类加载机制,运行时区域,执行引擎,垃圾回收等」及对voliate, synchronized的JVM层面实现机制等。持续更新中…。 最新文章公众号持续更新中… 欢迎骚扰,分享技术,探讨生活。前言:Volatile是JVM提供的轻量级的同步机制保证可见性不保证原子性禁止指令重排在synchronized那篇中扯出来过这几个特性,其中synchronized是重量级锁,且还有可重入性,主要一些区别如下。 1.volati
2021-01-04 10:14:59 323
原创 synchronized实现原理全面解析
synchronized实现原理JDK中JUC包多线程内容的讲解,涉及「线程池、阻塞队列、协作器、ThreadLocal、Atomic、Future、锁、CAS、AQS 等」; Object 下wait、notify ;JVM层面 synchronized、volatile 等。 最新文章公众号持续更新中… 欢迎骚扰,分享技术,探讨生活,前言:造成线程安全的原因主要就是**:存在共享数据(也称临界资源),存在多个线程共同操作共享数据**。当存在多个线程操作共享数据时,需要保证同一时刻有且只有一
2020-12-30 15:44:45 435
原创 JVM详解运行时区域-JVM系列
JVM架构图「原|简」JAVA中虚拟机的讲解,涉及「类加载机制,运行时区域,执行引擎,垃圾回收等」及对voliate, synchronized的JVM层面实现机制等。持续更新中…。 最新文章公众号持续更新中… 欢迎骚扰,分享技术,探讨生活。虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验、解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型,在这阶段会在Stack Area区域做对应的内存分配,以及在运行过程中的堆 栈上的操作,本文主要针对内存区域进行讲解。
2020-12-30 15:43:13 181
原创 ThreadLocal源码分析-多线程系列
ThreadLocal源码解读前言:为更好的理解ThreadLocal内部原理,记录一下源码分析。JDK中JUC包多线程内容的讲解,涉及「线程池、阻塞队列、协作器、ThreadLocal、Atomic、Future、锁、CAS、AQS 等」; Object 下wait、notify ;JVM层面 synchronized、volatile 等。 最新文章公众号持续更新中… 欢迎骚扰,分享技术,探讨生活,Hash相关初始操作public class ThreadLocal<T> {
2020-12-22 19:11:34 77
原创 JVM详解类加载机制-JVM系列
JVM架构图「原|简」JAVA中虚拟机的讲解,涉及「类加载机制,运行时区域,执行引擎,垃圾回收等」及对voliate, synchronized的JVM层面实现机制等。持续更新中…。 最新文章公众号持续更新中… 欢迎骚扰,分享技术,探讨生活,虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验、解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型,本文主要讲解的就是架构原图的Class Loader SubSystem 「类装载系统」阶段,当然肯定涵盖常说的双亲委派模
2020-12-21 18:56:29 151
原创 线程基础讲解-多线程系列
线程基本概念JDK中JUC包多线程内容的讲解,涉及「线程池、阻塞队列、协作器、ThreadLocal、Atomic、Future、锁、CAS、AQS 等」; Object 下wait、notify ;JVM层面 synchronized、volatile 等。 最新文章公众号持续更新中… 欢迎骚扰,分享技术,探讨生活,线程状态图线程共包括以下5种状态:新建状态(New) : 线程对象被创建后,就进入了新建状态。例如,Thread thread = new Thread()。
2020-12-18 10:08:12 86
原创 Canvas小球动画
Canvas—小球动画前言:该动画就是逐帧改变小球位置,主要实现分为三部分:边界回弹判定,计算小球位置,绘制小球边界回弹判定判定分为上下左右四个方向,就是将入射角改变为反射角这里要提到一点,角度是顺时针从0到360度的,与常识中的相反// 边界判定function arriveBorder(ball){ var d = ball.d; if (ball.x < (ball.r)) { // 左 ball.d = d > 180? 360 - (d - 180) :
2020-12-16 00:05:09 230
原创 CSS齿轮转动加载动画
CSS——齿轮转动加载动画**前言:**该动画主要流程分为三块:绘制齿轮,齿轮转动动画,出场动画绘制齿轮绘制齿轮主要是使用svg进行绘制的<svg class="guaongRudderOne"> <circle class="guaongRudderLine" cx="50" cy="50" r="40" fill="#fff"/> <line class="guaongRudderLine" x1="7" y1="25" x2="93" y2="75"
2020-12-15 23:59:49 824
原创 ThreadPool线程池详解-多线程系列
线程池简介线程池,顾名思义是一个放着线程的池子,池子中的线程主要是用来执行任务的。当用户提交任务时,线程池会创建线程去执行任务,若任务超过了核心线程数的时候,会在一个任务队列里进行排队
2020-12-15 23:36:56 456
原创 ThreadLocal详解-多线程系列
带你走进ThreadLocal的内心世界简介ThreadLocal提供一个线程(Thread)局部变量,访问到某个变量的每一个线程都拥有自己的局部变量。说白了,ThreadLocal就是想在多线程环境下去保证成员变量的安全。场景典型场景1 : 每个线程都需要一个独享的对象(时间日期工具类,随机数工具)典型场景2: 每个线程内需要保存全局变量(拦截器获取用户信息)让不同方法共享,避免参数传递进化论中ThreadLocal是怎么演变的2 个线程new自己的SimpleDateFormate
2020-12-15 23:32:50 230 1
原创 毕业设计-进销存管理系统
毕业设计-进销存管理系统毕业设计整体流程已发文微信公众号,包含论文,源码,数据库,文档等所有设计流程和材料。在使用过程中遇到问题,可以直接联系作者QQ:809676295项目地址:sdims 不要白嫖啊,给个star支持一下!1.系统展示登录界面系统管理员主页商品管理界面可视化统计2.流程图3.系统功能模块设计本系统主要分七大功能模块:基础信息模块,库存管理模块,订单审核模块,采购管理模块,销售管理模块,数据分析模块,用户管理模块。据库概念模型数据库逻
2020-12-01 17:54:25 3070
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人