随笔分类 -  Java SE

摘要:传统方式获取 Connection 问题 1、每次向数据库建立连接时,都将 Connection 加载到内存,再验证 IP 地址、用户名、密码,频繁连接占用系统资源,服务器易崩溃 2、每次连接断开,若程序异常未能关闭,将导致数据库内存泄漏,导致数据库重启 3、不能控制创建连接数量 数据库连接池 1、 阅读全文
posted @ 2022-04-05 23:50 半条咸鱼 编辑
摘要:Java Database Connectivity 1、Java 提供一套用于数据库操作的接口 2、不同数据库厂商针对 JDBC 提供不同实现,程序员只面向 JDBC 编程 3、统一、规范应用程序与数据库连接、执行 SQL 语句等操作 4、相关类在 java.sql 包、javax.sql 包中 阅读全文
posted @ 2022-04-05 16:56 半条咸鱼 编辑
摘要:1、java.util.Optional<T> 是一个容器类 2、保存 T 类型的值,表示值存在;只保存 null,表示值不存在,可以避免空指针异常 3、创建 Optional 类的对象 (1)返回一个空的 Optional 对象 public static <T> Optional<T> empt 阅读全文
posted @ 2022-04-01 20:55 半条咸鱼 编辑
摘要:1、java.util.stream 中,使用 Stream 接口对集合数据进行操作,类似使用 SQL 执行数据库查询 2、Stream、Collection 区别 (1)Stream:面向 CPU,通过 CPU 计算 (2)Collection:面向内存,一种静态的内存数据结构 事项 1、Stre 阅读全文
posted @ 2022-04-01 18:28 半条咸鱼 编辑
摘要:方法引用 1、方法引用是 Lambda 表达式的简化 2、应用场景:Lambda 体的操作,已经存在实现方法,即存在符合函数式接口定义的抽象方法,不需要重写该方法 3、要求:函数式接口的方法签名(返回类型、形参)与引用函数的方法签名一致 4、分类 语法 对应 Lambda 表达式 类名::静态方法名 阅读全文
posted @ 2022-04-01 12:11 半条咸鱼 编辑
摘要:1、有且只有一个抽象方法,但可以有多个具体方法 2、@FunctionalInterface 注解,可检查是否为函数式接口 3、Lambda 表达式就是一个函数式接口的实例 4、java.util.function 包下定义多个函数式接口 类型 核心接口 抽象方法 说明 消费型 Consumer<T 阅读全文
posted @ 2022-04-01 11:20 半条咸鱼 编辑
摘要:1、一个匿名函数,一段可以像数据一样传递的代码 2、语法格式 (1)(parameters) -> expression; (2)(parameters) -> {statements;} 3、Lambda 操作符 / 箭头操作符:-> (1)左方:Lambda 形参列表:抽象方法的形参 (2)右方 阅读全文
posted @ 2022-04-01 11:02 半条咸鱼 编辑
摘要:反斜杠详解 1、字符串、正则表达式的反斜杠功能 (1)代表特殊字符 (2)代表转义 2、字符串、正则表达式的处理是分离的 (1)字符串“\\”-> 正则表达式“\”:字符串“\\”转义出两个普通的反斜杠“\”,“\”在正则表达式中,转义出一个普通的反斜杠“\” (2)字符串“\”-> 阅读全文
posted @ 2022-04-01 00:54 半条咸鱼 编辑
摘要:反射机制 1、允许程序在执行期间借助 Reflection API 取得任何类的内部消息 2、加载完类之后,在堆中产生一个 Class 类型对象 3、一个类只有一个 Class 对象,该对象包含类的完整结构信息 反射相关的类 1、java.lang.Class<T>:Class 对象表示某个类加载后 阅读全文
posted @ 2022-03-31 15:40 半条咸鱼 编辑
摘要:1、数据通过网络在设备之间进行传输 2、java.net 包提供相关类、接口完成网络通信 IP 地址 1、用于唯一标识网络中的每台主机 2、组成:网络地址 + 主机地址 3、IPv4:4 byte(32 bit)点分十进制 4、本机地址:127.0.0.1 5、IPv6:16 byte(128 bi 阅读全文
posted @ 2022-03-30 16:12 半条咸鱼 编辑
摘要:1、InputStreamReader、OutputStreamWriter 2、InputStreamReader (1)是字符流,继承 Reader 类 (2)可以将 InputStream 转换为 Reader 3、OutputStreamWriter (1)是字符流,继承 Writer 类 阅读全文
posted @ 2022-03-29 22:40 半条咸鱼 编辑
摘要:1、System 类 public final static InputStream in = null; public final static PrintStream out = null; 标准输入、输出流 编译类型 运行类型 默认设备 System.in 标准输入 InputStream B 阅读全文
posted @ 2022-03-29 21:55 半条咸鱼 编辑
摘要:1、ObjectOutputStream 提供序列化 2、ObjectInputStream 提供反序列化 3、序列化:保存数据的值和类型 4、反序列化:恢复数据的值和类型 5、需要让某对象和其所属类支持序列化,该类必须实现以下两接口之一 (1)Serializable:标记接口,没有方法(建议) 阅读全文
posted @ 2022-03-29 21:14 半条咸鱼 编辑
摘要:1、缓冲处理流:BufferedReader、BufferedWriter、BufferedInputStream、BufferedOutputStream 2、通过构造器,传入节点流 (1)BufferedReader 本类组合 private Reader in; (2)BufferedWrit 阅读全文
posted @ 2022-03-29 20:27 半条咸鱼 编辑
摘要:FileInputStream 类 1、新建 FileInputStream 对象,若找不到文件、无法读取文件、无法关闭流都会产生异常 2、每次调用 read 方法,读取的字节会依次覆盖,read 方法传入的 byte[] 数组之前存储的字节 FileOutputStream 类 1、若调用 wri 阅读全文
posted @ 2022-03-29 15:33 半条咸鱼 编辑
摘要:1、Java 程序以流的方式进行输入 / 输出数据 2、Input:读取外部数据输入到程序(内存) 3、Output:将程序(内存)输出到外部数据 4、java.io 包提供流相关类、接口 事项 1、在 try - catch - finally 前,声明所需的流 2、IO 流的操作(包括 new) 阅读全文
posted @ 2022-03-29 10:37 半条咸鱼 编辑
摘要:1、文件流:文件在程序中是以流形式来操作的 2、Java 程序(内存) -> 输入流 -> 文件(磁盘);文件(磁盘)-> 输出流 -> Java 程序(内存) (1)流:数据在数据源(文件)和程序(内存)之间经历的路径 (2)输入流:数据从数据源(文件)到程序(内存)的路径 (3)输出流:数据从程 阅读全文
posted @ 2022-03-29 00:33 半条咸鱼 编辑
摘要:1、进程:运行中的程序,程序的一次执行过程,或正在运行的一个程序,是动态过程 2、线程:由进程创建,是进程的一个实体,一个进程可以有多个线程 (1)单线程:同一时刻,只允许执行一个线程 (2)多线程:同一时刻,可以执行多个线程 3、并发、并行同时存在 (1)并发:同一时刻,多个任务交替执行,即单核 阅读全文
posted @ 2022-03-28 22:46 半条咸鱼 编辑
摘要:1、委派事件模型 (1)当事件发生时,产生事件对象,把此信息传递到事件监听者进行处理 (2)信息:java.wat.event 事件类库中某个类创建的对象 2、事件源 -> 事件监听者 -> 事件处理方法 (1)事件源:一个产生事件的对象,如键盘、窗口、鼠标 (2)事件:承载事件源状态改变时的对象, 阅读全文
posted @ 2022-03-28 17:53 半条咸鱼 编辑
摘要:1、参数化类型,解决数据类型的安全性问题 2、在声明时,通过一个标识,表示某个属性的类型 / 某个方法返回值的类型 / 参数类型 3、事项 (1)泛型的具体数据类型在定义对象时(编译阶段)指定 (2)泛型只能是引用数据类型 (3)泛型指定具体数据类型后,可以传入该类型或其子类类型(向上转型) (4) 阅读全文
posted @ 2022-03-28 17:44 半条咸鱼 编辑

点击右上角即可分享
微信分享提示