- 博客(11)
- 收藏
- 关注
原创 AOP流程学习
思路:只需要写一个BPP,在postProcessAfterInitialization方法中,对对象进行判断,看他需不需要织入切面逻辑,如果需要,那我就根据这个对象,生成一个代理对象,然后返回这个代理对象,那么最终注入容器的,自然就是代理对象了。AOP实现,就是在 getBean(…) 的时候返回的实际上是代理类的实例。AOP源码流程创建 bean 的时候,在 bean 依赖注入之后,调...
2020-03-08 17:35:11 143 1
原创 Think in Java 复用类(第7章) 读书笔记
第7章 复用类1.组合语法在新类中产生现有类的对象。由于新类是由现有类的对象组成的,所以这种方法称为组合。2.继承语法按照现有类的类型来创建新类,无需改变现有类的形式,采用现有类的形式并在其中添加新代码。除非已经明确从其他类中继承,否则就是隐式的从Object中继承。+= 操作符被重载用来处理String对象,另一个是 +。2.1初始化基类当创建了一个子...
2019-07-02 19:47:18 144
原创 Java8学习记录(一)——Lambda表达式
这两天看了《Java8实战》,做一下记录。目录一、行为参数化:1.什么是行为参数化:二、函数式接口:1.概念:三、Lambda表达式:四、方法引用(注意点):1.静态方法引用:2.实例方法引用(重点来了):①任意类型的实例方法引用:②现有对象的实例方法引用:3.构造方法引用:一、行为参数化:1.什么是行为参数化:1. 你说:我要所有重...
2019-05-23 17:29:42 218
原创 Spring Security 学习(一)认证与授权源码分析——一次痛苦的爬坑经历
一点感悟:一个疏忽,花了 5h 解决了,哎。用一首歌来表达一下现在的心情:点击。不过也算摸清了Spring Security 一点基本原理,没有白费的时间......学习新知识的时候,遇到解决不了的问题一定不能心急,越是这个时候越要静下心来一步一步的去分析原理。静心、沉淀。一、认证过程 :废话不多说,在学习之前最好先把用到的英语单词熟悉一下。 AuthenticationMan...
2019-05-17 23:56:45 1602
原创 关于 volatile——可见性,有序性,内存屏障
并发编程的三大特性:原子性,有序性,可见性。从这三个方面去看一下 volatile。volatile 保证了可见性:public class Demo1 { private boolean flag = true; public void test(){ while (flag){ } Sy...
2019-05-14 15:47:27 666
原创 手写 Future 模式
Future 接口:public interface Future<T> { T get() throws InterruptedException; boolean isDone(); void Cancel(); boolean isCancel();}FutureTask类:public class FutureTask...
2019-05-13 22:47:03 216
原创 线程池源码分析(一)
最近在阅读《阿里巴巴Java开发手册》的时候,书中有这么一段话:线程池这块理解不是很深,今天就抽时间重新学习一遍。对于书中的问题分析完成后答案便一目了然。创建线程池的一个方式:ExecutorService e = Executors.newFixedThreadPool(5);Executors 相当于一个工厂类,它应该是提供了一下几种类型的线程池:1.new...
2019-05-13 17:32:57 141
原创 ReetrantLock 源码分析——深入理解公平锁与非公平锁
ReetrantLock 是独占锁、可重入锁,并且同时支持公平锁和非公平锁。首先看一下ReetrantLock 的构造函数:public ReentrantLock() { sync = new NonfairSync();//默认非公平锁}public ReentrantLock(boolean fair) { sync = fair ? new FairSync...
2019-05-01 11:57:56 747 4
原创 图解使用两块 Survivor 区的原因
如果只使用一块 Survivor 区:当发生一次 Minor GC 时,回收 Eden 区的垃圾,把存活的对象复制到 Survivor 区,如下图:ok,目前看起来并没有什么区别。但是当发生第二次 Minor GC 时,问题就出现了。我们来看一下,第二次 Minor GC 时发生了什么:如果此时发生 Minor GC:会出现这种情况:很明显,这样会出现内存碎...
2019-04-17 09:36:18 472 2
原创 Think in Java 异常类(第12章) 读书笔记
概念:首先看一下Java中的异常体系:Error:一般是指与虚拟机相关的问题,如 OOM,ThreadDeath。RuntimeExprion:NullPointerException,ClassCastException,IllegalArgumentException,ArrayStoreException,IndexOutOfBoundsException,Num...
2019-04-12 20:47:34 239
原创 匿名内部类访问的变量final修饰符问题
首先匿名内部类能访问的变量有以下3种:1.实例变量2.局部变量3.外部类的方法参数 需要知道,访问1时不需要final修饰,而访问2、3时需要用final修饰。jdk1.8之后,不需要手动加final修饰符,编译时底层会自动加上final。 那么为什么要加 final 呢?在这里先了解原因,具体为什么下文会解释。原因:需要保护数据的一致性。pu...
2019-04-10 22:42:25 272 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人