自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 AOP流程学习

思路:只需要写一个BPP,在postProcessAfterInitialization方法中,对对象进行判断,看他需不需要织入切面逻辑,如果需要,那我就根据这个对象,生成一个代理对象,然后返回这个代理对象,那么最终注入容器的,自然就是代理对象了。AOP实现,就是在 getBean(…) 的时候返回的实际上是代理类的实例。AOP源码流程创建 bean 的时候,在 bean 依赖注入之后,调...

2020-03-08 17:35:11 114 1

原创 Think in Java 复用类(第7章) 读书笔记

第7章 复用类1.组合语法在新类中产生现有类的对象。由于新类是由现有类的对象组成的,所以这种方法称为组合。2.继承语法按照现有类的类型来创建新类,无需改变现有类的形式,采用现有类的形式并在其中添加新代码。除非已经明确从其他类中继承,否则就是隐式的从Object中继承。+= 操作符被重载用来处理String对象,另一个是 +。2.1初始化基类当创建了一个子...

2019-07-02 19:47:18 122

原创 Java8学习记录(一)——Lambda表达式

这两天看了《Java8实战》,做一下记录。目录一、行为参数化:1.什么是行为参数化:二、函数式接口:1.概念:三、Lambda表达式:四、方法引用(注意点):1.静态方法引用:2.实例方法引用(重点来了):①任意类型的实例方法引用:②现有对象的实例方法引用:3.构造方法引用:一、行为参数化:1.什么是行为参数化:1. 你说:我要所有重...

2019-05-23 17:29:42 196

原创 Spring Security 学习(一)认证与授权源码分析——一次痛苦的爬坑经历

一点感悟:一个疏忽,花了 5h 解决了,哎。用一首歌来表达一下现在的心情:点击。不过也算摸清了Spring Security 一点基本原理,没有白费的时间......学习新知识的时候,遇到解决不了的问题一定不能心急,越是这个时候越要静下心来一步一步的去分析原理。静心、沉淀。一、认证过程 :废话不多说,在学习之前最好先把用到的英语单词熟悉一下。 AuthenticationMan...

2019-05-17 23:56:45 1565

原创 关于 volatile——可见性,有序性,内存屏障

并发编程的三大特性:原子性,有序性,可见性。从这三个方面去看一下 volatile。volatile 保证了可见性:public class Demo1 { private boolean flag = true; public void test(){ while (flag){ } Sy...

2019-05-14 15:47:27 646

原创 手写 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 197

原创 线程池源码分析(一)

最近在阅读《阿里巴巴Java开发手册》的时候,书中有这么一段话:线程池这块理解不是很深,今天就抽时间重新学习一遍。对于书中的问题分析完成后答案便一目了然。创建线程池的一个方式:ExecutorService e = Executors.newFixedThreadPool(5);Executors 相当于一个工厂类,它应该是提供了一下几种类型的线程池:1.new...

2019-05-13 17:32:57 131

原创 ReetrantLock 源码分析——深入理解公平锁与非公平锁

ReetrantLock 是独占锁、可重入锁,并且同时支持公平锁和非公平锁。首先看一下ReetrantLock 的构造函数:public ReentrantLock() { sync = new NonfairSync();//默认非公平锁}public ReentrantLock(boolean fair) { sync = fair ? new FairSync...

2019-05-01 11:57:56 683 4

原创 图解使用两块 Survivor 区的原因

如果只使用一块 Survivor 区:当发生一次 Minor GC 时,回收 Eden 区的垃圾,把存活的对象复制到 Survivor 区,如下图:ok,目前看起来并没有什么区别。但是当发生第二次 Minor GC 时,问题就出现了。我们来看一下,第二次 Minor GC 时发生了什么:如果此时发生 Minor GC:会出现这种情况:很明显,这样会出现内存碎...

2019-04-17 09:36:18 454 2

原创 Think in Java 异常类(第12章) 读书笔记

概念:首先看一下Java中的异常体系:Error:一般是指与虚拟机相关的问题,如 OOM,ThreadDeath。RuntimeExprion:NullPointerException,ClassCastException,IllegalArgumentException,ArrayStoreException,IndexOutOfBoundsException,Num...

2019-04-12 20:47:34 218

原创 匿名内部类访问的变量final修饰符问题

首先匿名内部类能访问的变量有以下3种:1.实例变量2.局部变量3.外部类的方法参数 需要知道,访问1时不需要final修饰,而访问2、3时需要用final修饰。jdk1.8之后,不需要手动加final修饰符,编译时底层会自动加上final。 那么为什么要加 final 呢?在这里先了解原因,具体为什么下文会解释。原因:需要保护数据的一致性。pu...

2019-04-10 22:42:25 248 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除