摘要: 一、为什么废弃永久代(PermGen) 2.1 官方说明 参照JEP122:http://openjdk.java.net/jeps/122,原文截取: Motivation This is part of the JRockit and Hotspot convergence effort. JR 阅读全文
posted @ 2019-02-26 22:14 孙秋翔_quinns 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 多线程中,对共享资源进行访问,为了防止并发引起的相关问题,通常都是引入锁的机制来处理并发问题。 获取到资源的线程A对这个资源加锁,其他线程比如B要访问这个资源首先要获得锁,而此时A持有这个资源的锁,只有等待线程A逻辑执行完,释放锁,这个时候B才能获取到资源的锁进而获取到该资源。 这个过程中,A一直持 阅读全文
posted @ 2019-02-26 00:36 孙秋翔_quinns 阅读(1981) 评论(0) 推荐(0) 编辑
摘要: Redis为什么这么快 1、完全基于内存,绝大部分请求是纯粹的内存操作,非常快速。数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1); 2、数据结构简单,对数据操作也简单,Redis中的数据结构是专门进行设计的; 3、采用单线程,避免了不必要的上下文切换 阅读全文
posted @ 2019-02-25 23:15 孙秋翔_quinns 阅读(707) 评论(0) 推荐(0) 编辑
摘要: 1、概念 1、同步(sync)、异步(async) 同步方法一旦开始,调用者必须等到方法返回后,才能继续后续行为。 异步方法调用后可以继续后续的操作 2、并发(concurren)、并行(parallelism) 并发和并行都表示两个或多个任务一起执行。并发偏重于多个任务交替执行,而多个任务之间有可 阅读全文
posted @ 2019-02-24 18:22 孙秋翔_quinns 阅读(444) 评论(0) 推荐(0) 编辑
摘要: 创建线程的方法 继承thread 实现Runnable接口 currentThread( )方法:返回代码段正在被哪个线程调用的信息。 isAlive( )方法:判断当前的线程是否处于活跃状态。 sleep( )方法:在指定的毫秒数内让当前“正在执行的线程”休眠,正在执行的线程是this.curre 阅读全文
posted @ 2019-02-23 17:18 孙秋翔_quinns 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下: 公平锁/非公平锁 可重入锁 独享锁/共享锁(广义) 互斥锁/读写锁(独享锁/共享锁的实现) 乐观锁/悲观锁(角度) 分段锁(设计) 偏向锁/轻量级锁/重量级锁(synchronized的状态) 自旋 阅读全文
posted @ 2017-09-08 17:03 孙秋翔_quinns 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 定义及概念 B树 二叉树的深度较大,在查找时会造成I/O读写频繁,查询效率低下,所以引入了多叉树的结构,也就是B树。阶为M的B树具有以下性质: 1、根节点在不为叶子节点的情况下儿子数为 2 ~ M2、除根结点以外的非叶子结点的儿子数为 M/2(向上取整) ~ M3、拥有 K 个孩子的非叶子节点包含  阅读全文
posted @ 2017-08-31 17:20 孙秋翔_quinns 阅读(466) 评论(0) 推荐(0) 编辑
摘要: B/S基于统一的应用层协议HTTP来交互数据,目前的B/S网络架构大多采用如图所示的架构设计,既要满足海量用户访问请求,又要保持用户请求的快速响应。 当一个用户在浏览器输入www.taobao.com这个URL时,将会发生很多操作。首先它会请求DNS把这个域名解析成对应的IP地址,然后根据这个IP地 阅读全文
posted @ 2017-08-18 22:05 孙秋翔_quinns 阅读(1023) 评论(0) 推荐(0) 编辑
摘要: 一、什么是适配器 适配器是将一种接口改造成另外一种接口的一个包装类; 二、补充说明 有两种实现方式,一种是通过继承,另外一种通过组合; 使用组合实现的时候,跟装饰者模式有点类似,不过侧重点不同,装饰者模式是给对象增加新行为,适配器是为了适配接口; 优点:符合开闭原则;适配者类和目标类解耦;代码复用; 阅读全文
posted @ 2017-08-18 11:04 孙秋翔_quinns 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 一、什么是单例模式 一个类只有一个全局实例 二、补充说明 一般把其构造方法设为私有,另外提供一个可以获取该实例的静态方法; 由于java存在反射机制,即使是私有构造方法,也能被外部创建,所以一般的写法严格来讲不属于单例模式;(ps:可以在构造方法内加个静态flag标志判断,保证其只能创建一次) 违背 阅读全文
posted @ 2017-08-18 08:47 孙秋翔_quinns 阅读(142) 评论(0) 推荐(0) 编辑