- 博客(29)
- 收藏
- 关注
原创 JAVA 网络编程系列----网络编程的基础知识
·网络协议与TCP/IP·IP地址与port --本地回路地址:127.0.0.1是一种特殊IP地址.网络地址127.0.0.1被称为本地回路地址,主要作用有两个:一是测试本机的网络配置,能PING通127.0.0.1说明本机的网卡和IP协议安装都没有问题;另一个作用是某些SERVER/CLIENT的应用程序在运行时需调用服务器上的资源,一般要指定SERVER的IP地址,但当该程序要在同一台机器上运行而没有别的SERVER时就可以把SERVER的资源装在本机,SERVER的IP地址设为127.0.0.
2011-04-19 16:14:00
1479
原创 Java IO 系列----流和Decorator设计模式
·在程序中用一个对象(the Decorators)包装另外的一个对象,这是一种被称为Decorator的设计模式。·如果要设计自己的IO包装类,这个类需要继承以FilterXXX命名的类,例如,设计一对输入输出包装类:RecordInputStream和RecordOutputStream,来完成从数据库文件中读取记录和往数据库文件中写入记录。·编程实例:Exception类从Throwable类继承的三个printStackTrace方法的定义如下: --printStackTrace()
2011-04-14 17:56:00
689
转载 深入浅出之正则表达式(二)
<br />深入浅出之正则表达式(二)<br />前言:<br /> 本文是前一片文章《深入浅出之正则表达式(一)》的续篇,在本文中讲述了正则表达式中的组与向后引用,先前向后查看,条件测试,单词边界,选择符等表达式及例子,并分析了正则引擎在执行匹配时的内部机理。 <br /> 本文是Jan Goyvaerts为RegexBuddy写的教程的译文,版权归原作者所有,欢迎转载。但是为了尊重原作者和译者的劳动,请注明出处!谢谢!<br /> <br /><br /> 9
2011-04-13 13:13:00
519
转载 深入浅出之正则表达式(一)
<br />深入浅出之正则表达式(一)<br /><br /><br />前言:<br /> 半年前我对正则表达式产生了兴趣,在网上查找过不少资料,看过不少的教程,最后在使用一个正则表达式工具RegexBuddy时发现他的教程写的非常好,可以说是我目前见过最好的正则表达式教程。于是一直想把他翻译过来。这个愿望直到这个五一长假才得以实现,结果就有了这篇文章。关于本文的名字,使用“深入浅出”似乎已经太俗。但是通读原文以后,觉得只有用“深入浅出”才能准确的表达出该教程给我的
2011-04-13 13:11:00
561
转载 Java IO 系列----Java程序与其他进程的数据通信
·子进程:在java程序中启动的其他应用程序被称为子进程。启动子进程的程序被称为父进程。·在java程序中可以用Process类的实例对象来表示子进程,子进程的标准输入与输出不再连接到键盘和显示器,而是以管道流的形式连接到父进程的一个输出流和输入流对象上。·调用Process类的getInputStream()和getOutputStream()方法父进程可以获得连接到子进程的输出流和输入流对象。子进程通过标准输入读取到的数据就是父进程通过输出流对象写入到进程管道中的数据,子进程写入到标准输出的数据通过进程
2011-04-13 12:55:00
774
原创 JAVA IO系列----ObjectInputStream和ObjectOutputStream类
<br />·ObjectInputStream和ObjectOutputStream这两个包装类,用于从底层输入流中读取对象类型的数据和对象类型的数据写入到底层输出流。将对象中所有成员变量的取值保存起来就等于保存了对象,将对象中所有成员变量的取值还原就相等于读取了对象。<br />·ObjectInputStream和ObjectOutputStream类所读写的对象必须实现了Serializable接口。对象中的transient(一种标记,表示变量是临时的)和static类型的成员变量不会被读取和写入
2011-04-13 11:47:00
5993
转载 转帖:ava语言基础:多线程
<br />1. 有两种方法可以创建并运行一个线程:继承Thread类并覆盖Run方法,Run中的代码就在另一个线程执行。view plaincopy to clipboardprint?class MyThread extends Thread { MyThread() { // 调用下面代码,线程开始运行 start(); } @Override public void run() { // 这里的代码
2011-04-12 11:15:00
863
原创 JAVA IO系列---DataInputStream和DataOutputstream类
·DataOutputStream类提供了三个写入字符串的方法: --writeBytes(String s) --writeChars(String s) --writeUTF(String str)·为什么DataInputStream类有一个readUTF方法,而没有“readBytes”和"readChars"方法呢? A:要在一个连续的字节流中读取字符串,如果没有一个特殊的标记作为字符串的结尾,而且事先也不知道这个字符串的长度,就无法知道该读 取到什么样的位置才是这个
2011-04-11 22:55:00
2106
原创 JAVA IO系列---过滤流与包装类
·包装类的概念与作用·DataOutputStream类提供了往各种输出流对象中写入各种类型的数据的方法。
2011-04-02 17:56:00
1658
原创 JAVA IO系列---字符编码
·字符编码:计算机里只有数字,计算机软件里的一切都是用数字来表示的,屏幕上显示的一个个字符也不例外。·ASCII码:字符a对应数字97,字符b对应数字98等,这种字符与数字对应的编码规则被称为ASCII码。ASCII的最高bit位都是0,也就是说这些数 字都在0到127之间。·国标码:中国大陆将每一个中文字符都用两个字节的数字来表示,中文字符的每个字节的最高bit位都是1,中国大陆为每个中文字符指定的编码 规则称为GB2312(国标码)。·国标K码:在GB2312的基础上,对更多的中文字符(包括繁体)
2011-03-31 23:56:00
818
原创 JAVA IO系列----ByteArrayInputStream和ByteArrayOutputStream类
·ByteArrayInputStream和ByteArrayOutputStream类:用于以IO流的方式来完成对字节数组内容的读写,来支持类似内存虚拟文件或者内存映像文件的功能。当程序需要产生临时文件时,使用ByteArrayInputStream和ByteArrayOutputStream类程序可以直接访问内存,而不需要访问硬盘,运行效率会极大的提高。 内存虚拟文件(内存映像文件)其实是把内存中的一块数据存储缓冲区虚拟成一个文件,原来应该在硬盘读写的内容可以在内存中进行读写。·构造函数:ByteA
2011-03-31 13:16:00
1775
原创 JAVA IO系列----PipedInputStream与PipedOutputStream类,PipedWriter和PipedReader类
·PipedInputStream与PipedOutputStream类用于在应用程序中的创建管道通信。管道通信即发送进程以字符流形式将大量数据送入管道,接收进程可从管道接收数据,二者利用管道进行通信。·使用PipedInputStream与PipedOutputStream类编写两个线程间进行通信的程序。
2011-03-30 21:47:00
1993
原创 JAVA IO系列----FileInputStream和FileOutputStream类,Reader和Writer类
·FileInputStream和FileOutputStream类分别用来创建磁盘文件的输入流和输出流对象,通过它们的构造函数来指定文件路径和文件名。
2011-03-29 23:15:00
1614
原创 JAVA IO系列----节点流
·理解流的概念 流是字节序列的抽象概念,用于数据传输的字节序列都可以理解为流,流提供了一种用同一的方式从各种输入输出设备中读取和向其中写入字节数据的方法。·文件流 流和文件的差异:文件是数据的静态存储形式,而流是指数据传输时候的形态。文件是一些具有永久存储及特定顺序的字节组成的一个有序的具有名称的数据的集合,流提供了一种向IO设备写入字节和从IO设备读取字节的方式,文件只是流可操作的IO设备之一。除了文件流还存在内存流,网络流等等。·数据流 数据流是一串连续传输的数据的集合。用于写入
2011-03-29 16:14:00
1230
原创 JAVA IO系列----RandomAccessFile类
·RandomAccessFile类是JAVA中功能众多的文件访问类,提供了众多的文件访问方法。·RandomAccessFile类支持“随机访问”方式,就是可以跳转到文件的任意位置开始读写数据。 RandomAccessFile实例对象中有个指示器, 它可以跳转到文件的任意位置,RandomAccessFile对象是从指示器的当前位置开始读写,当读写N个字节以后,文件指示器将指向N个字节后 的下一字节处。·RandomAccessFile类在随机(相对顺序而言)读写等长纪录格式的文件时有很大的优势
2011-03-28 11:12:00
811
转载 Java内存管理的几个小技巧
1、别用new Boolean()。 在很多场景中Boolean类型是必须的,比如JDBC中boolean类型的set与get都是通过Boolean封装传递的,大部分ORM也是用Boolean来封装boolean类型的,比如: 以下是引用片段: ps.setBoolean(“isClosed”,new Boolean(true)); ps.setBoolean(“isClosed”,new Boolean(isClosed)); ps.setBoolean(“isClo
2011-03-25 13:23:00
427
原创 JAVA IO系列----File类
·File类是IO包中唯一代表磁盘文件本身信息(文件的属性)的类,而不是文件中的内容。·File类定义了一些与平台无关的方法来操纵文件,例如,创建、删除和重命名文件。·JAVA中的目录被当做一种特殊的文件使用,list方法可以返回目录中的所有子目录和文件名。·UNIX下的路径分隔符为"/",在DOS下的路径分隔符为"/",JAVA可以正确的处理UNIX和DOS的路径分隔符。·编程举例:判断某个文件是否存在,存在则删除,不存在则创建。
2011-03-25 13:01:00
606
转载 JAVA API系列----Math和Random类
·Math类包含了所有用于几何和三角运算的方法。·Random类是一个伪随机数产生器,用一个初值创建了Random对象就可以得到一系列的随机数。每次用相同的初值创建Random对 象,每次得到的随机数序列也是相同的。Random类的构造函数Random()以当前时间作为初值,来产生不同的随机数。思考与实践:
2011-03-25 11:37:00
3577
转载 注意:windos cmd下编译java程序与eclipse下编译的区别
下面以一个例子说明下,程序代码见如下图片: 以上这个程序代码是在eclipse IDE环境下编辑生成的,我们在windos CMD下直接进入文件所在目录编译如下: 呵呵,出错了是吧!再次,我们将第一句注释掉在编译,如下图所示:呵呵,很好,没有问题!另外,如果用javac编译某个xxxx.java文件后,再java xxxx.class也会报错(xxxx.class文件由上一步命令——javac xxxx.java生成),好像网上很多人都出现这种情况!如下图所示:
2011-03-25 10:12:00
952
原创 JAVA API系列----日期和时间相关的类
·常用日期、时间相关类:Date、DateFormat和Calendar·Date()构造方法以当前的时间来初始化Date实例对象,但是Date类没有考虑到国际化的问题,于是出现了DateFormat类和Calendar类。·Calendar类:用于完成日期字段(年,月,日,小时,分,秒等)之间的相互操作。 --Calendar.add方法在某一日期的基础上增加若干时间(年,日,小时,或秒等)得到一个新的日期。 --Calendar.get方法用于获得日期对象中的字段值(如年月日,时分秒等)。
2011-03-24 20:54:00
4147
原创 JAVA API系列----System与Runtime类
<br />·Java不支持全局函数和全局变量,Java将一些与系统相关的重要的函数和变量统一放在System类中。<br />·System类中所有的成员都是静态的(static),使用时可以直接用类名System做前缀,如System.out.print();<br /> --exit方法:exit方法可以结束java虚拟机的运行。若因为程序发生异常而想结束程序的运行(如要打开一个文件而文件不存在,则后续 工作无法进行),则在exit*(int status)中传递一个非零 的参数;若在正常操作下
2011-03-23 12:23:00
3877
原创 JAVA API系列----Hashtable类
·Hashtable是一种高级数据结构,用于快速、成对的检索数据。Hashtable不仅可以像Vector一样动态存储一系列的对象,而且对存储的每一个对象(称为值)都要安排另一个对象(称为关键字、键)与之相关联。·向Hashtable中存储数据:Hashtable的put(K key, V value) 方法接收关键字对象和对应值对象两个参数,两个参数均不能为 null。若put方法传入的键在Hashtable中已经存在,则不会加入新的记录,而是将原有的记录的值覆盖,即Hashtable中不能有重复的关
2011-03-21 09:17:00
1717
原创 JAVA API系列----集合类
·集合类用于存储一组对象,其中每个对象称为元素。如Vector、Enumeration、ArrayList、Collection、Set、List等集合类和接口。·Vector类和Enumeration接口 Vector是JAVA提供的一种高级数据结构,可用于保存一系列的对象,由于JAVA不支持动态数组,Vector类提供了一种与动态数组相似的功 能:如果将若干对象保存在一种数据结构中,但不能预先确定要保存对象的数目时,可选择Vector类。·编程举例:将键盘上输入的一个数字序列中的每位数
2011-03-20 19:23:00
1044
原创 在eclipse中为main方法的args[]传递参数
1.Goto"Run->Run configurations->"2.Select a application name on the left side and select "(x)=Arguments" on the right side3.Input parameters in "Program arguments",select "Apply->Run"
2011-03-19 00:00:00
761
原创 JAVA API系列----基本数据类型的对象包装类
·使用基本数据类型如int,char可以改善系统的性能,但是基本数据类型不具有对象的特性,不能满足某些特殊的需求,如需要方法需要传递的参数是Object类型,必须将基本类型转换为包装类如Integer,Character。·将String对象转化为int类型方法: 1.通过将String类转化为Integer包装类,再调用包装类的intValue()方法将其转化为int型, 如new Integer("50").intValue(); 2.调用静态方法Integer.par
2011-03-18 18:09:00
794
原创 JAVA API系列----String类与StringBuffer类
<br />·String类与StringBuffer类位于java.lang包中,可以在程序中直接使用,不需要import。<br />·String类中的内容一旦被初始化就不能再改变。<br />·String类可用于字符串比较、查找及提取字符串中的字串或字符,实现字符串与其他类型间的相互转换等操作。<br /> <br />·StringBuffer类用于封装内容可以改变的字符串,可以将其他各种类型的数据增加到字符串中,也可以改变字符串中字符顺序。<br />·通过StringBuffer生成了最终
2011-03-18 11:54:00
2037
转载 修改Eclipse的编码方式
如果要使插件开发应用能有更好的国际化支持,能够最大程度的支持中文输出,则最好使 Java文件使用UTF-8编码。然而,Eclipse工作空间(workspace)的缺省字符编码是操作系统缺省的编码,简体中文操作系统 (Windows XP、Windows 2000简体中文)的缺省编码是GB18030,在此工作空间中建立的工程编码是GB18030,工程中建立的java文件也是GB18030。如果要使新建立工程、java文件直接使UTF-8则需要做以下工作: 1、windows->Preferences...打
2011-03-18 11:52:00
474
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人