随笔分类 - java
摘要:大坑!使用SecureRandom默认的加密方式即SHA1PRNG生成的密码有误,即使使用相同的password来生成,不同runtime或时刻生成的随机密码也有可能不同,造成的错误为javax.crypto.BadPaddingException: pad block corrupted。即key
阅读全文
摘要:转自:http://blog.csdn.net/liweisnake/article/details/12966761 今天看到一篇文章,是关于java中如何等待所有线程都执行结束,文章总结得很好,原文如下http://software.intel.com/zh-cn/blogs/2013/10/1
阅读全文
摘要:join()是Thread类的一个方法。根据jdk文档的定义: public final void join()throws InterruptedException: Waits for this thread to die. join()方法的作用,是等待这个线程结束;但显然,这样的定义并不清晰
阅读全文
摘要:一、ExecutorService介绍 ExecutorService是Java中对线程池定义的一个接口,它java.util.concurrent包中,在这个接口中定义了和后台任务执行相关的方法: Java API对ExecutorService接口的实现有两个,所以这两个即是Java线程池具体实
阅读全文
摘要:结论:1、不管有木有出现异常,finally块中代码都会执行;2、当try和catch中有return时,finally仍然会执行;3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管finally中的代码怎么样,返回的值都不会改变,任
阅读全文
摘要:大神链接:在java中String类为什么要设计成final? - 程序员 - 知乎 我进行了重新排版,并且更换了其中的一个例子,让我们更好理解。 String很多实用的特性,比如说“不可变性”,是工程师精心设计的艺术品!艺术品易碎!用final就是拒绝继承,防止世界被熊孩子破坏,维护世界和平! 1
阅读全文
摘要:查看java字节码 1 javac –verbose查看运行类是加载了那些jar文件 HelloWorld演示: javac –verbose HelloWorld.java 可以看到虚拟机编译时做了那些事情…… java –verbose HelloWorld 可以看到虚拟机运行一个程序时加载的j
阅读全文
摘要:那对于java的数据类型,我们就只有有符号的数据类型了,如short 的表示范围 -128到+127,这就是代表有符号的数据类型了。 java没有无符号类型,都是有符号类型的数据类型。但是其它语言,如c的unsigned short 无符号数,它值的范围就是要从0开始,并且比java的short类型
阅读全文
摘要:用 @Deprecated注释的程序元素,不鼓励程序员使用这样的元素,通常是因为它很危险或存在更好的选择。在使用不被赞成的程序元素或在不被赞成的代码中执行重写时,编译器会发出警告。 其次,请注意标题,这两个标记有大小写之分,一个是D,一个是d。 源代码标记@Deprecated是在JDK1.5中作为
阅读全文
摘要:Serialization(序列化)是一种将对象以一连串的字节描述的过程;反序列化deserialization是一种将这些字节重建成一个对象的过程。java序列化API提供一种处理对象序列化的标准机制。 序列化的必要性 java中,一切都是对象,在分布式环境中经常需要将Object从这一端网络或设
阅读全文
摘要:String.Trim()方法到底为我们做了什么,仅仅是去除字符串两端的空格吗? 一直以为Trim()方法就是把字符串两端的空格字符给删去,其实我错了,而且错的比较离谱。 首先我直接反编译String类,找到Trim()方法: 1 public string Trim() 2 { 3 return
阅读全文
摘要:方法一: 方法二: 转自:http://www.cnblogs.com/itdyb/p/6028112.html
阅读全文
摘要:LRU缓存: LRU缓存利用了这样的一种思想。LRU是Least Recently Used 的缩写,翻译过来就是“最近最少使用”,也就是说,LRU缓存把最近最少使用的数据移除,让给最新读取的数据。而往往最常读取的,也是读取次数最多的,所以,利用LRU缓存,我们能够提高系统的performance.
阅读全文
摘要:第一种: 1 Map map = new HashMap(); 2 Iterator iter = map.entrySet().iterator(); 3 while (iter.hasNext()) { 4 Map.Entry entry = (Map.Entry) iter.next(); 5 Object key = entry.getKey(); 6 Objec...
阅读全文
摘要:1.用Java自带的函数 2.用正则表达式 3.用ascii码判断
阅读全文
摘要:SimpleDateFormat 是一个以国别敏感的方式格式化和分析数据的具体类。 它允许格式化 (date -> text)、语法分析 (text -> date)和标准化。 SimpleDateFormat 允许以为日期-时间格式化选择任何用户指定的方式启动。 但是,希望用 DateFormat
阅读全文
摘要:1.初识线程池: 根据系统自身的环境情况,有效的限制执行线程的数量,使得运行效果达到最佳。线程主要是通过控制执行的线程的数量,超出数量的线程排队等候,等待有任务执行完毕,再从队列最前面取出任务执行。 2.线程池作用: 减少创建和销毁线程的次数,每个工作线程可以多次使用 可根据系统情况调整执行的线程数
阅读全文
摘要:Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMap Collection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即C
阅读全文
摘要:Java NIO提供了与标准IO不同的IO工作方式: Channels and Buffers(通道和缓冲区):标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。 Asynchrono
阅读全文
摘要:1 public static void radixsort(int[] a){ 2 int max=a[0]; 3 for(int i=1;i0){ 10 max/=10; 11 time++; 12 } 13 java.util.List queue=new A...
阅读全文