JAVA
mango_bobo
本人的博客一般都是在尚硅谷等网站,边学习边记的笔记
展开
-
前后端交互之序列化、反序列化
一、反序列化—注解方式1、localDateTime若前端传参(Json格式)给后台,其中有一个参数是要用localDateTime接收,即需要反序列化为localDateTime类型。可使用注解的方式完成该过程。后台创建一个query类来接收前端传过来的参数,在对应反序列化的字段上添加 @JsonDeserialize(using = LocalDateTimeDeserializer.class) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") pr原创 2021-09-14 14:48:37 · 2507 阅读 · 0 评论 -
14-动态
多态多态是继封装、继承之后,面向对象的第三大特性。多态的前提:子父类的继承关系方法的重写父类引用指向子类对象:Animal a = new Cat()动态绑定:运行期间调用的方法,是根据其具体的类型多态成员的特点:成员变量:当子父类中出现同名的成员变量时,多态调用该变量时:编译时期:参考的是引用型变量所属的类中是否有被调用的成员变量。 没有,编译失败。运行时期:也是调用引用型变量所属的类中的成员变量。简单记:编译和运行都参考等号的左边。编译运行看左边。成员方法编译时原创 2021-07-29 21:45:56 · 77 阅读 · 0 评论 -
Java_24网络编程---④模拟用户登录案例
案例代码1需求:客户端:1.提示用户输入用户名和密码,将用户输入的用户名和密码发送给服务端2.接收服务端验证完用户名和密码的结果 服务端:1.接收客户端发送过来的用户名和密码 2.如果用户名不是itheima或者 密码不是123456,就向客户端写入”登录失败” 否则向客户端写入登录成功ClientTest.javaimport java.io.BufferedReader;import java.io.IOException;impo原创 2020-08-01 22:15:28 · 1006 阅读 · 0 评论 -
Java_24网络编程---③TCP协议
TCP通信同UDP通信一样,都能实现两台计算机之间的通信,通信的两端都需要创建socket对象。区别在于,UDP中只有发送端和接收端,不区分客户端与服务器端,计算机之间可以任意地发送数据。而TCP通信是严格区分客户端与服务器端的,在通信时,必须先由客户端去连接服务器端才能实现通信,服务器端不可以主动连接客户端,并且服务器端程序需要事先启动,等待客户端的连接。在JDK中提供了两个类用于实现TCP程序,一个是ServerSocket类,用于表示服务器端,一个是Socket类,用于表示客户端。通信时,首先原创 2020-08-01 21:50:25 · 237 阅读 · 0 评论 -
Java_24网络编程---②UDP协议
1、UDP协议概述UDP是无连接通信协议,即在数据传输时,数据的发送端和接收端不建立逻辑连接。简单来说,当一台计算机向另外一台计算机发送数据时,发送端不会确认接收端是否存在,就会发出数据,同样接收端在收到数据时,也不会向发送端反馈是否收到数据。由于使用UDP协议消耗资源小,通信效率高,所以通常都会用于音频、视频和普通数据的传输例如视频会议都使用UDP协议,因为这种情况即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。但是在使用UDP协议传送数据时,由于UDP的面向无连接性,不能保证数据的完整性,原创 2020-08-01 16:01:47 · 107 阅读 · 0 评论 -
Java_24网络编程---①网络编程概述
1、网络协议通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则,这就好比在道路中行驶的汽车一定要遵守交通规则一样。在计算机网络中,这些连接和通信的规则被称为网络通信协议,它对数据的传输格式、传输速率、传输步骤等做了统一规定,通信双方必须同时遵守才能完成数据交换。网络通信协议有很多种,目前应用最广泛的是TCP/IP协议(Transmission Control Protocal/Internet Protoal传输控制协议/英特网互联协议),它是一个包括T原创 2020-08-01 15:52:52 · 95 阅读 · 0 评论 -
Java_23 多线程
1、多线程概述A:进程:进程指正在运行的程序。确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能。B:线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程。一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序。C:简而言之:一个程序运行后至少有一个进程,一个进程中可以包含多个线程什么是多线程呢?即就是一个程序中有多个线程在同时执行。2、线程实现①实现线程一:继承Thread类该如何创建线程呢?通原创 2020-07-30 15:16:34 · 128 阅读 · 0 评论 -
Java_22 字符流与字节流(IO流)③Properties集合、编码表
222原创 2020-07-29 16:34:36 · 166 阅读 · 0 评论 -
Java_22 字符流与字节流(IO流)②对象操作流
1、概述用于从流中读取对象的ObjectInputStream 称为 反序列化流,利用输入流从文件中读取对象ObjectOutputStream 称为 序列化流,利用输出流向文件中写入对象特点:用于操作对象。可以将对象写入到文件中,也可以从文件中读取对象。/* * 对象操作流:可以用于读写任意类型的对象 * ObjectOutputStream * writeObject * ObjectOutputStream(OutputStream out) * Ob原创 2020-07-28 17:23:40 · 159 阅读 · 0 评论 -
Java_22 字符流与字节流(IO流)①标准输入流 & 转换流 & 打印流
标准输入流 & 转换流 & 打印流1标准输入输出流public static final InputStream in:标准输入流public static final PrintStream out:标准输出流/* * 标准输入输出流: public static final InputStream in:字节输入流,用来读取键盘录入的数据 public static final int x; InputStream is = System.in; Sc原创 2020-07-28 16:31:01 · 110 阅读 · 0 评论 -
Java_21 IO流-高级 ②字符流与字节流
概述IO流分类:流向 输入流 读取数据 FileReader Reader 输出流 写出数据 FileWriter Writer 数据类型 字节流 字节输入流 读取数据 InputStream 字节输出流 写出数据 OutputStream 字符流 字符输入流 读取数据 Reader 字符输出流 写出数据 Writer利用字符流复制文本文件利用字符流将当前工程下的IODemo.java拷贝到原创 2020-07-27 17:19:49 · 143 阅读 · 0 评论 -
Java_21 IO流-高级 ①File类
File类1、File概述打开API,搜索File类。其描述:File文件和目录路径名的抽象表示形式。即,Java中把文件或者目录(文件夹)都封装成File对象。也就是说如果我们要去操作硬盘上的文件,或者文件夹只要找到File这个类即可2、File类的构造函数File(String pathname) :将一个字符串路径封装成File对象File(String parent,String child):传入一个父级路径和子级路径File(File parent,String child):传入一原创 2020-07-27 17:09:01 · 102 阅读 · 0 评论 -
Java_20 递归
递归:指在当前方法内调用自己的这种现象public void method(){ System.out.println(“递归的演示”); //在当前方法内调用自己 method();}递归求5的阶乘/* * 需求:求5的阶乘 * 5! = 5 * 4 * 3 * 2 * 1; //120 * 5! = 5 * 4!; //120 * 4! = 4 * 3!; //24 * 3! = 3 * 2!; //6 * 2! = 2 * 1!; //2原创 2020-07-26 15:34:09 · 131 阅读 · 0 评论 -
Java_19异常(产生、处理)
异常概述什么是异常?Java代码在运行时期发生的问题就是异常。在Java中,把异常信息封装成了一个类。当出现了问题时,就会创建异常类对象并抛出异常相关的信息(如异常出现的位置、原因等)。在Java中使用Exception类来描述异常。查看API中Exception的描述,Exception 类及其子类是 Throwable 的一种形式,它用来表示java程序中可能会产生的异常,并要求对产生的异常进行合理的异常处理。可以发现Exception有继承关系,它的父类是Throwable。Throwab原创 2020-07-26 15:30:40 · 9672 阅读 · 0 评论 -
Java_18 Map与Set集合---③Map(集合)
一、Map接口的概述通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同:A:Collection中的集合,元素是孤立存在的(理解为单身),向集合中存储元素采用一个个元素的方式存储B:Map中的集合,元素是成对存在的(理解为夫妻)。每个元素由键与值两部分组成,通过键可以找对所对应的值。C:Collection中的集合称为单列集合,Map中的集合称为双列集合。需要注意的是,Map中的集合不能包含重复的键,值可以重复;每个键只能对应一个值。如:实原创 2020-07-25 17:29:12 · 182 阅读 · 0 评论 -
Java_18 Map与Set集合---②collections工具类、模拟斗地主
Collections中的方法static void swap(List list, int i, int j) :将指定列表中的两个索引进行位置互换static void sort(List list) :按照列表中元素的自然顺序进行排序static void shuffle(List list):随机置换static void reverse(List list) :反转static void fill(List list, Object obj) :使用指定的对象填充指定列表的所有元素原创 2020-07-25 15:18:10 · 97 阅读 · 0 评论 -
Java_18 Map与Set集合---①HashSet集合
HashSet集合1、Set接口的特点:Set体系的集合: A:存入集合的顺序和取出集合的顺序不一致 B:没有索引 C:存入集合的元素没有重复/* 使用HashSet存储字符串并遍历 Set集合的特点: 无序(存储和读取的顺序可能不一样) 不允许重复(元素唯一) 没有索引*/public class HashSetDemo{ public static void main(String[] args){ //创建集合对象 //HashSet<String&g原创 2020-07-24 16:19:45 · 158 阅读 · 0 评论 -
Java_17泛型与常见数据结构
一、集合的体系结构1、集合体系图在最顶层的父接口Collection中一定定义了所有子类集合的共同属性和方法,因此我们首先需要学习Collection中共性方法,然后再去针对每个子类集合学习它的特有方法import java.util.ArrayList;/* * ArrayList * 集合的体系结构: * 由于不同的数据结构(数据的组织,存储方式),所以Java为我们提供了不同的集合, * 但是不同的集合他们的功能都是相似,不断的向上提取,将共性抽取出来,这就是集合体系结原创 2020-07-23 23:10:55 · 389 阅读 · 0 评论 -
Java_16 常用API(正则表达式)
一、Object类概述Object类是Java语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使用。所有类在创建对象的时候,最终找的父类就是Object2、toString()方法:返回该对象的字符串表示由于toString方法返回的结果是内存地址,而在开发中,经常需要按照对象的属性得到相应的字符串表现形式,因此也需要重写它。/* * String toString() : 返回该对象的字符串表示 * return getClass().getName() +原创 2020-07-23 16:15:10 · 600 阅读 · 0 评论 -
Java_15包、内部类
包的作用和特点包的特点:可以有多层不同包下的文件名可以重复包的声明必须是第一行代码不同包之间的互相访问 使用类的全名 使用关键字import将类导入注意:*代表的是通配符,代表导入了这个包下所有的类,并没有导入子包下的类类的全名:包名.类名权限修饰符...原创 2020-07-22 15:51:57 · 100 阅读 · 0 评论 -
Java_14 接口
java语言的继承是单一继承,一个子类只有一个父类java语言提供了一种机制,用于处理继承单一的局限性:接口接口:接口是一个比抽象类还抽象的类,接口里面的所有方法都是抽象方法,接口和类的关系是实现:implement接口的格式:interface 接口名{}接口的描述...原创 2020-07-20 21:55:04 · 170 阅读 · 0 评论 -
java_13②面向对象-抽象类
一、抽象类的概述: abstract:关键字,用于修饰方法和类 抽象方法:不同类的方法是相似,但是具体内容又不太一样, 所以我们只能抽取他的声明,没有具体的方法体, 没有具体方法体的方法就是抽象方法 抽象类:有抽象方法的类必须是抽象类 注意:一个类继承了抽象类需要重写他所有的抽象方法,否则这个类就得是抽象类代码块:public cla...原创 2020-07-19 16:14:22 · 86 阅读 · 0 评论 -
java_13①面向对象-继承
继承的概述:代码块/* * 继承:多个类有共同的成员变量和成员方法,抽取到另外一个类中(父类),在让多个类去继承这个父类,我们的多个类就可以获取到父类中的成员了。 * extends * */public class ExtendsDemo { public static void main(String[] args) { DotA d = new DotA(); d....原创 2019-11-17 21:10:24 · 171 阅读 · 0 评论 -
JAVA_12 面向对象-static与代码块
一、静态的概述和特点static:是一个关键字,用于修饰成员变量和成员方法特点: 被所有的对象所共享; 可以使用类名调用 静态的加载优先于对象 随着类的加载而加载二、静态的注意事项1、静态方法可以调用静态的成员变量StaticDemo.javapublic class StaticDemo{ public static void main(String[] args){ Student.graduate = "zkku"; Student.study(); }} St原创 2020-07-16 23:13:35 · 78 阅读 · 0 评论 -
10_三大框架整合---整合原理、导包
三大框架架构(整合原理)struts2、spring、hibernatespring与struts2整合就是将action对象交给spring容器负责创建spring与hibernate整合就是将sessionFactory对象交给是spring容器负责维护;spring负责session维护以及aop事务SSH整合导包hibernate hibernate/lib/required hibernate/lib/jpa java persist api,java持久化规范 数据库驱动原创 2020-07-15 16:40:58 · 262 阅读 · 0 评论 -
07Spring_aop(注解配置)
1.MyAdvice.java优化:因每次都要写(“execution(* cn.itcast.service.UserServiceImpl.(…))"),为了方便,直接在MyAdvice方法下写一个pc方法,并用@Pointcut("execution( cn.itcast.service.UserServiceImpl.*(…))”)进行注解,往后当注解内容发生改变时,只需修改@Pointcut部分即可2.applicationContext.xml3.Demo.java...原创 2020-06-17 15:44:20 · 106 阅读 · 0 评论 -
java_11综合练习---学生管理系统IO版的增删改查
代码实现:/*步骤如下: 1、定义学生类; 2、学生管理系统的主界面代码 3、查看学生 4、添加学生 5、删除学生 6、修改学生*/StudentManagerTest.java主界面代码:public class StudentManagerTest{ public static void main(Strint[] args) throws IOException...原创 2019-11-10 20:39:41 · 398 阅读 · 1 评论 -
java_10 IO流基础---②
一、缓冲流复制文本文件的两种方式CopyFileDdmo.java需求: 把项目路径下的FileWriterDemo.java中的内容复制到项目路径下的Copy.java中数据流: FileWriterDemo.java-----读数据----FileReader----高效读取数据----BufferedReader目的地: Copy.java----写数据---FileWriter----高效的写数据-----BufferedWriterpublic class CopyFileDe原创 2020-07-15 16:32:41 · 129 阅读 · 0 评论 -
java_10 IO流基础---①FileWriter写数据
一、 FileWriter1、写数据需求:往文件中写数据 写数据---输出流---FileWriterFileWriter:FileWriter(String fileName):传递一个文件名称输出流写数据的步骤1、创建输出流对象2、调用输出流对象的写数据的方法,并刷新内存缓冲区3、释放资源相对路径:相对当前项目而言,在项目的根目录下(a.text)绝对路径:...原创 2020-07-15 15:08:54 · 134 阅读 · 0 评论 -
java_09java集合----③学生管理系统
学生管理系统学生管理系统主页:步骤: 1、定义学生类 2、学生管理系统的主界面的代码编写 3、学生管理系统的查看所有学生的代码编写 4、学生管理系统的添加学生的代码编写 5、学生管理系统的删除学生的代码编写 6、学生管理系统的修改学生信息的代码编写StudentMannagerTest.java public class StduentMannagerTest{ publ...原创 2019-11-02 15:51:06 · 317 阅读 · 0 评论 -
java_09java集合---②集合类
一、对象数组的练习原创 2019-11-01 20:58:19 · 205 阅读 · 0 评论 -
java_09java集合---①对象数组
一、对象数组的练习/*创建一个学生数组,存储三个学生对象并遍历*/分析:1、定义学生类2、创建学生数组3、创建学生对象4、把学生对象作为元素赋值给学生数组5、遍历学生数组代码块StudentDemo.javapublic class StudentDemo{ public static void main(String[] args){ //创建学生数组 Stu...原创 2019-11-02 15:54:59 · 185 阅读 · 0 评论 -
Java_08Java常用API---⑦StringBuilder类
一、键盘录入一个字符串数据/*Scanner:用于获取键盘录入的数据(基本数据类型,字符串数据)public String nextLine();获取键盘录入的字符串数据*/代码块 public class ScannerDemo{ public static void main(String[] args){ //创建键盘录入对象 Scanner sc = new Sca...原创 2019-10-30 21:17:09 · 148 阅读 · 0 评论 -
Java_08Java常用API---⑥字符串练习---字符串反转
字符串练习—字符串反转字符串反转:分析: 1、键盘录入一个字符串 2、方法实现反转: 把字符串倒着遍历,得到一个字符拼接成字符串 把字符串转化为字符,对字符数组进行反转,最后把字符数组转化为字符串 3、调用方法 4、输出结果代码块public class StringTest2{ public static void main(String[] args){ S...原创 2019-11-02 16:08:01 · 377 阅读 · 0 评论 -
Java_08Java常用API---⑤String类的去空格、分割功能
一、Sring类的去空格和分割功能去除字符串连段空格:String trim()按照指定符号份额字符串String[] split(String str)代码块:public class StringDemo{ public static void main(String[] str){ String s1 = "helloword"; String s2 = " ...原创 2019-11-02 16:06:00 · 448 阅读 · 0 评论 -
Java_08Java常用API---④String类的转换功能
一、String类的转换功能char[] toCharArray():把字符串转换为字符数组String toLowerCase():把字符串转换为小写字符串String toUpperCase():把字符串转换为大写字符串字符串的遍历: 1、length()加上charAt() 2、把字符串转为字符串数组,然后遍历数组代码块public class StringDemo{ ...原创 2019-11-02 16:04:34 · 129 阅读 · 0 评论 -
Java_08Java常用API---③String类的获取功能
一、String类的获取功能String类的获取功能: int length():获取字符串的长度,也就是字符个数 char charAt(int index):获取指定索引处的字符 int indexOf(String str):获取str在字符串对象总第一次出现的索引 String substring(int str):从start开始截取字符串 String substring(...原创 2019-11-02 16:03:10 · 149 阅读 · 0 评论 -
Java_08Java常用API---②String类的判断功能
一、String类的判断功能Object:是类层次结构的根类,所有的类都直接或者间接的击沉该类如果一个方法的形式参数是Object,那么这里我们可以传递他的任意的子类对象boolean equals(Object obj):比较字符串的内容是否相同boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写boolean equalsWi...原创 2019-11-02 16:01:42 · 171 阅读 · 0 评论 -
Java_08Java常用API---①String类的概述及其构造方法
一、键盘录入一个字符串数据/*Scanner:用于获取键盘录入的数据(基本数据类型,字符串数据)public String nextLine();获取键盘录入的字符串数据*/代码块 public class ScannerDemo{ public static void main(String[] args){ //创建键盘录入对象 Scanner sc = new Sca...原创 2019-11-02 16:00:13 · 197 阅读 · 0 评论 -
java_07面向对象-类与对象---③构造方法、类作为返回值类型
一、面向对象面向对象思想:面向对象是基于面向过程的编程思想面向过程:强调的是每一个功能的步骤面向对象:强调的是对象,然后由对象去调用功能面向对象的思想特点:是一种更符合思考习惯的思想可以将复杂的事情简单化将我们从执行者变成了指挥者编程语言:将现实世界的食物模拟出来,实现信息化如何表示现实世界的事物:属性: 事物的描述信息行为: 就是事物能够做什么java语言最基本的单位...原创 2019-10-29 19:36:58 · 1012 阅读 · 0 评论