04 2021 档案
摘要:四大函数式接口 函数式接口 简化编程模型,在新版本的框架底层大量应用 foreach(消费者类的函数式接口) 四大函数式接口 消费型接口 Consumer void accept(T t) 供给型接口 Supplier T get() 函数型接口 Function<T,R> R apply(T t)
阅读全文
摘要:线程池(重点) 线程池:三大方法、7大参数、4种拒绝策略 池化技术 程序的运行,本质:占用系统的资源!优化资源的使用! >> 池化技术 线程池、连接池、内存池、对象池 创建、销毁,十分浪费资源 池化技术:事先准备好一些资源,有人要用,就来我这里拿,用完之后还给我 线程池的好处: 降低资源的消耗 提高
阅读全文
摘要:JUC并发编程2 8、常用的辅助类 8.1、CountDownLatch 允许一个或多个线程等待直到其他线程中执行的一组操作完成同步辅助 计数器 public class CountDownLatchDemo { public static void main(String[] args) thro
阅读全文
摘要:JUC java.util.concurrent 工具包 业务:普通的线程代码 Thread Runnable:没有返回值,效率相比 Callable 相对较低 1、进程和线程 进程:一个程序,QQ.exe、Music.exe 一个进程往往可以包含多个线程,至少包含一个 java 默认 有两个线程:
阅读全文
摘要:Stream API Java8中有两大最为重要的改变。第一个是Lambda表达:另外一个则是Stream API。 Stream APl ( java.util.stream)把真正的函数式编程风格引入到Java中。这是目前为止对Java类库最好的补充,因为Stream API可以极大提供
阅读全文
摘要:动态代理 反射的应用:动态代理 代理设计模式 的原理: 使用一个代理将对象包装起来,然后用该代理对象取代原始对象。任何对原始对象的调用都要通过代理。代理对象决定是否以及何时将方法调用转到原始对象。 动态代理使用的场合: > 调式 > > 远程方法调用 动态代理相比于静态代理的有点: 抽象角色中(接口
阅读全文
摘要:反射 Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。 加载完类之后,在堆内存的方法区中就产生了一个class类型的对象(一个类只有一个Class对象),这个对象就包含了完整的类
阅读全文
摘要:注解 java增加了对元数据(MetaData)的支持,也就是Annotation(注解) Annotation其实就是代码里的特殊标记,这些标记可以在编译,类加载,运行时被读取,并执行相应的处理。通过使用Annotation,程序员可以在不改变原有逻辑的情况下,在源文件中嵌入一些补充信息。代码分析
阅读全文
摘要:网络编程 直接或间接地通过网络协议与其他计算机实现数据交换,进行通讯 网络编程中有两个主要地问题: 如何准确地定位网络上一台或多台主机:定位主机上地特定地应用 找到主机后如何可靠高效地进行数据传输 网络编程中地两个要素: 对应问题1: IP 和 端口号 IP:唯一的标识Internet 上地计算机(
阅读全文
摘要:随机存取文件流 RandomAccessFile的使用 直接继承于java.lang.Object类,实现了DataInput 和 DataOutput接口 既可以做一个输入流,又可以做一个输出流 如果RandomAccessFile作为输出流时,写到的文件如果不存在,则执行过程中,自动创建,如果写
阅读全文
摘要:对象流 ObjectInputStream ObjectOutputStream 用于存储和读取基本数据类型数据或对象的处理流。它的强大之处就是可 以把Java中的对象写入到数据源中,也能把对象从数据源中还原回来。 序列化:用ObjectOutputStream类保存基本类型数据或对象的机制 反序列
阅读全文
摘要:转换流 处理流之二:转换流的使用 转换流:属于字符流 InputStreamReader:将一个字节的输入流转换为字符的输入流 OutputStreamWriter:将一个字符的输出流转换为字节的输出流 作用:提供字节流和字符流之间的转换 编码: 字符数组,字符 > 字节,字节数组 解码:字节,字节
阅读全文
摘要:IO流 原理: I/O是Input/Output的缩写,I/O技术是非常实用的技术,用于处理设备之间的数据传输。如读/写文件,网络通讯等。 Java程序中,对于数据的输入/输出操作以“流(stream)”的方式进行。 java.io包下提供了各种“流”类和接口,用以获取不同种类的数据,并通过
阅读全文
摘要:File类的使用 File类的一个对象,代表一个文件或一个文件目录(俗称:文件夹). File类是声明在java.io 包下 创建File类的实例 相对路径:相较于某个路径下,指明的路径 绝对路径:包含盘符在内的文件或文件目录的路径 路径分隔符 windows: \\ unix : / 常用构造器
阅读全文
摘要:泛型 泛型:标签 集合容器类在设计阶段/声明阶段不能确定这个容器到底实际存的是什么类型的对象,所以在JDK1.5之前只能把元素类型设计为Object,JDK1.5之后使用泛型来解决。因为这个时候除了元素的类型不确定,其他的部分是确定的,例如关于这个元素如何保存,如何管理等是确定的,因此此时把元素的类
阅读全文
摘要:单例设计模式 设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。设计模免去我们自己再思考和摸索。式就像是经典的棋谱,不同的棋局,我们用不同的棋谱,"套路“ 所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只
阅读全文
摘要:包装类 java提供了8中基本数据类型的包装类,是的基本数据类的变量具有类的特征 基本数据类型、包装类、String三者之间的转换 基本数据类型 包装类 byte Byte short Short int Interger long Long float Float double Double bo
阅读全文
摘要:Map接口 ≥Map 接口:双列数据,保存具有映射关系“(key - value)”一对的数据 -->函数 y= f(x) >HashMap :作为Map的主要实现类;线程不安全的,效率高,存储null的key 和value | LinkHashMap :保证在遍历map元素时,可以按照添加
阅读全文
摘要:Set接口 Set接口:存储无序的,不可重复的数据 >高中讲的“集合” HashSet :作为Set接口的主要实现类,线程不安全的;可以存储null值 LinkedHashSet :作为HashSet的子类,遍历其内部的数据时,可以按照添加的顺序遍历 TreeSet :可以按照添加对象的指定属性,进
阅读全文
摘要:List接口 鉴于Java中数组用来存储数据的局限性,我们通常使用List替代数组 List集合类中元素有序、且可重复,集合中的每个元素都有其对应的顺序索引。 List容器中的元素都对应一个整数型的序号记载其在容器中的位置,可以根据序号存取容器中的元素。 JDK API中List接口的实现类常用的有
阅读全文
摘要:Collection接口 ●一方面,面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储。另一方面,使用Array存储对象方面具有一些弊端,而Java集合就像一种容器,可以动态地把多个对象的引用放入容器中。 说明:此时的存储,主要指的是内存层面的存储,不涉及到持
阅读全文
摘要:枚举类 类的对象只有有限个,确定的。举例如下: 星期:Monday(星期一)...Sunday(星期天 性别:Man(男)、Woman(女) 就职状态:Busy、Free、Vocation、Dimission 当需要定义一组常量时,强烈建议使用枚举类 如何定义枚举类 方式一:jdk5.0之前,自
阅读全文
摘要:System类 System类代表系统,系统的很多属性和控制方法都放置再该类的内部,该类位于java.lang包 native long currentTimeMillis():该方法的作用是返回当前的计算机时间,时间的表达格式为当前计算机时间和GMT时间(格林威治时间)1970年1月1号O时0分O
阅读全文