- 博客(10)
- 资源 (29)
- 收藏
- 关注
原创 Filter、Interceptor、Aspect区别与应用
Filter:和框架无关,可以控制最初的http请求,但是更细一点的类和方法控制不了。可以拦截到方法的请求和响应(ServletRequest request, ServletResponse response)并对请求响应做出像响应的过滤操作,比如设置字符编码,鉴权操作等Interceptor:可以控制请求的控制器和方法,但控制不了请求方法里的参数拦截器可以方法执行之前(pre...
2020-04-16 13:59:34 255
原创 为什么 Mysql 选择B+树而不是B-树
B树(也就是B-树)B+树(B-树的变种)B-树与B+树区别B+树查询时间复杂度固定是logn,B-树查询复杂度最好是 O(1)。B+树相邻接点的指针可以大大增加区间访问性,可使用在范围查询等B-树每个节点 key 和 data 在一起,则无法区间查找。B+树更适合外部存储,也就是磁盘存储。由于内节点无 data 域,每个节点能索引的范围更大更精确B-树每个节点即保存...
2020-04-14 14:01:27 414
原创 Spring循环依赖检测、解决方法
核心利用二级和三级缓存1,一级缓存:用于存放完全初始化好的 bean2,二级缓存:存放原始的 bean 对象(尚未填充属性),用于解决循环依赖 */3,三级级缓存:存放 bean 工厂对象,用于解决循环依赖循环依赖发生的时机:实例化与填充属性/方法的过程中检测循环依赖的过程如下:1,A 创建过程中需要 B,于是A 将自己放到三级缓里面,去实例2,B 实例化的时...
2020-04-14 12:19:48 2435
原创 三种分布式锁的区别
1,基于数据库(性能较差,锁表的风险,非阻塞,失败需要轮询耗CPU)核心思想:在数据库中创建一个表,表中包含方法名等字段,并在方法名字段上创建唯一索引想要执行某个方法,就使用这个方法名向表中插入数据,成功插入则获取锁执行完成后删除对应的行数据释放锁。2,基于REDIS(过期时间不好控制,非阻塞,失败需要轮询耗CPU)使用setnx加锁,并使用expire命令为锁添加一个超时时...
2020-04-14 10:13:46 761
原创 JAVA垃圾回收判断、垃圾回收算法、垃圾回收器比较
如何判断垃圾1,引用计数法 (会有循环引用问题)2,可达性分析算法(无法与GC Root建立直接或间接的连接)GC Root有哪些1,虚拟机栈中引用的对象,如:对象地址2,方法区中类静态属性引用的对象,如:static变量3,方法区中常量引用的对象,如:final static4,本地方法栈中引用的对象,如:调用native,虚拟机只是简单地动态连接并直接调用指定的本地方法...
2020-04-14 03:44:54 215
原创 mvn如何解决依赖冲突
1,项目X会使用(Y,G,Z),Y、G依赖Z的不同版本,而且当前使用的与另一个版本不兼容,2,我们正在使用哪个Z版本?依赖机制如下:a,将使用库的版本(如项目Y),其节点最接近依赖关系树中的根(项目X)。b,如果同一库(如项目Y)有多个版本,则选择取决于POM文件中的依赖关系顺序。3,解决冲突1,最简单的解决方案是 在X的POM文件中将正确库的引入调整到错误库之前,如G调整...
2020-04-14 02:10:11 237
原创 Java类加载过程机制
加载机制:JVM把class文件加载到内存,并对数据进行校验、准备、解析、初始化,最终形成JVM可以直接使用的Java类型的过程。1,加载阶段加载是类加载过程中的一个阶段,不要将这2个概念混淆了。相对于类生命周期的其他阶段而言,加载阶段(加载阶段获取类的二进制字节流的动作)是可控性最强的阶段,因为开发人员既可以使用系统提供的类加载器来完成加载,也可以自定义自己的类加载器来完成加载...
2020-04-14 01:43:03 109
原创 NIO、BIO、AIO介绍
目前有三种IO共存。分别是BIO、NIO和AIO。BIO 全称Block-IO 是一种同步且阻塞的通信模式。是一个比较传统的通信方式,模式简单,使用方便。但并发处理能力低,通信耗时,依赖网速。(线程发起io请求后,一直阻塞(阻塞io),直到数据就绪后,用户线程将数据写入socket空间,或从socket空间读取数据)NIO,全程 Non-Block IO ,一种非阻塞同步的通信模式。...
2020-04-14 00:50:46 291
原创 Java基础知识、hashmap、AQS、ThredPoolExecutor
1,StringBuild、StringBuffer、String 区别,Integer a= 130 与 Integer Integer b= 130 相等么,120呢?为什么(-128,127做了缓存,所以是同一个对象,主要是基于效率考虑,防止频繁创建)2,了解java的集合有哪些ArrayList,Vector,LinkedList,HashSet(底层HashMap),Linked...
2020-04-13 18:55:18 164
原创 Java锁、内存区域划分、类初始化顺序
1,volatile 变量的内存可见性是基于内存屏障(Memory Barrier)实现。内存屏障,又称内存栅栏,是一个 CPU 指令。 在程序运行时,为了提高执行性能,编译器和处理器会对指令进行重排序,JMM 为了保证在不同的编译器和 CPU 上有相同的结果,通过插入特定类型的内存屏障来禁止特定类型的编译器重排序和处理器重排序,插入一条内存屏障会告诉编译器和 CPU:不管什么指令都不能和这...
2020-04-13 01:13:47 179
any converter on mac 格式工厂
2020-07-17
ishowu_instant1.2.5.dmg
2019-12-30
NeatDMInstaller.dmg
2019-05-14
IKanalyzer2012_u6
2014-09-05
IKAnalyze.jar
2014-09-05
json相关依赖包 很全的
2014-03-21
json,json.jar,json相关依赖jar包,,json-lib-2.2.3-jdk13.jar/ezmorph-1.0.6.jar
2014-03-21
javajson转换包(json-lib-2.4-jdk15.jar,ezmorph-1.0.6.jar
2014-03-21
各种数据库的jdbc(mysql,orcal ,derby,hive,postgresql,monetdb-jdbc)
2014-01-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人