自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (4)
  • 收藏
  • 关注

原创 Java多线程(5)JMM详解

上一篇:Java多线程(4)ReentrantLock详解

2020-10-30 18:36:31 163

原创 Java多线程(4)ReentrantLock详解

上一篇:Java多线程(4)线程活跃性问题ReentrantLock详解一. 什么是ReentrantLockReentrantLock称为重入锁,比内部锁synchonized拥有更强大的功能,它可中断、可定时、设置公平锁使用ReentrantLock时,一定要释放锁,一般释放放到finnal里写...

2020-10-29 22:02:44 387 1

原创 Java多线程(3) wait、notify 详解

上一篇 :Java多线程(2)synchronized详解wait、notify / notifyAll一. 对于wait()和notify()、notifyAll的理解对于wait()和notify()的理解,还是要从jdk官方文档中开始,在Object类方法中有void notify()Wakes up a single thread that is waiting on this object’s monitor.译:唤醒在此对象监视器上等待的单个线程void notifyAll

2020-10-27 11:48:22 291

原创 Java多线程(2)synchronized详解

上一篇:Java多线程(1)线程与进程synchronized详解简介可能在很多人眼里,在java中提到 锁、安全性、同步,首先想到的则是java提供的大佬(synchronized)。那么为什么在多线程下,单单靠一个关键字修饰代码块就可以实现所谓的安全性呢?可以说是对初学者而言及神奇又强大的存在。也成了大多数初学者百试不爽的良药但是在逐渐对java认知的深入,我们认识到synchronized对于jvm来说是一个重量级的锁。其笨重无比,在如今人们对速度和性能极致要求的现在,现在此时并不能满足性能上

2020-10-23 00:57:20 285 2

原创 Java多线程(1)线程与进程

多线程作为Java中很重要的一个知识点,在此还是有必要学习一下的线程与进程进程 是程序的一次动态执行过程,它需要经历从代码加载,代码执行到执行完毕的一个完整的过程,这个过程也是进程本身从产生,发展到最终消亡的过程。多进程操作系统能同时达运行多个进程(程序),由于 CPU 具备分时机制,所以每个进程都能循环获得自己的CPU 时间片。由于 CPU 执行速度非常快,使得所有程序好像是在同时运行一样,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程线程是指进程中的一个执行

2020-10-21 00:46:19 188

原创 深入理解Java虚拟机—线程安全与锁优化

上一篇:深入理解Java虚拟机——(14)线程安全与锁优化一 概述二. 线程安全《Java Concurrency In Practice》的作者Brian Gortz定义:当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象是线程安全的。这个定义比较严谨,它要求线程安全的代码必须具备一个特征:代码本身封装了所有必要的正确性保障手段,令调用者无需关心多线程的问题,

2020-10-16 01:00:17 114

原创 深入理解Java虚拟机—Java内存模型与线程

上一篇:深入理解Java虚拟机——(13)Java内存模型与线程一. 硬件的效率和一致性让计算机并发执行若干个运算任务和更充分地利用计算机处理器的效能之间看起来是因果关系,但实际上没那么简单。CPU的运算能力十分强大,但是任何任务都不太可能单单靠CPU就能够完成,比如读取内存,存储的数据,网络的请求等IO操作是很难消除的,更糟糕的是存储设备与CPU之间的运算差距过大,所以在内存和CPU之间又会加一道高速缓存介质进行提速。为了充分利用CPU的性能,通常会采取异步IO的方式进行,这样CPU可以去处理其他的

2020-10-15 23:31:12 139

原创 深入理解Java虚拟机—后端编译与优化

上一篇:深入理解Java虚拟机——(12)后端编译与优化如果我们把字节码看作是程序语言的一种中间表示形式的话,那编译器无论在何时、何种状态下把Class文件转换成与本地基础设施相关的二进制机器码,都可以视为整个编译过程的后端一. 即时编译器Java程序最初都是通过解释器执行的,当虚拟机发现某个方法执行得特别频繁时,就认定它们为热点代码,为了提高热点代码的执行速度,就会把他们编译为本地机器码,执行这些操作的就是即时编译器1. 解释器与编译器解释器与编译器配合使用的方式在虚拟机中被称为“混合模式(

2020-10-15 00:17:58 185

原创 深入理解Java虚拟机—前端编译与优化

上一篇:深入理解Java虚拟机——(11)前端编译与优化在Java技术下谈“编译期”而没有具体上下文语境的话,其实是一句很含糊的表述,因为它可能是指一个前端编译器(叫“编译器的前端”更准确一些)把.java文件转变成.class文件的过程;也可能是指Java虚拟机的即时编译器(常称JIT编译器,Just In Time Compiler)运行期把字节码转变成本地机器码的过程;还可能是指使用静态的提前编译器(常称AOT编译器,Ahead Of Time Compiler)直接把程序编译成与目标机器指令集相

2020-10-13 00:57:07 146

原创 深入理解Java虚拟机—类加载及执行子系统的案例与实战

上一篇: 深入理解Java虚拟机——(10)类加载及执行子系统的案例与实战一. 概述在Class文件格式与执行引擎这部分中,用户的程序能直接影响的内容并不太多, Class文件以何种格式存储,类型何时加载、如何连接,以及虚拟机如何执行字节码指令等都是由虚拟机直接控制的行为,用户程序无法对其进行改变。能通过程序进行操作的,主要是字节码生成与类加载器这两部分的功能,但仅仅在如何处理这两点上,就已经出现了许多值得欣赏和借鉴的思路,这些思路后来成为了许多常用功能和程序实现的基础二. 案例分析1.Tomca

2020-10-11 00:40:52 182

录屏&截图软件.rar

录屏&截图的小软件 很轻 很好用

2021-04-02

win10关闭系统更新.rar

win10 屏蔽系统更新

2021-04-02

2020谷粒商城分布式基础篇课件资料.rar

谷粒商城是一个类似京东的自营商城平台,由业务集群系统+后台管理系统构成。 谷粒商城打通了分布式开发的全栈技能,包含前后分离全栈开发、Restful接口、数据校验、网关、注册发现、配置中心、熔断、限流、降级、 链路追踪、性能监控、压力测试、系统预警、集群部署、持续集成、持续部署。 谷粒商城分为三个部分:分布式基础、分布式高级、高可用集群部署 分布式基础篇:使用SpringBoot+Vue+逆向工程搭建全套后台管理系统,使用前后分离方式,以商品系统为例,手把手教大家进行全栈开发。 分布式高级篇:开发整个商城系统,使用SpringBoot+SpringCloud并配套SpringCloud

2020-11-18

Java调用微信支付案例源码

Java调用微信支付案例源码,和我博客的源码一样的,不喜欢敲的直接下载我这个源码回去改造,就可以用,maven项目

2020-06-18

空空如也

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

TA关注的人

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