Je pense done je suis

Java反射(1)-代理
## 前言 Java代理分为静态代理和动态代理 ## 静态代理 静态代理非常简单,可以理解为常见的代理模式。 ``` // 接口 public interface Calculator { int add(int i, int j); } // 实现类
总结2018
## 回忆 2018 大概是目前为止最忙的一年,提起笔来反而不知道如何娓娓道来,那就按照时间顺序来个流水账吧! 2月份到4月份的生活状态整体来说比较正常,开着车和晓丽周末各种乱逛乱玩,唯一美中不足的是,很多同事都陆续离职,让我着实难过了一阵,不过天下没有不散的宴席。 5月初回家订婚
读书笔记-摘抄-2018
## 读书笔记 - 时间的流逝是平等赋予每个人的疗愈,或许也是救赎。——太宰治《人间失格》 - 一有机会,人类可怕的真面目就会在愤怒中不经意地暴露出来。——太宰治《人间失格》 - 对讨厌的事说不出讨厌,对喜欢的事也总是偷偷摸摸。——太宰治《人间失格》 - 沉默是我们最大的敌人
Docker(1)-入门
### 安装 Docker 1. 下载 CentOS-7 并在 VirtualBox 安装镜像 2. 设置网络 ``` 1. 设置网络 桥接-服务器 2. 重启网络 service network restart 3. 查看地址 ip addr(172.16
Java并发(6)-Executor
## 前言 众所周知,线程分为创建、执行、销毁三个过程,系统启动一个新线程的成本是比较高的,为了解决这个问题,因此推出了线程池,可以重复使用线程执行操作。说白了就是线程数组,一旦线程创建,除非应用销毁,否则可以重复利用线程对象。类似的还有网络请求(建立请求、传输数据、结束请求) 下面学习
Java并发(5)-concurrent lock atomic
## 前言 之前在学习 synchronize 的时候,也提到过 Lock 产生的原因。由于 synchronize 如此「万能」,间接造成了它的滥用,但是它性能并不高,因此大量使用会造成应用性能降低,因此在 JDK 5 引入了 Lock 机制,而 Lock 机制是用 Java 语言实现的,因
Java并发(4)-volatile
## 前言 之前看《深入理解Java虚拟机》把 JMM(Java Memory Model)Java内存模型详细的学习了一下,而Java 语言中 volatile 这个关键字一直被我忽略,这次好好研究研究一下。 ## 出现原因 volatile 其实是一种程度较轻的 synchro
Java并发(0)-JMM(Java内存模型)
## 前言 之前从未分析过多线程并发出现问题的根本原因,这次从书里《深入理解Java虚拟机》看到了,补充一下。 ## 开始 众所周知,计算机执行一条指令一般顺序是:读取数据、数据计算、写入数据三个过程,由于CPU执行速度很快,而从内存读取数据和向内存写入数据的过程跟CPU执行计算指
Java并发(3)-Synchronized
## 前言 要理解多线程并发就一定离不开关键字 `synchronized` 和 `volatile`,下面来深入了解一下这两个关键字。 ## synchronized 同步锁关键字,也是多线程中最常见最常用的一个关键字,是一种互斥锁,主要分为对象锁(对象方法或代码块加锁)、类锁
Java并发(2)-Callable Future
## 前言 如果说 Runnable 是 Thread 中执行的没有返回值的方法,那么 Callable 则是有返回值的方法,返回值是泛型 T ,JDK 提供了 Future 来保存返回结果 T。 下面先贴一下这些类的关系 ``` public interface Callabl