上一页 1 2 3 4 5 6 7 8 9 10 ··· 13 下一页
摘要: 一、重排序场景 class ResortDemo { int a = 0; boolean flag = false; public void writer() { a = 1; //1 flag = true; //2 } Public void reader() { if (flag) { // 阅读全文
posted @ 2019-12-31 11:48 朱子威 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 二、ObjectMonitor 结构 前面讲到 java.lang.Object 类定义了 wait(),notify(),notifyAll() 方法。 这些都是 native方法,底层是C++来实现的。 这些方法的具体实现,依赖一个叫做ObjectMonitor模式实现,这是JVM内部C++实现 阅读全文
posted @ 2019-12-31 10:20 朱子威 阅读(6004) 评论(2) 推荐(1) 编辑
摘要: 实现原理 synchronized可以保证方法或者代码块在运行时,同一时刻只有一个方法可以进入到临界区,同时它还可以保证共享变量的内存可见性 Java中每一个对象都可以作为锁,这是synchronized实现同步的基础: 普通同步方法,锁是当前实例对象 静态同步方法,锁是当前类的class对象 同步 阅读全文
posted @ 2019-12-31 09:55 朱子威 阅读(1304) 评论(0) 推荐(0) 编辑
摘要: 参考: https://blog.csdn.net/java666668888/article/details/102855253 阅读全文
posted @ 2019-12-30 19:01 朱子威 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 参考: http://www.tianshouzhi.com/api/tutorials/netty/343 阅读全文
posted @ 2019-12-30 18:21 朱子威 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 摘要: I/O复用模型,是同步非阻塞,这里的非阻塞是指I/O读写,对应的是recvfrom操作,因为数据报文已经准备好,无需阻塞。 说它是同步,是因为,这个执行是在一个线程里面执行的。有时候,还会说它又是阻塞的,实际上是指阻塞在select上面,必须等到读就绪、写就绪等网络事件。 一、I/O复用模型 阅读全文
posted @ 2019-12-30 17:55 朱子威 阅读(783) 评论(0) 推荐(0) 编辑
摘要: 前言 零拷贝(Zero-copy)技术指在计算机执行操作时,CPU 不需要先将数据从一个内存区域复制到另一个内存区域,从而可以减少上下文切换以及 CPU 的拷贝时间。它的作用是在数据报从网络设备到用户程序空间传递的过程中,减少数据拷贝次数,减少系统调用,实现 CPU 的零参与,彻底消除 CPU 在这 阅读全文
posted @ 2019-12-30 15:20 朱子威 阅读(684) 评论(0) 推荐(0) 编辑
摘要: 来自如下网站 https://www.cnblogs.com/sparkdev/p/8410350.html 内核空间和用户空间 对 32 位操作系统而言,它的寻址空间(虚拟地址空间,或叫线性地址空间)为 4G(2的32次方)。也就是说一个进程的最大地址空间为 4G。操作系统的核心是内核(kerne 阅读全文
posted @ 2019-12-30 14:08 朱子威 阅读(1703) 评论(0) 推荐(0) 编辑
摘要: AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为高度平衡树。查找、插入和删除在平均和最坏情况下都是O(log n)。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。AVL树得名于它的发明者G.M. Adelson-Velsky和E.M. 阅读全文
posted @ 2019-12-27 10:39 朱子威 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 红黑树是一种很经典的数据结构,它可以在O(log n)时间内做查找,插入和删除。所以倍受关注。但是一直以来很多Java程序员对他都不是很重视,直到在JDK 1.8中,HashMap会将其链表转换成红黑树,此后,很多人就开始重新学习红黑树的有关知识。 作者在学习红黑树时,查阅了很多资料都没有找到解释的 阅读全文
posted @ 2019-12-27 10:29 朱子威 阅读(2651) 评论(1) 推荐(1) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 13 下一页