自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 迭代过程中的线程安全

     对Collection进行迭代的标准方法是使用Iterater,无论显示的使用还是for-eache与否,当其他线程可能并发修改容器时,需要在迭代器具对容器加锁。    对于for-each语法,javac生成的代码内在的使用一个Iterator,调用hasNext和next对List进行迭代。在进行迭代时,当容器察觉到在迭代开始后被修改,会抛出一个未检查的ConcurrentMo...

2013-04-17 17:58:24 279

原创 SimpleDateFormat不是线程安全

   java.text.SimpleDateFormat并不是线程安全的,JDK1.4之前的javadoc 都忽略提及这一点。   很多开发者错误的创建并使用了它,这些程序在大负载下容易引发错误结果。   最后指明,如果一个类没有明确指明,就不要假设它是线程安全的。...

2013-04-17 16:44:13 104

原创 CopyOnWriteArrayList的使用

除了加锁外,其实还有一种方式可以防止并发修改异常,这就是将读写分离技术(不是数据库上的)。先回顾一下一个常识:1、JAVA中“=”操作只是将引用和某个对象关联,假如同时有一个线程将引用指向另外一个对象,一个线程获取这个引用指向的对象,那么他们之间不会发生ConcurrentModificationException,他们是在虚拟机层面阻塞的,而且速度非常快,几乎不需要CPU时间。2、...

2013-04-17 16:15:00 103

原创 css基础知识

CSS中的定义<style type="text/css"></style>其中的美国元素被称为规则,每条规则包括三个部分:1 一个选择器,用于描述哪个Html元素将受到影响。2 一个或多个属性值。3 每个属性的值。选择器的用法标签选择器E{css规则}以文档元素为选择符td{width:120} ...

2009-12-19 11:09:13 81

原创 java中的编码问题

 对于Java语言来说,在其内部使用的是UCS2编码(2个字节的Unicode编码)。这种编码并不属于某个语系的语言编码,它实际上是一种编码格式的世界语。在这个世界上所有可以在计算机中使用的语言都有对应的UCS2编码。 实现上,当我们从IDE输入“中国”时,用的是java源代码文件保存的格式,一般是GBK,有时也可是utf-8,而在Java编译程序时,会不由分说地将所有的编码格式转换成...

2009-09-11 15:18:23 91

原创 jboss配置管理

$JBOSS-HOME/server/下有3个目录,all/default/minimal,它们是表示3种配置,全部的配置、默认配置、最小配置,我们在启动JBOSS服务时,可以指定run –c all 表示是启动all配置(将会加载所有服务);run 表示是以默认配置启动;run –c mimimal 表示是启动mimimal配置。这三者所加载的服务数量不同,具体区别可查阅JBOSS相关文档,你...

2009-07-08 11:03:40 122

原创 effective java

在包的内部使用继承是非常安全的,这样子类和超类都处于同一个程序员的控制之下。继承打破了封装性:子类依赖于超类中功能的实现细节,超类的实现有可能会随着发行版本的不同而有所变化,弱国重大发送变化,子类可能会遭到破坏。除非超类是专门为了扩展而设计的,并且具有很好的文档说明。有一种办法可以避免提到的所有问题,不用扩展现有的类,而是在新的类中增加一个私有域,它引用现有类的一个实例。这种设计被称为:“...

2009-07-02 10:53:23 59

spring中的事务管理

最基本的JDBC事务管理,是设置Connection对象的setAutoCommit(false)方法,随后执行一系列的SQL语句,最好调用Connection的commit()方法,提交变更。如果在执行SQL语句时出现错误,则在catch块中执行Connection的rollback()方法,进行回滚.代码大致如下: Connection = null;try{ ...

2009-06-29 17:40:37 63

Spring中封装的hibernate的事务管理

1事务管理应该放在服务层或业务层,比如说在服务层有个save方法,这个方法里面可以调用多个dao操作,事务管理应该加在服务层对象上的save方法。2把事务管理放到了dao层是个错误,dao层不涉及事务方面的东西。最近犯了一个错误,就是没有认识到事务,将一个事务分成了多个事务。就如上面所说的1、2两条,save方法中有多个dao操作,整个save方法应该是一个事务,但是将其分成了...

2009-06-25 15:06:16 78

原创 java中Serializable以及transient关键字

串行化只能保存对象的非静态成员交量,不能保存任何的成员方法和静态的成员变量,而且串行化保存的只是变量的值,对于变量的任何修饰符都不能保存。既不能保存static的成员变量。对于某些类型的对象,其状态是瞬时的,这样的对象是无法保存其状态的。例如一个Thread对象或一个FileInputStream对象 ,对于这些字段,我们必须用transient关键字标明,否则编译器将报措。比如说在一...

2009-06-19 16:52:03 321

原创 Hibernate学习

Hibernate中对象有三种状态:Transient(瞬时)、persistent(持久)、detached(托管)。三种状态。瞬时状态:由new命令开辟的java对象,也就是平时所熟悉的java 对象。它不和数据库中的数据相关联,可以通过session的save()或saveOrUpdate()方法将一个瞬时对象鱼数据库相关联。这个瞬时对象就成薇了持久话对象。持久化状态:持...

2009-05-12 17:41:45 56

原创 java异常处理讲解

六种异常处理的陋习你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗? 1 OutputStreamWriter out = ... 2 java.sql.Connection conn = ... 3 try { // ⑸ 4  Statement stat = conn.createStateme...

2009-04-17 15:14:19 76

Java中Serializable接口的用法

今天学习了Serializable接口的用法,以及private static final long serialVersionUID的具体用法如下如果今天你的类Serialized存到硬盘里,可是後来你却更改了类别的field(增加或减少或改名).当你Deserialize时,就会出现Exception.这样就会做成不兼容性的问题.但当serialVersionUID相同时,它就会将...

2009-03-09 20:17:50 210

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除