- 博客(13)
- 收藏
- 关注
原创 用字节流将一个Object对象持久化
用字节流将一个Object对象持久化 注: 1.读取的时候不能被new 2.Object必需序列化 3.static的不能被序列化 4.transient也不能被序列化,但它还是存在栈中 ObjectInputStream: 可以为应用程序提供对对象图形的持久存储,用于恢复那些以前序列化的对象。 bjectOutputStream: 对以前使用 Obje
2015-06-17 10:59:24 487
原创 文件的分割与合并SequenceInputStream
文件太大,超过上传规定的大小怎么办? 别急,有办法 首先我们将要上传的文件进行分割,分割成可以上传的大小就可以了, 注意:分割后的文件,如图片等,在分割后是不能直接打开的, 这时候我们需要让分割的文件再次组合起来,就O了。 这样也可以保护文件的安全性,只有通过组合后才可以看到原文件 示例: 一、先是切割文件 import java.io.FileInputStream; i
2015-06-17 10:40:42 528
原创 Tcp从Socket客户端上传文件到ServerSocket服务端
目的: 从客户端上传指定的文件到服务端,服务端返回上传结果 思路: 一、客户端: 1.创建客户端Socket,指定好IP地址和端口号 2.创建要上传的文件流对象 3.创建写入流(网络流),从Socket获取。将指定文件写入到网络流中,以便服务端接收 4.从网络流中接收服务端返回的信息 5.关闭流资源 二
2015-06-16 11:32:42 2865
原创 对TreeMap中的值进行排序
上网查了很多关于对TreeMap集合中的值排序的资料,感觉大多都写的很复杂。 今天我简单的总结下,举例写了一个比较简单的针对TreeMap集合的值排序的案例,希望对大家有所帮助 功能: 接收用户输入的学生信息,格式:"name,语文,数据,英语" 然后对每个学生的总分进行降序排序(姓名和各科分数一致,视为重复学生) 最后将学生的信息持久化(保存到硬盘文件中) impor
2015-06-16 11:19:12 1505
原创 线程间通讯和等待唤醒机制
示例:生产和消费 要求:使用多线程,生产一个就消费一个 代码: public class Thread_Demo4 { public static void main(String[] args) { // 实例化资源 Resouces res = new Resouces(); // 实例化生产和消费者 Producer pro = new Prod
2015-06-05 22:03:00 426
原创 关于线程死锁的产生、原因和原理
下面示例演示了线程的死锁,只有明白了死锁是如何产生的,才能在项目中有效的避免死锁的发生 /* * 死锁: * 如下程序在运行时就会造成死锁的状态 * * static使用的锁为:该类的字节码文件对象 * 使用synchronized同步函数的锁为this * 使用synchronized同步代码块的锁为自定义对象,也可以写为this或该类的字节码文件对象 * * 所以
2015-06-04 22:23:51 2920
原创 线程的两种创建方式:Thread类和Runnable接口,它们都要复写run方法
/*线程: * 1.如何在自定义的代码中,自定义一个线程呢? * * 通过对API的查找,java已提供了对线程这类事物的描述。就是Thread类 * * 创建线程的第一种方式:继承Thread类。 * 步骤: * 1.定义类继承Thread。 * 2.复写Thread中的run方法,让线程运行。 * 目的:将自定义方法存储在run方法中,让线程运行。 * 3.调用线程
2015-06-03 22:17:12 2801 2
原创 PipedInputStream管道输出流和PipedOutputStream管道输入流
import java.io.IOException; import java.io.PipedInputStream; import java.io.PipedOutputStream; /* * 管道流: * PipedInputStream * 管道输入流应该连接到管道输出流; * 管道输入流提供要写入管道输出流的所有数据字节。 * PipedOutputStream * 将管
2015-06-02 23:04:57 593
原创 RandomAccessFile随机访问文件的读取和写入
import java.io.IOException; import java.io.RandomAccessFile; /* * RandomAccessFile * 该类不算是IO体系中的子类,而是直接继承Object类 * * 担是它是IO包中的成员,因为它也具备读和写的功能. * 内部封装了一个数组,而且通过指针对数组的元素进行操作 * 可以通过getFilePointer
2015-06-02 22:57:10 506
原创 ObjectInputStream\ObjectOutputStream用字节流将一个Object对象持久化和读取
import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; /* * 用字节流将一个Object对象持久化 * 注: * 1.读取的时候不能被new * 2.Object必需序列化
2015-06-01 21:42:49 820
转载 日志_log4j 总结
[日志_log4j] 总结 分类: Java基础2015-05-30 15:40 72人阅读 评论(0) 收藏 举报 日志log4j 目录(?)[+] 1. log4j基础 概述 java装载了自己的日志API(JDK1.4起),并且Tomcat6绑定了它的容器。日志API的友好实现,成为JULI。不过log4j由于它的完备和开发友好性
2015-05-30 21:12:54 395
原创 java万年历制作代码
万年历制作,最重要的一点就是如何判断是平年还是润年。 再一个就是显示到星期六之后就要换行。 public static void main(String[] args) { // 万年历制作 Scanner input = new Scanner(System.in); String num = ""; do { System.out.println("********
2015-05-30 20:36:55 3659 1
原创 值类型传递和引用类型传递的区别
引用类型: 引用类型表示你操作的数据是同一个,也就是说当你传一个参数给另一个方法时,你在另一个方法中改变这个变量的值,那么调用这个方法是传入的变量的值也将改变. 值类型: 值类型表示复制一个当前变量传给方法,当你在这个方法中改变这个变量的值时,最初生命的变量的值不会变. 示例: public class Test { public static void opera
2015-05-30 20:21:01 511
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人