java
文章平均质量分 77
vvggsky
这个作者很懒,什么都没留下…
展开
-
(转)断点续传的原理
ftp断点续传的原理 客户端的实现步骤如下: 一、下载: 1、向服务器发送“REST + 本地文件长度”命令,告诉服务器,客户端要断点下载了。这时服务器还不知道客户端要下载哪个文件; 2、向服务器发送“RETR + 文件名”命令,通知服务器要下载的文件名,这时服务器开始定位文件指针读文件并发送数据。 3、客户端定位本地文件指针(文件末尾); 4、两端的准备工作都做完了以后,客户端创建socket,转载 2008-12-01 11:47:00 · 1263 阅读 · 0 评论 -
用java取得電腦IP﹑電腦名稱以及網卡地址的方法
//程序代碼如下import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.InetAddress;/* * Created on 2006/8/1 * * TODO To change the template for this generated file go to * Window - Pre转载 2007-03-23 15:45:00 · 1376 阅读 · 0 评论 -
JAVA截取屏幕
package com.test.project;import java.awt.Dimension;import java.awt.Rectangle;import java.awt.Robot;import java.awt.Toolkit;import java.awt.image.BufferedImage;import java.io.File;import java.io.I转载 2007-03-23 16:28:00 · 838 阅读 · 0 评论 -
JAVA中正则表达式的应用-java.util.regex篇
转载 2007-03-22 11:18:00 · 703 阅读 · 0 评论 -
Oracle循环插入测试数据
declare maxrecords constant int:=1000; i int :=1; begin for i in 1..maxrecords loop insert into UserInfo(UserID,login,password,firstName,lastName,ISADMINISTRATOR)转载 2007-03-17 22:00:00 · 1359 阅读 · 0 评论 -
Java对象的强、软、弱和虚引用
在JDK1.2以前的版本中,当一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及状态,程序才能使用它。这 就像在日常生活中,从商店购买了某样物品后,如果有用,就一直保留它,否则就把它扔到垃圾箱,由清洁工人收走。一般说来,如果物品已经被扔到垃圾箱,想再 把它捡回来使用就不可能了。但有时候情况并不这么简单,你可能会遇到类似鸡肋一样的物品,食之无味,弃之可惜。这种物品现转载 2007-03-19 02:09:00 · 715 阅读 · 0 评论 -
Java Web Start 入门基础教程
关于Web Start的JNLP Specification可以到sun网站http://java.sun.com/products/javawebstart/download-spec.html下载。 下面是用最简单的HelloWorld方法实现一个Java Web Start的例子,工程webstart目录结构如下: 目录说明如下:images :存放*.jnlp文件中定义的图标文转载 2007-03-13 14:46:00 · 1320 阅读 · 0 评论 -
对代理模式与Java动态代理类的理解
1. 代理模式 代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 代理模式一般涉及到的角色有: 抽象角色:声明真实对象和代原创 2007-01-19 13:26:00 · 809 阅读 · 0 评论 -
String,StringBuffer,StringBuilder(转载)
相信大家对 String 和 StringBuffer 的区别也已经很了解了,但是估计还是会有很多同志对这两个类的工作原理有些不清楚的地方,今天我在这里重新把这个概念给大家复习一下,顺便牵出 J2SE 5.0 里面带来的一个新的字符操作的类—— StringBuilder (先别忙着扔我砖头,我还算清醒,我这里说的不是 C #, Java 也有 StringBuilder 类)。那么这个 S转载 2007-03-06 11:32:00 · 626 阅读 · 0 评论 -
XML傳送與接收
Ajax客戶端與伺服端之間,可以使用XML作為資料傳送、溝通的格式,Ajax客戶端若要發送XML,基本上就是將XML作為字串,塞在POST本體中發送,例如: HandleXMLEx-1.jsvar xmlHttp;function createXMLHttpRequest() { if(window.XMLHttpRequest) { xmlHttp =转载 2007-03-08 13:27:00 · 717 阅读 · 0 评论 -
候捷谈Java反射机制
有时候我们说某个语言具有很强的动态性,有时候我们会区分动态和静态的不同技术与作法。我们朗朗上口动态绑定(dynamic binding)、动态链接(dynamic linking)、动态加载(dynamic loading)等。然而“动态”一词其实没有绝对而普遍适用的严格定义,有时候甚至像对象导向当初被导入编程领域一样,一人一把号,各吹各的调。 一般而言,开发者社群说到动态语言,大致认同的转载 2007-01-19 13:34:00 · 1435 阅读 · 0 评论 -
JDK1.5中的线程池使用简介
一、简介线程池类为 java.util.concurrent.ThreadPoolExecutor,常用构造方法为:ThreadPoolExecutor(int corePoolSize, int maximumPoolSize,long keepAliveTime, TimeUnit unit,BlockingQueue workQueue,RejectedExecutionHandler转载 2007-01-18 11:58:00 · 830 阅读 · 0 评论 -
java clone
怎么进行深度clone? 把上面的例子改成深度clone很简单,需要两个改变:一是让UnCloneA类也实现和CloneB类一样的clone功能(实现Cloneable接口,重载clone()方法)。二是在CloneB的clone()方法中加入一句o.unCA = (UnCloneA)unCA.clone(); 程序如下: package clone.ext; class转载 2007-01-17 15:24:00 · 773 阅读 · 0 评论 -
java读取oracle的存储过程
java读取oracle的存储过程网上的例子不少,都太简单,没有一个返回参考游标的,返回记录集,自己写一个怕日后忘了。oracle的PLSQLCREATE OR REPLACE package chapter_13 as TYPE rs IS REF CURSOR ;procedure founder(oFields out rs);end;CREATE OR REPLACE pa转载 2007-01-19 09:11:00 · 811 阅读 · 0 评论 -
Lucene 的学习
1 Lucene 的认识 提到 Lucene 很多人都知道这个开源的搜索工具,其魅力也是很大的。它让我们对搜索引擎的认识不在那么神秘,也不会在觉得百度和 google 的技术多么的高深没测,其实其原理都是一样的,只是他们要做的更好,走的更远罢了。 Lucene 可以对任何的数据做索引和搜索,说这样的话其实不过分,真的就是这样,只要你能处理好这些数据,交给 Lucene 去转载 2007-01-18 19:28:00 · 757 阅读 · 0 评论 -
SQL语句中JOIN的用法
关于sql语句中的连接(join)关键字,是较为常用而又不太容易理解的关键字,下面这个例子给出了一个简单的解释,相信会对你有所启示。--建表table1,table2:create table table1(id int,name varchar(10))create table table2(id int,score int)insert into table1 select 1,lee转载 2007-03-29 21:11:00 · 1003 阅读 · 0 评论 -
oracle日期处理完全版
TO_DATE格式 Day: dd number 12 dy abbreviated fri day spelled out friday ddspth spelled out, ordinal twelfth Month: mm number 03 mon abbreviated mar month spelled out march Year: yy two digits 98 yyyy fo转载 2007-04-02 13:54:00 · 750 阅读 · 0 评论 -
非阻塞套接字(Nonblocking Sockets) 概述
非阻塞套接字(Nonblocking sockets),自J2SE 1.4版引入,它允许网络通信在应用程序和没有阻塞的进程中使用套接字。在这篇文章中,将详细介绍什么是Nonblocking sockets,怎样工作及其用途。由于JSR 51的面世,从Java 1.4起,程序员便能用一组新的API来进行I/O操作。自2000年一月的Java 1.4 beta版,程序员便可以使用JSR 51了。在Ja转载 2007-04-17 01:07:00 · 1313 阅读 · 0 评论 -
RandomAccessFile类
RandomAccessFile类 RandomAccessFile类提供了众多的文件访问方法。 RandomAccessFile类支持“随机访问"方式。(随机访问:是可以从文件中任意一点开始读取) RandomAccessFile类在随机(相对顺序而言)读写等长记录格式的文件时有很大的优势。(比如:读取数据库中的某一条记录时) RandomAcc转载 2007-04-16 22:46:00 · 1521 阅读 · 1 评论 -
java nio剖析
java nio的全称是java new I/O,即一个全新的I/O控制系统,它的API的包名为java.nio,是在jdk1.4后引入的。nio之所以为为新,在于它并没在原来I/O的基础上进行开发,而是提供了全新的类和接口,除了原来的基本功能之外,它还提供了以下新的特征: ► 多路选择的非封锁式I/O设施 ►支持文件锁和内存映射 ►支持基转载 2007-04-17 01:26:00 · 1166 阅读 · 0 评论 -
socket, nio socket,及xml传递object 方法
1:如何通过socket代理来访问服务端: String proxyHost = "192.168.204.212"; String proxyPort = "1080"; //通知Java要通过代理进行连接。 System.getProperties().put("socksProxySet","tru转载 2007-04-17 00:24:00 · 1620 阅读 · 1 评论 -
100行Java代码构建一个线程池
在现代的操作系统中,有一个很重要的概念――线程,几乎所有目前流行的操作系统都支持线程,线程来源于操作系统中进程的概念,进程有自己的虚拟地址空间以及正文段、数据段及堆栈,而且各自占有不同的系统资源(例如文件、环境变量等等)。 程派生出了两个线程,那这两个线程共享此进程的全局变量和代码段,但每个线程各拥有各自的堆转载 2007-04-17 01:54:00 · 1136 阅读 · 1 评论 -
Java 位运算符
Java 定义的位运算(bitwise operators )直接对整数类型的位进行操作,这些整数类型包括long,int,short,char,and byte 。表4-2 列出了位运算: 表4.2 位运算符及其结果 运算符 结果 ~ 按位非(NOT)(一元运算) & 按位与(AND) | 按位或(OR) ^ 按位异或(XOR) >> 右移 >>> 右移,左边空出的位以0填充 运转载 2007-04-16 00:47:00 · 12574 阅读 · 2 评论 -
深入探讨Java的类加载机制
Java 语言是一种具有动态性的解释型编程语言,当指定程序运行的时候, Java 虚拟机就将编译生成的 . class 文件按照需求和一定的规则加载进内存,并组织成为一个完整的 Java 应用程序。 Java 语言把每个单独的类 Class 和接口 Implements 编译成单独的一个 . class 文件,这些文件对于 Java 运行环境来说就是一个个可以动态加载的单元。正是因为 Java转载 2007-04-11 15:11:00 · 1166 阅读 · 0 评论 -
关于Java文件路径问题
1.如何获得当前文件路径常用:字符串类型:System.getProperty("user.dir");综合:package com.zcjl.test.base;import java.io.File;public class Test { public static void main(String[] args) throws Exception {转载 2007-04-10 17:55:00 · 799 阅读 · 0 评论 -
JDBC事务优化
作者:Jack Shirazi 开发通过ACID测试的应用程序 事务使得开发人员的工作变得简单多了。通过在JDBC API和诸如Oracle9i的关系数据库中使用事务功能,在更新多用户应用程序时,你可以把数据遭破坏的可能性降到最低。然而,事务需要处理开销,与免费事务应用程序(更容易被破坏)相比较,它会降低系统的性能。那么,当使用事务时,什么才是保持性能的最好方法? 最佳的性能调优建议是转载 2007-04-11 14:16:00 · 1089 阅读 · 0 评论 -
Java 编程之实现文件或目录的压缩.
package cn.itcast;import java.util.zip.*;import java.io.*;public class CreateZipFile { private static void DirectoryZip(ZipOutputStream out, File f, String base) throws Exception { if (f.isDire转载 2007-04-09 00:11:00 · 927 阅读 · 0 评论 -
oracle sql语句性能优化
1.选用适合的ORACLE优化器ORACLE的优化器共有3种 A、RULE (基于规则) b、COST (基于成本) c、CHOOSE (选择性) 设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS 。 你当然也在SQL句级或是会话(session)级对其进行覆盖。转载 2007-04-06 22:46:00 · 2058 阅读 · 1 评论 -
Java 编程之实现文件或目录的解压.
package cn.itcast;import java.io.*;import java.util.zip.*;import java.util.*;public class OpenZipFile{ static String copyDir=null; public static void main(String args[]) throws Exception { lo转载 2007-04-09 00:14:00 · 749 阅读 · 0 评论 -
Session持久化
Session持久化可以实现当tomcat重新启动后,当前IE使用的session仍然有效而不用重新登录,有两步需要做,session持久化很有用,尤其在eclipse中重新增加类后,tomcat重新加载后,IE页面不用再登录,之前的session依旧保持,调试的时候很有用1.配置conf/server.xml在server.xml的根路径或虚拟目录中增加一段,如虚拟目录调度所中:这样之后,普通的原创 2007-06-30 12:04:00 · 1474 阅读 · 0 评论 -
java(j2se)学习笔记----如何实现四舍五入?
问题描述:在java语言中,如何实现除法的四舍五入?解决方法: 使用java.math.BigDecimal类来实现这种转换 实现四舍五入的代码: /** * 提供(相对)精确的除法运算。当发生除不尽的情况时,由scale参数指定精度,以后的数字四舍五入。 * @param v1 被除数 * @param v2 除数 * @param scale 表示表示需要精确到小数点以后原创 2007-06-29 23:42:00 · 1880 阅读 · 0 评论 -
Java线程join()方法的用处
run() 和start() 是大家都很熟悉的两个方法。把希望并行处理的代码都放在run() 中;stat() 用于自动调用run(),这是JAVA的内在机制规定的。并且run() 的访问控制符必须是public,返回值必须是void(这种说法不准确,run() 没有返回值),run()不带参数。闲话少说,我们要讲的是join(),我们首先来看个例子:转载 2007-01-17 12:59:00 · 843 阅读 · 0 评论 -
通过cglib实现AOP 拦截器
package com.apsoft.test.cglib;import java.lang.reflect.Method;import net.sf.cglib.proxy.Callback;import net.sf.cglib.proxy.CallbackFilter;import net.sf.cglib.proxy.Enhancer;import net.sf.cglib.proxy.M转载 2007-03-05 14:39:00 · 1260 阅读 · 0 评论 -
Java程序性能优化
一、避免在循环条件中使用复杂表达式 在不做编译优化的情况下,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快。例子:import java.util.Vector;class CEL { void method (Vector vector) { for (int i = 0; i ; // ...转载 2006-12-20 10:25:00 · 626 阅读 · 0 评论 -
DWR中各种java方法的调用
DWR是一个框架,简单的说就是能够在javascript直接调用java方法,而不必去写一大堆的javascript代码。它的实现是基于ajax的,可以实现无刷新效果。 网上有不少DWR的例子,但大都只是某种方法的调用,本文只在使用层面上介绍DWR,并不涉更多的技术与设计,其目的是让初学者能够很快的学会各种java方法在javascript中是如何调用的。 本文以DWR 1.1转载 2006-12-20 18:57:00 · 971 阅读 · 0 评论 -
调用java的私有方法
package base; import java.lang.reflect.Method;public class PrivateTestCall { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub try{转载 2006-12-19 14:02:00 · 1091 阅读 · 0 评论 -
用几行代码实现排序
摘要:经常看见有人还在不厌其烦的用冒泡(最常见!)或是交换做排序,实际上用几行代码就可以既快又好地实现排序,不论是简单类型还是类,数组还是Java聚集(Collection)。 简单类型的排序简单类型不外是byte, char, short, int, long, float, double等数据类型, 这些类型不能放在聚集中,只能使用数组。java.util.Arrays方法提供了对转载 2006-12-14 11:20:00 · 727 阅读 · 0 评论 -
多线程编程 -wait(),notify()/notityAll()方法
[wait(),notify()/notityAll()方法] 关于这两个方法,有很多的内容需要说明.在下面的说明中可能会有很多地方不能一下子明白,但在看完本节后,即使不能完全明白,你也一定要回过头来记住下面的两句话:[wait(),notify()/notityAll()方法是普通对象的方法(Object超类中实现),而不是线程对象的方法][wait(),notify()/notityAl转载 2006-12-15 11:56:00 · 1047 阅读 · 0 评论 -
Class Loading ---(类装载机制,开发者不得不知道的故事)
也许你认为Class Load是一个高级话题,不管怎样,作为开发者你还是要了解它。 本文基于最新得JDK5,然而将诉的内容却包含了最基本的原理,希望你能更加深入了解自己所使用得语言。 理解CLassLoader 如果你自己定义了一个 org.test.Object 。 你在程序中这样写: import ort.test.Object Object o转载 2006-12-14 17:52:00 · 782 阅读 · 0 评论 -
对synchronized(this)的一些理解
一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。二、然而,当一个线程访问object的一个synchronized(this)同步代码块时,另一个线程仍然可以访问该object中的非synchronized(this)同步代码块。 三、尤其转载 2006-12-17 20:16:00 · 1103 阅读 · 0 评论