0809(027天 IO周考+IO模块大作业停车收费系统)

这篇博客涵盖了Java IO的相关知识点,包括BIO、NIO和AIO的区别,深浅克隆的概念,Java序列化的实现方式,以及文件拷贝和字符统计的编程练习。此外,还介绍了设计一个停车收费系统的作业,涉及汽车信息录入、停车时间计算和费用收取的逻辑。
摘要由CSDN通过智能技术生成

0809(027天 IO周考+IO模块大作业停车收费系统)

每日一狗(旺名)

27

大标题

1. IO周考

1、BIO、NIO和AIO之间的区别

BIO:数据的写入必须阻塞在一个线程内等待其完成(等水烧开)

BIO:一个线程不断的轮询每一个输入输出的状态改变,如果有状态发生了改变,则进行下一步的操作(时不时回来看一看水烧开没)

AIO:无锡一个线程轮询所有的IO操作的状态改变,在相应的状态改变后,系统会通知对应的线程来处理。(等水烧开了,水壶会通知我来处理)

2、深浅克隆的区别

  • 深克隆:会生成一个完全独立于源对象的对象,互不向干涉
  • 浅克隆:只会克隆一层数据,对于引用数据类型只会将其引用进行拷贝,两个对象公用通过一组引用数据类型

3、什么是序列化,如何实现Java序列化

  • 通过某种方法将一个对象的存储区域转换成二进制流方便存储
  • 实现
    • 实现Serializable接口
      • 可以对无法序列化的数据进行标记让其不参与序列化ransient
    • 实现Externalizable
      • 需要实现一个序列化方法,一个反序列化方法以达到自定义序列化方法的目的

4、编码实现一个任意文件夹的拷贝

package com.yang1;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

public class 文件拷贝 {
   
	private static String sourcePath = "D:\\桌面\\20220808";
	private static String targetPath = "D:\\桌面\\copy";

	public static void main(String[] args) {
   
		copyDir(new File(sourcePath));
	}

	public static void copyDir(File file) {
   
		File targetFile = new File(file.getAbsolutePath().replace(sourcePath, targetPath));
		if (file.exists()) {
   
			if (file.isDirectory()) {
   
				if (!targetFile.exists()) {
   
					targetFile.mkdirs();
				}
				File[] fs = file.listFiles();
				if (fs != null && fs.length > 0) {
   
					for (File tmpF : fs) 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值