首页
学习
活动
专区
工具
TVP
发布

shysh95

专栏成员
190
文章
181673
阅读量
27
订阅数
Future Java
Future是多线程开发中常见的一种设计模式。Future模式可以返回线程执行结果的契约,通过此契约程序可以选择在合适的时机取回执行的结果,如果取回结果时线程还没有执行完成,将会阻塞调用线程等待执行结果返回。
shysh95
2021-06-10
3900
锁优化
如果你不想平庸,就请勿停止前进的脚步。同样作为主流的开发语言,Java也没有停止前进,而是一直在优化进步。
shysh95
2021-05-11
4790
悲观锁
悲观锁和乐观锁完全不同,悲观锁是实实在在对代码块进行加锁,被锁住的代码块,同一时刻只允许一个或几个线程同时进入,避免了多线程写坏共享数据问题。
shysh95
2021-05-11
2980
Java内存模型(可见性有序性)
Java中的有序性在不加干预的情况下可以总结为:在线程中观察自身的操作是有序的(线程内表现为串行语义),在一个线程观察另一个线程所有的操作都是无序的(指令重排序和工作内存与主内存同步延迟)。线程之间的有序性需要我们通过一些措施来保证。
shysh95
2021-04-02
4170
Java线程实现
由于Java的并发和线程息息相关,我们今天看一下线程的实现方式,通用的线程实现方式有:
shysh95
2021-04-02
5120
Java线程调度&状态
线程的执行时间由线程本身控制,线程在工作完成以后要主动通知系统切换到另一个线程上。优点是实现简单、切换操作对线程自己可见,不存在线程同步问题;缺点是线程时间不可控制,有可能造成程序一直阻塞。
shysh95
2021-04-02
5650
Java内存模型
目前计算机上会有多个CPU核心,我们可以创建多个线程,操作系统会将线程分配各不同的CPU去执行,如果只有一个线程,那么只会有一个CPU去工作,其他的CPU将会被浪费。
shysh95
2021-03-16
3760
JIT即时编译器(C1和C2)
上一篇文章我们已经讲述了JIT编译器的基本原理,今天我们看一下HotSpot虚拟机中具体的编译器。
shysh95
2021-03-16
1K0
JIT即时编译(基础概念)
在Java编译原理我们已经讲述了Java编译中的前端编译(javac),今天我们就看一下后端编译。
shysh95
2021-03-16
6810
Java泛型擦除
语法糖只不过是一种程序的表达式,语法糖可以提高程序的可读性,语法糖经过编译后,将会恢复原来的样貌。
shysh95
2021-03-16
7550
Java编译原理(javac)
对于开发来说接触的一般都是第一个步骤也就是源码编译成字节码文件(class文件),第二个步骤开发几乎不会接触,因为这是虚拟机在运行过程中自己做的一些编译流程,将字节码转换成可被虚拟机识别执行的机器码。
shysh95
2021-03-16
1.5K0
Java方法调用(虚拟机字节码执行引擎)
JAVA方法调用属于虚拟机字节码执行引擎的一部分,执行引擎,可以简单的理解为它用来接收输入的Class文件,按照字节码进行处理程序,然后输出执行结果。
shysh95
2021-03-16
3510
深入理解Java类加载机制-自定义类加载器
Java类加载器的实现采用双亲委派原则,通过双亲委派原则,我们可以很好的保护Java程序在运行时的安全,越基础的类越会被上层的类加载器(例如启动类加载器)加载, 但是这种双亲委派在有些时候也会成为约束。比如当我的基础类需要调用用户自实现的类的将会发生问题,由于委派是向父类委派,因此用户自实现的类无法加载(没有类加载器可以加载), 因此调用会失败。此时我们就需要打破这种约束,让父类加载器可以触发子类记载器去加载特定的类。
shysh95
2021-03-16
4490
深入理解Java类加载机制-类加载器
加载作为类加载的第一个阶段,是开放的,它允许Java程序员通过自定义的类加载器去加载特定的类。
shysh95
2021-03-16
3700
深入理解Java类加载机制-连接
由于我们的字节码来源多样化,并不一定来源于Class文件,所以我们需要通过一些措施来保证字节码的二进制流是正确的安全的,因此我们需要通过验证来避免虚拟机受到攻击。通过验证阶段的字节码也并不是百分之百安全的。
shysh95
2021-02-25
4940
Java类加载-加载
我们已经将整个Class的构成讲述完了,不清楚的同学可以看一下关于Class文件的介绍,但是空有Class并没有什么用,在Class中的各种描述信息都需要被加载到虚拟机以后才能运行使用。
shysh95
2021-02-25
1.3K0
同事:Lambda都不懂,还写什么Java
今天的这篇文章比较长,也比较干货,刚接触指令的读者读起来可能会有点晦涩难懂,但是希望每一位读者能够沉下心来仔细阅读这篇文章,当你完全读懂这篇文章的时候,相信你对指令和Lambda的理解会更上一层楼。
shysh95
2021-02-25
4240
写Java不懂Java系列之加载和存储
很多Java工程师语法用的很666,但是真的让他说说Java是怎样编译运行的,我相信他会懵逼!!!
shysh95
2021-01-28
4120
微醺(送福利),到底static还是static final才会有ConstantValue
这段源码文件就定义了两个变量,一个为static,一个为static final。这两个变量是啥意思我就不多说了吧,假设你不知道,我严重怀疑你在故意你在跟我开玩笑!
shysh95
2021-01-28
2840
都不懂怎么抛异常,凭什么说你会写Java
今天当我正在享受指尖跳动的(敲代码)律感时,突然被一个刺耳的声音打断,只听见近处传来一声就这????,搞的我一脸懵逼
shysh95
2021-01-18
3950
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档