随笔分类 - java
StringBuilder与StringBuffer和String 的区别
摘要:很多人对String和StringBuffer的区别已经很了解了吧,可能还有人对这两个类的工作原理有些不清楚的地方,复习一下吧,顺便牵出J2SE 5.0里面带来的一个新的字符操作的类StringBuilder。那么这个StringBuilder和StringBuffer 以及我们最早遇见的 String 类有那些区别呢?在不同的场合下我们应该用哪个呢?我讲讲自己对这几个类的一点看法,也希望大家提出意见。 简要的说,String类型和StringBuffer类型的主要性能区别其实在于 String 是不可变的对象,因此在每次对String类型进行改变的时候其实都等同于生成了一个新的 String
阅读全文
浅析Java中CountDownLatch用法
摘要:/**CountDownLatch类是一个同步计数器,构造时传入int参数,该参数就是计数器的初始值,每调用一次countDown()方法,计数器减1,计数器大于0 时,await()方法会阻塞程序继续执行CountDownLatch如其所写,是一个倒计数的锁存器,当计数减至0时触发特定的事件。利用这种特性,可以让主线程等待子线程的结束。下面以一个模拟运动员比赛的例子加以说明。*/ import java.util.concurrent.CountDownLatch; import java.util.concurrent.Executor; import java.util.concu...
阅读全文
ExecutorService与Executors例子的简单剖析
摘要:对于多线程有了一点了解之后,那么来看看java.lang.concurrent包下面的一些东西。在此之前,我们运行一个线程都是显式调用了Thread的start()方法。我们用concurrent下面的类来实现一下线程的运行,而且这将成为以后常用的方法或者实现思路。 看一个简单的例子:Java代码publicclassCacheThreadPool{publicstaticvoidmain(String[]args){ExecutorServiceexec=Executors.newCachedThreadPool();for(inti=0;i<5;i++)exec.execute(n.
阅读全文
struts2 页面遍历显示集合
摘要:<s:iterator />可以遍历 数据栈里面的任何数组,集合等等在使用这个标签的时候有三个属性值得我们关注 1.value属性:可选的属性,value属性是指一个被迭代的集合,使用ognl表达式指定,如果为空的话默认就是ValueStack栈顶的集合. 2.id属性:可选属性, 是指集合元素的id 3.status属性:可选属性,该属性在迭代时会产生一个IteratorStatus对象,该对象可以判断当前元素的位置,包含了以下属性方法:int getCount(); 迭代元素个数 int getIndex(); 迭代元素当前索引 boolean getFirst(); 是否为第
阅读全文
CKEditor和CKFinder整合实现上传下载功能 【转】
摘要:事先说明:此整合的是java版本的, 用到的有:jsp + ckeditor + ckfinder (没有servlet 及其它框架技术)一.需要的资源:用到的网站,文件自己下载:a)ckeditor_3.6.2(解压)download.cksource.com/CKEditor/CKEditor/CKEditor%203.6.2/ckeditor_3.6.2.zipb)ckeditor-java-3.6.2(解压)download.cksource.com/CKEditor/CKEditor%20for%20Java/CKEditor%20for%20Java%203.6.2/cke...
阅读全文
Eclipse下配置CKEditor3.5.3+CKFinder2.0.2 【转】
摘要:FCKEditor作为一款强大的页面编辑器已经被CKEditor取代,但是新版的CKEditor不再支持图片和文件的上传功能,需要依赖Ajax文件管理器CKFinder来实现。不过CKFinder是一款付费软件,咱们还是使用破解的吧。CKEditor for Java 最新版本是3.5.3。配置CKEditor和CKFinder分为三步进行,首先配置CKEditor,然后配置CKFinder,最后将CKFinder整合到CKEditor 中。一、配置CKEditor3.5.31、在CKEditor官网http://ckeditor.com/download上下载CKEditor for Ja.
阅读全文
Hibernate各种状态与操作
摘要:Hibernate的对象有3种状态,分别为:瞬时态(Transient)、 持久态(Persistent)、脱管态(Detached)。处于持久态的对象也称为PO(Persistence Object),瞬时对象和脱管对象也称为VO(Value Object)。瞬时态 由new命令开辟内存空间的java对象, eg. Person person = new Person("xxx", "xx"); 如果没有变量对该对象进行引用,它将被java虚拟机回收。 瞬时对象在内存孤立存在,它是携带信息的载体,不和数据库的数据有任何关联关系,在Hibernate中,
阅读全文
POJO模式
摘要:1.什么是POJOPOJO的名称有多种,pure old java object、plain ordinary java object等。按照Martin Fowler的解释是“Plain Old Java Object”,从字面上翻译为“纯洁老式的java对象”,但大家都使用“简单java对象”来称呼它。POJO的内在含义是指那些没有从任何类继承、也没有实现任何接口,更没有被其它框架侵入的java对象。POCO的概念是从java的POJO借用而来,而两者的含义是一致的,不同的仅仅是使用的语言不一样。所以POCO的解释就是“Plain Old C# Object”。2.为什么会有POJO?主要
阅读全文
Class com.googlecode.jsonplugin.JSONWriter can not access a member of class*
摘要:异常形式:Class org.apache.struts2.json.JSONWriter can not access a member of *或是Class com.googlecode.jsonplugin.JSONWriter can not access a member of class*第一种是struct2.1.8与json结合时的异常,第二种是struct2.1.6与json结合的异常。具体:Class org.apache.struts2.json.JSONWriter can not access a member of class oracle.jdbc.driver
阅读全文
Java与C++函数参数传递比较
摘要:简言之:Java都是值传递(pass-by-value),而C++中包括值传递(pass-by-value)和引用传递(pass-by-reference)。先说Java,先做几点说明:在Java中,无非就是两种类型,即基本类型和从Object继承下来的对象类型,而对象类型又包括String这种一旦初始化就不可改变内容的类型和BufferString这种可以初始化后可以改变内容的类型。然后看一下代码示例:java 代码package test; public class Test { public static void main(String args[]) { Int...
阅读全文
ssh 数据删不掉,可以增加,修改,查询。
摘要:就是在原来的基础上加入如下代码,问题就解决了<bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <tx:advice id="txAdvice" transaction-manager="
阅读全文
Hibernate n+1问题
摘要:在Session的缓存中存放的是相互关联的对象图。默认情况下,当Hibernate从数据库中加载Customer对象时,会同时加载所有关联的 Order对象。以Customer和Order类为例,假定ORDERS表的CUSTOMER_ID外键允许为null以下Session的find()方法用于到数据库中检索所有的Customer对象:List customerLists=session.find("from Customer as c");运行以上find()方法时,Hibernate将先查询CUSTOMERS表中所有的记录,然后根据每条记录的ID,到ORDERS表中查询
阅读全文
Hibernate Annotation 中配置EhCache缓存
摘要:1. 首先设置EhCache,建立配置文件ehcache.xml,默认的位置在class-path,可以放到你的src目录下:xml version="1.0" encoding="UTF-8"?> <ehcache> <diskStore path="java.io.tmpdir"/> <defaultCache maxElementsInMemory="10000" eternal="false" overflowToDisk="true&quo
阅读全文
OpenSessionInView设置
摘要:OpenSessionInViewFilter是Spring提供的一个针对Hibernate的一个支持类,其主要意思是在发起一个页面请求时打开Hibernate的Session,一直保持这个Session,直到这个请求结束,具体是通过一个Filter来实现的。 由于Hibernate引入了Lazy Load特性,使得脱离Hibernate的Session周期的对象如果再想通过getter方法取到其关联对象的值,Hibernate会抛出一个LazyLoad的Exception。所以为了解决这个问题,Spring引入了这个Filter,使得Hibernate的Session的生命周期变长。 有..
阅读全文
Hibernate一对多和多对一关系详解 (转载)
摘要::双向一对多关系,一是关系维护端(owner side),多是关系被维护端(inverse side)。在关系被维护端需要通过@JoinColumn建立外键列指向关系维护端的主键列。publicclass Order implements Serializable {privateSet<OrderItem> orderItems = new HashSet<OrderItem>();。。。。@OneToMany(mappedBy="order",cascade = CascadeType.ALL, fetch = FetchType.LAZY)@O
阅读全文
Java将数字字符串转换成中文形式
摘要:1 publicclass MainClass3 { 2 /** 3 * @param args 4 * @deprecated 完成小数的中文转换 5 * @deprecated 核心工式:unit[(len - i - 1) % 8] 6 * @deprecated 7 * 1-0-1=0%8 亿 8 * 2-0-1=1%8 拾 9 * 3-0-1=2%8 佰10 * 4-0-1=3%8 仟11 * 5-0-1=4%8 万12 * 6-0-1=5%8 拾13 * 7-0-1=6%8 佰14 * 8-0-1=7%8 仟15 * 9...
阅读全文
JDK1.5/1.6/1.7之新特性总结
摘要:开发过程中接触到了从jdk1.5---jdk1.7的使用,在不同的阶段,都使用过了jdk的一些新特性,操作起来更加方面啦!特此总结了下,与喜欢it 的朋友共勉!呵呵以下是测试代码:JDK1.5新特性:1.自动装箱与拆箱:Integer iObj = 3;System.out.println(iObj + 12); Integer i1 = 137(-128--127范围时,为true); Integer i2 = 137(-128--127范围时,为true); System.out.println(i1 == i2); //false,但是括号中时却返回ture,原因是Int...
阅读全文
jdk1.7的新特性
摘要:jdk1.7的新特性: 1,switch中可以使用字串 Java代码 String s = "test"; switch (s) { case "test" : System.out.println("test"); case "test1" : System.out.println("test1"); break ; default : System.out.println("break"); break ; } 2,"<>"这个玩意儿的运用
阅读全文
registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped.
摘要:org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc严重: The web application [/rdms] registered the JBDC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered. 后来在网上...
阅读全文
ASM2.0字节码框架介绍 【转】
摘要:框架结构 ASM字节码处理框架是用Java开发的而且使用基于访问者模式生成字节码及驱动类到字节码的转换。这允许开发人员避免直接处理方法字节码中的类常量池及偏移,因此为开发人员隐藏了字节码的复杂性并且相对于其他类似工具如BCEL, SERP, or Javassist提供了更好的性能。ASM分为几个包更方便灵活地构建。包结构图如图1。 Figure 1. Arrangement of ASM packages ·Core包提供了读/写/转换字节码的API而且是其他包的基础。这个包已经足够生成Java字节码而且能够实现大部分的字节码转换。 ·Tree包提供了Java字节码的内存
阅读全文
浙公网安备 33010602011771号