![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 84
iteye_7248
这个作者很懒,什么都没留下…
展开
-
cglib动态代理介绍
一、原理 代理为控制要访问的目标对象提供了一种途径。当访问对象时,它引入了一个间接的层。JDK自从1.3版本开始,就引入了动态代理,并且经常被用来动态地创建代理。JDK的动态代理用起来非常简单,当它有一个限制,就是使用动态代理的对象必须实现一个或多个接口。如果想代理没有实现接口的继承的类,该怎么办?现在我们可以使用CGLIB包。 二、什么是cglib C...原创 2013-05-01 11:20:50 · 57 阅读 · 0 评论 -
java中Collections.sort() 排序函数的用法
用Collections.sort方法对list排序有两种方法:1.实现Comparable接口public class User implements Comparable<User>{ private String name; private Integer order; public String getName() { ...原创 2014-02-14 15:39:20 · 63 阅读 · 0 评论 -
Java中获取键盘输入值的三种方法
程序开发过程中,需要从键盘获取输入值是常有的事,但Java它偏偏就没有像c语言给我们提供的scanf(),C++给我们提供的cin()获取键盘输入值的现成函数。Java没有提供这样的函数也不代表遇到这种情况我们就束手无策,请你看以下三种解决方法吧: 1. 从控制台接收一个字符,然后将其打印出来public static void main(String [] args)...原创 2014-03-04 17:58:47 · 82 阅读 · 0 评论 -
推荐给初级Java程序员的3本进阶书
通过一些基础性的教程入门后,我们可以使用Java做基础性的编程。然而,当我们需要从初级提升更高的一个层次时,大多数的人却不知道从何入手。一些好的书籍在这个阶段可以很好地帮助初级开发人员。 《Head First设计模式》这本书介绍 GoF 常用设计模式的方式引人入胜。如果只看封面很难看出来这是一本技术书籍,更不用说这本技术书籍介绍的还是面向对象编程的一些很有用的技巧。这...原创 2013-03-29 09:35:07 · 148 阅读 · 0 评论 -
List,Map,Set 区别
在JAVA的util包中有两个所有集合的父接口Collection和Map,它们的父子关系: +Collection 这个接口extends自 --java.lang.Iterable接口 +List 接口 -ArrayList 类 -LinkedList 类 ...原创 2013-04-22 22:37:42 · 64 阅读 · 0 评论 -
PO BO VO DTO POJO DAO区别
POpersitant object持久对象POpersitant object持久对象BObusiness object业务对象VOvalue object值对象POJOplain ordinary java object简单java对象DTOdata transfer object数据传输对象...原创 2013-04-24 23:28:21 · 195 阅读 · 0 评论 -
Java Web开发Session超时设置
在Java Web开发中,Session为我们提供了很多方便,Session是由浏览器和服务器之间维护的。Session超时理解为:浏览器和服务器之间创建了一个Session,由于客户端长时间(休眠时间)没有与服务器交互,服务器将此Session销毁,客户端再一次与服务器交互时之前的Session就不存在了。 设置Session超时时间方式:1.在web.xml中设置s...原创 2013-04-25 21:13:59 · 60 阅读 · 0 评论 -
java Integer类的缓存
首先看一段代码(使用JDK 5),如下: public class Hello { public static void main(String[] args) { int a = 1000, b = 1000; System.out.println(a == b); Integer c = 100...原创 2013-04-26 23:09:17 · 54 阅读 · 0 评论 -
剖析String
栈(stack):主要保存基本类型(或者叫内置类型)(char、byte、short、int、long、float、double、boolean)和对象的引用,数据可以共享,速度仅次于寄存器(register),快于堆。堆(heap):用于存储对象。 String池(pool) :JAVA虚拟机(JVM)中存在着一个字符串池,其中保存着很多String对象; 并且可以被共享使用...原创 2013-04-26 23:26:37 · 57 阅读 · 0 评论 -
Java提高性能的26点
最近的机器内存又爆满了,除了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了。1、尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面: 第一,控制资源的使用,通过线程同步来控制资源的并发访问; 第二,...原创 2014-01-03 15:27:08 · 77 阅读 · 0 评论 -
Java String 的常见问题
1、如何比较字符串?使用 “==” 还是 “equals()”?简单来讲,“==”比较的是引用(对象的内存地址),“equals()” 比较值是否相等。除非你想检测两个字符串是否是同一对象,否则都用equals()。当然了解字符串池的概念更好。2、为什么对于安全敏感的信息使用char[] 优于String ?Java 中字符串是不可变的,这就意味着一旦他被创建,在垃圾回收器收集之前...原创 2014-01-02 18:26:45 · 123 阅读 · 0 评论 -
正确使用Volatil 变量
Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是 synchronized 的一部分。本文介绍了几种有效使用 volatile 变量的模式,并强调了几种不适合使用 volatile 变量的情形。锁提供了两种主要特性...原创 2013-10-09 09:52:02 · 132 阅读 · 0 评论 -
25 个让 Java 程序员更高效的 Eclipse 插件
Eclipse提供了一个可扩展插件的开发系统。这就使得Eclipse在运行系统之上可以实现各种功能。这些插件也不同于其他的应用(插件的功能 是最难用代码实现的)。拥有合适的Eclipse插件是非常重要的,因为它们能让Java开发者们无缝的开发基于J2EE和服务的应用程序。 Eclipse的插件也能帮助他们开发不同应用架构上的程序。下面列出来的是25个最好的免费Eclipse插件,可以让开发者...原创 2013-07-31 21:50:10 · 56 阅读 · 0 评论 -
Java中getResourceAsStream的用法
Java中的getResourceAsStream有以下几种: 1. Class.getResourceAsStream(String path) : path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath根下获取。其只是通过path构造一个绝对路径,最终还是由ClassLoader获取资源。 2. Class.getClassLoader.getReso...原创 2013-08-16 13:33:33 · 69 阅读 · 0 评论 -
Java:String和Date、Timestamp之间的转换
一、String与Date(java.util.Date)互转 1.1 String -> Date注:并不是所有的simpleDateFormat对象都可以解析String,必须两者模式相同才行,例如:"2013/01/01"的匹配模式就为"yyyy/MM/dd"。String dateStr = "2010/05/04 12:34:23"; ...原创 2013-08-23 14:20:11 · 90 阅读 · 0 评论 -
改善Java代码质量---字符串
1.推荐使用String直接赋值 public static void main(String[] args) { String str1 = "abc"; String str2 = "abc"; String str3 = new String("abc"); System.out.prin...原创 2013-08-24 18:43:19 · 82 阅读 · 0 评论 -
改善Java代码质量---数据类型
在Java当中有8种基本数据类型,分别是byte,char,short,int,long,float,double,boolean还有其对应的封装类型Byte,Character,Short,Integer,Long,Float,Double,Boolean,那我们究竟对他们有多少的了解呢? 1.用偶判断,不用奇判断 在Java中可以使用取余的方式来进行奇数还是偶...原创 2013-08-24 19:39:35 · 73 阅读 · 0 评论 -
Java Thread 总结
Ø线程的概述(Introduction)线程是一个程序的多个执行路径,执行调度的单位,依托于进程存在。 线程不仅可以共享进程的内存,而且还拥有一个属于自己的内存空间,这段内存空间也叫做线程栈,是在建立线程时由系统分配的,主要用来保存线程内部所使用的数据,如线程执行函数中所定义的变量。注意:Java中的多线程是一种抢占机制而不是分时机制。抢占机制指的是有多个线程处于可运行状态,但是只允...原创 2013-09-01 22:33:43 · 65 阅读 · 0 评论 -
Tomcat 热加载
不重启Tomcat有两种方式:热部署、热加载: 热部署:容器状况在运行时重新部署整个项目。这类环境下一般整个内存会清空,重新加载,这类方式 有可能会造成sessin丢失等环境。tomcat 6确实可以热部署了,而且对话也没丢。 热加载:最好是在调试过程中使用,免患上整个项目加载,Debug标准样式支持热加载。容器状况在运行时重新加载转变编译后的类。在这类环境下内存不...原创 2013-09-02 00:43:20 · 90 阅读 · 0 评论 -
Timer和TimerTask的使用
java.util.Timer定时器,实际上是个线程,定时调度所拥有的TimerTasks。一个TimerTask实际上就是一个拥有run方法的类,需要定时执行的代码放到run方法体内,TimerTask一般是以匿名类的方式创建。 一个完整的Timer:java.util.Timer timer = new java.util.Timer(true); // tr...原创 2013-09-29 17:49:07 · 73 阅读 · 0 评论 -
java堆栈
对这两个概念的不明好久,终于找到一篇好文,拿来共享1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆的优势是可以动态地分配...原创 2013-04-27 21:03:43 · 72 阅读 · 0 评论