上一页 1 ··· 5 6 7 8 9 10 11 12 下一页
摘要: 一、final的基本语义 final关键字可以用来修饰类、方法和变量(包括成员变量和局部变量) 当用final修饰一个类时,表明这个类不能被继承。 当用final修饰一个方法时,表明这个方法不能被重写。 当用final修饰一个变量时,表明这个变量初始化后就不能再被修改。 对于final类,从设计的角 阅读全文
posted @ 2018-08-19 23:28 静水楼台/Java部落阁 阅读(617) 评论(0) 推荐(0) 编辑
摘要: 三次握手(three-way handshaking) TCP位于传输层,作用是提供可靠的字节流服务,为了准确无误地将数据送达目的地,TCP协议采纳三次握手策略。 原理: 1)发送端首先发送一个带有SYN(synchronize)标志地数据包给接收方。 2)接收方接收后,回传一个带有SYN/ACK标 阅读全文
posted @ 2018-08-13 21:04 静水楼台/Java部落阁 阅读(967) 评论(0) 推荐(0) 编辑
摘要: 一、Redis的单线程模型 Redis基于Reactor模式实现了自己的网络事件处理器,这个处理器称为文件事件处理器(file event handler)。 文件事件处理器使用IO多路复用程序来同时监听多个socket,并根据socket的执行任务来为socket分配不同的事件处理器。 当被监听的 阅读全文
posted @ 2018-08-13 21:04 静水楼台/Java部落阁 阅读(751) 评论(0) 推荐(0) 编辑
摘要: HTTP是无状态的,无状态指的是HTTP协议不具备保存之前发送过的请求或响应的功能。每次的请求是相互独立的,请求结果不会互相影响,服务器也不会保存客户端的状态,客户端必须每次带上自己的状态去请求服务器。在无状态的http协议下,服务器会保存客户端每次网络请求对数据的修改,但这跟保留每次访问的数据是不 阅读全文
posted @ 2018-08-13 21:03 静水楼台/Java部落阁 阅读(1173) 评论(0) 推荐(0) 编辑
摘要: 一、出现四种引用的原因 在JDK1.2以前,Java中的引用的定义很传统:如果reference类型的数据中存储的数值代表的是另外一块内存的起始地址,就称这块内存代表着一个引用。 这种定义过于狭隘,在这种定义下一个对象只能有被引用或没有被引用两种状态,但我们希望能描述这样一类对象 当内存空间还足够时 阅读全文
posted @ 2018-06-07 14:52 静水楼台/Java部落阁 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 一、概述 ThreadLocal应用场景很广,很多主流框架都使用到它。例如,Spring用它来管理数据库连接,每个线程获取的都是自己的数据库连接对象。 通常,我们使用ThreadLocal有两个目的: 1.用来隔离不同线程的变量,避免线程间互相干扰。 比如,我们系统每秒钟同时会有很多用户请求,每个请 阅读全文
posted @ 2018-05-29 17:41 静水楼台/Java部落阁 阅读(162) 评论(0) 推荐(0) 编辑
摘要: Java编程思想中有这样一句话: 当我们使用线程来同时运行多个任务时,可以通过使用锁(互斥)来同步两个任务的行为,从而使得一个任务不会干扰到另外一个任务,这解决的是线程间彼此干涉的问题,现在我们需要来解决线程间彼此协调的问题,也就是线程间通信问题。 其实我一直对线程间通信这个概念比较模糊,如果仅仅从 阅读全文
posted @ 2018-05-29 17:40 静水楼台/Java部落阁 阅读(3284) 评论(0) 推荐(0) 编辑
摘要: 一、锁升级(JMV层优化) JavaSE6为了减少获得锁和释放锁带来的性能消耗,引入了“偏向锁”和“轻量级锁”,所以JavaSe6中锁共有4种状态,级别从低到高依次是:无锁状态,偏向锁状态,轻量级锁状态,和重量级锁状态。锁的状态会随着锁竞争的激烈程度的升级而升级。锁可以升级,但不能降级,这种只能升级 阅读全文
posted @ 2018-05-29 17:23 静水楼台/Java部落阁 阅读(373) 评论(0) 推荐(0) 编辑
摘要: 一、String 1、String概述 String代表字符串,Java中的所有字符串字面量都是它的实例,如"abc"。String对象是不可变的,一旦创建就不可以再被更改。String被设计为final的,是因为其设计者不希望String被继承而遭到更改。 在不同的JDK版本中,String类的实 阅读全文
posted @ 2018-05-22 16:38 静水楼台/Java部落阁 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 一、Integer类的缓存机制 我们查看Integer的源码,就会发现里面有个静态内部类。 public static Integer valueOf(int i) { assert IntegerCache.high >= 127; //当前值在缓存数组区间段,则直接返回该缓存值 if (i >= 阅读全文
posted @ 2018-05-16 11:28 静水楼台/Java部落阁 阅读(8146) 评论(0) 推荐(2) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 下一页