用cssText来批量修改style

2010-06-21 16:24:17.0

js中给一个html元素设置css属性,可以通过style属性来操作

var head= document.getElementById("head");
head.style.width = "200px";
head.style.height = "70px";
head.style.display = "block";

如果要设置的样式很多,这样写太罗嗦了,而且会造成浏览器渲染的reflow,懒人总是用懒办法,不是说程序员要越懒越好嘛,还有就是 懒人推动了科技的发展

返回两个数组中不同的元素,求数组反集

2010-06-21 15:32:08.0

有两个数组

var a=['1','2','3','4']
var b=['1','2']

如何比较才能返回两个数组中不同的元素,其实就是求两个数组的反集,得到数组c=['3','4']

基本的算法就是比较两个数组的元素,把不同的挑出来放到一个数组里,最后返回该Array



我在上一篇文章中山寨了一个JS版的in_array函数

判断js数组包是否包含某个元素

2010-06-21 15:10:21.0

要判断数组中是否包含某个元素,从原理来来说,就是遍历整个数组,然后判断是否相等,我们来造个轮子,名字就山寨PHP的数组函数in_array()

Array.prototype.in_array = function(e)
{
for(i=0;i<this.length;i++)
{
if(this[i] == e)
return true;
}
return false;
}

或者

Array.prototype.in_array = function(e)
{
for(i=0;i<this.length && this[i]!=e;i++);
return !(i==this.length);
}

打造一个快速添加键值的QuickMap

2010-06-21 11:31:36.0

看到有个朋友在博客上抱怨,他恨透JAVA了,new 一个HashMAp然后一个个去put,太烦了,以前我也有这烦恼,最重要的是我这人太懒,哈哈

来看下,正常情况下我们是实例化一个HashMap然后一个个put,如下:

Map<String, Object> mp1=new HashMap<String, Object>();
mp1.put("a", 1);
mp1.put("b", 2);
mp1.put("c", 3);
mp1.put("d", 4);
mp1.put("e", 5);

java同时创建目录和文件

2010-06-18 13:29:49.0

在java中貌似不能同时创建目录和文件,需要分步创建,即不能在创建目录的时候,同时创建该目录下的文件,如果要创建的话,需要分两步,下边是创建的代码,这一点很烦,用mkdirs也没有用

String path = "D:/test/d.txt";
File file = new File(path);
if (!file.getParentFile().exists()) {
file.getParentFile().mkdirs();
}
file.createNewFile();

java对IO流进行分流

2010-06-18 12:44:50.0

java对IO流进行分流,同时将一个输入流写入多个输出流

package org.richin.io.Stream.util;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
/**
* 对流进行分流,同时将一个输入流写入多个输出流
* @author Administrator
*
*/
public class TeeOutputStream extends OutputStream {
private OutputStream out1;
private OutputStream out2;
public TeeOutputStream(OutputStream stream1, OutputStream stream2)
{
//调用父类的构造方法,传入需要过滤的流
//super(stream1);
out1 = stream1;
out2 = stream2;
}
//重写write方法
public void write(int b) throws IOException
{
out1.write(b);
out2.write(b);
}
//重写write方法
public void write(byte[] data, int offset, int length) throws IOException
{
out1.write(data, offset, length);
out2.write(data, offset, length);
}
//重写flush方法
public void flush() throws IOException
{
out1.flush();
out2.flush();
}
//重写close方法
public void close() throws IOException
{
out1.close();
out2.close();
}
public static void copy(InputStream in, OutputStream out)
throws IOException {
// 缓冲流
BufferedInputStream bin = new BufferedInputStream(in);
BufferedOutputStream bout = new BufferedOutputStream(out);
while (true) {
int datum = bin.read();
if (datum == -1)
break;
bout.write(datum);
}
// 刷新缓冲区
bout.flush();
}
//main方法
public static void main(String[] args) throws IOException {
FileInputStream fin = new FileInputStream("E:\\gzml\\gongzhens\\yaxi\\设计稿\\快递.rar");
FileOutputStream fout1 = new FileOutputStream("D:/快递.rar");
FileOutputStream fout2 = new FileOutputStream("e:/快递.rar");
TeeOutputStream tout = new TeeOutputStream(fout1, fout2);
TeeOutputStream.copy(fin, tout);
fin.close();
tout.close();
}
}

jsp查看服务器tomcat内存使用情况

2010-06-18 12:31:31.0

jsp查看TOMCAT内存使用情况

服务器托管在空间商哪儿,指定了jvm的内存大小,有时候需要查看服务器上的jvm内存使用情况,其实就是查看tomcat的内存使用情况,来优化程序,避免出现OOM

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JVM memory</title>
</head>
<body>
<%
double total = (Runtime.getRuntime().totalMemory()) / (1024.0 * 1024);
double max = (Runtime.getRuntime().maxMemory()) / (1024.0 * 1024);
double free = (Runtime.getRuntime().freeMemory()) / (1024.0 * 1024);
out.println("Java 虚拟机试图使用的最大内存量(当前JVM的最大可用内存)maxMemory(): " + max + "MB<br/>");
out.println("Java 虚拟机中的内存总量(当前JVM占用的内存总数)totalMemory(): " + total + "MB<br/>");
out.println("Java 虚拟机中的空闲内存量(当前JVM空闲内存)freeMemory(): " + free + "MB<br/>");
out.println("因为JVM只有在需要内存时才占用物理内存使用,所以freeMemory()的值一般情况下都很小,<br/>" +
"而JVM实际可用内存并不等于freeMemory(),而应该等于 maxMemory()-totalMemory()+freeMemory()。<br/>");
out.println("JVM实际可用内存: " + (max - total + free) + "MB<br/>");
out.println("jspcn");
%>
</body>
</html>

董璇-足球宝贝图

2010-06-17 13:58:12.0

在董璇的博客上发现的足球宝贝图,对董璇我了解不多,她博客上的其他图片也都很性感,但还是最喜欢这一套足球宝贝的图片,带有少妇韵味,不敢独享,大家一起来鉴赏,ps尤其是第一张拿着足球回首一笑的那张图片。。。

董璇-足球宝贝

Groovy中的import

2010-06-16 21:11:12.0

groovy中的import和Java中的导入差不多,当然作为Java平台上的一门动态语言,语法糖还是要有的

import static java.awt.Color.LIGHT_GRAY
import static Boolean.FALSE as F
import static Calendar.getInstance as now
println LIGHT_GRAY
// => java.awt.Color[r=192,g=192,b=192]
println !F
// => true
println now().time
// => Sun Apr 29 11:12:43 EST 2007

JavaScript切换绑定事件

2010-06-15 23:25:18.0

jQuery事件绑定函数太丰富了,今天由于某需求,需要一种每次点击触发不同的回调函数的效果,看了下jQuery的API,发现 toggle函数正是我需要的。但jQuery的实现太复杂了,闭包套嵌过多,我换另一种思路轻松实现了它。