- 博客(11)
- 收藏
- 关注
原创 编程利器 | 快捷键
cmd+shift+option+M fusion查找jar。cmd+option+方向键(左右) 返回上一个光标点。cmd+shift+退格 回到最后一次编辑的地方。cmd+option + h 查询调用链路。cmd+shift+回车 自动补全加格式化。cmd + shift +N 文件查找。cmd+shift+F12 全屏展示。cmd+shift+v 定义变量。cmd+shift+c 定义常量。cmd+shift+m 定义方法。cmd+shift+u 大小写。cmd+f1+1 文件定位。
2023-04-24 14:05:44 129
原创 Objects.equals()方法有坑
Objects类位于java.util包下,有坑:使用Objects.equals方法,判断两个值是否相等时,一定要保证两个入参的类型要一致。否则即使两个值相同,但其结果仍然会返回false,这是一个大坑。参考:https://mp.weixin.qq.com/s/GKf1noss5UHEycvQ8qkTjQ。
2023-04-20 16:15:23 201
原创 Java Collection
这是由Arrays.asList()返回的是Arrays的内部类ArrayList,而不是java.util.ArrayList.Arrays的内部类ArrayList和java.util.ArrayList都是继承AbstractList,remove,add。要注意的是它们返回类型是不一样的,intersection返回的是一个新的List集合,而retainAll返回是Bollean类型就说明retainAll方法是对原有集合进行处理再返回原有集合,会改变原有集合中的内容。
2023-04-20 15:36:07 78
转载 半连接&反连接
半连接&反连接1. 半连接半连接返回左表中与右表至少匹配一次的数据行,通常体现为 EXISTS 或者 IN 子查询。左表驱动右表。只返回左表的数据,右表作为筛选条件。可以用 EXISTS、 IN 或者 =ANY举例:表t1和表t2做半连接,t1是驱动表,t2是被驱动表,半连接条件为t1.x=t2.y。这里"t1.x semi= t2.y"的含义是只要在表t2中找到一条记录满足t1.x=t2.y,则马上停止搜索表t2,并直接返回表T1中满足条件t1.x=t2.y的记录。表t2中满足半连接条件
2021-05-24 17:37:27 462
原创 JDBC
what全称Java Database Connectivity,JDBC是一种用于Java编程语言和多种数据库连接的标准Java API。JDBC库提供的API可以完成如下的数据库相关的任务:和数据库建立连接。创建 SQL 或 MySQL 声明。在数据库中执行 SQL 或 MySQL 查询。展示或修改数据库中的记录。JDBC实现了将Java编程代码和数据库相分离,使得Java编写的可执行程序可以通过同样的JDBC API连接不同的数据库,改变数据库驱动不需要改变JDBC API,使得代码
2021-05-24 17:03:30 101 1
原创 大根堆 小根堆 Java
Java 大根堆 小根堆在Java中的堆可以使用PriorityQueue,默认是小根堆,Queue<Integer> min = new PriorityQueue<>();大根堆的写法:max = new PriorityQueue<>(new Comparator<Integer>(){ @Override public int compare(Integer o1, Integer o2){ return o2 - o1;
2021-05-19 14:04:57 479
原创 单例设计模式
单例模式(Singleton Pattern)属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。一 单例模式的结构单例模式的主要有以下角色:单例类。只能创建一个实例的类访问类。使用单例类二 单例模式的实现单例设计模式分类两种: 饿汉式:类加载就会导致该单实例对象被创建 懒汉式:类加载不会导致该单实例对象被创建,而是首次使用该对
2021-04-23 12:52:46 101
原创 冒牌排序,归并排序
排序算法冒泡排序public class BubbleSort { public static void bubbleSort(int[] list){ boolean flag = true; for (int i = 1; i < list.length && flag; i++) { flag=false; for (int j=0; j<list.length-i; j++){
2021-04-15 15:43:25 72
原创 二维数组排序
Arrays.sort(intervals, new Comparator<int[]>() { @Override public int compare(int[] o1, int[] o2) { //按照数组的第一个元素进行升序,如果第一个元素相同则按照第二个元素进行升序 if (o1[0]==o2[0]){ return o1[1]-o2[1
2020-12-24 17:08:01 329 1
原创 重写和重载
重写 override:在继承关系中,方法的名称一样,参数列表也一样,覆盖、覆写重载 overload:方法的名称一样,参数列表不一样方法的覆盖重写特点:创建的是子类对象,则优先用子类方法重写的注意事项:父子类的方法以及参数列表相同,@override:写在方法的前面,用来检测是不是有效的正确覆盖重写子类方法的返回值必须小于等于父类方法的返回值范围,Object类是最高父类子类方法的权限大于等于父类方法的权限修饰符,public》protected>(default)>privat
2020-12-23 21:16:18 140
原创 String类
字符串特点字符串的内容永不改变因为字符串内容不变,故字符串是共享使用字符串相当于是char[]字符数组,底层实现是byte[]字节数组字符串的常量池从JDK1.7之后,字符串常量池在堆中字符串常量池中的字符串对象保存的是字节数组的地址对于直接双引号的,是在常量池中对于使用new关键字创建的字符串,会转换为字节数组,然后把地址给到new出来的字符串对象字符串变量比较的是地址,字符串是常量,一旦需要改变,比如拼接,那是产生了一个新的字符串。注意,字符串内容是
2020-12-23 19:14:54 70
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人