java
hutonm
这个作者很懒,什么都没留下…
展开
-
Java垃圾回收机制
如何确定某个对象是垃圾: 1.引用计数法 2.可达性分析法典型的垃圾回收算法: 1.Mark-Sweep(标记-清除)算法 2.Copying(复制)算法(把内存分为两块,使能够使用的内存缩减到一半) 3.Mark-Compact(标记-整理)算法 4.Generational Collection(分代收集)算法原创 2017-11-13 08:57:37 · 146 阅读 · 0 评论 -
Java NIO Buffer
Java NIO中的Buffer用于和NIO通道进行交互。如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的。缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成NIO Buffer对象,并提供了一组方法,用来方便的访问该块内存。NIO中的关键Buffer实现有:ByteBuffer, CharBuffer, DoubleBuffer, FloatBuffer, Int转载 2017-11-14 11:06:32 · 173 阅读 · 0 评论 -
Java NIO Channel
Java NIO的通道类似流,但又有些不同:既可以从通道中读取数据,又可以写数据到通道。但流的读写通常是单向的。通道可以异步地读写。通道中的数据总是要先读到一个Buffer,或者总是要从一个Buffer中写入。 正如上面所说,从通道读取数据到缓冲区,从缓冲区写入数据到通道。如下图所示: Channel的实现这些是Java NIO中最重要的通道的实现:FileChannelDatagra转载 2017-11-14 11:33:17 · 204 阅读 · 0 评论 -
Java NIO Selector
Selector(选择器)是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件。这样,一个单独的线程可以管理多个channel,从而管理多个网络连接。为什么使用Selector?仅用单个线程来处理多个Channels的好处是,只需要更少的线程来处理通道。事实上,可以只用一个线程处理所有的通道。对于操作系统来说,线程之间上下文切换的开销很大,而且每个线程都要占转载 2017-11-14 13:10:41 · 148 阅读 · 0 评论 -
Kafka producer无法发送消息解决办法
在虚拟机搭建了kafka集群,在集群内使用Shell可以成功发送消息创建Topic。 但是在外部使用API无法发送消息,但是能创建topic 具体原因Hostname and port the broker will advertise to producers and consumers. If not set, it uses the value for “listeners” if co原创 2017-11-24 14:32:16 · 15968 阅读 · 6 评论