java
a4227139
这个作者很懒,什么都没留下…
展开
-
NIO MappedByteBuffer读大文件并统计出现次数最多的TOP K个单词
最近学习NIO了解到MappedByteBuffer读取大文件很有优势,遂在网上搜索观看了好几篇博客,但大多数讲的都是理论。对于实战demo很少,或者过于简单,现结合一道常见的面试题:如何读取大文件并统计出现次数最多的TOP K个单词(IP/关键字),写了以下代码,以作记录并供人参考。原创 2017-07-11 22:33:54 · 1383 阅读 · 0 评论 -
NIO 读大文件
NIO读大文件,并用快排统计TOP K个单词原创 2017-07-12 13:16:53 · 457 阅读 · 0 评论 -
TOP K的几种算法比较
TOP K与一般的排序不一样,并不需要数组全部排序,甚至某些需求也不需要TOP K排序,所以如果原封不动地直接使用各种排序方法,然后再去取前K个,肯定是不够优化的。求数组TOP K的有好几种算法,这里列出了3种:快排的变种、基于固定数组的部分排序、冒泡的变种。原创 2017-07-12 17:53:24 · 978 阅读 · 0 评论 -
java各种IO读取文件对比
java的各种io对比原创 2017-07-12 13:29:41 · 600 阅读 · 0 评论 -
java线程中断,interrupt()方法的一些示例
众所周知,java线程实例有个interrupt()方法,它的名字很有诱导性,但它实际上并不能立即中断线程。它只是将线程的中断状态置位为true(这是每一个线程都具有的boolean标志,通过isInterrupted()方法可以查看),而设置之后,线程根据当前的状态进行不同的后续操作。如果线程的当前状态处于非阻塞状态,那么仅仅是线程的中断标志被修改为true不做其他操作。如果是wait、原创 2017-07-15 11:10:46 · 602 阅读 · 0 评论 -
wait(1000)与sleep(1000)的区别
sleep和wait的区别:1、sleep是Thread的静态方法,wait是Object的方法,任何对象实例都能调用。2、sleep不会释放锁,它也不需要占用锁。wait会释放锁,但调用它的前提是当前线程占有锁(即代码要在synchronized中)。3、它们都可以被interrupted方法中断。具体来说:Thread.Sleep(1000) 意思是在未来的1000毫秒内本原创 2017-08-03 19:09:39 · 12258 阅读 · 2 评论 -
websocket实现聊天室应用,包括文字和图片上传
使用基于spring的websocket实现实时聊天功能,可以文字,也可以上传图片。原创 2017-07-12 21:06:57 · 36411 阅读 · 11 评论 -
SpringBatch监控
前言:网上关于spring batch监控的文章少之又少,或者讲得太过简略。在这里记录一下自己的学习心得,供后来者参考。正文: 当前管理、监控Spring Batch的开源项目主要有两个,一是Spring Batch Admin,但它在2017年底就停止更新和维护了,也并入了第二个项目,也就是Spring Cloud Data Flow。当前Data Flow的最新版是2...原创 2019-03-22 23:52:33 · 3834 阅读 · 1 评论