- 博客(23)
- 收藏
- 关注
原创 MyBatis-03
例如,有user表和address表,其中每一个用户可以有多个地址,每个地址只能对应一个用户以address表为主表,user表为副表,通过address表联查user表的形式就是一对一如何进行一对一查询?首先,在vo包下创建一个AddressAndUserVO类,并在mapper包下的IAddressMapper接口中定义一个抽象方法然后,到对应的xml文件中
2024-03-27 19:47:59
885
原创 Java8新特性
• 只包含一个抽象方法(Single Abstract Method,简称 SAM)的接口,称为函数式接口。当然该接口可以包含其他非抽象方法。• 你可以通过 Lambda 表达式来创建该接口的对象。(若 Lambda 表达式抛出一个受检异常(即:非运行时异常),那么该异常需要在目标接口的抽象方法上进行声明)。•我们可以在一个接口上使用 @FunctionalInterface 注解,这样做可以检查它是否是一个函数式接口。同时 javadoc 也会包含一条声明,说明这个接口是一个函数式接口。
2024-01-29 19:25:11
787
原创 死锁&线程通信
当我们需要多个线程来共同完成一项任务,并且我们希望它们有规律的执行,那么多线程之间需要一些通信机制,来协调它们的工作,以此实现多线程共同操作一份数据。
2024-01-25 20:18:17
344
原创 多线程(一)
Tread类的特性- 每个线程都是通过某个特定的Tread对象的run()方法来完成操作的,因此把run()方法成为线 程执行体- 通过该Tread对象的start()方法来启动这个线程,而非直接调用run()- 想要实现多线程,必须在主线程中创建新的线程对象java中的优先级分为了1~10的十个登记,其中10优先级最高,1优先级最低子类继承父类优先级默认是5是一种数据的安全机制,当多个线程同时操作一个数据的时候,为了保证数据的一致性和正确性,需要使用线程同步。
2024-01-24 19:41:34
867
1
原创 IO流总结(一)
字节输入流,以字节的方式进行文件中内容的读取操作压缩包,图片,视频等文件都需要使用字节流传输字符输入流,一般适用于纯文本文件,用于解决读取汉字的乱码问题字节输出流,用于将内存中的数据写出在硬盘中.如果文件不存在,则会自动创建,但是不会创建文件夹,如果文件夹不存在,就会报错在构造方法中,可以传入两个参数,第一个是文件路径,第二个是写出方式如果写出方式不传入值或者传入false,则会覆盖原来的内容如果写出方式传入true,则会在原来的内容之后追加写出新的内容字符输出流用来提高效率,减少物理读取次数。
2024-01-22 18:46:38
817
原创 集合,List 总结
通过集合,可以使程序能够存储和操作元素不固定的一组数据注意 : 如果集合中存放基本数据类型,需要将其“装箱”成对应的基本类型包装类。
2024-01-18 18:27:39
348
1
原创 异常相关总结
Exception是所有异常类的父类,它又分为运行时异常和非运行时异常非运行时异常 : 是在编译阶段发生的异常运行时异常 : 是在程序运行时发生的异常,一般是由于程序员的粗心导致的自定义一个异常类并集成于某个原有的异常类例如 定义一个游戏角色生命值相关的异常类。
2024-01-17 19:34:40
292
原创 常用API(二)
1) out 标准输出,默认打印在控制台System.out.println("你好世界");2)in 标准输入,默认接收控制台输入System.in3)err 异步打印,打印出来的是红色字体System.err.println("你好世界");4)获取当前时间对应的毫秒数 从1970年1月1日8:00开始算起获取程序运行时间的一个方法建议进行垃圾回收关闭JWM 0表示正常退出 一般用于图形化界面。
2024-01-16 15:37:49
835
1
原创 常用API(一)
底层都是字符数组,但是数组可变长,当需要频繁拼接字符串时,可以使用StringBuffer和StringBuilder二者的区别 StringBuffer : 线程安全,在多线程环境下不会出现问题,常用于类中StringBuilder : 非线程安全,在多线程环境下.可能会出现问题,常用于方法中将基本数据类型封装成对象,便可以对其进行更多的操作。
2024-01-15 20:17:33
365
1
原创 面向对象/2024/1/10总结
abstract是一个修饰符 表示抽象的abstract如果修饰方法 那么这个方法就是抽象方法 且这个方法没有方法体abstract如果修饰的时类 那么这个类就是抽象类 抽象类不能创建对象抽象方法必须在抽象类中,用于被子类覆写或实现抽象类中可以没有抽象方法abstract和final不能同时出现如果一个类继承了一个抽象类,那么这个类应该实现抽象类中的所有抽象方法一个抽象类继承一个抽象类,需要实现0~N个抽象方法。
2024-01-10 19:14:10
346
原创 Day_09总结
对象的实例化 例如 Student s1 = new Student(2020185,"张三",'男',"北京");如果该类中没有构造方法,就会有一个默认公共的无参构造方法,而如果编写了构造方法,默认的构造方法就没有了。Animal a1 = new Animal("暹罗猫", "jojo", 2, 2000);Animal a2 = new Animal("哈士奇", "kk", 3, 800);如果这个属性是类对象共有的属性,但是值可能不同 就定义为动态的。修改 s1.name = "李四";
2024-01-08 21:04:42
343
原创 2024/1/4总结
如升序的冒泡排序 每次从头开始比较 比较相邻的两个元素 如果前者大于后者 就交换它们的位置。二分查找是每次只选择一半的数据进行查找,具有较好的性能。就是遍历数组,找到想要查找的关键字,并返回其索引值。在这一轮比较结束后 最大的元素会放在最终的位置上。每次从待排序序列中取出一个元素 插入到有序序列中。
2024-01-04 18:59:33
336
1
原创 2024.1.3总结
方式一 int[][] arr1 = {{1,2,3,4,5},{234,32},{2323,444,634,123}};方式二 int[] arr2 = new int[]{1,2,3,4,5,6,7,8,9};方式一 int[] arr1 = {1,2,3,4,5,6,7,8,9};是指将原数组中的某部分数据元素,插入到目标数组的某个位置,得到一个新的数组。涉及的知识点是,在声明二维数组时,可以不声明每一个一维数组的长度。是指将源数组中的某部分数据元素覆盖到目标数组中的某位置。
2024-01-03 20:06:13
311
1
原创 2024/1/2总结
其中,当i=3时会执行到continu语句,然后就会跳出本轮循环,不在执行continu之后的语句,所以本轮循环不会打印i的值。public static void m3(int x,int y,double z){} //多参无返回值的静态方法。public static int m4(int x,int y,double z){} //多参有返回值的静态方法。i++) { //给外层循环起名outFor来标记。斐波那契数列------1,1,2,3,5,8,13,21,34........
2024-01-02 19:29:31
345
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人