- 博客(69)
- 资源 (2)
- 收藏
- 关注
原创 多线程竞争问题分析
public class MyStack { private ListString> list = new ArrayListString>(); public synchronized void push(String value) { synchronized (this) {
2017-04-17 18:27:30
640
原创 String池化及intern方法的作用
String池化String池 :String是不可改变的,为了提高效率Java引用了字符串池的概念,例如new String(“abc”);首先会在String池中创建一个对象“abc”,因为有NEW的存在所以会分配地址空间copy String池的内容。当出现的String对象在String池中不存在时即在String池中创建该对象。字符串对象的创建方式有两种如下:
2017-04-11 14:33:36
815
转载 java实现FusionCharts实时图工具
FusionCharts强大无比,使用版本是FusionCharts3.2 (后面提供下载)破解版。web程序中无须jar包,先看FusionChart如何获取数据:最常用的是setDataXML 和 setDataURLsetDataXML 是接收xml字符串,根据字符串生成图表信息,大多的图表是需要后台动态的获取数据的,适合于实时图表。setDataURL 是接收xml
2013-01-30 17:37:56
5892
转载 Servlet的配置
Servlet配置包含Servlet的名字、Servlet的类(如果是JSP,那么就指定JSP文件)、初始化参数、启动装入的优先级、Servlet的映射和运行的安全设置。Servlet配置的DTD如下 引用(servlet-class|jsp-file),init-param*,load-on-startup?,run-as?,security-role-ref*)>
2013-01-30 17:04:51
864
转载 JDBC增删查改3
步骤1、编写xml配置文件<!--数据库相关信息: 1、驱动;2、url;3、user;4、password-->com.mysql.jdbc.Driverjdbc:mysql://localhost:3306/test?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8rootroot 步骤2、编写实
2013-01-23 11:38:36
588
转载 Java 枚举7常见种用法
DK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。用法一:常量在JDK1.5 之前,我们定义常量都是: publicstaticfianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。 Java代码public enum Color
2013-01-22 16:19:10
606
原创 一个未能实现的GeoGIS平台设计方案
曾在GIS行业工作多年,主要是从事2.5维的应用开发工作,后来公司向3维图形应用开发转变,由我主导进行了一个名为GeoGIS平台的设计工作,但后来由于公司在商业上的转型及个人工作的变动,我也离开了GIS行业,该平台产品也就胎死腹中。现在就把GeoGIS平台做下简要的描述,请业内的同行交流指正。 GeoGIS采用了面向网络的分布式空间信息应用服务支撑平台,集二维、三维、遥感影像
2012-09-20 11:36:26
2435
1
转载 JDBC高效分页
一个继承ArrayList类的ResultSet,一个继承HashMap的Record执行,把java.sql.ResultSet对象中的一列封装成Record,加到ArrayList类型的ResultSet对象中 /** * 执行 SQL 语句 (带分页功能) * @param con 数据库链接 Connection * @param strSQL SQL语
2012-02-22 14:37:37
912
转载 MyEclipse 8以上反编译插件jad安装方法
准备工作 1. 下载jad.exe文件:http://www.varaneckas.com/sites/default/files/jad/jad158g.win.zip 2. 下载jadeclipse插件:http://prdownloads.sourceforge.net/jadclipse/net.sf.jadclipse_3.3.0.jar?download 3
2012-02-09 15:01:41
614
转载 Eclipse反编译工具Jad及插件JadClipse配置
Jad是一个Java的一个反编译工具,是用命令行执行,和通常JDK自带的java,javac命令是一样的。不过因为是控制台运行,所以用起来不太方便。不过幸好有一个eclipse的插件JadClipse,二者结合可以方便的在eclipse中查看class文件的源代码。下面介绍一下配置: A.下载JadClipse,http://jadclipse.sourceforge.net/wiki/
2012-02-09 14:49:31
612
转载 配置Log4j
Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1. 配置文件Log4J配置文件的基本格式如下:#配置根Loggerlog4j.rootLogger = [ level ] , appenderName1 ,
2012-02-06 13:35:38
742
转载 spring作用域
作用域将对Bean的生命周期和创建方式产生影响. singleton 在spring IOC容器中仅存在一个Bean实例,Bean以单实例的方式存在.prototype 每次从容器中调用Bean时,都返回一个新的实例,即每次调用getBean()时,相当于执行new XxxBean()的操作.request
2012-01-09 13:13:42
7159
转载 Spring AOP 日志拦截器的事务管理
如果要在方法执行前或后或抛出异常后加上一个自己的拦截器,或者一个环绕拦截器,在拦截器中执行一些操作,比如执行一些数据库操作,记录一些信 息,这些操作通过调用一个服务类的方法来执行,这个方法也在spring事务管理拦截器的管理之下,那么这个记录方法需要在另一个事务中进行,而不是与被 拦截方法在同一个事务中,不然如果被拦截方法抛出异常需要回滚时,所作的记录也会被回滚,当然有时候确实需要同时回滚,那就要
2011-12-21 16:30:19
7091
转载 Hibernate映射文件配置
id 主键生成方式increment Hibernate内部自己做累加,而不是数据库中做累加。indentity 数据库标示符自增长squence Oracle常用hilo 高低位 数据库保存高位字段,Hibernate累加地位字段,新插入数据由这两个字段组成,不会重复。uuid 生成主键不用访问数据库,Hibernate生成,插入效率很高,主键string类型,查询时候效率不高
2011-12-21 15:58:08
1126
转载 Hibernate 批量更新与删除
Hibernate2中,对于批量更新操作,Hibernate是将符合要求的数据查出来,然后再做更新操作。批量删除也是这样,先把符合条件的数据查出来,然后再做删除操作。 这样有两个大缺点: (1):占用大量的内存。 (2):处理海量数据的时候,执行update/delete语句就是海量了,而且一条update/delete语句只能操作一个对象,这样频繁的操作数据库,性能
2011-12-21 15:51:41
1860
转载 Hibernate 批量插入
在项目的开发过程之中,由于项目需求,我们常常需要把大批量的数据插入到数据库。数量级有万级、十万级、百万级、甚至千万级别的。如此数量级别的数据用Hibernate做插入操作,就可能会发生异常,常见的异常是OutOfMemoryError(内存溢出异常)。 首先,我们简单来回顾一下Hibernate插入操作的机制。Hibernate要对它内部缓存进行维护,当我们执行插入操作时,就会把要操作的
2011-12-21 15:48:20
2273
转载 使用Spring的HibernateDaoSupport时的getSession()3个方法的区别
在继承了HibernateDaoSupport的Dao中, this.getsession实际上是调用了父类HibernateDaoSupport中的方法获得session。使用spring管理hibernate的SessionFactory的时候,这个方法会从session池中拿出一session。这样做有可能有问题,尽管这种方式拿到的Session会自动关闭,但是他是有一定的失效策
2011-12-21 15:44:23
15007
1
转载 oracle 多表联合查询,统计查询,组函数,order by,having,子查询,集合运算
多表联合查询 通过连接可以建立多表查询,多表查询的数据可以来自多个表,但是表之间必须有适当的连接条件。为了从多张表中查询,必须识别连接多张表的公共列。一般是在WHERE子句中用比较运算符指明连接的条件。 忘记说明表的连接条件是常见的一种错误,这时查询将会产生表连接的笛卡尔积(即一个表中的每条记录与另一个表中的每条记录作连接产生的结果)。一般N个表进行连接,需要至少N-1个连接条件,才能
2011-12-19 16:15:18
1188
转载 Flex StringUtil工具类
最近发现Flex处理字符串的工具类一共有三个,分别是:mx.utils包下的StringUtilmx.utils包下的RPCStringUtilas3corelib类库下的StringUtil下面分别整理及介绍下这三个工具类的用法:mx.utils包下的StringUtil1.trim()2.isWhitespace() 判断是否是空白字符3.t
2011-11-29 16:56:54
2369
转载 Flex中字符串ReplaceAll
用过FLEX中String类型的朋友可能知道,replace这个方法并不过替换所有内容。那么我们需要替换所有内容怎么办?只有自己动手,丰衣足食咯,呵呵。言归正专,有两种方法,一种是利用Array的方式,另一种是利用正则去替换。/** * StringReplaceAll * @param source:String 源数据 * @param find:String 替换对象 * @pa
2011-11-29 16:52:39
715
转载 Hibernate的条件查询的几种方式
1、 第一种,用?占位符,如://登录(用?占位符) public List LoginUser(UserPO up)throws Exception{ Session session = HibernateSessionFactory.getSession(); String hql = "from UserPO where name = ? and pwd= ?"; Quer
2011-11-28 13:42:51
25460
转载 Oracle查看主外键
select a.constraint_name, a.table_name, b.constraint_name from user_constraints a, user_constraints bwhere a.constraint_type = 'R' and b.constraint_type = 'P' and a.r_constraint_name = b.constra
2011-11-21 19:46:38
3824
转载 在Struts中基于Spring的AOP MethodInterceptor(拦截器)的权限验证
aop应用.说实话,aop在spring应该算是个难点,它主是起到了"代理"的作 用,aop会为你调用的方法的对象生成代理,这个代理是继承调用 MethodInterceptor这个拦截器的对象的,所以,具备原有对象的所有方法与特性.AOP不神秘,它就是EJB的进化,只是EJB需要显式的实现接 口,而AOP不用,它会自动帮你生成代理,来做很多事情,AOP,我觉得它在处理事务 的时候用的
2011-10-22 15:53:03
4531
1
转载 flex登录界面实例2
<![CDATA[ import mx.controls.Alert; private function initApp():void{ lblCheckCode.text=GenerateCheckCode(); } private functio
2011-10-18 15:00:40
6026
转载 flex登录界面实例1
<![CDATA[ // Import easing classes if you use them only in MXML. import mx.effects.easing.Bounce; ]]>
2011-10-18 14:58:29
1646
转载 Dom4j解析XML
环境:Dom4j-1.6.1Dom4j解析需要XML需要的最小类库为:dom4j-1.6.1.jarjaxen-1.1-beta-6.jar目标:解析一个xml,输出所有的属性和元素值。
2011-10-12 15:20:06
744
转载 Oracle用Start with...Connect By子句递归查询
ORACLE 提供了一个有趣的功能 connect by 子句,它可以对具有家族树结构的分枝进行排序。它的用途有机构或公司的各层结构,财务的科目代码等。要使用查询遍历,需要在将数据在基表中按照层次结构进行存储。比如一个组织机构就是这样的典型例子。实现语句:SE
2011-08-30 19:27:05
920
转载 HttpServletRequest 简要总结
HttpServletRequest方法总结getScheme()方法返回请求的计划,比如http,https或者ftp.getServerName()方法返回被发送请求的服务器的主机名getServerPort()方法返回被发送请求的端口号。getContextPat
2011-08-08 11:06:19
1498
原创 [Java] Primitive(原始) 类型
主值大小最小值最大值封装类型boolean1 位--Booleanchar16位Unicode 0Unicode 2的16次方减1Characterbyte8位-128127Byteshort16位-2的15次方+2的15次方减1Shortin
2011-06-11 21:17:00
566
转载 在Hibernate中使用oracle的sequence产生主键
<br /> 在很多情况下,我们使用Hibernate在已经建立好数据库的基础上。在oracle中,如果已经建立好的数据库中使用了sequence,则可以按照下面的步骤把它引入到Hibernate中: 1、在oracle 首先创建sequence create sequence seq_id minvalue 1 start with 1 increment by 1 cache 20; 2.在你的hb
2011-03-03 16:51:00
617
原创 获取图片工具类
<br />将图片与该工具类放在同一目录下<br />package com.hzdec.ui.image;import java.awt.Image;import java.net.URL;import java.util.HashMap;import java.util.Map;import javax.swing.ImageIcon;/** * 获取图片工具类 * @author pippo * */public class ImageUtil {
2010-12-24 17:27:00
566
转载 用java调用oracle存储过程总结
<br /> <br />1、什么是存储过程。存储过程是数据库服务器端的一段程序,它有两种类型。一种类似于SELECT查询,用于检索数据,检索到的数据能够以数据集的形式返回给客户。另一种类似于INSERT或DELETE查询,它不返回数据,只是执行一个动作。有的服务器允许同一个存储过程既可以返回数据又可以执行动作。<br />2、什么时候需要用存储过程<br /> 如果服务器定义了存储过程,应当根据需要决定是否要用存储过程。存储过程通常是一些经常要执行的任务,这些任务往往是针对大量的记录而进行的。在服务器上
2010-12-16 18:31:00
438
转载 java内存溢出
<br />核心提示:原因有很多种,比如: 1.数据量过于庞大;死循环 ;静态变量和静态方法过多;递归;无法确定是否被引用的对象; 2.虚拟机不回收内存(内存泄漏); 说白了就是程序运行要用到的内存大于虚拟机能提供的最大内存就发生内存溢出了。 内存溢出的问题要看业务和系 原因有很多种,比如:<br />1.数据量过于庞大;死循环 ;静态变量和静态方法过多;递归;无法确定是否被引用的对象;<br /> 2.虚拟机不回收内存(内存泄漏);<br /> 说白了就是程序运行要用到的内存
2010-10-27 16:21:00
749
转载 用Eclipse远程调试(Remote debug)Tomcat
<br /><br />1. 配置Tomcat支持remote debugging<br />给JVM加上如下的启动参数:<br />-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n<br />2. Eclipse里新建一个Remote Java Applications的debug<br />“Run->Debug…”, then “Remote Java Applications”, “New”,port添8000
2010-10-26 10:32:00
15511
转载 java修改windows注册表设置程序自动运行
<br />需要修改的注册表项 <br />[HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Run] 开机自动运行程序<br />[HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/RunOnce] 开机自动运行程序 且 仅运行一次 <br />[HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVers
2010-09-29 10:28:00
1382
转载 org.dom4j.Document -> org.w3c.dom.Document的转换
<br />/** * org.w3c.dom.Document -> org.dom4j.Document * @param doc Document(org.w3c.dom.Document) * @return Document */ public static Document parse(org.w3c.dom.Document doc) t
2010-09-28 13:52:00
3750
转载 测试服务器响应时间
<br />所谓的响应时间,就是从客户端开始发出请求到服务器最后返回请求时所消耗的时间,见代码<br />package com.speed;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStreamRe
2010-09-19 13:50:00
2312
转载 java 删除文件和目录
package book.io; import java.io.File; /** * * @author XWZ * 2007-11-27 * 删除文件或目录 */ public class DeleteFileUtil { /** * 删除文件,可以是单个文件或文件夹 * @param fileName 待删除的文件名 *
2010-08-26 10:08:00
789
转载 Java两种延时——thread和timer
<br /> 在Java中有时候需要使程序暂停一点时间,称为延时。普通延时用Thread.sleep(int)方法,这很简单。它将当前线程挂起指定的毫秒数。如<br />try { Thread.currentThread().sleep(1000);//毫秒 } catch(Exception e){} <br /> <br /> <br />在这里需要解释一下线程沉睡的时间。sleep()方法并不能够让程序"严格"的沉睡指定的时间。例如当使用5000作为sleep()方法的参数时,线
2010-08-25 15:38:00
101158
转载 java 读取网络图片
<br /> import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileOutputStream; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLConnection; /*. *读取网络照片,保存到本地 * */ p
2010-08-24 16:02:00
3010
基于J2EE实现的RBAC系统(包含论文与源码)
2011-09-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人