ByteArrayOutputStream 允许往数组写入字节流。当使用ByteArrayOutputStream写入字节流完成后,你可以使用 toByteArray() 来得到所有已写入的数据。
阅读全文
‘ JAVA ’ 目录归档
Java Date Time 教程-java.sql.Timestamp
原文链接 作者:Jakob Jenkov 译者:魏嘉鹏
Java
的java.sql.Timestamp
类在JDBC API
中被使用。如果你需要在java.sql.PreparedStatement
上设置日期+时间或者从java.sql.ResultSet
获取日期+时间,你将会和java.sql.Timestamp
打交道。
实际上,java.sql.Timestamp
继承于java.util.Date
,所以你可以用java.util.Date
做的任何事同样适用于java.sql.Timestamp
。查阅 java.util.Date
了解更多的信息。
阅读全文
Spring4.2新特性(一)
1. 简介.
前些天spring4.2出来了, 从GA开始就一直在跟了, 前2天看完了所有官方Release Notes, 觉得记录下我比较感兴趣的特性.
我看的是4.2GA, 4.2RC3, 4.2RC2, 4.2RC1。4.0和4.1的新特性, 可以看看涛哥的博客。这里主要是讲照官方文档里面列的, changelog里面太多了 -.-!
Java Date Time 教程-java.sql.Date
原文链接 作者:Jakob Jenkov 译者:魏嘉鹏
Java
的java.sql.Date
类在JDBC API
中被使用。如果你需要在java.sql.PreparedStatement
上设置日期或者从java.sql.ResultSet
获取日期,你将会和java.sql.Date
打交道。
实际上,java.sql.Date
继承于java.util.Date
,所以你可以用java.util.Date
做的任何事同样适用于java.sql.Date
。查阅 java.util.Date
了解更多的信息。
阅读全文
《 Java并发编程从入门到精通》目录和序言
目 录
第一部分:线程并发基础
第二部分:线程并发晋级之高级部分 75
第三部分:实际的使用与监控与拓展
序言
阿里感悟(九)-如何才能晋升
如何才能晋升?
努力突破自己,超越本层级的能力,并创造当前层级的人创造不出来的价值。
如何才能突破自己的能力?
首先要做的是改变习惯。在阿里很流行的一句话是,当自己不舒服的时候就是自己成长的时候。比如老大和我说要学会到先规划再做事情,而不是想到哪做到哪。这句话看起来简单,但是做起来很难,因为要打破自己已有的做事习惯,就像你习惯8点起床,现在让你每天6点起床,你肯定会很不习惯。
LockSupport 源码阅读
在java中,要让线程等待最普通的方法是调用Object.wait()方法,
Causes the current thread to wait until another thread invokes the notify() method for this object.
但是当我阅读JUC(java.util.concurrent)的源码时发现这个包不是这样做的, 我跟踪CountDownLatch.await()调用,最后跟到了LockSupport.park()方法里, 这里调用的是 unsafe.park()方法来block线程。
从volatile解读ConcurrentHashMap(jdk1.6.0)无锁读
作者:绫萱
volatile常常用于修饰多线程共享变量,用来保证该变量的可见性。volatile的语意:某个写线程对volatile变量的写入马上可以被后续的某个读线程“看”到。
volatile保证可见性的原理:volatile是通过在编译器生成字节码时,在对volatile变量进行读写指令序列的前后加入内存屏障,来禁止一些处理器重排序保证写入一定发生在读之前的这种happen-before关系。