![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java杂七杂八
文章平均质量分 77
岁月如歌似梦
这个作者很懒,什么都没留下…
展开
-
数据结构:堆的java实现
最近写java程序的时候,经常用到堆这种数据结构,但是java本身的JDK本没有提供这种数据结构的实现。(栈,队列都有,为什么就不实现一个堆呢……图这种数据结构没有,我是可以理解的,但是堆为什么也没有呢?我就不理解了。有哪位大神知道原因的话,告诉我一下吧0.0)由于上述原因,我就自己写了一个简单的堆实现。实现的功能有:堆排序,创建大根堆,创建小根堆,增删改查等基本功能。底层运用的数原创 2016-09-10 13:14:36 · 960 阅读 · 0 评论 -
JAVA中synchronized和String引出的一系列内容
背景最近,在开发一个功能,由于会存在并发问题(发生几率不大),因此想上个锁避免一下,但是又因为处于性能考虑,不想锁整个方法或者都去锁住同一个对象,这样会使得所有请求进入这个方法后,都会变成串行进行排队,但是很多时候,不同的请求之间是没有资源竞争的,应该是可以并行的,对于有竞争的请求,才应该采取串行的方式。该方法只有一个String类型的入参,于是我一开始就打算用这个入参作为被锁的对象,因为一开原创 2017-07-27 11:54:50 · 4703 阅读 · 2 评论 -
JAVA多线程读取同一个文件,加速对文件内容的获取
前几天,朋友托我帮个忙,问我能不能用多线程的方式,读取一个文件,获取里面的内容。他大概想做的事情,就是读取文件里面每一行的内容,然后分析一下,再插入到数据库这样。但是,由于他那个记录内容的文件实在是太大了,虽然他弄成了单生产者-多消费者的模型,整体的处理速度还是非常的慢,因为读取速度不够快。所以,他就问我要怎么多线程读取同一个文件里面的内容,形成多生产者-多消费者的模型,从而提高速度。 因此原创 2017-09-29 19:00:40 · 36205 阅读 · 7 评论 -
JAVA实现较完善的布隆过滤器
布隆过滤器是可以用于判断一个元素是不是在一个集合里,并且相比于其它的数据结构,布隆过滤器在空间和时间方面都有巨大的优势。布隆过滤器存储空间和插入/查询时间都是常数。但是它也是拥有一定的缺点:布隆过滤器是有一定的误识别率以及删除困难的。简单来说,布隆过滤器的实现方法就是:利用内存中一个长度为M的位数组B并初始化里面的所有位都为0,如下面的表格所示:原创 2017-07-30 17:17:22 · 27057 阅读 · 7 评论 -
Java接口RandomAccess(判断哪种迭代访问方式更快)
本文转载自:http://www.jb51.net/article/92127.htm在jdk文档中对RandomAccess接口的定义如下: public interface RandomAccess下面是jdk的注解翻译List 实现所使用的标记接口,用来表明其支持快速(通常是固定时间)随机访问。此接口的主要目的是允许一般的算法更改其行为,从而在将其应用到随机转载 2017-07-21 10:25:29 · 516 阅读 · 0 评论 -
JAVA运行超时自动中断(强杀)的线程池
这里包装了一下JAVA原生的线程池,提供了一个支持超时后自动中断线程的功能,当然对于某些线程是无法进行中断的(比如阻塞的线程等等),因此这个类也提供了一个可以进行设置的标志位:stopTimeOutThread。默认为false表示对于超时的线程只进行中断,如果我们设置为true之后,对于超时线程除了进行中断之外,还会调用stop方法进行强行杀死。原创 2017-03-10 17:53:12 · 8763 阅读 · 0 评论 -
基于POI的两个JAVA操作Office工具类
目前能设置的东西很少,但是基本满足了简单的使用场景,采用Builder模式,通过设置的Builder对象设置好相关属性后,调用build方法,生成一个Creator后,直接调用相关的create方法即可。import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import jav原创 2016-12-22 15:39:35 · 2446 阅读 · 0 评论 -
JAVA的Md5工具类(超多功能)
JAVA的Md5工具类(超实用)原创 2017-02-24 14:57:53 · 10741 阅读 · 0 评论 -
Java nio 聊天室
利用JAVA的Nio实现了基本的聊天室功能。原创 2017-01-06 18:14:52 · 386 阅读 · 0 评论 -
Java利用protostuff实现高效序列化
利用protostuff实现高效的JAVA对象序列化原创 2017-01-16 10:07:46 · 1342 阅读 · 0 评论 -
eclipse下设置tomcat,修改Java代码不必重启tomcat
eclipse下设置tomcat,修改Java代码不必重启tomcat转载 2017-01-11 09:39:32 · 422 阅读 · 0 评论 -
JAVA并发编程学习笔记
JAVA并发编程学习笔记和开发须知。原创 2016-11-28 17:37:45 · 412 阅读 · 0 评论 -
JAVA多线程学习笔记
前阵子,重新复习并学习了有关多线程的知识,下面是我的一些学习笔记。每一点,只为尽量简明的表达出知识内容,不会全部具体展开讲,并附上相关代码。(其实,我现在也还做不到全部展开来讲啦,啊哈哈),日后这个笔记会不断补充更新。1.能中断的线程public class Test1 { public static void main(String[] args) throws Exce原创 2016-10-19 20:37:54 · 321 阅读 · 0 评论 -
利用JavaCompiler编译java文件(一个简单封装的工具类)
最近,在利用java做一个Online Judge系统,里面涉及到编译java文件为class文件,当时看过API文档,也百度过别人的一些博客,感觉都不太符合个人胃口。虽然,有说得详细的,也有很多权威的,也有很多使用例子的。但是主要是感觉学习成本过高了,他们都过多过少带入到实际应用中,并没有变成一个工具类,容易导致初学者的不耐烦。 我个人喜好的风格是,能快速应用到开发中,并能解决一般问题的,原创 2016-10-12 12:31:46 · 10032 阅读 · 0 评论 -
jaxb解析xml在WebService中的使用,以及Date类型的解决方案
1.前言以前在学校学习的时候,没有接触过WebService。如今开始实习之后,由于项目需要,要对接别人程序提供出来的接口,要用到WebService。而在使用WebService的时候,我这里入参和出参都需要是xml。而为了封装信息和以后维护方便等理由,这里很自然而然的,就需要用到jaxb技术,将一个对象转换为xml以及将xml转换为一个对象。(其实说白了,就像是使用gson解析json数据原创 2016-08-14 22:54:31 · 5334 阅读 · 3 评论 -
JAVA中对于需要频繁new的对象的一个优化的方法
1.前言在实际开发中,某些情况下,我们可能需要频繁去创建一些对象(new),下面介绍一种,我从书上看到的,可以提高效率的方法。首先,对于将会频繁创建的对象,我们要让这个类实现Cloneable接口,因为这个优化的核心,就是利用clone。clone的最大特点就是,不会去调用任何构造方法,所以,在我看来重点应该放在构造方法中。废话少说,先上一个简单的测试代码吧:package原创 2016-08-11 15:53:10 · 33317 阅读 · 10 评论 -
MySQL查询时的字符串空格问题
因为官方文档上说是MySQL校对规则属于PADSPACE,对CHAR和VARCHAR值进行比较都忽略尾部空格,和服务器配置以及MySQL版本都没关系。也因此,如果遇到某些特殊的情况时,这是一个不容易的发现坑。会出现传入的查询值为“10 ”时,sql会将实际值为“10”的也查询出来。原创 2017-10-23 15:30:24 · 6787 阅读 · 0 评论