- 博客(18)
- 收藏
- 关注
原创 git设置pull路径和push路径不同
https://blog.csdn.net/qq_36490200/article/details/100132116
2020-04-30 15:08:02
1192
原创 spring mvc 和 struts2 的区别
1、spring mvc拦截的粒度更小,可以作用于方法上,struts2 是类级别的拦截2、spring mvc与spring是无缝衔接 struts2集成spring配置会麻烦很多3、springmvc可以做到100%零配置 struts2配置会麻烦很多4、springmvc的入口是servlet 而 struts2是filter...
2019-04-05 21:06:54
139
原创 tomcat四中线程模式
BIO:server服务端主线程监听相关端口,接受发送到端口上的请求,然后创建线程创建子线程,建立通信套接字,后面的事情都是子线程去干。主线程继续监听端口接受客户端发送过来的数据和连接请求。(即每个请求都会创建一个线程,同步阻塞)NIO:server服务端主线程监听相关端口,接受发送到端口上的连接请求,若同时有多个客户端连接请求到来也可以全部收到,依次为它们都建立通信套接字。 如果是已经建立so...
2019-03-29 16:38:48
265
原创 https详解
链接1:https://www.cnblogs.com/zhangshitong/p/6478721.html链接2:https://zhuanlan.zhihu.com/p/27395037先看链接1,能懂个大概,然后看链接2,链接1没讲明白的地方,链接2讲明白了。...
2019-03-29 13:22:25
128
原创 JVM类加载机制和tomcat类加载机制
JVM类加载机制BootStrapClassLoader 启动类加载器 加载JVM运行时需要的类ExtClassLoader 扩展类加载器 加载jdk、jre /lib目录下的类AppClassLoader 应用类加载器 加载classpath目录指定的类CustomClassLoader 用户自定义类加载器 用户自定义的类加载步骤采用的双亲委托机制:用户自定义加载器会将加载请求交...
2019-03-28 17:19:11
875
原创 内存溢出和内存泄漏的原因对比总结
外部模块导致内存泄漏的原因:比如A模块调用B模块,aaa(Object o),而B模块保存了A对象的引用,从而导致对象不能被回收。单例模式导致内存泄漏的原因:使用单例模式创建static对象,此时该对象的生命周期和应用一样,如果该对象持有外部的引用,则导致该对象没办法被回收。...
2019-03-27 16:01:30
198
原创 JDK、JRE、JVM的区别和联系
1、JVM java虚拟机,主要作用就是识别字节码文件(.class文件),然后调用对应的操作系统指令。然后java跨平台是基于JVM实现的,并不是java语言可以跨平台,是因为不同操作系统平台上java语言编译后的字节码文件是一样的,而jvm会根据操作系统去调用不同的上层API。2、JRE 是java应用部署和运行环境 主要包括jvm和Java 的一些基本类库。3、JDK 主要包括jre和j...
2019-03-27 11:41:04
218
原创 ArrayList、vector和linkedlist的区别以及Arraylist非线程安全的原因
ArrayList、vector和linkedlist的区别ArrayList非线程安全的原因:public boolean add(E e) { ensureCapacity(size + 1); elementData[size++] = e; return true; } public void ensureCapacity(...
2019-03-26 15:03:42
3221
原创 Fork/join框架的原理
原文链接:https://www.cnblogs.com/senlinyang/p/7885964.html简单描述下原理:Fork/join框架主要分为三部分:一、将一个大的主任务拆分为多个小的子任务,放在双端队列中。二、从队列中取出自认为执行。三、合并子任务结果。主要有两个方法:fork():把任务放在队列中,并异步执行任务。join():阻塞当前线程等待获取结果。...
2019-03-26 13:35:10
477
原创 win10环境下配置maven走过的坑
请参考:http://www.cnblogs.com/wkrbky/p/6350334.html?utm_source=itdadao&utm_medium=referral本人只是做个记录
2019-03-25 21:41:16
800
原创 对Executor的线程池框架的理解
对Executor的线程池框架的理解1、使用线程池的好处:减少线程创建、销毁的开销稳定2、Executor框架架构:Executor 执行器接口,该接口定义执行Runnable任务的方式。ExecutorService 该接口定义提供对Executor的服务。ScheduledExecutorService 定时调度接口。AbstractExecutorService 执行框架抽...
2019-03-25 18:08:02
136
原创 ConcurrentHashMap的理解
ConcurrentHashMap的put过程:先贴源码:final V putVal(K var1, V var2, boolean var3) {if (var1 != null && var2 != null) {int var4 = spread(var1.hashCode());int var5 = 0;ConcurrentHashMap.Node[] var...
2019-03-22 16:21:21
119
转载 HashMap实现原理及源码分析
本文转载自:https://www.cnblogs.com/chengxiao/p/6059914.html;如有侵权,请联系删除,谢谢。HashMap实现原理及源码分析 哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,而HashMap的实现原理也常常出现在各类的面试题中,重...
2019-03-22 13:39:06
77
转载 Java并发编程:CountDownLatch、CyclicBarrier和Semaphore
本文转载自:http://www.cnblogs.com/dolphin0520/p/3920397.htmlJava并发编程:CountDownLatch、CyclicBarrier和Semaphore在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法...
2019-03-21 15:34:57
77
原创 spring事务的5种隔离级别、spring事务的7中传播特性的理解?
一、事务的基本原理spring事务的本质是建立在数据库事务的基础上的。二、spring启动的时候会去解析生成相关的bean,这时候会去查拥有注解的类和方法,并且为这些类和方法生成代理,比根据@transaction的相关参数进行相关的配置注入,这样就在代理中为我们把相关的事务处理掉了。三、spring事务的传播属性| 常量名称 |常量解释 ||PROPAGATION_REQUIRED|...
2019-03-11 15:41:30
47
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人