zoukankan      html  css  js  c++  java
  • 深入理解JDK中的I/O

    深入理解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://blog.csdn.net/ocean1010/article/details/6548771

    http://blog.chinaunix.net/uid-24111901-id-2627894.html

    读未提交  读提交   重复读  序列化

    jdk 8 新特性:

    1. 使用default关键字,给接口添加一个方法实现,则子类不需要实现。

    只需要使用 default关键字即可,这个特征又叫做扩展方法,示例如下: http://www.tuicool.com/articles/6ZRJFv

    设计模式,

    数据库中锁:http://www.2cto.com/database/201210/161159.html 使用for update来控制悲观锁。http://www.codesec.net/view/175881.html 悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制,也无法保证外部系统不会修改数据)。乐观锁机制避免了长事务中的数据库加锁开销(两个用户操作过程中,都没有对数据库数据加锁),大大提升了大并发量下的系统整体性能表现。 

    分库分表注意的问题,避免跨库事务。避免数据库中的数据依赖另一数据库中的数据。  

    清楚redis和memcache,并知道区别:

    http://blog.163.com/sun_jian_zhang/blog/static/187804041201310795917333/

    工厂模式和代理模式。

    简单工厂模式和抽象工厂模式。

    静态代理模式和动态代理模式。http://layznet.iteye.com/blog/1182924 

     

  • 相关阅读:
    Omi框架学习之旅
    Omi框架学习之旅
    Omi框架学习之旅
    加密解密
    RSA加密解密
    CMDB后台管理(AutoServer)
    CMDB Autoclient思路分析
    CMDB开发(需求分析)
    Django之model操作(续)
    Django之Model操作
  • 原文地址:https://www.cnblogs.com/RunForLove/p/5401395.html
Copyright © 2011-2022 走看看