`
文章列表
http://mzlly999.iteye.com/blog/1126049 WeakHashMap,此种Map的特点是,当除了自身有对key的引用外,此key没有其他引用那么此map会自动丢弃此值, 见实例:此例子中声明了两个Map对象,一个是HashMap,一个是WeakHashMap,同时向两个map中放入a、b两个对象,当HashMap  remove掉a 并且将a、b都指向null时,WeakHashMap中的a将自动被回收掉。出现这个状况的原因是,对于a对象而言,当HashMap  remove掉并且将a指向null后,除了WeakHashMap中还保存a外已经没有指向a的指针了, ...
使用动态字节码生成技术实现AOP原理是在运行期间目标字节码加载后,生成目标类的子类,将切面逻辑加入到子类中,所以使用Cglib实现AOP不需要基于接口 定义两个接口 package AOP; public interface Business1 { public void show_Business1(); } package AOP; public interface Business2 { public void show_Business2(); } 定义实现类: package AOP; public class Business ...

JavaScript 函数

JavaScript 函数 <html> <head> <script type="text/javascript"> function displaymessage() { alert("Hello World!") } </script> </head> <body> <form> <input type="button" value="Click me!" ...
1.循环优化 缺: List alist=uSvr.getUserinfoList(); for(int i=0;i<alist.size();i++){ } 此种方式会一直去执行alist.size()方法,带来性能消耗,改为 for(int i=0 p=alist.size();i<p;i++){ } 2.循环内不要创建对象 缺; for(int i=1;i<=domainCount;i++){ . AuditResult auditResult = new AuditResult( ...
前面几节介绍的模式涵盖了大部分的基本用例,在这些模式中使用 volatile 非常有用并且简单。这一节将介绍一种更加高级的模式,在该模式中,volatile 将提供性能或可伸缩性优势。 volatile 应用的的高级模式非常脆弱。因此,必须对假设的条件仔细证明,并且这些模式被严格地封装了起来,因为即使非常小的更改也会损坏您的代码!同样,使用更高级的 volatile 用例的原因是它能够提升性能,确保在开始应用高级模式之前,真正确定需要实现这种性能获益。需要对这些模式进行权衡,放弃可读性或可维护性来换取可能的性能收益 —— 如果您不需要提升性能(或者不能够通过一个严格的测试程序证明您需要它),那么 ...
http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html To first explain the desired behavior, consider the following code: // Single threaded version class Foo { private Helper helper = null; public Helper getHelper() { if (helper == null) helper = new Helpe ...
http://www.java63.com/spring/introduce_spring_function.html
属性文件Properties properties属性文件 1 log4j.threshold 阈值项 log4j.threshold = error 2 log4j.rootLogger 根日志属性项 log4j.rootLogger = info,stdout1,stdout2 3 log4j.category. 子日志属性项(旧) log4j.category.com.eos = NULL,stdout1 4 log4j.logger. 子日志属性项(新) log4j.logger.com.eos.log = debug,stdout2 5 l ...
Log4j支持两种配置文件格式,一种是java属性文件(键—值),一种是xml格式文件。 这里仅介绍下java属性文件的配置方法。 先看看个配置文件:log4j.properties log4j.rootCategory=debug,stdout,R log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%5p [% ...
延迟加载:    延迟加载机制是为了避免一些无谓的性能开销而提出来的,所谓延迟加载就是当在真正需要数据的时候,才真正执行数据加载操作。在Hibernate中提供了对实体对象的延迟加载以及对集合的延迟加载,另外在Hibernate3中还提供了对属性的延迟加载。下面我们就分别介绍这些种类的延迟加载的细节。 A、实体对象的延迟加载: 如果想对实体对象使用延迟加载,必须要在实体的映射配置文件中进行相应的配置,如下所示: <hibernate-mapping> <class name=”com.neusoft.entity.User” table=”user” lazy=” ...

pom.xml的介绍

pom.xml包含了一个项目的项目对象模型(POM)。项目对象模型(POM)是Maven工作的基本单元。请记住,这个是非常重要的,因为POM包含了工程的非常重要的信息块,并且基本上包含了和项目相关的任何要素。 让我们熟悉一下pom.xml包含的基本项 poject 这是pom.xml的顶级元素。 modelVersion 这是元素指出了这个POM使用的是那个版本的对象模型。这个模型的版本自身么是经常改变的,但这种改变是为了使模型更加的稳定。 groupId 这个元素指出创建这个工程的组织或团队的唯一标识,并且这个也是一个项目的关键标识,推荐使用这个组织或团队的完整域名。例如:org.apac ...
等等 单例模式的俩种方式: 饿汉式 class Singleton {   private static Singleton instance=new Singleton();   private Singleton(){}   static Singleton getInstance() {       return instance;   } } 懒汉式 class Singleton {   private static Singleton instance=null;   private Singleton(){}   static Singleton getInstance() {   ...
代理接口: package ProxyPattern; public interface Italk { public void talk(String msg); } RealSubject: package ProxyPattern; public class People implements Italk { public String username; public String age; public String getName() { return username; } public void setName( ...
1.Eclipse连接MySQL数据库 mysql>CREATE DATABASE test;   //创建一个数据库 mysql>use  test;  //指定test为当前要操作的数据库 mysql>CREATE TABLE user (name VARCHAR(20),password VARCHAR(20));   //创建一个表user,设置两个字段。 mysql>INSERT INTO user VALUES('huzhiheng','123456'); //插入一条数据到表中 2.驱动已经导入,下面我们来写一个程序验证一下 import j ...
java中ArrayList 、LinkList、List区别   java中ArrayList 、LinkList区别 1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。      2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。      3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。 ArrayList和LinkedList是两个集合类,用于存储一系列的对象引用(references)。例如我们可以用Ar ...
Global site tag (gtag.js) - Google Analytics