存档

2012年9月 的存档

MyEclipse修改Properties文件编码方式

2012年9月29日 没有评论

 

Window ->Perferences ->General ->Context Types 展开右边的Text节点,选中Java Properties File。把下面的Default Character Set的值:ISO-8859-1改成UTF-8

分类: java 标签: , ,

java性能优化总结

2012年9月25日 没有评论

最近在做性能优化,总结了以下几条,有更好的方法欢迎大家通知我
1.HaspMap的遍历。
Map<String, String> map = new HashMap<String, String>();
for( Entry<String, String> entry : map.entrySet() )
{
String key= entry.getKey();
String value= entry.getValue();
}

2.尽量减少对变量的重复计算。
比如for(int i=0;i<list.size();i++) 应修改为for(int i=0,len=list.size();i<len;i++)

3.避免在循环体中创建对象,即使该对象占用内存空间不大
 for(int i=0;i<10000;++i){
  Object obj = new Object();
  System.out.println(“obj=”+obj);
  }
  应改成
 Object obj = null;
  for(int i=0;i<10000;++i){
  obj = new Object();
  System.out.println(“obj=”+obj);
  }
4.尽量避免在循环体中使用try-catch 块,最好在循环体外使用try-catch块以提高系统性能.
5.在需要线程安全的情况下,使用List list = Collections.synchronizedList(new ArrayList());
6. 如果预知长度,就设置ArrayList的长度.

分类: java 标签: ,

HashMap两种遍历方式效率比较

2012年9月24日 3 条评论

Map遍历的两种方式:

方式一、遍历keySet(),再通过key获取value;

方式二、遍历entrySet(),通过entry直接获得value

		Map<String, String> map = new HashMap<String, String>();
		for (int i = 0; i < 10000; i++) {
			map.put("a"+i, "a"+i);
		}
		System.currentTimeMillis();
		long t1 = System.nanoTime();
		for (String key:map.keySet()) {
			map.get(key);
		}
		long t2 = System.nanoTime();
		for (Entry<String, String> entry : map.entrySet()) {
			entry.getValue();
		}
		long t3 = System.nanoTime();
		System.out.println("方法一耗时:"+(t2-t1)/1000+"微秒");
		System.out.println("方法二耗时:"+(t3-t2)/1000+"微秒");
方法一耗时:2296微秒
方法二耗时:1530微秒

 

因为System.currentTimeMillis()获得时间为毫秒,区分不出差别,索引采用微秒输出

		1秒=1000毫秒
		1毫秒=1000微秒
		1微秒=1000纳秒0
		1纳秒=1000皮秒
   计算hashCode是CPU密集运算,非常耗费CPU资源,如果对一个比较大的map进行遍历,会出
现CPU迅速飚高的现象,直接影响机器的响应速度,在多线程的情况下,简直就是一场灾难,而
采用entrySet来进行遍历,则无此问题
分类: java 标签:

host与domain区别

2012年9月22日 没有评论

举例说明:

domain是指:sinaapp.com

host则是:chinageek.sinaapp.com

分类: 互联网 标签: ,

新浪sae最新java邀请码(已全部送出)

2012年9月21日 11 条评论

9月21日最新java邀请码

77ed09

2483b5

c34818

05966f

还有一个保留,想要的留言留下邮箱

 

分类: 互联网 标签: , ,

canonical 标签介绍

2012年9月20日 没有评论

canonical 是 Google、雅虎、微软等搜索引擎一起推出的一个标签,它的主要作用是用来解决由于网址形式不同内容相同而造成的内容重复问题。这个标签对搜索引擎作用非常大,简单的说它可以让搜索引擎只抓取你想要强调的内容。

举个简单的例子,来看下如下两个网址:

http://www.amazon.cn/%E5%A4%A9%E8%AF%AD-W806%E5%A4%A7%E9%BB%84%E8%9C%82%E6%89%8B%E6%9C%BA/dp/B0083E3FES”

http://www.amazon.cn/dp/B0083E3FES/

这两个网址形式不同,第一个才是我们想显示给搜索引擎和用户的网址,但是打开它们网站的内容却是相同的。一般像这种状况搜索引擎是很难分辨出来哪个才是网站主想要强调的网址,这样会直接造成搜索引擎在你的站里面收录到大量重复的内容,现在我们通过 canonical 标签就可以解决这些棘手的问题了。

像上面的状况,我们只需要在网址的 head 区域添加如下代码:

<link rel=”canonical” href=”http://www.amazon.cn/%E5%A4%A9%E8%AF%AD-W806%E5%A4%A7%E9%BB%84%E8%9C%82%E6%89%8B%E6%9C%BA/dp/B0083E3FES” />

这样的话 Google 等搜索引擎最终都会只收录 canonical 标签指定的这个网址,搜索引擎会将其它页面作为重复内容,这些重复的内容不再参与页面的权重分配(如 Google 的 PR 值)。

分类: 搜索 标签:

ULtraEdit中把某个字符替换为回车的方法

2012年9月20日 1 条评论

例如:

abc/def/ghi/jkl/mno/pq

要把其中的“/”替换为回车,只要用“^P”替换”/”即可.

分类: 小技巧 标签: