灯灯灯灯 灯灯灯灯
4年前
Java并发之ReentrantLock源码解析
Java并发之ReentrantLock源码解析Condition在上一章中,我们大概了解了Condition的使用,下面我们来看看Condition再juc的实现。juc下Condition本质上是一个接口,它只定义了这个接口的使用方式,具体的实现其实是交由子类完成。cpublicinterfaceConditionvoidawait()
Wesley13 Wesley13
3年前
java集合之HashMap源码解读
源自:jdk1.8.0\_121HashMap继承自AbstractMap,实现了Map、Cloneable、Serializable。HashMap内部是由数组、链表、红黑树实现的变量//默认大小staticfinalintDEFAULT_INITIAL_CAPACI
九路 九路
4年前
4.1 手写Java PriorityQueue 核心源码
本章先讲解优先级队列和二叉堆的结构。下一篇代码实现从一个需求开始假设有这样一个需求:在一个子线程中,不停的从一个队列中取出一个任务,执行这个任务,直到这个任务处理完毕,再取出下一个任务,再执行。其实和Android的Handler机制中的Looper不停的从MessageQueue中取出一个消息然后处理是一样的。不过这个需
Wesley13 Wesley13
3年前
java.nio.ByteBuffer源码解读
版本:JDK7packagejava.nio;publicabstractclassByteBufferextendsBufferimplementsComparable<ByteBuffer{//ThesefieldsaredeclaredhereratherthaninHeapXBuffer
Stella981 Stella981
3年前
Android BLE 总结-源码篇(BluetoothLeAdvertiser)
在做AndroidBLE的应用程序时,我们发出广播数据是调用BluetoothLeAdvertiser的startAdvertising方法,如下所示:\java\viewplain(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fblog.csdn.net%2Fan
Wesley13 Wesley13
3年前
JDK核心JAVA源码解析(1)
想写这个系列很久了,对自己也是个总结与提高。原来在学JAVA时,那些JAVA入门书籍会告诉你一些规律还有法则,但是用的时候我们一般很难想起来,因为我们用的少并且不知道为什么。知其所以然方能印象深刻并学以致用。首先我们从所有类的父类Object开始:1\.Object类(1)hashCode方法和equals方法
Stella981 Stella981
3年前
Netty 源码 Channel(二)核心类
Netty源码Channel(二)核心类\toc\Netty系列目录(https://www.cnblogs.com/binarylei/p/10117436.html(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fw
Stella981 Stella981
3年前
Bystack跨链技术源码解读
Bystack是由比原链团队提出的一主多侧链架构的BaaS平台。其将区块链应用分为三层架构:底层账本层,侧链扩展层,业务适配层。底层账本层为Layer1,即为目前比较成熟的采用POW共识的Bytom公链。侧链扩展层为Layer2,为多侧链层,vapor侧链即处于Layer2。!(https://oscimg.oschina.net/oscnet/49
Stella981 Stella981
3年前
Spring MVC详细源码解析(下篇)
至此,第二步已经全部结束,接下来要接触到HandlerAdapter。第四步:再次回到DispatcherServlet类的doDispatch方法,继续往下走,进到getHandlerAdapter方法中。在DispatcherServlet类中维护了一个名为handlerAdapters的List集合,里面保存了所有的HandlerA
Stella981 Stella981
3年前
Kafka.network包源码解读
最近阅读了kafkanetwork包的源码,主要是想了解下kafka底层通信的一些细节,这部分都是用NIO实现的,并且用的是最基本的NIO实现模板,代码阅读起来也比较简单。抛开zookeeper这部分的通信不看,我们就看最基本的producer和consumer之间的基于NIO的通信模块。在network中主要包含以下类:!(http://static