2012年03月 归档

华夏名网赠送的phpwind商业授权,让人难堪

回忆起来,已经是去年的事了,认识我早的朋友可能看到过去年四月份我发的那篇《在PW官方论坛T楼中奖了,给力的庆祝下》,说来实在遗憾啊,中了1000多的主机,在论坛转让,有人说500考虑下,没想卖掉,想跟一个朋友做一个站,于是有了后面的域名备案什么的事,但是备案操作了70天由于华夏名网客服的某些说法,没能成功,当时就无语了,直接把事情搁置。

后来,再后来,一直闲置着,这么个主机,当时我觉得续费太贵,找了一个认识的华夏名网代理,说是转到他那500多就能续费了,就觉得好好做个站,续费500多也不是问题,但就是备案一直困扰,大家知道么?华夏名网提供全球cdn啊,可惜速度上面还不如我现在用的免费cdn,因为域名没备案,只能使用海外cdn,这样以来跟美国主机没什么两样了,而且速度不稳定,这都是我亲自验证的。还有一点就是,华夏名网虚拟机用的是ng不是apache,操作不习惯中,用了cdn后论坛伪静态显示cdn端口号。 查看更多...

神速的谷歌Adsense初步审核和无语的最终审核

谷歌adsense一直以来颇受各大站站长欢迎,之前也曾投放过谷歌adsense的广告,由于各种原因没能继续下去,现在博客流量渐增,于是决定再次挂上Google的广告了,今天中午手机提交了申请的请求,晚上回来打开邮箱就看到以下邮件。收件时间是下午一点多,真是神速啊!

查看更多...

JavaScript常用方法属性总结

1.form.elements[]属性

功能: 得到表单所有控件元素的列表
例子:将表单中的文本域中的文字设置为空

var Form=window.document.forms[0]; //得到window窗体的第一个表单对象
for(var i=0; i<from .elements.length;i++){
if(Form.elements[i].type =="text"){
Form.elements[i].value="";
}
}

2.getElementById方法

功能:使用getElementById方法根据id得到窗体中所有控件的对象。
文档对象模型(DOM)如下:

查看更多...

Dom4j解析xml常用api总结

一:构建dom4j树(表示为Document 元素)
常用方法:
方式一:直接创建所有元素:dom4j为我们准备了工具类DocumentHelper ,该类的所有的方法都是静态方法,用来创建xml文档的各个组成部分。

1.1.1创建Document 和Element对象:
Document doc=DocumentHelper.createDocument();
Element eltRoot=DocumentHelper.createElement(“student”);
doc.setEltRootElement(eltRoot);

1.1.2或者先准备好根元素,使用有参数的构造方法创建Document对象。 查看更多...

java程序dom解析xml经典入门级文档

用Java解析XML文档,最常用的有两种方法:使用基于事件的XML简单API(Simple API for XML)称为SAX和基于树和节点的文档对象模型(Document Object Module)称为DOM。Sun公司提供了Java API for XML Parsing(JAXP)接口来使用SAX和DOM,通过JAXP,我们可以使用任何与JAXP兼容的XML解析器。
JAXP接口包含了三个包:
(1)org.w3c.dom W3C推荐的用于XML标准规划文档对象模型的接口。
(2)org.xml.sax  用于对XML进行语法分析的事件驱动的XML简单API(SAX)。
(3)javax.xml.parsers解析器工厂工具,程序员获得并配置特殊的特殊语法分析器。
DOM编程不要其它的依赖包,因为JDK里自带的JDK里含有的上面提到的org.w3c.dom、org.xml.sax 和javax.xml.parsers包就可以满意条件了。

我们现在来看看DOM是如何解析XML的吧!同样的,我将从一个简单的不能再简单的例子来说明DOM是如何解析XML文档的,先让我们看看XML是什么内容吧: 查看更多...

WP-PostViews插件显示设定时间内热门文章

不知道出于什么原因,1.30后的WP-PostViews插件取消了原先存在的get_timespan_most_viewed函数,这也是最近在网上得知的,因为最近有心情修改主题、插件,发现小子的博客上面这个插件提供的小工具在边栏的显示内容几个月都不怎么变,原因很简单,设置的是浏览最多的文章,自然多的越来越多了,于是想修改下显示设置,很遗憾后台没有相关设置,虽然有最近的,但是好像还不是我要的结果。

Google一阵子才知道原先这个插件有这个功能的,现在没有了,但是有人在网上共享了之前的函数,这样就简单多了。把以下函数复制到wp-postviews.php文件的任意地方(当然是要合适点的任意地方,不要放其他函数中间就ok了)。 查看更多...

简单三步,学会Java Socket多线程编程

第一步 充分理解Socket

1.什么是socket

所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。

以J2SDK-1.6为例,Socket和ServerSocket类库位于java.net包中。ServerSocket用于服务器端,Socket是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。对于一个网络连接来说,套接字是平等的,并没有差别,不因为在服务器端或在客户端而产生不同级别。不管是Socket还是ServerSocket它们的工作都是通过SocketImpl类及其子类完成的。

重要的Socket API: 查看更多...

Java编程精要,多线程实战体会

在 Java 程序中使用多线程要比在 C 或 C++ 中容易得多,这是因为 Java 编程语言提供了语言级的支持。本文通过简单的编程示例来说明 Java 程序中的多线程是多么直观。读完本文以后,用户应该能够编写简单的多线程程序。

为什么会排队等待?

下面的这个简单的 Java 程序完成四项不相关的任务。这样的程序有单个控制线程,控制在这四个任务之间线性地移动。此外,因为所需的资源 ? 打印机、磁盘、数据库和显示屏 -- 由于硬件和软件的限制都有内在的潜伏时间,所以每项任务都包含明显的等待时间。因此,程序在访问数据库之前必须等待打印机完成打印文件的任务,等等。如果您正在等待程序的完成,则这是对计算资源和您的时间的一种拙劣使用。改进此程序的一种方法是使它成为多线程的。

四项不相关的任务 查看更多...

警惕!Java多线程编程的常见陷阱

1、在构造函数中启动线程

我在很多代码中都看到这样的问题,在构造函数中启动一个线程,类似这样:

public class A{  
   public A(){  
      this.x=1;  
      this.y=2;  
      this.thread=new MyThread();  
      this.thread.start();  
   } 
}

这个会引起什么问题呢?如果有个类B继承了类A,依据java类初始化的顺序,A的构造函数一定会在B的构造函数调用前被调用,那么thread线程也将在B被完全初始化之前启动,当thread运行时使用到了类A中的某些变量,那么就可能使用的不是你预期中的值,因为在B的构造函数中你可能赋给这些变量新的值。也就是说此时将有两个线程在使用这些变量,而这些变量却没有同步。

解决这个问题有两个办法:将A设置为final,不可继承;或者提供单独的start方法 查看更多...

Java多线程学习基础总结

一、线程的基本概念
简单的说:线程就是一个程序里不同的执行路径,在同一个时间点上cpu只会有一个线程在执行,Java里的多线程是通过java.lang.Thread类来实现的,每个线程都拥有自己独立的方法栈空间。

二、java线程的创建和启动
第一种
定义线程类实现Runnable接口:

Thread myThread = new Thread(target) //target为Runnable接口类型

Runnable中只有一个方法:
public void run();用以定义线程运行体
第二种
可以定义一个Thread的子类并重写其run方法:

class MyThread extends Thread{
public void run(){}
}

线程类必须通过执行Thread的start()方法启动一个新的线程,如果调用run()方法是属于方法的调用,不会启动一个新的线程,推荐使用第一种方式创建线程,使用接口较为灵活。 查看更多...