Essviv

Dare to be different


  • 首页

  • 归档

Netty源码学习系列---服务端的启动

发表于 2017-01-25 |
Netty源码学习系列—服务端的启动netty作为一套NIO框架,它封装了JAVA中的原生的NIO操作逻辑. 在学习netty源码的时候,我们就遵循这样的思路,先用JAVA原生的NIO API实现服务端程序,然后对照这些步骤,一步步地去netty中寻找相应的实现,看看作为框架,它是怎么封装基本的操作 ...
阅读全文 »

Bytebuf学习

发表于 2017-01-25 |
Bytebuf学习ByteBuf同时支持随机和序列化的方式读取byte数组, 它是nio buffer以及byte数组的抽象视图类. ByteBuf的指针ByteBuf中定义了两个指针, readerIndex和writerIndex, 分别指示当前的读位置与写位置; 整个ByteBuf被这两个指 ...
阅读全文 »

ClassLoader的双亲委派模型

发表于 2017-01-25 |
ClassLoader的双亲委派模型ClassLoader的层次在java中,ClassLoader的层次可细分为: BootStrap ClassLoader: 负责加载JDK中的核心类库 Extension ClassLoader: 负责加载/lib/ext/下的类库,负责JAVA扩展库 ...
阅读全文 »

注解

发表于 2017-01-25 |
注解元注解元注解是注解的注解,JAVA中提供了四种元注解 @Target: 它是用来标识注解的使用范围,可选的范围包括包、类型、方法、构造方法、成员变量、局部变量以及方法变量等 @Retention: 它是用来标识注解的生命周期,可选的生命周期由RetentionPolicy定义,可选的值包括源 ...
阅读全文 »

反射-Member接口

发表于 2017-01-25 |
反射-Member接口Member接口定义了单个成员(可以是属性、构造函数或者方法)的信息,它提供了以下几个方法: getDeclaringClass: 返回声明这个成员的类信息 getModifier: 返回修饰符信息 getName: 返回成员的名称信息 isSynthetic:标识当前 ...
阅读全文 »

JVM的方法调用

发表于 2017-01-25 |
JVM的方法调用关键字: 编译时静态多分派,运行时动态单分派 ”静态多分派“是指在编译阶段,编译器根据方法接收者以及参数的静态类型来决定选用的方法版本 ”动态单分派“是指在运行阶段,只根据方法接收者的实际类型来决定调用的实际方法 方法调用并不等于于方法执行,方法调用阶段唯一的任务就是确定被调用方法的 ...
阅读全文 »

java集合学习之Queue的实现5

发表于 2017-01-25 |
java集合学习之Queue的实现5Queue接口这个接口的类继承图如下所示,可以看到,这个接口主要有三种实现, AbstractQueue、Deque以及BlockingQueue(在图中未展示). 这个接口只定义了6个方法,可以分成两组,一组在操作无法完成时会抛出异常,一组在操作无法完成时会 ...
阅读全文 »

Synchronized关键字

发表于 2017-01-24 |
Synchronized关键字 synchronized提供的是排它的、不公平的、可重入的锁,这是JAVA对象内含的锁对象. Keep in mind that using synchronized on methods is really just shorthand (assume class ...
阅读全文 »

阻塞锁与自旋锁

发表于 2017-01-24 |
阻塞锁与自旋锁在学习JAVA并发包的时候发现其底层的实现是通过AQS框架来完成的,而AQS框架中维护了一个CLH队列,CLH队列使用了CLH锁,因此上网搜了下这方面的内容,发现原来在并行编程中有这么多的锁类型,索性做个总结,此为本篇内容的缘由. 1. 阻塞锁阻塞锁是指当线程尝试获取锁失败时,线程进入 ...
阅读全文 »

memo

发表于 2017-01-24 |
memo需要进一步深入学习的点: BlockingQueue CocurrentHashMap BlockingDeque 以上内容可以从这里找到答案 hashCode和equals: http://tutorials.jenkov.com/java-collections/hash ...
阅读全文 »
123…15
Essviv

Essviv

145 日志
27 标签
GitHub
© 2017 Essviv
由 Hexo 强力驱动
主题 - NexT.Mist