首页
学习
活动
专区
工具
TVP
发布

java 成神之路

专栏作者
163
文章
265501
阅读量
63
订阅数
Netty 之 NioEventLoop 源码分析
每一个 NioEventLoop 开启一个线程,线程启动时会调用 NioEventLoop 的 run 方法,执行I/O任务和非I/O任务
java404
2019-03-11
4690
Netty 之 AbstractNioByteChannel 源码分析
1、该类定义了一个 flushTask 变量,来负责刷新发送已经 write 到缓存中的数据。write 的数据没有直接写到 socket 中,而是写入到 ChannelOutboundBuffer 缓存中,等 flush 的时候才会写到 Socket 中进行发送数据。 2、AbstractNioByteChannel 定义了 NioByteUnsafe 类。 NioByteUnsafe 类继承了 AbstractNioChannel 的内部类 AbstractNioUnsafe,并重写了读取数据的方法。
java404
2019-03-05
7731
Netty 之 ChannelOutboundBuffer 源码分析
每个 ChannelSocket 的 Unsafe 都有一个绑定的 ChannelOutboundBuffer , Netty 向站外输出数据的过程统一通过 ChannelOutboundBuffer 类进行封装,目的是为了提高网络的吞吐量,在外面调用 write 的时候,数据并没有写到 Socket,而是写到了 ChannelOutboundBuffer 这里,当调用 flush 的时候,才真正的向 Socket 写出。
java404
2019-03-05
8600
Netty 线程模型
Netty中的Reactor模型主要由多路复用器(Acceptor)、事件分发器(Dispatcher)、事件处理器(Handler)组成,可以分为三种。
java404
2019-03-04
8000
java 成神之路
感觉自己技术不错的小伙伴们,看看有没有自己欠缺知识点,赶快补起来吧。 java成神之路 一、基础篇 JVM JVM内存结构 堆、栈、方法区、直接内存、堆和栈区别 Java内存模型 内存可见性、重排序、顺序一致性、volatile、锁、final 垃圾回收 内存分配策略、垃圾收集器(G1)、GC算法、GC参数、对象存活的判定 JVM参数及调优 Java对象模型 oop-klass、对象头 HotSpot 即时编译器、编译优化 类加载机制 classLoader、类加载过程、双亲委派(破坏双亲委派)、模块化(
java404
2018-06-08
1.8K0
java 线程池
概述 减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务 可以根据系统的承受能力,调整线程池中工作线线程的数目,防止因为因为消耗过多的内存,而把服务器累趴下(每个线程需要大约1MB内存,线程开的越多,消耗的内存也就越大,最后死机) 线程池使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务,减少创建和销毁线程的次数。 java 中提供了3种实现 ThreadPoolExecutor:标准线程池 ScheduledThreadPoolExecutor:支持延迟
java404
2018-05-18
9240
java 限流策略
概要 在大数据量高并发访问时,经常会出现服务或接口面对暴涨的请求而不可用的情况,甚至引发连锁反映导致整个系统崩溃。此时你需要使用的技术手段之一就是限流,当请求达到一定的并发数或速率,就进行等待、排队、
java404
2018-05-18
1.6K0
并发编程基础知识点
上下文切换 CPU通过时间片分配算法来循环执行任务,当前任务执行一个时间片后会切换到下一个 任务。但是,在切换前会保存上一个任务的状态,以便下次切换回这个任务时,可以再加载这个任务的状态。所以任务从保存到再加载的过程就是一次上下文切换。 这就像我们同时读两本书,当我们在读一本英文的技术书时,发现某个单词不认识,于是便打开中英文字典,但是在放下英文技术书之前,大脑必须先记住这本书读到了多少页的第多少行,等查完单词之后,能够继续读这本书。这样的切换是会影响读书效率的,同样上下文切换也会影响多线程的执行速度。
java404
2018-05-18
6960
HashMap实现中文分词器
今天下午部门内部技术分享是分词器算法。这次的主讲是大名鼎鼎的Ansj分词器的作者-孙健。 作者简介: Ansj分词器作者 elasticsearch-sql(elasticsearch的sql插件)作者,支持sql查询 nlp-lang自然语言工具包发起人 NLPCN(自然语言处理组织)发起人 等等... 网站:http://www.nlpcn.org/ GIT地址:https://github.com/NLPchina 具体作者详情请百度、Google 大神首先对中文分词的概念进行详细的解释
java404
2018-05-18
8800
JVM垃圾回收算法
判断Java中对象存活的算法 1.引用计数器算法: 引用计数器算法是给每个对象设置一个计数器,当有地方引用这个对象的时候,计数器+1,当引用失效的时候,计数器-1,当计数器为0的时候,JVM就认为对象不再被使用,是“垃圾”了。 引用计数器实现简单,效率高;但是不能解决循环引用问问题(A对象引用B对象,B对象又引用A对象,但是A,B对象已不被任何其他对象引用),同时每次计数器的增加和减少都带来了很多额外的开销,所以在JDK1.1之后,这个算法已经不再使用了。 2.根搜索方法: 根搜索方法是通过一些“GCRo
java404
2018-05-18
6260
JVM 内存区域大小参数设置
需要提前了解的知识点: JVM内存模型 JVM垃圾回收算法 下图是JVM内存区域划分的逻辑图 JVM内存区域逻辑图 从图中我们大概了解JVM相关的内存区域。 JVM内存包括区域 Heap(堆区) Ne
java404
2018-05-18
4.6K0
JVM(HotSpot) 垃圾收集器
需要提前了解的知识: JVM内存模型 JVM垃圾回收算法 HotSpot虚拟机所有的垃圾收集器如下图: HotSpot 所有垃圾收集器 上面有7种收集器,分为部分,上面为新生代收集器,下面是老年代
java404
2018-05-18
6880
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档