![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
文章平均质量分 92
行路难行路难
唯有牺牲多壮志,敢叫日月换新天
展开
-
从NIO到Netty的个人见解
目录学习netty的起因一.NIO1.1基于 Stream 与基于 Buffer1.2阻塞和非阻塞1.3 Selector二.Buffer2.1 Buffer类型2.2 Buffer属性2.3 Buffer方法2.3.1 分配内存2.3.2 写入数据2.3.3 读取数据2.3.4 重置position2.3.5 mark()和reset()2.3.6 flip(), rewind() 和 clear()2.4 Buffer比较...原创 2021-01-10 15:51:14 · 165 阅读 · 0 评论 -
interrupted() 和 isInterrupted() 的区别
Thread 类中提供了两种方法用来判断线程的状态是不是停止的。就是我们今天的两位主人公 interrupted() 和 isInterrupted() 。interrupted()官方解释:测试当前线程是否已经中断,当前线程是指运行 this.interrupted() 方法的线程 。public class t12 { public static void main(St...转载 2018-10-21 13:03:06 · 101 阅读 · 0 评论 -
synchronized的简介
由于同一进程的多个线程共享同一片存储空间,在带来方便的同时,也带来了访问冲突这个严重的问题。Java语言提供了专门机制以解决这种冲突,有效避免了同一个数据对象被多个线程同时访问。需要明确的几个问题:synchronized关键字可以作为函数的修饰符,也可作为函数内的语句,也就是平时说的同步方法和同步语句块。如果 再细的分类,synchronized可作用于instance变量、object ...转载 2018-10-21 12:14:25 · 113 阅读 · 0 评论 -
类加载以及双亲委托机制
一.类的加载1:概述1:当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载-连接-初始化主要三步来实现这个类进行初始化.2:得到类加载器: Class#getClassLoader()3:类加载器(class loader)用来加载 Java 类到 Java 虚拟机中。一般来说,Java 虚拟机使用 Java 类的方式如下:Java 源程序(.java 文件)在经过 Jav...转载 2018-10-22 13:48:56 · 107 阅读 · 0 评论 -
HashMap与ConcurrentHashMap的线程安全性
版权声明:本文为博主原创文章,未经博主允许不得转载,该博客仅用于个人学习,欢迎大家互相交流讨论 https://blog.csdn.net/sbq63683210/article/details/51679790本文要解决的问题:最近无意中发现有很多对Map尤其是HashMap的线程安全性的话题讨论,在我的理解中,对HashMap的理解中也就知道它是线程不安全的,以及HashMap的底层算法...转载 2018-10-22 09:51:02 · 175 阅读 · 0 评论 -
HashMap实现原理及源码分析
HashMap实现原理及源码分析 哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,而HashMap的实现原理也常常出现在各类的面试题中,重要性可见一斑。本文会对java集合框架中的对应实现HashMap的实现原理进行讲解,然后会对JDK7的HashMap源码进行分析。目录...转载 2018-10-22 09:37:41 · 67 阅读 · 0 评论 -
JAVA的Queue接口,阻塞与非阻塞队列,以及阻塞实现原理
Queue接口与List、Set同一级别,都是继承了Collection接口。 Queue的实现 阻塞的意思是如果队满加入或者对空输出都是需要需要等待 而非阻塞的并不用。 一.Queue的实现 1.没有实现阻塞接口的: (1)LinkedList : 实际是双向链表 实现了 Deque 接口最实用(也是一个最常用的Queue的实现型) (2)Priorit...转载 2018-08-24 13:35:24 · 3769 阅读 · 0 评论 -
LeetCode 二叉树的遍历
二叉树转载 2018-08-24 13:35:31 · 222 阅读 · 0 评论 -
红黑树JAVA源码
/** * Java 语言: 红黑树 * * @author skywang * @date 2013/11/07 */public class RBTree<T extends Comparable<T>> { private RBTNode<T> mRoot; // 根结点 privat转载 2018-08-24 13:34:19 · 1044 阅读 · 0 评论 -
JAVA Map以及其内部接口Map.Entry
Map是java中的接口,Map.Entry是Map的一个内部接口。Map提供了一些常用方法,如keySet()、entrySet()等方法。keySet()方法返回值是Map中key值的集合;entrySet()的返回值也是返回一个Set集合,此集合的类型为Map.Entry。Map.Entry是Map声明的一个内部接口,此接口为泛型,定义为Entry 由以上可以得...转载 2018-08-24 13:34:37 · 231 阅读 · 0 评论 -
Java优先队列PriorityQueue介绍并且实现以及比较器
PriorityQueue 是java中的优先队列。 其实现了Queue接口,不允许放入空值。 其通过小顶堆实现。 其几个方法的实现如下 1.offer()/add()public boolean offer(E e) { if (e == null)//不允许放入null元素 throw new NullPointerException(); mo...转载 2018-08-24 13:34:48 · 7835 阅读 · 2 评论