- 博客(9)
- 收藏
- 关注
原创 浅析:AOP的使用
示例代码import org.aspectj.lang.JoinPoint;import org.aspectj.lang.ProceedingJoinPoint;import org.aspectj.lang.annotation.*;import org.junit.runner.RunWith;import org.springframework.aop.aspectj.annotation.AspectJProxyFactory;import org.springframework.bo
2021-06-23 21:33:50
201
原创 浅析:AOP的advice和advisor创建过程
@Aspectclass AopAdviceConfig { @Before("execution(* *.*(..))") public void beforeAdvice(JoinPoint joinPoint) { System.out.println(joinPoint.getTarget()); System.out.println("前置通知...."); }}//定义一个接口interface AspectJService {
2021-06-21 22:44:13
451
原创 Shiro浅析:Shiro的登录验证过程
Shiro浅析:Shiro的登录验证过程shiro的登录验证是从Subject.login开始的Subject subject = SecurityUtils.getSubject();UsernamePasswordToken token = new UsernamePassword(username, password [, remenberme]);subject.login(token);下面来看看Subject的实现类org.apache.shiro.subject.support.D
2021-06-15 17:50:45
415
原创 LinkedHashMap浅析-有序性
LinkedHashMap浅析LinkedHashMap的插入有序性LinkedHashMap是HashMap的一个子类。有很多的方法多是直接继承父类。最主要的区别是LinkedHashMap实现了一个继承HashMap.Node的内部类Entrystatic class Entry<K,V> extends HashMap.Node<K,V> { Entry<K,V> before, after; Entry(int hash, K key, V
2021-04-21 17:27:01
339
原创 浅谈Java:Volatile浅析
Volatile浅析volatile关键字介绍volatile关键字只能修饰类变量和实例变量,对于方法参数,局部变量以及实例常量,类常量多不能进行修饰。不如下面代码中MAX变量就无法使用volatile进行修饰。我们先来看一个简单的程序public class VolatileFoo { final static int MAX = 5; static int value = 0; public static void main(String[] args){
2021-03-23 22:12:03
408
2
原创 浅谈Java:HashSet&HashMap浅析
HashSet&HashMap浅析HashSet特性1、不能保证元素是有序的Hashset内部采用hash值进行存储索引,而hash值不保证有序2、不保存重复元素由于HashSet底层是将要插入的元素当作map的key进行存储(底层采用HashMap作为数据存储结构),所以不保存相同的数据。HashSet的构造方法内部由HashMap支持,当没有指定参数的时候, loadFactor = 0.75 不初始化thresholdpublic HashSet() { map = n
2021-03-21 18:02:56
186
2
原创 浅谈Java:Stack浅析
浅谈Java:Stack浅析Stack特性 1、满足元素"后经先出"(LIFO)的特性。 2、Stack类是线程安全的 3、Stack类在Vector类上实现了LIFO特性java.util.Stack方法jdk1.8源码public class Stack<E> extends Vector<E> { public Stack(){} // 调用父类的addElement()实现 public E push(E item){
2021-03-21 16:25:11
746
原创 浅谈Java:Synchronized实现原理
Java:Synchronized实现原理一、Synchronized实现同步代码块:先来看个两个简单的程序// 代码一public class OutOfSyncMonitor { private int data = 0; public void method1() { try { data = data + 1; // 线程休眠1s,使其在还未执行完毕时,cpu进行时间片轮转
2021-03-20 13:04:59
177
1
原创 浅谈Java:interface浅析
浅谈Java:interface浅析类的访问权限在实现一个接口时,在接口中被定义的方法必须为 public的访问权限public interface Interface{}interface Interface{} // 包可访问public interface Interface{}interface Interface{} // 包可访问public interface Interface{ // 默认访问权限为 public viod class<?> in
2021-03-20 12:58:21
360
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人