- 浏览: 80126 次
- 性别:
- 来自: 广州
最新评论
-
hyl2011:
做网站裁制平台hylxinlang@sina.cn
用httpclient-4.0-alpha2 打造基于http协议的网站分析器 -
rendong:
请教:做网站抓取应用,你这个包能执行页面总的javascrip ...
用httpclient-4.0-alpha2 打造基于http协议的网站分析器 -
记忆无泪:
com.ue.browser.Browser; 这个是你自己写 ...
打造一个全能的解析器好像是比较困难的事情 -
diddyrock:
等我下完看看再评论哈
用httpclient-4.0-alpha2 打造基于http协议的网站分析器 -
bhc1978:
先下来看看
用httpclient-4.0-alpha2 打造基于http协议的网站分析器
文章列表
什么是WebServices?
它是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中实施运行;它是一种新的web应用程序分支,是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。Web Service是一个应用组件,它逻辑性的为其他应用程序提供数据与服务.各应用程序通过网络协议和规定的一些标准数据格式(Http,XML,Soap)来访问Web Service,通过Web Service内部执行得到所需结果.Web Service可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务 ...
今天在看base64编码转换时,既然对负数的二进制表示有些遗忘,在网上找了一下资料,贴出来已备在此遗忘:
假设有一个 int 类型的数,值为5,那么,我们知道它在计算机中表示为:
00000000 00000000 00000000 00000101
5转换成二制是101,不过int类型的数占用4字节(32位),所以前面填了一堆0。
现在想知道,-5在计算机中如何表示?
在计算机中,负数以其正值的补码形式表达。
什么叫补码呢?这得从原码,反码说起。
原码:一个整数,按照绝对值大小转换成的二进制数,称为原码。
比如 00000000 00000000 0000000 ...
java.util.ConcurrentModificationException
原代码如下:
for (PKer pkerOnDesk : desk.getPkers()){
desk.getPkers().remove(pkerOnDesk);
}
原因: jdk5.0以上的for-each也是利用内部的iterator来遍历集合的(跟以前的iterator一样) 获得的Iterator是 ...
两个长度限制问题的分析(来源于项目) 一、问题起因 在某项目释放后Bug统计的附件《释放后问题》里有: 问题 原因 分析 备注 CSV处理时,如果处理的主题数过多,发生URL参数上限的错误; 可变长度的参数通过UR ...
1、按二进制位进行“或”运算。 运算规则:0|0=0; 0|1=1; 1|0=1; 1|1=1; 即 :参加运算的两个对象只要有一个为1,其值为1。 例如:3|5 即 0000 0011 | 0000 0101 = 0000 0111 因此,3|5的值得7。 另,负数按补码形式参加按位或运算。 “或运算”特殊作用: (1)常用来对一个数据的某些位置1。 方法:找到一个数,对应X要置1的位,该数的对应位为1,其余位为零。此数与X相或可使X中的某些位置1。 例:将X=10100000的低4位置1 ,用 X | 0000 1111 = 1010 1 ...
Java把内存分成两种,一种叫做栈内存,一种叫做堆内存
在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变 ...
项目里需要访问其他接口,通过http/https协议。我们一般是用HttpClient类来实现具体的http/https协议接口的调用。
// Init a HttpClient HttpClient client = new HttpClient(); String url=http://www.xxx.com/xxx;
// Init a HttpMethod HttpMethod get = new GetMethod(url); get.setDoAuthentication(true); get.getParams().setParameter(HttpMethodParams ...
类初始化
类"初始化"阶段,它是一个类或接口被首次使用的前阶段中的最后一项工作,本阶段负责为类变量赋予正确的初始值。
Java 编译器把所有的类变量初始化语句和类型的静态初始化器通通收集到 <clinit> 方法内,该方法只能被 Jvm 调用,专门承担初始化工作。
除接口以外,初始化一个类之前必须保证其直接超类已被初始化,并且该初始化过程是由 Jvm 保证线程安全的。另外,并非所有的类都会拥有一个 <clinit>() 方法,在以下条件中该类不会拥有 <clinit>() 方法:
该类既没有声明任何类变量,也没有 ...
在剖析该问题前请看如下代码
例一:
[java] view plaincopy
/**
1、文件是demo.xml,位置在com.xxx.app包下,你可以用Class.getResourceAsStream("com/xxx/app/demo.xml")
所有classpath可访问的路径都可以用这种方式
2、file.getAbsolutePath()是获取文件当前的绝对路径,如果在Linux下,采取file.getAbsolutePath().replaceAll("\\\\", "/")后可构造java.net.URL对象:URL url = new URL("file:" + ...
一、Xfire部署构建
使用Xfire来构建一套java的webservice服务接口是很容易的。现在xfire已经停止开发,被apache合并为CXF项目。我们下载Xfire项目使用jar包,扔进到项目的buildpath中去。核心的jar包括如下:
我们在src目录下新建一个文件夹META-INF,再建它的一个字文件夹xfire,里面建立文件services.xml。之后的结构如下:
我们直接看一下servics.xml:
<?xml version="1.0" encoding="UTF-8" ...
一个可重入的互斥锁 Lock,它具有与使用 synchronized 方法和语句所访问的隐式监视器锁相同的一些基本行为和语义,但功能更强大。
ReentrantLock 将由最近成功获得锁,并且还没有释放该锁的线程所拥有。当锁没有被另 ...
- 2009-09-28 17:00
- 浏览 3432
- 评论(0)
对于一个原子操作来说,是线程安全的,如果在java中存在这样的原子操作,那么到底又哪些?其实JDK里面就自带了原子操作的工具给我们使用了。
有时候原子操作是必须的,在多线程中对一个变量的操作采取原子操作的话,就像数据库中增加一个用户定义的自增的序列号(当然也可以是其它)一样,在同时对一个表执行插入语句很多的时候,它们一样正常的工作,按事先规定的运行。
关于原子操作文档请参考其他知识文档,这里不过多描述。给出一个实用代码作为借鉴:
import java.util.concurrent.atomic.AtomicLong;
public ...
- 2009-09-28 16:50
- 浏览 3641
- 评论(0)
枚举类型是JDK5.0的新特征。Sun引进了一个全新的关键字enum来定义一个枚举类。下面就是一个典型枚举类型的定义:
Java代码
public enum Color{
RED,BLUE,BLACK,YELLOW,GREEN
}
public enum Color{
RED,BLUE,BLACK,YELLOW,GREEN
}
枚举在什么地方适用呢?一条普遍规则是,任何使用常量的地方,例如目前用 switch 代码切换常量的地方。如果只有单独一个值(例如,鞋的最大尺寸,或者笼子中能装猴子的最大数目),则还是把这个任务 ...
- 2009-09-28 16:31
- 浏览 19167
- 评论(0)
1.消息类型的选择
Java的JMS消息类型有文本类型,对象类型,字节类型,流类型,XML类型,在实际项目中,用的最多的是文本类型,对象类型和xml类型的消息.建议最好不用对象类型,因为如果用对象类型的话,调试的时候是很麻烦的,首先你必须要写专门的测试代码用来发送消息,第二,必须要管理对象所属的类的不同版本,第三,不方便查看queue或者topic中的消息内容.而如果使用文本类型或者xml类型的消息,那么可以很容易的通过JMS中间件提供的一些管理工具来发送测试消息,查看消息内容,并且更加容易管理不同版本之间的兼容性.如果一定要用对象类型消息的话,建议使用xstream把对象转化为xml .2. ...
- 2009-09-22 23:31
- 浏览 2409
- 评论(0)