
java
文章平均质量分 59
applejian
这个作者很懒,什么都没留下…
展开
-
BigDecimal如何比较是否相等
例子: BigDecimal a = new BigDecimal("2.00");BigDecmial b = new BigDecimal(2);System.out.println(a.equals(b));输出结果是:false原因是:BigDecimal比较时,不仅比较值,而且还比较精度???解决方法:BigDecimal a = new BigDecimal...原创 2011-01-19 11:15:05 · 645 阅读 · 0 评论 -
JAVA 回调
熟悉MS-Windows和X Windows事件驱动设计模式的开发人员,通常是把一个方法的指针传递给事件源,当某一事件发生时来调用这个方法(也称为“回调”)。Java的面向对象的模型目前不支持方法指针,似乎不能使用这种方便的机制。Java支持interface,通过interface可以实现相同的回调。其诀窍就在于定义一个简单的interface,申明一个被希望回调的方法。例如,假定当某一...原创 2012-06-12 11:35:04 · 92 阅读 · 0 评论 -
ibatis 的缓存
iBatis的缓存配置比较简单易懂,以我使用的iBatis2.3为例,做以下配置即可实现对某些查询进行缓存: 1、在sqlMap文件中加入cacheModel的配置: <cacheModel id="model-cache" type="MEMORY" > <flushInterval seconds="60"/> ...原创 2012-02-06 14:27:18 · 99 阅读 · 0 评论 -
DWR 原理简单介绍
使用DWR已经好长一段时间了,可是今天才知道它的工作原理,下面与大家分享,如果有什么不对之处,欢迎指出,大家一起讨论... 使用DWR时,页面需要导入engine.js文件,另外还需要导入DWR自动生成的文件(根据用户在dwr.xml中配置信息生成),如:logAjax.js,这个文件是在服务器端是找不到的,不过可以在浏览器的缓存中可以找到。如果页面引入如下: ...原创 2012-02-06 15:07:23 · 147 阅读 · 0 评论 -
dwr同步问题
想要异步的时候,想要同步的时候同步,在不同的情况下我们有不同的需求。dwr是ajax的服务器端框架,它封装了服务器端的调用,我们可以在JAVASCRIPT中直接调用服务器端的代码,完成想要的功能。 但是,由于AJAX是异步实现的,并且AJAX确实是为了异步的实现才引入近来的。但是,AJAX仍然也支持同步的调用。在纯粹的XMLHttpRequest中可以设置调用是否是异步的。XMLHt...原创 2012-02-06 22:58:20 · 89 阅读 · 0 评论 -
MYSQL索引优化和in or替换为union all
使用UNION ALL代替OR,这不是绝对的。具体什么时候选择谁,需要看测试数据。一个文章库,里面有两个表:category和article。category里面有10条分类数据。article里面有20万条。article里面有一个"article_category"字段是与category里的"category_id"字段相对应的。article表里面已经把 article_categor...原创 2012-02-07 17:08:16 · 412 阅读 · 0 评论 -
adb server is out of date. killing...
在cmd窗口输入adb shell 或 adb connect 等等后,出现如下错误:adb server is out of date. killing...ADB server didn't ACK* failed to start daemon *error: unknown host service 解决方法,打开“任务管理器”,找到豌豆荚的两个进程,结束之。OK!...原创 2012-06-17 17:20:36 · 107 阅读 · 0 评论 -
android wifi 无线调试
数据线丢了,不想花钱去买,在网上看了看,android手机居然可以通过wifi进行程序的调试,太好了,自己搞了一下,虽然网上写的很详细,但是还是有些问题,记录下来,下次参考。1.首先让android监听指定的端口: 这一步需要使用shell,因此手机上要有终端模拟器,不过网上很多,随便找个就行了,依次敲入下列几行: 1su//获取root权限 ...原创 2012-06-17 17:24:26 · 154 阅读 · 0 评论 -
JAVA进程CPU占用率分析方法
1: 首先把JDK Linux版本上传到服务器上.2: 使用命令 jstack PID 命令打印出CPU占用过高进程的线程栈.3: 使用top -H -p PID 命令查看对应进程是哪个线程占用CPU过高. 比如:top - 17:23:50 up 12 days, 1:44, 8 users, load average: 4.85, 3.56, 3.76Tasks: 556 tot...原创 2012-02-13 17:05:16 · 221 阅读 · 0 评论 -
在任意位置获取应用程序Context
Android程序中访问资源时需要提供Context,一般来说只有在各种component中(Activity, Provider等等)才能方便的使用api来获取Context, 而在某些工具类中要获取就很麻烦了。为此,我们可以自定义一个Application类来实现这种功能。import android.app.Application;public class MyApplica...原创 2012-02-16 10:53:01 · 113 阅读 · 0 评论 -
Socket用法详解
一、构造SocketSocket的构造方法有以下几种重载形式:(1)Socket()(2)Socket(InetAddress address, int port)throws UnknownHostException,IOException(3)Socket(InetAddress address, int port, InetAddress localAddr, int l...原创 2012-02-22 16:49:48 · 103 阅读 · 0 评论 -
数据库时客户端提示 Cannot proceed because system tables used by Event Scheduler
在打开数据库或者用数据库管理工具(Navicat)时客户端提示“Cannot proceed because system tables used by Event Scheduler were found damaged at server start”造成此原因是MySQL服务器的当前版本不兼容所有数据库的表解决方法1、linux、windows下解决方法类似$PATH/mysql/bin/m...原创 2012-02-29 21:13:38 · 2625 阅读 · 0 评论 -
freemarker数字格式化
freemarker在解析数据格式的时候,自动默认将数字按3为分割(1,000),这个问题给操作带来一定的额外处理复杂度,解决方法有如下几种: 1、在模板中直接加.toString()转化数字为字符串,如:${languageList.id.toString()}; 2、在freemarker配置文件freemarker.properties加number_format=#或者nu...原创 2012-03-17 16:53:42 · 185 阅读 · 0 评论 -
判断当前操作系统是不是window
/** * 判断当前操作系统是不是window * * @return boolean */ public static boolean isWindows() { boolean flag = false; if (System.getProperties().getProperty("os.name").toUpperCase() .indexOf("WINDOWS") !...原创 2012-03-19 09:08:30 · 745 阅读 · 0 评论 -
response.setHeader()下载中文文件名的设置
1. HTTP消息头(1)通用信息头即能用于请求消息中,也能用于响应信息中,但与被传输的实体内容没有关系的信息头,如Data,Pragma主要: Cache-Control , Connection , Data , Pragma , Trailer , Transfer-Encoding , Upgrade(2)请求头用于在请求消息中向服务器传递附加信息,主要包括客户机可以接...原创 2012-03-31 15:44:52 · 4167 阅读 · 1 评论 -
ibatis的remapResults属性合理运用
Proper Usage of remapResults="true"The remapResults attribute is available on 【statement】, 【select】, and 【procedure】 mapped statements. It is an optional attribute and the default value is false.T...原创 2012-03-31 15:51:49 · 154 阅读 · 0 评论 -
网络编程中Nagle算法和Delayed ACK的测试
Nagle算法的立意是良好的,避免网络中充塞小封包,提高网络的利用率。但是当Nagle算法遇到delayed ACK悲剧就发生了。Delayed ACK的本意也是为了提高TCP性能,跟应答数据捎带上ACK,同时避免糊涂窗口综合症,也可以一个ack确认多个段来节省开销。 悲剧发生在这种情况,假设一端发送数据并等待另一端应答,协议上分为头部和数据,发送的时候不幸地选择了writ...原创 2012-03-31 16:43:54 · 208 阅读 · 0 评论 -
android 调用系统图片浏览器并返回图片路径
调用系统图片浏览器的方法如下:Intent intent = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);startActivityForResult(intent, IMAGE_SELECT); activitity回调方法如:protec...原创 2012-04-01 15:56:02 · 159 阅读 · 0 评论 -
JBOSS下修改log4j日志级别
老大出差回来,让把JBOSS的log4j日志级别改成ERROR,控制台里面不显示我们自己的out语句. 问题是陈老师解决的,我这里只是照着做而已. 进入JBOSS目录,找到log4j配置文件log4j.xml.我的路径是:D:\zte_jboss\server\default\conf 编辑log4j.xml文件,找到 <append...原创 2011-11-18 13:43:19 · 484 阅读 · 0 评论 -
Class is not accessible due to restriction on required library
How to solveThis error message can be removed by changing a setting inside Eclipse IDE. Open up the dialog box shown below, using any of the following paths.Windows -> Preferences -> Java ...原创 2012-06-03 12:13:07 · 132 阅读 · 0 评论 -
FreeMarker的优点和缺点
一、 FreeMarker简介FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。所谓模板,就是一份已经写好了基本内容,有着固定格式的文档,其中空出或者用占位符标识的内容,由使用者来填充,不同的使用者给出的数据是不同的。在模板中的占位符,在模板运行时,由模板引擎来解析模板,并采用动态数据替换占位符部分的内容。FreeMarker与Web容器无关,即在Web运行时,它并...原创 2011-11-08 17:05:51 · 111 阅读 · 0 评论 -
java 堆栈与堆的区别(*)
1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的...原创 2011-08-17 00:15:01 · 79 阅读 · 0 评论 -
URLRewirte实现url地址伪静态化
满足搜索引擎的要求 某些搜索引擎不能支持动态页面的抓取,大量的信息就不能被潜在用户搜索到。用UrlRewrite技术你可以把 http://server/news.asp?id=111 变成 http://server/news/111.htm 这样他们就会被搜索引擎收录了。google虽然可以抓取动态页面,但是google对动态页面的评分一般低于静态页面。所以,对大量信息...原创 2011-08-30 20:40:07 · 147 阅读 · 0 评论 -
java文件读取 编码方式设置
FileInputStream fr = new FileInputStream(path);InputStreamReader is = new InputStreamReader(fr,"UTF-8");BufferedReader br=new BufferedReader(is); FileOutputStream stream;// provides file acces...原创 2011-09-10 16:36:16 · 510 阅读 · 0 评论 -
java.io写文件在linux中出现中文乱码的解决
昨天用java io写个系统的操作日志进txt文件时,遇到这么个问题:在windows系统上测试过了,是没问题的,但是放到服务器(linux系统)上写到文件的中文都变成了乱码!究其原因,原来是这么个情况:linux下默认字符集是gbk,而windows默认编码是utf-8,而java 往文件里面写入中文时是根据系统默认字符集来写的。 最直接的办法就是在使用java io写文件时强制进行转...原创 2011-09-10 16:44:59 · 700 阅读 · 0 评论 -
从线程返回数据的几种方法
在Java5之前,线程是没有返回值的,常常为了“有”返回值,破费周折,而且代码很不好写。或者干脆绕过这道坎,走别的路了。 现在Java终于有可返回值的任务(也可以叫做线程)了。 可返回值的任务必须实现Callable接口,类似的,无返回值的任务必须Runnable接口。 执行Callable任务后,可以获取一个Future的对象,在该对象上调用get就可以获取到Callab...原创 2011-06-24 14:43:33 · 276 阅读 · 0 评论 -
Java获取IP地址:request.getRemoteAddr()警惕
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr() ,这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。如果使用了反向代理软件,将http://192.168.1.110:2046/ 的URL反向代理为http://www.xxx.com/ 的URL时,用request.getRemot...原创 2011-09-27 13:20:09 · 523 阅读 · 0 评论 -
Properties的相对路径以及文件的读取操作
在我们平时写程序的时候,有些参数是经常改变的,而这种改变不是我们预知的。比如说我们开发了一个操作数据库的模块,在开发的时候我们连接本地的数据库那么 IP ,数据库名称,表名称,数据库主机等信息是我们本地的,要使得这个操作数据的模块具有通用性,那么以上信息就不能写死在程序里。通常我们的做法是用配置文件来解决。 各种语言都有自己所支持的配置文件类型。比如 Python ...原创 2011-07-13 18:36:29 · 3766 阅读 · 0 评论 -
java获得CPU、系统内存情况
JXM:Monitoring and Management Interface for the Java™ Platform 通过jmx可以监控vm内存使用,系统内存使用等 以下是网上某博客代码,特点是通过window和linux命令获得CPU使用率。 Java代码 利用java程序实现获取计算机cpu利用率和内存使用信息。 创建一个Bean用来存贮要得到的信 ...原创 2011-10-06 23:51:05 · 154 阅读 · 0 评论 -
一个非常实用的log4j.properties模版
##Log4J的配置之简单使它遍及于越来越多的应用中了##Log4J配置文件实现了输出到控制台、文件、回滚文件、发送日志邮件、输出到数据库日志表、自定义标签等全套功能。择其一二使用就够用了。##此文件(log4j.properties)内容来自网络,非本文作者liigo原创。log4j.rootLogger = DEBUG, CONSOLE,A1log4j.addivity.org.apa...原创 2011-10-07 00:32:15 · 144 阅读 · 0 评论 -
几种常用的Java数据源解决方案
几种常用的Java数据源解决方案Java中的数据源就是javax.sql.DataSource。DataSource的创建可以有不同的实现。JNDI方式创建DataSource 以JNDI方式创建数据源首先要配置数据源的相关连接信息,也就是数据源连接池。该配置应该在Tomcat安装目录...原创 2011-07-23 23:41:31 · 114 阅读 · 0 评论 -
Java odbc读取Excel文件内容
可以用Java读取Microsoft Excel文件。微软提供了一个Excel的ODBC驱动程序,因此我们就可以使用JDBC和Sun的JDBC-ODBC驱动来读取Excel文件了。 如果你有个Excel文件,名为Book1.xls(译者注:由于原文的例子我没有下载下来,所以我用了自己的例子),并且,该文件中有一个工作表(sheet)名为Sheet1 微软的ODBC驱动程序...原创 2011-07-23 23:47:29 · 264 阅读 · 0 评论 -
Java通过ODBC连接MySQL
首先装一个mysql的驱动程序:mysql-connector-odbc-5.1.5-win32.zip解压点击setup即可,可能会碰到与java运行时有冲突,点击yes即可。 下一步下个mysql-connector-java-5.1.6-bin.jar,把它放在java-sdk的lib库里。 在管理工具的odbc数据源里用户DSN选项卡里添加:mysql odbc 5.1.5...原创 2011-07-24 00:34:54 · 545 阅读 · 0 评论 -
Java 网络利器httpclient之七种武器
如果你是迈克尔杰克逊歌迷还可以访问我们歌迷会的网站: 迈克尔杰克逊音乐纪念站 http://www.gbsou.com/2009/09/28/980.htmlJava 网络利器httpclient之七种武器 Apache Common HttpClient使用之七种武器1.拳头之Get/Post拳头是最基本的一重武器,也是最重要的,好比练武之人必须先扎稳马步 。H...原创 2011-03-20 19:08:02 · 106 阅读 · 0 评论 -
java PrintWriter 页面 js 乱码
PrintWriter printWriter; try { response.setContentType("text/html; charset=GBK");//解决乱码 printWriter = response.getWriter(); printWriter.append("<script language=\"javascrip...原创 2011-07-29 13:10:20 · 160 阅读 · 0 评论 -
PrintWriter返回乱码的分析及解决
用response得到输出流,即response.getOuptStream(); 返回值为ServletOutputStream 对象,即JSP的out对象,要么用response得到输出对象PrintWriter即response.getWriter()。protected void doGet(HttpServletRequest request, HttpS...原创 2011-07-29 13:19:32 · 103 阅读 · 0 评论 -
MySQL创建方法错误:This function has none of DETERMINISTIC, NO SQL
创建function时出错信息:ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe l...原创 2011-12-22 16:04:17 · 128 阅读 · 0 评论 -
Column 'id' in field list is ambiguous
Column 'id' in field list is ambiguous,今天在执行一条SQL时报错了,错误原因是在查询的字段前面没有指定是哪个表,所以Mysql不知道你要查询哪个字段。在google翻译中查了下ambiguous的意思,这个词表示暧昧。哈哈,可别瞎玩暧昧,连没感情的Mysql都是伤不起,人你能伤的起么?...原创 2012-04-23 18:20:41 · 424 阅读 · 0 评论 -
普通Java类获取Spring的Bean的方法
在SSH集成的前提下。某些情况我们需要在Action以外的类中来获得Spring所管理的Service对象。 之前我在网上找了好几好久都没有找到合适的方法。例如:ApplicationContext context = new ClassPathXmlApplicationContext(); 当时我觉得没有这个必要,浪费内存。后来我终于想出了一个解决方法。在此拿来给大...原创 2012-04-01 16:18:48 · 103 阅读 · 0 评论