![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习日志
文章平均质量分 68
Richer
这个作者很懒,什么都没留下…
展开
-
Java中的反射
<br />反射(Reflect)就是把Java类中的各种成分映射成相应的Java类。例如,一个Java类中用一个Class类的对象来表示,一个类中的组成部分:成员变量,方法,构造方法,包等等信息也用一个个的Java类来表示,就像汽车是一个类,汽车中的发动机,变速箱等等也是一个个类。<br />表示Java类的Class类显然要提供一系列的方法,来获取其中的变量,方法,构造方法,修饰符,包等信息,这些信息就是用相应类的实例对象来表示,它们就是Field、Method、Constructor、Package等原创 2011-05-11 17:00:00 · 420 阅读 · 0 评论 -
网络编程之UDP网络程序
需要掌握的知识如下:l DatagramSocket类 l DatagramPacket类l InetAddress类DatagramSocket:查看JDK文档会发现,此类表示用来发送和接收数据报包的套接字(Socket)。常见的构造函数主要有以下3种形式:--DatagramSocket() 构造数据报套接字并将其绑定到本地主机上任何可用的端口。如果UDP程序不用事先接收对方的数据,而是主动给对方发送数据,那么最好选择这个构造函数。--DatagramSocket(int port原创 2011-04-20 22:43:00 · 568 阅读 · 0 评论 -
IO 输入与输出(4) -- 字符编码
几乎所有程序都涉及到字符文本的处理,特别是数字通讯和电子商务的迅猛发展,应用程序之间经常交换文本格式的文档,目前存在有多种形式的字符编码。一个应用程序要理解别的程序所产生的文本文档的内容,首先必须了解这个文档所采用的字符编码。大家经常打开一些文本文件会发现看不懂或者是乱码,这就是因为它们采用了特殊的字符编码,下面我们来了解一下什么是字符编码。首先必须理解一个最基本的问题,计算机里只有数字,计算机软件里的一切都是用数字来表示的,即便是屏幕上显示的一个个字符也不例外。ASCII(American Standar原创 2011-04-16 21:18:00 · 614 阅读 · 0 评论 -
IO 输入与输出(6) -- PrintStream
<br />之前所介绍过的OutputStream对象,都是直接将内存中的数据原封不变地写至目的地(例如一个文件)。比如如果将int类型的1使用之前介绍的OutputStream对象输出值文件,则文件中所存储的是int类型1在内存中的值。<br />例如:<br /> File.write(1);<br />最后在文本文件不会显示1,而可能看到的是一个乱码。用UltraEdit打开会看到是一个16进制的表示方式。<br /> <br />这样问题就来了,很多情况我们是需要把数据写入文件后可以原创 2011-04-18 16:07:00 · 713 阅读 · 0 评论 -
IO 输入与输出(7)-- ObjectInputStream和ObjectOutputStream类
在Java程序执行过程中,很多数据都是以对象的方式存在于内存当中。有时会希望直接将内存中的整个对象存储至文件,而不是只存储对象中的某些特定成员信息。ObjectInputStream和ObjectOutputStream这2个包装类就用于从底层输入流中读取对象类型的数据和将对象类型的数据写入到底层输出流。需要注意的是ObjectInputStream和ObjectOutputStream类所读写的对象必须实现了java.io.Serializable接口。对象中的transien和static类型的成员变量原创 2011-04-18 19:08:00 · 893 阅读 · 1 评论 -
IO 输入与输出(8)-- 字节流与字符流的转换
<br />IO包中的流类可分为字节流与字符流2种,在程序中两者之间要经常需要做到转换,而InputStreamReader和OutputStreamWriter就用于将字节流转换成字符流来读写的两个类,InputStreamReader可以将一个字节流中的字节解码成字符后读取,OutputStreamWriter将字符编码成字节后写入到一个字节流中。<br /> <br />InputStreamReader的两个主要的构造函数:<br /> <br />//创建一个使用默认字符集的 InputStrea原创 2011-04-18 20:45:00 · 689 阅读 · 0 评论 -
IO 输入与输出(9)-- Java程序与其他进程的数据通信
在Java程序中,可以启动其他的应用程序,这种在Java中启动的进程称为子进程,启动子进程的Java程序就称为父进程。在Java程序中,可以使用Process类实例对象来表示子进程,子进程的标准输入和输出不再连接到键盘和显示器,而是以管道流的形式连接到父进程的一个输出流和输入流对象上。调用Process类的getOutputStream和getInputStream方法可以获得连接到子进程的输出流和输入流对象。下面直接看一个例子吧:从TestInOut.java中启动java.exe命令执行另外一个MyTe原创 2011-04-18 22:05:00 · 635 阅读 · 0 评论 -
网络编程之Socket
<br />Socket是网络驱动层提供给应用程序编程的接口和一种机制。可以把Socket看作一个港口码头,应用程序只要把货物放到港口码头上,就算完成了货物的运送,而接收方应用程序只需等待货物到达码头后,将货物取走。<br /> <br />Socket是在应用程序中创建,通过一种绑定机制与驱动程序建立关系,告诉自己对应的IP和Port。<br /> <br />Socket与应用程序之间数据的发送过程如下:<br /> <br /> <br /> <br />Socket与应用程序之间数据的接收过程如下:原创 2011-04-20 21:49:00 · 406 阅读 · 0 评论 -
网络编程之基础知识
IP地址和Port(端口号) --本地回路的IP地址是:127.0.0.1--端口号的范围是0~65535之间,0~1023之间的端口数是用于一些知名网络服务和应用。UDP与TCP --TCP,传输控制协议(Transmission Control Protocol),是面向连接的通信协议。提供2台计算机之间可以以及无差错的数据传输。 --UDP,用户数据报协议(User Datagram Protocol),是无连接通信协议。不保证数据的可靠传输,但能够向若原创 2011-04-20 18:17:00 · 503 阅读 · 0 评论 -
网络编程之TCP网络程序
之前介绍过UDP网络程序,现在我们来看一下TCP网络程序,需要了解以下几点:l TCP网络程序的工作原理l ServerSocket类l Socket类首先来看下工作原理。利用UDP通信的2个网络程序是平等的,没有主从之分,这2个程序完全可以是同一个程序的2个运行实例。而利用TCP通信的2个网络程序,是有主从之分的,一个称为服务器程序,另外一个称之为客户端程序。必须先有服务器端,客户端执行相关操作。它们之间的交互过程如下图:(1) 服务器程序创建一个ServerSocket,然后调用acc原创 2011-04-23 17:50:00 · 890 阅读 · 0 评论 -
Java中的枚举
<br />为什么要有枚举?<br /> <br />现在假设有这样一个问题,要定义星期几或者性别的变量,该怎么定义?假设用1-7分别表示星期一到星期日,但有人可能写成int weekday = 0;<br /> <br />枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则,编译器就会报错。枚举可以让编译器在编译时就可以控制源程序中填写的非法值,普通变量的方式在开发阶段无法实现这一目标。<br /> <br />下面来看一个枚举的定义:<br />Week.java<br /> packag原创 2011-04-27 20:41:00 · 596 阅读 · 0 评论 -
Java不定长度参数
JDK1.5之后增加了不定长度,Richer之前已经在博客写过相关的文章了,这里偷个懒,直接把地址拿过来吧。。Java不定长度参数 版权声明: 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。原创 2011-04-18 22:53:00 · 529 阅读 · 0 评论 -
IO 输入与输出(5)-- 过滤流和包装类
下面是我们需要了解的知识l 包装类的概念与作用l BufferedInputStream与BufferedOutputStream类l DataInputStream与DataOutputStream类首先我们先看一下过滤流(包装类)的概念与作用这里需要澄清一点,这里所说的包装类可不是Java中像Integer,Char等这些包装类,这里所说的包装类和过滤流其实是一码事,过滤流就类似于包装类的作用。过滤流的主要特点是在输入与输出数据的同时能对所传输的数据做指定类型或格式的转换,即可实现对二进制字节数据原创 2011-04-16 22:42:00 · 794 阅读 · 0 评论 -
IO 输入与输出(3) -- 节点流之五ByteArrayInputStream和ByteArrayOutputStream类
内存虚拟文件和内存映象文件其实就是把内存中的一块数据存储缓冲区虚拟成一个文件,原来该写入硬盘上的内容可以被写到内存中,原来该从硬盘中读取的内容也可以从内存中读取。要在程序中定义一个大的程序缓冲区,这个缓冲区通常就是一个字节数组。在Java中定义了两个专门的类,ByteArrayInputStream类和ByteArrayOutputStream类,用于以IO流的方式来完成对字节数组内容的读写,来支持类似内存虚拟文件或者内存映像文件的功能。ByteArrayInputStream类有两个默认的构造函数原创 2011-04-13 21:22:00 · 1600 阅读 · 0 评论 -
Java注解
<br />Annotation(注解)是JDK 5中引入的机制,注解使得Java源代码中不但可以包含功能性的实现代码,还可以添加元数据。注解的功能类似于代码中的注释,所不同的是注解不是提供代码功能的说明,而是实现程序功能的重要组成部分。Java注解已经在很多框架中得到了广泛的使用,用来简化程序中的配置。<br /> <br />注解相当于一种标记,在程序中加了注解就等于为程序打了某种标记,以后,javac编译器,开发工具和其他程序可以用反射来了解你的类及各种元素上有无何种标记,去干相应的事。标记可以加在包原创 2011-05-11 22:50:00 · 614 阅读 · 0 评论 -
交通灯管理系统
Java虚拟机中可以安装多个类加载器,系统默认三个主要类加载器,每个负责加载特定位置的类:BootStrap、ExtClassLoader、AppClassLoader。BootStrap负责:JRE/lib/rt.jar,ExtClassLoader负责:JRE/lib/ext/*.jar,AppClassLoader负责ClassPath指定的所有jar或者目录。类加载器本身也是一个Java类,因为其他Java类的加载器本身也要被类加载器加载,显然必须有一个类加载器不是Java类,这正是BootStra原创 2011-05-12 12:10:00 · 577 阅读 · 0 评论 -
银行业务调度系统
模拟实现银行业务调度系统逻辑,具体需求如下:l 银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。l 有三种对应类型的客户:VIP客户,普通客户,快速客户(办理如交水电费、电话费之类业务的客户)。l 异步随机生成各种类型的客户,生成各类型用户的概率比例为: VIP客户:普通客户:快速客户 = 1 :6 :3。l 客户办理业务所需时间有最大值和最小值,在该范围内随机设定每个VIP客户以及普通客户办理业务所需的时间,快速客户办理业务所需时间为最原创 2011-05-12 12:17:00 · 464 阅读 · 0 评论 -
类加载器
类加载器是 Java 语言的一个创新,也是 Java 语言流行的重要原因之一。它使得 Java 类可以被动态加载到 Java 虚拟机中并执行。类加载器从 JDK 1.0 就出现了,最初是为了满足 Java Applet 的需要而开发出来的。Java Applet 需要从远程下载 Java 类文件到浏览器中并执行。现在类加载器在 Web 容器和 OSGi 中得到了广泛的使用。一般来说,Java 应用的开发人员不需要直接同类加载器进行交互。Java 虚拟机默认的行为就已经足够满足大多数情况的需求了。Java虚拟原创 2011-05-12 12:00:00 · 426 阅读 · 0 评论 -
I/O 输入与输出(1) -- File类
File类是IO包中唯一代表磁盘文件本身信息的类,而不是文件中的内容。 File类定义了一些与平台无关的方法来操纵文件,例如:创建、删除文件或重命名文件。 Java中的目录被当做一种特殊的文件使用,list()方法可以返回目录中的所有目录和文件名。需要注意的是,不同的操作系统对于文件系统路径的设置各有差别。例如在Windows中,一个路径的表示方法可能是:"C://Java//"而在Linux下的路径可能会像是:"/home/richer/java"Windows下以 // 开始表示硬盘根目录,如果原创 2011-04-09 21:01:00 · 735 阅读 · 0 评论 -
IO 输入与输出(3) -- 节点流之一InputStream和OutputStream
节点流需要掌握以下知识:理解流的概念InputStream与OutputStream类FileInputStream与FileOutputStream类Reader与Writer类 PipedInputStream与PipedOutputStream类ByteArrayInputStream与ByteArrayOutputStream类流是字节序列的抽象概念,例如文件、输入输出设备、网络、内存等传输的数据序列都可以理解为流,流提供了一种由统一的方式从各种输入输出设备中读取和写入字原创 2011-04-12 22:16:00 · 1198 阅读 · 0 评论 -
IO 输入与输出(3) -- 节点流之二FileInputStream和FileOutputStream
FileInputStream和FileOutputStream类分别用来创建磁盘文件的输入流和输出流对象,通过它们的构造函数来指定文件路径和文件名。创建FileInputStream实例对象时,指定的文件应当是存在和可读的。创建FileOutputStream实例对象时,如果指定的文件已经存在,这个文件中的原来的数据将被覆盖清除。下面我们来看一下创建FileInputStream对象的2中方式…………原创 2011-04-12 22:40:00 · 1034 阅读 · 0 评论 -
IO 输入与输出(3) -- 节点流之三Reader和Writer类
Java中的字符是采用Unicode编码的,是双字节的。之前介绍的的FileInputStream和FileOutputStream都是用来处理字节的,在处理上面的字符串的时候需要把字符串转换成字节以后再写入到文件,在读取字符串的时候也是先读到的字节数组,然后再将它转换成为字符串的。这就需要编写额外的字节与字符之间转换的代码。Java中专门有一个单独的类用来对IO设备进行字符的输入和输出,例如之前的例子就可以用FileReader和FileWriter。Reader和Writer是所有字符流类的抽象基类,原创 2011-04-13 18:45:00 · 965 阅读 · 0 评论 -
IO 输入与输出(3) -- 节点流之四PipedInputStream和PipedOutputStream
<br />管道流类PipedInputStream类和PipedOutputStream类用于在应用程序中创建管道通信。一个PipedInputStream实例对象必须和PipedOutputStream实例对象进行连接而产生一个通信管道,PipedOutputsStream可以向管道中写入数据,PipedInputStream可以从管道中读取PipedOutputStream写入的数据,这两个类主要用来完成线程之间的通信,一个线程的PipedInputStream对象能够从另外一个线程的PipedOut原创 2011-04-13 20:39:00 · 2009 阅读 · 0 评论 -
I/O 输入与输出(2) -- RandomAccessFile类
RondomAccessFile随机访问类,提供了众多的文件访问方法,并且支持“随机访问”的方式,也就是可以跳转到文件的任意位置开始读写数据。该类的示例对象中有一个指示器,你可以理解为数组的索引,RandomAccessFile的读写操作都是从指示器所指示的当前位置开始读写,每次读写操作之后,文件位置的指示器将指向N个字节数的下一个字节数;新建RandomAccessFile对象的文件位置指针位于文件的开头处。通过该类,你可以实现诸如断点续传、多线程等程序。另外,RandomAccessFile类在随机(相原创 2011-04-11 21:12:00 · 1553 阅读 · 0 评论 -
Java中的Class类
<br />Class 类是在Java语言中定义一个特定类的实现,包含了与类相关的信息。一个类的定义包含成员变量,成员方法,还有这个类实现的接口,以及这个类的父类。Class类的对象用于表示当前运行的 Java 应用程序中的类和接口。比如:每个数组均属于一个 Class 类对象,所有具有相同元素类型和维数的数组共享一个Class 对象。基本的 Java 类型(boolean, byte, char, short, int, long, float 和 double) 和 void 类型也可表示为 Class原创 2011-05-06 16:45:00 · 584 阅读 · 0 评论