10 2020 档案
摘要:spring aop 实现原理 1.JDK动态代理: 代理的类必须实现一个接口2.CGLIB动态代理: 动态生成被代理类的子类 JDK动态代理通过反射来接收被代理的类,并且要求被代理的类必须实现一个接口,核心是InvocationHandler接口和Proxy类 CGLIB(Code Generat
阅读全文
摘要:实例化SpringApplication: SpringApplication初始化时主要做三件事情: 1.根据classpath下是否存在(ConfigurableWebApplicationContext)判断是否要启动一个web applicationContext2.SpringFactor
阅读全文
摘要:volatile与synchronized区别 仅靠volatile不能保证线程的安全性。(原子性)①volatile轻量级,只能修饰变量。synchronized重量级,还可修饰方法②volatile只能保证数据的可见性,不能用来同步,因为多个线程并发访问volatile修饰的变量不会阻塞。syn
阅读全文
摘要:public synchronized void start() {//方法加锁,同一时间start只能被调用一次 /**0状态值对应状态“NEW” * A zero status value corresponds to state "NEW". */ if (threadStatus != 0)
阅读全文
摘要:什么是Spring? Spring框架存在的意义就是为了降低耦合度, 根据不同的代码采用不同的方式, 通过IOC来降低主业务逻辑之间的耦合度, 通过AOP来降低系统级服务(如日志、安全、事务等)和主业务逻辑之间的耦合度. 此外还提供了一个Web层的框架Spring MVC. Spring容器 在介绍
阅读全文
摘要:TreeMap概叙: TreeMap存储K-V键值对,通过红黑树(R-B tree)实现; TreeMap继承了NavigableMap接口,NavigableMap接口继承了SortedMap接口,可支持一系列的导航定位以及导航操作的方法,当然只是提供了接口,需要TreeMap自己去实现; Tre
阅读全文
摘要:Bean生命周期的过程 Bean生命周期一般有下面的四个阶段: Bean的定义 Bean的初始化 Bean的生存期 Bean的销毁 Bean的定义过程: 第一步,资源定位,就是Spring根据我们定义的注解(@Component),找到相应的类。 找到了资源就开始解析,并将定义的信息保存起来,此时,
阅读全文
摘要:HashMap 1、是应用更广泛的哈希表实现 2、jdk1.7中底层是由数组(也有叫做“位桶”的)+链表实现;jdk1.8中底层是由数组+链表/红黑树实现 3、可以存储null键和null值,线程不安全 4、初始size为16,扩容:newsize = oldsize*2,size一定为2的n次幂
阅读全文
摘要:1、C/S架构 优势: 数据的储存管理功能较为透明。 劣势: C/S架构的劣势是高昂的维护成本且投资大。 2、B/S架构 优势: 维护和升级方式简单。 成本降低,选择更多。 劣势:应用服务器运行数据负荷较重。
阅读全文
摘要:JVM: 大多数 JVM 将内存区域划分为 Method Area(Non-Heap)(方法区) ,Heap(堆) , Program Counter Register(程序计数器) , VM Stack(虚拟机栈,也有翻译成JAVA 方法栈的),Native Method Stack ( 本地方法
阅读全文
摘要:1.ArrayList 是 java 集合框架中比较常用的数据结构了。继承自 AbstractList,实现了 List 接口。底层基于数组实现容量大小动态变化。允许 null 的存在。同时还实现了 RandomAccess、Cloneable、Serializable 接口,所以ArrayList
阅读全文
浙公网安备 33010602011771号