随笔分类 -  韩顺平Java课程笔记

摘要:# 数据库连接池 ## **传统获取Connection问题分析** 1. 传统的JDBC数据库使用 DriverManager 来获取, **每次向数据库建立连接的时候都要将 Connection 加载到内存中,再验证IP地址,用户名和密码(0.05 ~ 1 s 时间)**。需要数据库连接的时候, 阅读全文
posted @ 2023-07-31 18:53 凉白茶 阅读(62) 评论(0) 推荐(0)
摘要:# 批处理 - **基本介绍:** 1. 当需要成批插入或者更新记录时。可以采用Java的批量更新机制,这一机制允许多条语句一次性提交给数据库批量处理。通常情况下比单独提交处理更有效率。 2. JDBC的批量处理语句包括下面方法: - addBatch():添加需要批量处理的SQL语句或参数; - 阅读全文
posted @ 2023-07-28 16:27 凉白茶 阅读(64) 评论(0) 推荐(0)
摘要:# 事务 - **基本介绍** 1. JDBC 程序中当一个Connection对象创建时,默认情况下是自动提交事务:每次执行一个 SQL 语句时,如果执行成功,就会向数据库自动提交,而不能回滚。 2. JDBC程序中为了多个SQL语句作为一个整体执行,需要==使用事务==。 3. 调用 Conne 阅读全文
posted @ 2023-07-27 20:39 凉白茶 阅读(36) 评论(0) 推荐(0)
摘要:# JDBC API ## 获取数据库连接5种方式 1. 通过new创建Driver对象; 2. 使用反射加载Driver类,动态加载,减少依赖性,更加灵活; 3. 使用DriverManager 替代 Driver 进行统一管理,有了更好的扩展性; 4. 使用 Class.forName 自动完成 阅读全文
posted @ 2023-07-26 17:17 凉白茶 阅读(60) 评论(0) 推荐(0)
摘要:# **反射相关使用和暴破** ## **通过反射创建对象** 1. **方式一:**调用类中的public修饰的无参构造器; 2. **方式二:**调用类中的指定构造器; 3. **Class类相关方法:** - newInstance():调用类中的无参构造器,获取对应类的对象; - getCo 阅读全文
posted @ 2023-07-25 20:49 凉白茶 阅读(76) 评论(0) 推荐(0)
摘要:# 反射获取类的结构信息 1. **关于Class的API** 1. getName:获取全类名 2. getSimpleName:获取简单类名 3. getFields:获取所有Public修饰的属性,包含本类及其父类(不仅仅是直接父类) 4. getDeclaredFields:获取本类中的所有 阅读全文
posted @ 2023-07-25 19:05 凉白茶 阅读(59) 评论(0) 推荐(0)
摘要:# 类加载 ## **基本说明** 反射机制是Java实现动态语言的关键,也就是通过反射实现类动态加载。 1. **静态加载:**编译时加载相关的类,如果没有则报错,依赖性太强。 2. **动态加载:**运行时加载相关的类,如果运行时不用该类,即使不存在该类,也不会报错,降低了依赖性。 - **代码 阅读全文
posted @ 2023-07-25 17:25 凉白茶 阅读(41) 评论(0) 推荐(0)
摘要:# Class类 ## **基本介绍** 1. Class也是类,因此也继承Object类; 2. Class类对象不是new出来的,而是系统创建的; 3. 对于某个类的Class类对象,在内存中只有一份,因为类只加载一次; 4. 每个类的实例都会记得自己是由哪个Class实例所生成的; 5. 通过 阅读全文
posted @ 2023-07-24 17:54 凉白茶 阅读(79) 评论(0) 推荐(0)
摘要:反射机制 引出反射 这样的需求在学习框架时特别多,即通过外部文件配置,在不修改源码的情况下,来控制程序,也符合设计模式的OCP原则(开闭原则:不修改源码,扩展功能)。 代码演示: re.properties文件: classfullpath=com.hspedu.Cat method=cry Cat 阅读全文
posted @ 2023-07-21 15:56 凉白茶 阅读(55) 评论(0) 推荐(1)
摘要:# UDP网络通信编程 - **基本介绍** 1. 类DatagramSocket和DatagramPacket实现了基于UDP协议网络程序。 2. UDP数据报通过数据报套接字DatagramSocket发送和接收,系统不保证UDP数据报一定能够安全送到目的地,也不能确定什么时候可以抵达。 3. 阅读全文
posted @ 2023-07-20 15:31 凉白茶 阅读(53) 评论(0) 推荐(0)
摘要:# **TCP编程** - **基本介绍** 1. 基于客户端——服务端的网络通信; 2. 底层使用的是TCP/IP协议; 3. 应用场景举例:客户端发送数据,服务端接收并显示在控制台; 4. 基于Socket的TCP编程; - **示意图** ![](https://img2023.cnblogs 阅读全文
posted @ 2023-07-19 16:07 凉白茶 阅读(84) 评论(0) 推荐(0)
摘要:# **Socket** - **基本介绍** 1. 套接字(Socket)开发网络应用程序被广泛采用以至于成为事实上的标准; 2. 通信的两端都要有Socket,是两台机器间通信的端点; 3. 网络通信其实就是Socket间的通信; 4. Socket允许程序把网络连接当成一个流,数据在两个Soc 阅读全文
posted @ 2023-07-18 16:17 凉白茶 阅读(8) 评论(0) 推荐(0)
摘要:# **InetAddress类** **相关方法:** 1. **getLocalHost():**获取本机InetAddress对象; 2. **getByName():**根据指定主机名/域名获取IP地址对象; 3. **getHostName():**获取Inet Address对象的主机名 阅读全文
posted @ 2023-07-17 20:38 凉白茶 阅读(20) 评论(0) 推荐(0)
摘要:# 网络基础 ## **网络通信** 1. 概念:两台设备之间通过网络实现数据传输; 2. 网络通信:将数据通过网络从一台设备传输到另一台设备; 3. java.net包下提供了一系列的类或接口,供程序员使用,完成网络通信; ![](https://img2023.cnblogs.com/blog/ 阅读全文
posted @ 2023-07-16 10:02 凉白茶 阅读(68) 评论(0) 推荐(0)
摘要:# JDBC概述 ## 基本介绍 1. JDBC为访问不同的数据库提供了统一的接口,为使用者屏蔽了细节问题。 2. Java程序员使用JDBC,可以连接任何提供了JDBC驱动程序的数据库系统,从而完成对数据库的各种操作。 3. **JDBC的基本原理:** ![](https://img2023.c 阅读全文
posted @ 2023-06-28 17:08 凉白茶 阅读(96) 评论(0) 推荐(0)
摘要:**# Properties类** - **基本介绍** ![](https://img2023.cnblogs.com/blog/3008601/202306/3008601-20230604103622859-1793594469.png) 1. 专门用于读写配置文件的集合类 配置文件的格式: 阅读全文
posted @ 2023-06-07 21:02 凉白茶 阅读(50) 评论(0) 推荐(0)
摘要:# 打印流 PrintStream 和 PrintWriter ![](https://img2023.cnblogs.com/blog/3008601/202306/3008601-20230604103522664-997405676.png) ![](https://img2023.cnblo 阅读全文
posted @ 2023-06-07 17:05 凉白茶 阅读(50) 评论(0) 推荐(0)
摘要:# 转换流-InputStreamReader 和 OutputStreamWriter - **介绍** 1. InputStreamReader:Reader的子类,可以将InputStream(字节流)包装成Reader(字符流); 2. OutputStreamWriter:Writer的子 阅读全文
posted @ 2023-06-07 10:51 凉白茶 阅读(64) 评论(0) 推荐(0)
摘要:# 标准输入输出流 | 流 | 编译类型 | 运行类型 | 默认设备 | | | | | | | System.in 标准输入 | InputStream | BufferedInputStream | 键盘 | | System.in 标准输出 | PrintStream | PrintStrea 阅读全文
posted @ 2023-06-06 20:21 凉白茶 阅读(32) 评论(0) 推荐(0)
摘要:# 对象流ObjectInputStream和ObjectOutputStream ## 引言 - 看一个需求 1. 将int num=100这个 int 数据保存到文件中,注意不是 100 数字,而是 int 100,并且,能够从文件中直接恢复 int 100; 2. 将Dog dog = new 阅读全文
posted @ 2023-06-05 22:33 凉白茶 阅读(49) 评论(0) 推荐(0)