小牛呼噜噜
书写思维的火花
展开
-
聊聊JVM虚方法表和方法调用
作者:小牛呼噜噜 |计算机内功、源码解析、科技故事、项目实战、面试八股等更多硬核文章,首发于公众号「大家好,我是呼噜噜,今天我们来填坑,在之前的一篇文章中我们遗留了一个问题:当父类引用指向子类对象时,JVM是如何知晓调用的是哪个子类的方法?原创 2023-03-22 10:29:07 · 527 阅读 · 0 评论 -
原来还能这样看Java线程的状态及转换
现今主流的JVM,比如hotspot虚拟机都是把Java 线程,映射到操作系统OS底层的线程上,把调度委托给了操作系统。在Java线程的时间中,关于线程的一切的起点是从Thread 类的对象的创建开始,一般实现Runnable接口 或者 继承Thread类的类,实例化一个对象出来,线程就进入了初始状态。大家好,我是呼噜噜,博主还没羊,最近一直在梳理Java并发,但内容杂且偏晦涩,今天我们一起来聊聊Java 线程的状态及转换 先来夯实一下基础,万丈高楼平地起,路还是得慢慢走。如果竞争到锁,就直接接着运行。原创 2023-01-19 14:16:25 · 1345 阅读 · 0 评论 -
Java内存区域有哪些构成?
Java 内存区域,也叫运行时数据区域、内存区域、JVM内存模型,和 Java 虚拟机(JVM)的运行时区域相关,是指 JVM运行时将数据分区域存储,强调对内存空间的划分。经常与Java内存模型(JMM)混淆,其定义了程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。JVM并不是只有唯一版本的,在Java发展历史中,有许多优秀的Java虚拟机,其中目前大家最熟悉的就是HotSpot虚拟机,什么你不知道?我们去Oracle。原创 2023-01-09 13:57:34 · 267 阅读 · 0 评论 -
万字干货|Synchronized关键字详解
大家好,我是呼噜噜,在之前的文章中https://mp.weixin.qq.com/s/0Ii636KQ9sWwX-OhdlPIYw,我们知道了可以保证可见性、有序性,但无法保证原子性的。今天我们来聊聊synchronized关键字,其可以同时保证三者,实现线程安全。在介绍之前,我们得强调一下什么是线程安全,所谓线程安全:在 Java 早期版本中,synchronized 属于 重量级锁,效率低下;不过在 Java 6 之后,Java 官方对从 JVM 层面对 synchronized 较大优化,所以现在的原创 2022-12-08 09:54:54 · 811 阅读 · 0 评论 -
volatile关键字在并发中有哪些作用?
读过笔者之前的一篇文章https://mp.weixin.qq.com/s/iyXN4WyGAV_J4d8zeiG7yA, 我们知道了由于计算机为了充分利用CPU的高性能,以及各个硬件 存取速度巨大的差异带来的一系列问题Java 是最早尝试提供内存模型的编程语言。由于Java 语言是跨平台的,另外各个操作系统总存在一些差异,Java在物理机器的基础上抽象出一个 内存模型(JMM),来简化和管理并发程序。我们都知道Java并发的三大特性:那么本文我们就聊聊关键字volatile ,, 看看其在Java内存模型原创 2022-11-28 09:53:02 · 660 阅读 · 0 评论 -
万字文章|JDK动态代理及其源码解析 拿捏了
静态代理:在编译时就已经实现,编译完成后代理类是一个实际的class文件代理类和委托类的关系在程序运行前就已确定动态代理:在运行时动态生成的,即编译完成后没有实际的class文件,而是在运行时动态生成类字节码,并加载到JVM中代理类和委托类的关系是在程序运行时确定。原创 2022-11-15 11:31:38 · 435 阅读 · 0 评论 -
Java内存模型(JMM)详解
在上一篇文章为了充分压榨CPU的性能,CPU 会对指令乱序执行或者语言的编译器会指令重排,让CPU一直工作不停歇,但同时会导致有序性问题。为了平衡CPU的寄存器和内存的速度差异,计算机的CPU 增加了高速缓存,但同时导致了可见性问题为了平衡CPU 与 I/O 设备的速度差异,操作系统增加了进程、线程概念,以分时复用 CPU,但同时导致了原子性问题。Java 是最早尝试提供内存模型的编程语言。原创 2022-10-18 09:31:24 · 1734 阅读 · 0 评论 -
深入理解Java泛型
聊聊Java 泛型(generics)原创 2022-08-19 15:21:17 · 299 阅读 · 1 评论 -
Java 注解及其底层原理
我们往往知道在哪些地方加上合适的注解,不然IDE会报错,却不知道其中的原理,那究竟什么是注解呢?原创 2022-08-11 14:06:34 · 410 阅读 · 0 评论 -
JAVA反射机制详解
一起来看看 java的灵魂-反射原创 2022-08-04 10:18:35 · 433 阅读 · 0 评论 -
没那么简单的单例模式
一切美好只是昨日沉醉,淡淡苦涩才是今天滋味原创 2022-06-27 09:38:28 · 367 阅读 · 0 评论 -
深挖⾯向对象编程三⼤特性 --封装、继承、多态
理所当然往往是我们所忽视的原创 2022-06-15 23:52:32 · 199 阅读 · 1 评论 -
谈谈JAVA中对象和类、this、super和static关键字
理所当然往往是我们所忽视的原创 2022-06-13 23:06:37 · 511 阅读 · 0 评论