摘要: 『中断技术』其实是计算机系统中很重要的一个概念,甚至有人说,我们的操作系统就是「中断驱动的」。 中断,其实指的就是程序在执行过程中,发生了某些非正常的事件指示当前进程不能继续执行了,应当得到暂停或终止,而通知正在执行的进程暂停执行的这个操作就叫『中断』。 中断同时也是我们实现并发的基础,中断一个线程阅读全文
posted @ 2018-09-14 15:47 Single_Yam 阅读(174) 评论(1) 编辑
摘要: 上篇文章我们介绍了 synchronized 这个关键字,通过它可以基本实现线程间在临界区对临界资源正确的访问与修改。但是,它依赖一个 Java 对象内置锁,某个时刻只能由一个线程占有该锁,其他试图占有的线程都得阻塞在对象的阻塞队列上。 但实际上还有一种情况也是存在的,如果某个线程获得了锁但在执行过阅读全文
posted @ 2018-09-07 15:37 Single_Yam 阅读(173) 评论(1) 编辑
摘要: 使用 Synchronized 关键字来解决并发问题是最简单的一种方式,我们只需要使用它修饰需要被并发处理的代码块、方法或字段属性,虚拟机自动为它加锁和释放锁,并将不能获得锁的线程阻塞在相应的阻塞队列上。 基本使用 我们在上篇文章介绍线程的基本概念时,提到了多线程的好处,能够最大化 CPU 使用效率阅读全文
posted @ 2018-08-27 13:42 Single_Yam 阅读(327) 评论(1) 编辑
摘要: 按照规划,从本篇开始我们开启『并发』系列内容的总结,从本篇的线程开始,到线程池,到几种并发集合源码的分析,我们一点点来,希望你也有耐心,因为并发这块知识是你职业生涯始终绕不过的坎,任何一个项目都或多或少的要涉及一些并发的处理。 这一系列文章只能算是对并发这块基本理论知识的一个总结与介绍,想要成为并发阅读全文
posted @ 2018-08-20 09:54 Single_Yam 阅读(531) 评论(1) 编辑
摘要: 所谓的『JAVA 对象序列化』就是指,将一个 JAVA 对象所描述的所有内容以文件 IO 的方式写入二进制文件的一个过程。关于序列化,主要涉及两个流,ObjectInputStream 和 ObjectOutputStream。 很多人关于『序列化』的认知只停留在 readObject 和 writ阅读全文
posted @ 2018-07-16 17:49 Single_Yam 阅读(432) 评论(1) 编辑
摘要: 以前,『XML』是各大框架的青睐者,它以松耦合的方式完成了框架中几乎所有的配置,但是随着项目越来越庞大,『XML』的内容也越来越复杂,维护成本变高。 于是就有人提出来一种标记式高耦合的配置方式,『注解』。方法上可以进行注解,类上也可以注解,字段属性上也可以注解,反正几乎需要配置的地方都可以进行注解。阅读全文
posted @ 2018-07-11 16:21 Single_Yam 阅读(667) 评论(1) 编辑
摘要: 之前的文章我们详细的介绍了 JDK 自身的 API 所提供的一种动态代理的实现,它的实现相对而言是简单的,但是却有一个非常致命性的缺陷,就是只能为接口中的方法完成代理,而委托类自己的方法或者父类中的方法都不可能被代理。 CGLIB 应运而生,它是一个高性能的,底层基于 ASM 框架的一个代码生成框架阅读全文
posted @ 2018-07-05 19:52 Single_Yam 阅读(240) 评论(2) 编辑
摘要: 『动态代理』其实源于设计模式中的代理模式,而代理模式就是使用代理对象完成用户请求,屏蔽用户对真实对象的访问。 举个最简单的例子,比如我们想要「翻墙」访问国外网站,因为我们并没有墙掉所有国外的 IP,所以你可以将你的请求数据报发送到那些没有被屏蔽的国外主机上,然后你通过配置国外主机将请求转发到目的地并阅读全文
posted @ 2018-07-02 16:21 Single_Yam 阅读(421) 评论(4) 编辑
摘要: 『反射』就是指程序在运行时能够动态的获取到一个类的类型信息的一种操作。它是现代框架的灵魂,几尽所有的框架能够提供的一些自动化机制都是靠反射实现的,这也是为什么各类框架都不允许你覆盖掉默认的无参构造器的原因,因为框架需要以反射机制利用无参构造器创建实例。 总的来说,『反射』是很值得大家花时间学习的,尽阅读全文
posted @ 2018-06-24 20:20 Single_Yam 阅读(376) 评论(4) 编辑
摘要: 泛型是 JDK1.5 的一个新特性,其实就是一个『语法糖』,本质上就是编译器为了提供更好的可读性而提供的一种小「手段」,虚拟机层面是不存在所谓『泛型』的概念的。 在我看来,『泛型』的存在具有以下两点意义,这也是它被设计出来的初衷。 一是,通过泛型的语法定义,编译器可以在编译期提供一定的类型安全检查,阅读全文
posted @ 2018-06-19 17:18 Single_Yam 阅读(354) 评论(0) 编辑