摘要: 上篇介绍了IO基础概念,IO流的基类、文件流等。此篇将介绍一些更强大的流,比如能够高效读写的缓冲流、能够转换编码的转换流、能够持久化存储对象的序列化流等等。 一、缓冲流 1.1 概述 缓冲流,也叫高效流。它的基本原理是在创建流对象时,会创建一个内置的默认8kb大小的缓冲区数组,通过缓冲区读写,减少系 阅读全文
posted @ 2020-08-19 09:52 九点的太阳 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 一、IO流 1.1 概述 生活中,你肯定经历过这样的场景。当你编辑一个文本文件,忘记了ctrl+s ,可能文件就白白编辑了。当你电脑上插入一个U盘,可以把一个视频,拷贝到你的电脑硬盘里。那么数据都是在哪些设备上的呢?键盘、内存、硬盘、外接设备等等。 我们把这种数据的传输,可以看做是一种数据的流动,按 阅读全文
posted @ 2020-08-18 11:01 九点的太阳 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 1.1 概述 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找、删除和遍历等操作。 1.2 构造方法 public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。 // 文件路径名 String 阅读全文
posted @ 2020-08-17 17:16 九点的太阳 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 一、函数式接口 1.1 概述 函数式接口:有且仅有一个抽象方法的接口。 格式: 修饰符 interface 接口名称 { public abstract 返回值类型 方法名称(可选参数信息); //public abstract可以省略 //其他非抽象方法内容 } 1.2 @Functionalln 阅读全文
posted @ 2020-08-17 08:23 九点的太阳 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 一、Lambda表达式 1.1 概述 Lambda表达式是JDK 1.8的重量级新特性,它强调做什么,而不是以什么形式去做,或者说它强调结果,而不是过程。而这种思想我们称之为函数式编程思想。 函数式编程思想与面向对象思想的对比: 面向对象的思想: 做一件事情,找一个能解决这个事情的对象,调用对象的方 阅读全文
posted @ 2020-08-17 01:02 九点的太阳 阅读(1180) 评论(0) 推荐(0) 编辑
摘要: 一、线程池 1.1 概述 线程池:jdk1.5之后,jdk内置了线程池。一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创建线程对象的操作,无需反复创建线程而消耗过多资源。 合理利用线程池能够带来三个好处: 降低资源消耗。减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个 阅读全文
posted @ 2020-08-16 18:44 九点的太阳 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 一、 线程安全 1.1 概述 线程安全:在多线程对同一资源并发访问下可能会造成数据的安全问题。 线程安全问题都是由全局变量及静态变量引起的。若每个线程中对全局变量、静态变量只有读操作,而无写操作,一般来说,这个全局变量是线程安全的;若有多个线程同时执行写操作,一般都需要考虑线程同步,否则的话就可能影 阅读全文
posted @ 2020-08-14 17:59 九点的太阳 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 1.1 进程与线程 进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;系统运行一个程序即是一个进程从创建、运行到消亡的过程。 线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程 阅读全文
posted @ 2020-08-13 22:17 九点的太阳 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 第一章 异常 1.1 概述 异常:指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。 在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。Java处理异常的方式是中断处理。 异常指的并不是语法错误,语法错了,编译不通过,不会产生字 阅读全文
posted @ 2020-08-13 18:11 九点的太阳 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 可变参数 概述 在JDK1.5之后,如果我们定义一个方法需要接受多个参数,并且多个参数类型一致,我们可以对其简化成如下格式: 修饰符 返回值类型 方法名(参数类型... 形参名){ } 其实这个书写完全等价与 修饰符 返回值类型 方法名(参数类型[] 形参名){ } 只是后面这种定义,在调用时必须传 阅读全文
posted @ 2020-08-13 15:08 九点的太阳 阅读(161) 评论(0) 推荐(0) 编辑