代码改变世界

随笔档案-2020年11月

让面试官心服口服:Thread.sleep、synchronized、LockSupport.park的线程阻塞有何区别?

2020-11-22 18:19 by tera, 3024 阅读, 收藏,
摘要: 前言 在日常编码的过程中,我们经常会使用Thread.sleep、LockSupport.park()主动阻塞线程,或者使用synchronized和Object.wait来阻塞线程保证并发安全。此时我们会发现,对于Thread.sleep和Object.wait方法是会抛出InterruptedE 阅读全文

JNI-从jvm源码分析Thread.interrupt的系统级别线程打断原理

2020-11-15 14:50 by tera, 1385 阅读, 收藏,
摘要: 前言 在java编程中,我们经常会调用Thread.sleep()方法使得线程停止运行一段时间,而Thread类中也提供了interrupt方法供我们去主动打断一个线程。那么线程挂起和打断的本质究竟是什么,本文就此问题作一个探究。 本文主要分为以下几个部分 1.interrupt的使用特点 2.jv 阅读全文

JNI-从jvm源码分析Thread.start的调用与Thread.run的回调

2020-11-06 17:23 by tera, 2262 阅读, 收藏,
摘要: 前言 在java编程中,线程Thread是我们经常使用的类。那么创建一个Thread的本质究竟是什么,本文就此问题作一个探索。 内容主要分为以下几个部分 1.JNI机制的使用 2.Thread创建线程的底层调用分析 3.系统线程的使用 4.Thread中run方法的回调分析 5.实现一个jni的回调 阅读全文

Java动态代理——框架中的应用场景和基本原理

2020-11-01 21:40 by tera, 8229 阅读, 收藏,
摘要: 前言 之前已经用了5篇文章完整解释了java动态代理的原理,本文将会为这个系列补上最后一块拼图,展示java动态代理的使用方式和应用场景 主要分为以下4个部分 1.为什么要使用java动态代理 2.如何使用java动态代理 3.框架中java动态代理的应用 4.java动态代理的基本原理 1.为何要 阅读全文
点击右上角即可分享
微信分享提示