|
真爱的事业和真正的爱情一生只有一次,都值得我们温柔地相待,因为那种感觉是永远都无法复制的, 这世界真正属于你的东西其实并不多,你不好好珍惜,它便会离你而去,包括机遇,包括爱情,包括生命。 不要找任何理由, 当幸福在你身边的时候就抓住它,你就一定会很幸福! |
时 间 记 忆 |
« | September 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | | | | |
|
blog名称:玻璃杯中的花生壳 日志总数:162 评论数量:249 留言数量:1 访问次数:828176 建立时间:2004年11月4日 |
 | | |
|
|
面向对象技术很好地解决了软件系统中角色划分的问题。借助于面
向对象的分析、设计和实现技术,开发者可以将问题领域的“名词”转换成软件系统中的对象,从而很自然地完成从问题到软件的转换.但是,问题领域的某些需求
却偏偏不是用这样的“名词”来描述的.我的一个朋友就曾经遇到这样的问题:需要对系统中的某些方法进行日志记录,这种需要记录方法散布在40多个类中。面
对这种需求,应该怎么办呢?最直接的办法就是:创建一个起类(或接口),将日志的功能放在其中,并让所有需要日志功能的类继承这个起类(或接口). 如
果这个需求是后期提出的.需要修改的地方就会分散在40多个文件(如果是C+十,这个数量还可能加倍)中。这样大的修改量,无疑会增加出错的几率,并且加
大系统维护的难度。人们认识到,传统的程序经常表现出一些不能自然地适合单个程序模块或者几个紧密相关的程序模块的行为
例如日志记录、对上下文敏感的错误处理、性能优化以及设计模式等等、我们将这种行为称为“横切关注点(crosscuttingconcer |
|
Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有ERROR、
WARN、INFO、DEBUG,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日
志信息的显示内容。
一、定义配置文件
其实您也可以完全不使用配置文件,而是在代码中配置Log4j环境。但是,使用配置文件将使您的应用程序更加灵活。Log4j支持两种配置文件格式,一种是XML格式的文件,一种是Java特性文件(键=值)。下面我们介绍使用Java特性文件做为配置文件的方法:
1.配置根Logger,其语法为:
log4j.rootLogger = [ level ] , appenderName, appenderName, …
其中,level
是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j |
|
001、Hello,你好Javapublic class HelloWorld { public static void main(String[] args) { System.out.println("Hello Java World!"); } }[J |
|
目前网络上关于对象序列化的文章不少,但是我发现详细叙述用法和原理的文章太少。本人 把自己经过经验总结和实际运用中的体会写成的学习笔记贡献给大家。希望能为整个java社 区的繁荣做一点事情。 序列化的过程就是对象写入字节流和从字节流中读取对象。将对象状态转换成字节流之后, 可以用java.io包中的各种字节流类将其保存到文件中,管道到另一线程中或通过网络连接 将对象数据发送到另一主机。对象序列化功能非常简单、强大,在RMI、Socket、JMS、EJB 都有应用。对象序列化问题在网络编程中并不是最激动人心的课题,但却相当重要,具有 许多实用意义。 一:对象序列化可以实现分布式对象。主要应用例如:RMI要利用对象序列化运行远程主机 上的服务,就像在本地机上运行对象时一样。 二:java对象序列化不仅保留一个对象的数据,而且递归保存对象引用的每个对象的数据。 可以将整个对象层次写入字节流中,可以保存在文件中或在网络连接上传递。利用对象序 列化可以进行对象的"深复制",即复制对象本身及引用的对象本身。 |
|
ava.io.Serializable
即使你没有用过对象序列化(serialization),你可能也知道它。但你是否知道 Java 还支持另外一种形式的对象持久化,外部化(externalization)?
下面是序列化和外部化在代码级的关联方式:
public interface Serializable {}
public interface Externalizable extends Serializable { void readExternal(ObjectInput in); void writeExternal(ObjectOutput out); }
序列化和外部化的主要区别
外部化和序列化是实现同一目标的两种不同方法 |
|
环境变量 java_home D:\j2sdk1.4.2 (就是你的jdk所存放位置) 系统变量 path(这个变量不用自己新建)的值后面添加 %java_home%\bin;(注意还有个分号) |
|
输入输出流 在Java中,我们把能够读取一个字节序列的对象称作一个输入流;而我们把够写一个字节序列称作一个输出流。它们分别由抽象类 InputStream和OutputStream类表示。因为面向字节的流不方便用来处理存储为Unicode(每个字符使用两个字节)的信息。所以Java 引入了用来处理Unicode字符的类层次,这些类派生自抽象类Reader和Writer,它们用于读写双字节的Unicode字符,而不是单字节字符。 Java.io包简介 JDK标准帮助文档是这样解释Java.io包的,通过数据流、序列和文件系统为系统提供输入输出。 InputStream类和OutputStream类 InputStream类是所有输入数据流的父类,它是一个抽象类,定义了所有输入数据流都具有的共通特性。 java.io.InputStream的方法如下: public abstract read()throws IOException 读取一个字节并返回该字节,如果到输入源的末则返回-1。一个具体的输入流类 |
|
Java语
言的输入输出功能是十分强大而灵活的,美中不足的是看上去输入输出的代码并不是很简洁,因为你往往需要包装许多不同的对象。在Java类库中,IO部分的
内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流....本文的目的是为大家做一个
简要的介绍。
流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。这时候你就可以想象数据好像在这其中“流”动一样,如下图:
![]() |
|
由于手头有个项目需要用的Java的输入输出操作,
所以,啃了几天书,对Java的流技术有些了解,不过,还是有很多不是很明白,下面是我看书整理的一些笔记,严格的说应该不是原创,我贴出来只是希望对大
家有一些帮助
1、Java拥有一个完整的流类型,总数超过60,而四个抽象类构成了这些类的基础
InputStream和OutputStream读写以单字节为基础的字节数据流;
Reader和Writer读写以双字节的Unicode字符为基础的字节数据流;
2、二进制数据的读写
DataInputStream和DataOutputStream
可以完成对所有基本Java类型的读写;
FileInputStream和FileOutputStream
对一个磁盘文件涉及的数据流进行输入输出处理,是字节级的读写操作;
3、Java的流类型中按职责分有两类:
(1)从文件或者一些特殊地方读入字节数据(如Fil |
| | | |
|