摘要:
我们喜欢和JDBC打交道,以前从未有人这样说过。很严肃的说,JDBC是一个非常优秀的API。这可能是现在Java能够成为一个受欢迎的平台的重要原因之一。在JDK1.1之前,ODBC出现之前(很久之前的事情了),很难去想象有平台会标准化数据库的访问。在那个时候SQL语言甚至本身还没有标准化,随后出现的... 阅读全文
摘要:
这里我将会给大家演示用ConcurrentHashMap类和lambda表达式实现一个本地缓存。因为Map有一个新的方法可以在key为Null的时候自动计算一个新的value值。非常完美的实现cache。来看下代码:public static void main(String[] args) { for (int i = 0; i cache = new ConcurrentHashMap();(译者注:这种写法在Java8中是允许的)声明cache之后,通过Map.computeIfAbsent() 方法,可以在key所对应的value值不存在的情况下,计算一个新的value值。超高... 阅读全文
摘要:
/** * * @author gyb * 《算法导论(第二版)》--第六章 堆排序 * * maxHeapify(int[] a,i) * 将指定结点i的子树成为最大堆 * 书中伪代码: * MAX-HEAPIFY(A, i) * l ← LEFT(i) * r ← RIGHT(i) * if l ≤ heap-size[A] and A[l] > A[i] * then largest ← l * else largest ← i * if r ≤ heap-size[A] and A[r]... 阅读全文
摘要:
群里讨论的一个问题,网上别人已经贴出了很详细的说明,这里补充记录下,后面加入个人测试代码。起因:1月份的时候看群里讨论一道问题,问题内容如下: 一个日本作者-结成浩的《java多线程设计模式》有这样的一个列子:pulbic class Something(){ public synchronized void isSyncA(){} public synchronized void isSyncB(){} public static synchronized void cSyncA(){} public static synchronized void cSyncB... 阅读全文
摘要:
遇到同样的问题,在豆瓣上转过来记录下。以下内容转自:http://book.douban.com/annotation/16409380/-------------------分割线--------------------------------------最近钻研CLRS,以求在数据结构与算法方面更进一步学习,着实发现国外教材的严谨,全面,严奶奶着实不及。也发现前路漫漫,其修远兮,我必须上下而求索。也发现了一些中外教材定义上不一致的地方,尤以树这个方面比较突出。一些差别:1.深度,高度的定义在严教材中,对深度和高度有如下定义(P120): 结点的层次从根开始定义起,根为第一层,根的孩子为第二 阅读全文
摘要:
为什么我们需要一个新的时间日期APIJava开发中一直存在一个问题,JDK提供的时间日期API一直对开发者没有提供良好的支持。比如,已有的的类(如java.util.Date和SimpleDateFormatter)不是线程安全的,会在并发情况下留下一些隐患,这不是开发者在编写处理日期的代码块时想要的效果。某些日期时间处理类也表现出了相当不合理的设计,比如在java.util.Date类中,年从1900开始,月从1开始,日从0开始——就表现的不是很直观。这些问题导致我们会选择一些第三方的日期时间处理库,比如:Joda-Time。为了在JDK中解决这些问题并提供更好的方式,Java SE8中设计 阅读全文
摘要:
chrome://settings/passwords-------------------------------[系统盘]:\Documents and Settings\[用户名]\Local Settings\Application Data\Google\Chrome\User Data\Default\Login Data(这个路径是 Win XP 系统)你可以用SQLite Database Browser 打开这个文件(文件名就是“Login Data”),查看“logins”表格,该表就包含了被保存的密码。但你会看到“password_value” 域的值是不可读,因为值已加 阅读全文
摘要:
substring(int beginIndex, int endIndex)在JDK6与JDK7中的实现方式不一样,理解他们的差异有助于更好的使用它们。为了简单起见,下面所说的substring()指的就是substring(int beginIndex, int endIndex)方法。1.substring()是做什么的?substring(int beginIndex ,int endIndex)方法返回一个子字符串,返回的是从原字符串的beginIndex到endIndex-1之间的内容。String x = "abcdef";x = x.substring(1, 阅读全文
摘要:
以下内容转自: 原文链接:stackoverflow翻译:ImportNew.com-刘志军 译文链接:http://www.importnew.com/8966.html-----------------------------------------------------------------------什么是PECS?PECS指“Producer Extends,Consumer Super”。换句话说,如果参数化类型表示一个生产者,就使用;如果它表示一个消费者,就使用,可能你还不明白,不过没关系,接着往下看好了。下面是一个简单的Stack的API接口:public class .. 阅读全文
摘要:
以下内容转自: 原文链接:programcreek翻译:ImportNew.com-刘志军 译文链接:http://www.importnew.com/8952.html-------------------------------------------------------Arrays.sort(T[], Comparator c)是用来对用户自定义的对象数组排序功能的。Java 官方文档简单描述了它的作用,但不足以让我们深刻理解。在这篇文章中,我将顺着一下关键点息做个比较深入的理解。1、简单实例:如何使用Arrays.sort()通过阅读下面代码,你能快速正确了解这个方法的用途。... 阅读全文