java常用知识
文章平均质量分 52
android_rcccheng
这个作者很懒,什么都没留下…
展开
-
JDK1.6字符串拼接自动生成StringBuilder
JDK1.6字符串拼接从JAVA诞生那天起,稍微“有些水平”的程序员都被告知,如果有大量的字符串连结,请不要使用字符串相加,而应该使用StringBuffer的append操作然后toString().到了JAVA5,我们又被告诉知,StringBuilder是StringBuffer的非同步版,所以绝对大多数时候我们“更”可以用StringBuilder来代替加操作。因为一个可能被多线程转载 2011-11-15 14:20:06 · 4427 阅读 · 5 评论 -
如何读写property文件,保证一定顺序
package com.zfsoft.setup.impl;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.util.原创 2012-08-17 15:29:40 · 2752 阅读 · 0 评论 -
java替换url的域名和端口
public static String replaceDomainAndPort(String domain,String port,String url){String url_bak = "";if(url.indexOf("//") != -1 ){String[] splitTemp = url.split("//");url_bak = splitTemp[0]+"//原创 2012-09-11 09:42:40 · 8603 阅读 · 0 评论 -
BASE64加密字符串总结
BASE64加密字符串,当编码的字节较长时,encode出来的字符串会自动加入\n\r进行自动换行。针对这个问题,原因是rfc规范规定76个字符换一次行。 我们可以使用replaceAll("\r\n", "")来进行替换。具体示例代码如下:package com.zfsoft.setup.encrypt;import java.io.ByteArrayOutputStre原创 2012-09-14 10:50:17 · 5384 阅读 · 1 评论 -
解析这种properties文件,需要注意。
配置xml配置文件如下:/WEB-INFzfdxcfalsezfdxc0/WEB-INF/job/zfdxcLog/WEB-INF/job/job-config.xml1521/zfdxc/zfdxcPicNativezh_CN/common/head.iniGBKgnd8bFTenCx5kI9f9xZQZQ==原创 2012-09-14 11:19:02 · 660 阅读 · 0 评论 -
配置tomcat远程调试
修改startup.bat文件set JPDA_TRANSPORT=dt_socketset JPDA_ADDRESS=8000set JPDA_SUSPEND=ncall "%EXECUTABLE%" jpda start %CMD_LINE_ARGS%#call "%EXECUTABLE%" start %CMD_LINE_ARGS%:end原创 2013-01-21 16:46:33 · 424 阅读 · 0 评论 -
运维系统,发现报错,打开文件句柄数太多解决方案
在Linux中查看日志时,发现有Can’t open so many files信息。应该是虚拟机打开文件数或者sockets数太多了。在Linux下,我们使用ulimit -n命令可以看到单个进程能够打开的最大文件句柄数量(socket连接也算在里面)。系统默认值1024。对于一般的应用来说(象Apache、系统进程)1024完全足够使用。但是如何象java等单进程处理大量请求的应用来说原创 2013-05-21 12:39:24 · 5478 阅读 · 0 评论 -
门户待办任务显示太多,如何提高性能
现象说明:最近一段时间在优化门户。发现门户登录后有大批dwr定时定时器定时刷新获取待办信息。导致结果:页面大量发包,页面出现请求堵塞现象。可以通过httpWatch监控发包情况。理想解决方案:记录在线用户。后台定时去获取待办信息。将待办信息生成静态页面,供前台展现。这种方案,性能最优。并且后台这个定时获取的程序还可以迁移到一个专门做这个事情的工程去做。如原创 2013-06-17 16:26:29 · 1375 阅读 · 0 评论 -
操作jar包内的资源文件方法,通过classLoader方式
我们常常在代码中读取一些资源文件(比如图片,音乐,文本等等)。在单独运行的时候这些简单的处理当然不会有问题。但是,如果我们把代码打成一个jar包以后,即使将资源文件一并打包,这些东西也找不出来了。看看下面的代码:Java代码 //源代码1: package edu.hxraid; import java.io.*; public class Reso转载 2013-08-06 14:02:30 · 1151 阅读 · 0 评论 -
Hashcode,equals 介绍
做项目的时候知道如何比对一个对象是否相等,集合中是否存储相同对象。现在有时间还是详细总结一下吧。Equals用于比较一个对象是否相等equals。Hashcode用于标识一个对象内存地址。Hashmap中通过hashcode值决定存储位置。HashSet通过hashcode 判断存储对象是否相同。这篇文档讲得比较详细: http://www.oschina.net/questi原创 2014-02-25 10:10:11 · 548 阅读 · 0 评论 -
java json不生成null或者空字符串属性
大家平时用java对象转json字符串。null或者空字符串属性是不需要生成到json字符串里面的。如下方式生成,没有使用的属性也会生成json字符串属性。JSONArray jsonarray = JSONArray.fromObject(ecmMessageMap.values());msgObj = jsonarray.toString();{"a原创 2014-08-11 17:22:55 · 26174 阅读 · 2 评论 -
在一个大型B2C项目中,如果存在大量重复查询,可以通过使用ThreadLocal来解决
比如alibaba全球速卖通网站。由于大家可能在一个请求里面 查询了很多次卖家账户。比如查询子账户。然后再查询父账户。这种情况可以存储在ThreadLocal里面。com.alibaba.intl.commons.cache.ThreadContextCache一般应用场景: 保存一个帐号,后面需要继续使用。然后要进行展现。原创 2012-05-17 11:19:56 · 656 阅读 · 0 评论 -
java相关软件下载
相关框架iBatis3.0http://people.apache.org/builds/ibatis/ibatis-3-core/ibatis-core-3.0-bundle.zip‘Struts2-2.2.1http://labs.renren.com/apache-mirror//struts/binaries/struts2-2.2.1-all.zip Spri转载 2012-02-27 15:59:37 · 962 阅读 · 0 评论 -
windows,linux java mysql预编译执行
一、windows,linux下重启和停止mysql服务RedHat Linux (Fedora Core/Cent OS)1.启动:/etc/init.d/mysqld start2.停止:/etc/init.d/mysqld stop3.重启:/etc/init.d/mysqld restartDebian / Ubuntu Linux1.启动:/etc转载 2011-11-15 00:33:34 · 1176 阅读 · 0 评论 -
java通过ip获取用户所在国家
什么是GeoIP ? 所谓GeoIP,就是通过来访者的IP, 定位他的经纬度,国家/地区,省市,甚至街道等位置信息的一个数据库。GeoIP有两个版本,一个免费版,一个收费版本。收费版本的准确率和数据更好一些。 GeoIP如何使用? GeoIP支持多种语言调用,这里我们以java为例。执行下面的命令: wget -N -q http://geolite.m原创 2011-11-23 14:38:22 · 8937 阅读 · 0 评论 -
java代码测试集合,数组等最大存储大小
其实java里面的集合,数组等他们的存储容量我们是可以预估的。1、存储原始类型,这种存储大小是固定的。2、存储对象,由于内容大小有变化,但是我们可以通过测试获取到大慨存储容量。 还有就是我们扩容内存,会影响集合或数组存储大小。1、List int judgeListmaxCount = 0; try { for (原创 2011-11-21 19:00:16 · 3467 阅读 · 1 评论 -
java数组添加数组
java中添加数组一般有两种方式,第一种为:Arrays.copyOf。第二种为:System.arraycopy。第三种:采用for循环赋值。 第一种内部实现其实就是采用System.arraycopy方式,我们可以查看java jre包源码。源码内容如下: public static T[] copyOf(U[] original, int newLength, Cla原创 2011-11-29 10:19:04 · 22236 阅读 · 0 评论 -
ajax输出信息,发现firefox,google浏览器都是新开页面打开,而IE是直接打开
需要注意两个地方:1、页面输入参数需要编码,防止安全漏洞 String callback = rundata.getParameters().getString("callback");// 头信息StringEscapeUtil.escapeHtml(callback)---------------------------------如果用户输入url是:http:/原创 2011-12-08 14:01:13 · 1166 阅读 · 0 评论 -
Hash.values转换为List
/*** convert the map to the list(1)*/public static void main(String[] args) { Map maps = new HashMap(); maps.put("a", "aa"); maps.put("b", "bb"); maps.put("c", "cc"); maps.pu转载 2011-12-30 09:40:20 · 682 阅读 · 0 评论 -
java 日期天数计算的一些常用方法
/*** * 获取【查询时间】到现在多少天 * * @param fromDate 查询时间 * @return * @throws Exception */ public static int getDayFromCookiePlantTime(Date fromDate) { Calendar原创 2012-03-05 16:19:34 · 4321 阅读 · 0 评论 -
跟风,分享一下,我常去的中文技术网站
先说一下大多数人都知道的。第一个:http://www.iteye.com(www.iteye.com)不解释。第二个:http://www.infoq.com/cn/(英文主站:www.infoq.com)非常著名的架构师站点,主要面向企业架构,做JaveEE方向的同学应该经常看。第三个:http://www.ibm.com/developerworks/cn/,转载 2012-04-24 16:41:20 · 624 阅读 · 0 评论 -
文字计算器 对输入的加减乘除等四则运算得出结果,是否考虑负数,小数等(难度:★★★★)由自己决定
题目一:考察分析处理问题能力(难度:★★★) 文字计算器 对输入的加减乘除等四则运算得出结果,是否考虑负数,小数等(难度:★★★★)由自己决定例如:输入:1+2*2-4 输出为1 输入:1+2+3+4 输出为10 输入:1+2/5-4*2 输出为-6.6 在做这个题的时候,也看到网上有很多关于这个四则运算的算法实现。但是我还是想原创 2012-04-28 10:25:12 · 2251 阅读 · 0 评论 -
java数字字符串比较大小
String maxTotalValue = "0"; for (int i = 0; i String calResult = exeThreads[i].getResult(); if (calResult != null) { // if (maxTota原创 2012-05-04 14:42:49 · 24133 阅读 · 0 评论 -
log4j打印类路径,及行号
### set log levels ###log4j.rootLogger = info,stdout### 输出到控制台 ###log4j.appender.stdout = org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target = System.outlog4j.appender.stdout.l原创 2014-09-24 16:56:52 · 14776 阅读 · 0 评论