Java网络编程1
InetAddress类代表IP地址,有两个子类,Inet4Address,Inet6Address代表IPV4和IPv6,没有构造方法,但是提供个了两个静态方法来获取InetAddress实例:getByName(String host):根据逐句获取对应的InetAddress对象;getByAddress(byte[]addr):根据原始IP地址来获取对应的InetAddress对象.
String getCanonicalHostName():获取此IP地址的全限定域名
String getHostAddress():返回该InetAddress实例对应的IP地址字符串
String getHostName():获取此IP地址的主机名
Boolean isReachable():测试是否可以到达该地址
URLDecoder 和URLEncoder用于普通字符串和application/x-www-form-urlencoded MIME字符串之间的相互转换。
URLDecoder的decode(String s,String enc)静态方法,他可以将看上去乱码的特殊字符转换成普通字符串
URLEncoder的encode(String s,String enc)静态方法,他可以将普通字符串转换成application/x-www-form-urlencoded MIME字符串
URL和URLConnection
URL url=new URL("http://doc.mysql.cn/download/chm/refman-5.1.mysql.tar.gz");
URLConnection conn=url.openConnection();
一个下载资源的线程程序
import java.io.IOException;
import java.io.InputStream;
import java.io.RandomAccessFile;
public class DownThread extends Thread {
// 定义字节数组的长度
private final static int BUFFER_LEN = 32;
// 定义下载的起点
private long start;
// 定义下载的结束点
private long end;
// 定义下载资源对应的输入流
private InputStream is;
// 将下载的字节输出
private RandomAccessFile raf;
public DownThread(long start, long end, InputStream is,
RandomAccessFile raf) {
super();
//输出该线程负责下载的字节位置
System.out.println(start+"---->"+end);
this.start = start;
this.end = end;
this.is = is;
this.raf = raf;
}
publi
相关文档:
Java学习从入门到精通
一、 JDK (Java Development Kit)
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......
java程序内存主要分为了2个部分,包括 stack segment(栈内存)、heap segment(堆内存)。
在分析Java程序内存分配情况时,我们从下面这个经常被使用的例子开始吧。
下面程序将打印什么呢?
Java代码
String s1 = new S ......
以rhino中执行QQ邮箱的safeauth.js为例
js代码地址:http://res.qqmail.com/zh_CN/htmledition20091127/js/safeauth.js
(1)导入相应类
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import com.sun.phobos.script.javascript.RhinoScriptEngineFactory;
(2)解析JS
ScriptEngine ......
为什么使用volatile比同步代价更低?
同步的代价, 主要由其覆盖范围决定, 如果可以降低同步的覆盖范围, 则可以大幅提升程序性能.
而volatile的覆盖范围仅仅变量级别的. 因此它的同步代价很低.
volatile原理是什么?
volatile的语义, 其实是告诉处理器, 不要将我放入工作内存, 请直接在主存操作我.(工作内存详见j ......