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()方法是属于方法的调用,不会启动一个新的线程,推荐使用第一种方式创建线程,使用接口较为灵活。 查看更多...

初识Java多线程设计要点

1.多线程中有主内存和工作内存之分, 在JVM中,有一个主内存,专门负责所有线程共享数据;而每个线程都有他自己私有的工作内存, 主内存和工作内存分贝在JVM的stack区和heap区。

2.线程的状态有'Ready', 'Running', 'Sleeping', 'Blocked', 和 'Waiting'几个状态,
'Ready' 表示线程正在等待CPU分配允许运行的时间。

3.线程运行次序并不是按照我们创建他们时的顺序来运行的,CPU处理线程的顺序是不确定的,如果需要确定,那么必须手工介入,使用setPriority()方法设置优先级。

4.我们无从知道一个线程什么时候运行,两个或多个线程在访问同一个资源时,需要synchronized

5. 每个线程会注册自己,实际某处存在着对它的引用,因此 查看更多...

由淘宝单页推广发现的问题

最近两天,朋友说要学seo,索性聊了不少自己知道的浅显内容,无聊之余,重新试着操作一下大多草根站长都做过的淘宝客推广,之前做api的、单页的都没有坚持下去,当然,也没有什么收入。最近想了想,既然有几个域名闲置,倒不如做一个玩玩,空间是无所谓,无限的,很随意。

说做就做,因为之前用dede什么之类的感觉太臃肿,加上近一年写博客用WP比较熟悉了,所以就采用Wordpress做个单页推广站,这方面真的没什么经验,随便搜了搜,很多这类模板,还无意中看到了友情链接中博客吧修改的单页模板。因为经常互访的缘故吧,感觉有些许亲切感,想都不想就用了,不过为了干净,有点小可耻的把版权什么的全给删了。下面就是最终效果。 查看更多...

ewsidc再次证明,低价(免费)互联网服务不是长久之计

早在去年,就接触了ewsidc的自定价空间,在之后出现很多此类空间,而且在国内草根站长涌现的现在,这样的服务商可以说是很吃香,有很重要的一点就是,其他的主机服务只要你买了,无论是月付、季付还是年付,都会有钱落到服务商手中,而ewsidc的服务模式是按流量收费,只要你需求的空间小,空间就免费,你需求的流量低于每月2G,也是免费。这样,小子当时为了测试花了1元流量基础费测试后发现速度快但不稳定,重要的是测试不久后备案号被取消了。于是,不再用了。当然,流量就一直不会超过2G了。

但是最近,就在上月27号,收到官方邮件,登陆他们网站发现提示异常(如上图),下面是收到的邮件。 查看更多...

好用的PHP远程下载文件源码

最近两天主机有些不稳定,于是有了把现有文件传到备用主机上同步使用的想法,但是由于备用主机数据有将近10个月没有更新了,需要下载上传文件很多,加上WordPress程序、数据库都没有更新,最近又更改了大量程序设置,无奈只有备份数据库并打包站内全部文件,但是网络不给力,下载下来再上传就太麻烦了。

小子是越来越懒了,之前曾经通过cPanel主机的wget远程同步数据,但是这样在我的备用主机上可不适用。于是,就找了下php的远程下载程序,用来干什么大家自己决定吧。

工具很简单,界面如图所示,输入资源地址就行了。

程序如下: 查看更多...