alFace
Boboboobo
一个甘于平凡的有志青年!
展开
-
LinkedList和ArraryList的区别
一、ArraryList的实现 ArrayList底层采用数组实现,默认空间为10,构造器有三个,一个是默认构造器,一个是按照大小初始化的构造器,一个是按照第三方Collection来初始化的构造器,在get(index)/set(index,ele)中都是首先判断index是否越界然后执行返回或者赋值的操作。 在add()方法中,首先会判断当前list是否可以存放下当前大小+1个数据,如果可以则直接存放,如果不行则执行扩容操作,在扩容的时候首先int newCapacity = oldCapacity +原创 2020-08-21 17:14:54 · 487 阅读 · 0 评论 -
AOP实现原理
AOP原理 简介 AOP(Aspect-OrientedProgramming)面向切面编程,可以理解为OOP的改进和完善,其编程思想是把散布于不同业务但功能相同的代码从业务逻辑中抽取出来,封装成独立的模块,这些独立的模块被称为切面,切面的具体功能方法被称为关注点。在业务逻辑执行过程中,AOP会把分离出来的切面和关注点动态切入到业务流程中,这样做的好处是提高了功能代码的重用性和可维护性。 AOP的相关术语: Joinpoint:连接点,可以被拦截到的点 Pointcut:切入点,真正被拦截到的点 Ad原创 2020-08-21 17:14:20 · 2848 阅读 · 0 评论 -
java锁机制
Java锁机制【转自:java各种锁的详细介绍】 个人总结: 悲观锁:在共享的资源上直接加锁,即为认为线程操作会出现线程问题,所以悲观。 乐观锁:乐观锁认为自己在使用数据时不会有别的线程修改数据,所以不会添加锁,只是在更新数据的时候去判断之前有没有别的线程更新了这个数据。例如CAS 自旋锁:对于某些线程,可能执行的操作比较简单,如果阻塞的话,可能会比较耗费CPU资源,所以采用让他先自己等待(即自旋),每旋转一次则判断一次是否可以操作当前资源,直到操作成功。 public final int getAn转载 2020-08-21 10:03:59 · 375 阅读 · 0 评论