专注 Java 基础分享

也许我写不出大佬们写的那些深刻的文章,但我将竭力重现这一路上踩过的大坑小坑,希望能给你带来些许思考。
114 篇文章
50 人订阅

全部文章

Single

任务的提交与异步执行

异步编程是一种对 CPU 资源更高效的编程方式,也是提高系统吞吐量的一个非常不错的选择。很多人会认为所谓的异步不就是多线程吗?

963
Single

并发编程之显式条件

我们之前介绍 synchronized 关键字语义的时候说过,synchronized 虽然不需要我们手动的加锁和释放锁了,但不代表他没有用到锁。同时,我们说每...

825
Single

并发显式锁之读写锁

上一篇文章我们介绍了一个显式锁,ReentrantLock ,了解到它是一个『独占式』锁,简而言之就是,

1054
Single

并发编程之显式锁原理

Synchronized 关键字结合对象的监视器,JVM 为我们提供了一种『内置锁』的语义,这种锁很简便,不需要我们关心加锁和释放锁的过程,我们只需要告诉虚拟机...

912
Single

CAS 无锁式同步机制

计算机系统中,CPU 和内存之间是通过总线进行通信的,当某个线程占有 CPU 执行指令的时候,会尽可能的将一些需要从内存中访问的变量缓存在自己的高速缓存区中,而...

1052
Single

线程的中断

『中断技术』其实是计算机系统中很重要的一个概念,甚至有人说,我们的操作系统就是「中断驱动的」。

1173
Single

线程间的协作机制

上篇文章我们介绍了 synchronized 这个关键字,通过它可以基本实现线程间在临界区对临界资源正确的访问与修改。但是,它依赖一个 Java 对象内置锁,某...

813
Single

使用 Synchronized 关键字

使用 Synchronized 关键字来解决并发问题是最简单的一种方式,我们只需要使用它修饰需要被并发处理的代码块、方法或字段属性,虚拟机自动为它加锁和释放锁,...

1013
Single

线程的基本概念

按照规划,从本篇开始我们开启『并发』系列内容的总结,从本篇的线程开始,到线程池,到几种并发集合源码的分析,我们一点点来,希望你也有耐心,因为并发这块知识是你职业...

1082
Single

JAVA 注解的基本原理

以前,『XML』是各大框架的青睐者,它以松耦合的方式完成了框架中几乎所有的配置,但是随着项目越来越庞大,『XML』的内容也越来越复杂,维护成本变高。

1293
Single

基于 CGLIB 库的动态代理机制

之前的文章我们详细的介绍了 JDK 自身的 API 所提供的一种动态代理的实现,它的实现相对而言是简单的,但是却有一个非常致命性的缺陷,就是只能为接口中的方法完...

820
Single

泛型的基本原理

泛型是 JDK1.5 的一个新特性,其实就是一个『语法糖』,本质上就是编译器为了提供更好的可读性而提供的一种小「手段」,虚拟机层面是不存在所谓『泛型』的概念的。

980
Single

详解 Java NIO

文件的抽象化表示,字节流以及字符流的文件操作等属于传统 IO 的相关内容,我们已经在前面的文章进行了较为深刻的学习了。

780
Single

看懂「www.google.com」背后的逻辑

在前两篇文章中,我们完整的描述了计算机网络 OSI 五层模型的相关内容。那么,本篇将会从一个实践案例开始,带你从整体上重新认识我们的计算机网络。

900
Single

完整的一次 HTTP 请求响应过程(二)

上篇文章 我们完整的描述了计算机五层模型中的『应用层』和『运输层』,阐述了较为复杂的 TCP 协议的相关原理,相信大家一定也有所收获,那么本篇将继续五层模型的学...

1000
Single

完整的一次 HTTP 请求响应过程(一)

因特网无疑是人类有史以来最伟大的设计,它互联了全球数亿台计算机、通讯设备,即便位于地球两端的用户也可在顷刻间完成通讯。

1560
Single

表示一个文件的 File 类型

从本篇文章开始,我们将开启对 Java IO 系统的学习,本质上就是对文件的读写操作,听上去简单,其实并不容易。Java 的 IO 系统一直在完善和改进,设计了...

890
Single

反射的基本原理

1513
Single

基于 JDK 的动态代理机制

814
Single

Java 字符流文件读写

2432

扫码关注云+社区