标签:
深入理解JDK中的I/O
目 录
java内存模型
GC
HTTP协议
事务隔离级
并发多线程
设计模式
清楚redis、memcache并且知道区别
mysql分表分库
有接口幂等性了解
jdk8稍微了解一下特性
jvm内存模型:堆和非堆,http://www.cnblogs.com/RunForLove/p/4775999.html 对这部分的理解,只集中在关乎我们编程的东西部分。
堆就是Java代码可及的内存,是留给开发人员使用的;非堆就是JVM留给自己用的。堆、非堆:虚拟机栈、本地方法栈、程序计数器、方法区、运行时常量池(存储编译期生成的各种字面量和符号引用)。
GC:是针对堆概念来的。1.堆内存具体点儿,又是这么来划分的?2.垃圾回收的算法大概是怎么样的?针对循环引用,有可达性分析算法。
http://www.importnew.com/14630.html
http://www.cnblogs.com/dolphin0520/p/3783345.html
三次握手:建立TCP需要三次握手才能建立,而断开连接则需要四次握手。
HTTP协议:
http协议基本流程:
1.打开HTTP连接。一定要记住HTTP是一种无状态协议。正因为如此,对于每一个请求你都要建立一个新的连接。
2.初始化方法请求。这里面将包含一些类型的方法指示符用来描述调用什么方法和方法所需要的参数。
3.设置HTTP请求头。这里面包含要传送的数据类型(二进制)和数据的总长。
4.发送请求。将二进制流写到服务器。
5.读取请求。目标servlet程序将被调用并接受HTTP请求数据。servlet程序就调用所有必要的参数选择相应的方法。注意,如果这是这个客户端的第一次请求,一个服务器对象的新的实例就会被创建。
6.调用方法。方法将会被服务器端的对象调用。
7.初始化方法响应。如果调用的方法抛出一个异常,客户将接收到出错信息。否则,返回的类型(如果有)将会被发送。
8.设置HTTP响应头。在响应头中,一定会设置待发送数据的类型和长度。
9.发送响应。二进制数据流将从Web服务器发送并返回给客户端。
10.关闭连接。
事务隔离级别,spring事务的传播机制: http://www.cnblogs.com/RunForLove/p/4641672.html
数据库事务的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。
http://blog.csdn.net/fg2006/article/details/6937413 注意:我们讨论隔离级别的场景,主要是在多个事务并发的情况下,因此,接下来的讲解都围绕事务并发。
标签:
原文地址:http://www.cnblogs.com/RunForLove/p/5401395.html