自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 leetcode TreeNode实现

class TreeNode {public int val;public TreeNode left;public TreeNode right;TreeNode(int x) { val = x; }@Overridepublic String toString(){ return Integer.toString(val);}// int []arr = {3, 9, 20, Integer.MAX_VALUE, Integer.MAX_VALUE, 15, 7};priv

2021-05-17 22:04:19 559 1

原创 JMM

关于JMM的一些约定1.线程解锁前,必须把共享变量立刻刷回主存2.线程加锁前,必须读取主存中的最新值到工作内存中3.加锁核解锁是同一把锁二、JMM的八种交互操作(每个操作都为原子操作)lock(锁定):作用于主内存的变量,把一个变量标识为线程独占状态unlock(解锁):作用于主内存的变量,它把一个处于锁定状态的变量释放出来,释放后的变量才可以被其他线程锁定read(读取):作用于主内存变量,它把一个变量的值从主内存传输到线程的工作内存中,以便随后的load动作使用load...

2020-09-17 17:23:37 100

原创 Synchronized和lock的区别

1.Synchronized是内置的JAVA关键字,lock是一个java类2.Synchronized无法判断获取锁的状态,Lock可以判断是否获取到了锁3.Synchronized会自动释放锁,lock需要手动释放锁(如果不是释放锁可能会造成死锁)4.Synchronized线程1(获得锁)、线程2(等待),lock锁就不一定会等待下去5.Synchronized可重入锁,不可以中断的,非公平,lock可重入的,可以判断锁,非公平(可以自己设置)6.Synchronized适合锁少量

2020-09-16 18:23:22 85

原创 springbean的生命周期

shpringbean的生命周期1.首先实例化一个bean的对象通过(构造器方法或者工厂方法)2.然后设置对象属性(依赖注入)3.如果bean实现了BeanNameAware接口,工程调用setBeanName()方法传递Bean的Id4.如果Bean实现了BeanFactory接口,工厂调用setBeanFactory()方法传入工厂自身5.将Bean实力传递给Bean的前置处理器的postProcessBeforeInitialization(Object bean,String beanna

2020-09-15 20:34:07 86

原创 SpringMVC流程

SpringMVC流程1.前端控制器DispatcherServlet进行请求拦截2.HandlerMapping进行处理映射,通过url请求查询handler(寻找)3.HandlerExcution进行控制器的查找(执行)4.HandlerExcution将查找到的控制器信息传递给DispatcherServlet(返回执行结果)5.HandlerAdapter根据特定的规则去执行handler(导入controller)6.Handler让Controller执行7.Controller

2020-09-14 22:17:23 60

空空如也

空空如也

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

TA关注的人

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