- 博客(27)
- 资源 (1)
- 问答 (2)
- 收藏
- 关注
原创 MySQL常用语句
外键-- 添加外键时不指定外键名称则会默认创建一个外键名-- 添加ALTER TABLE 从表名 ADD FOREIGN KEY (外键列) REFERENCES 主表名(主键列);-- 删除ALTER TABLE 从表名 DROP FOREIGN KEY 外键名;-- 查看外键SHOW CREATE TABLE 表名;索引-- 创建create index 索引名 on 表名(列名);-- 普通索引ALTER TABLE 表名 ADD INDEX 索引名称(列名);-- 组
2020-07-22 15:54:14
138
原创 学习笔记:动态代理和静态代理
静态代理的缺点:1.当有多个类需要代理(业务需求不同时),那么就需要创建多个代理,同时创建多个代理对象去调用相应的方法2.或者让一个代理类去实现多个接口,然后让代理创建的代理类需要重写全部的方法动态代理动态代理可以解决上述问题.1.动态代理的代理对象时运行时动态产生,无需写多个代理对象2.通过代理对象调用目标方法3.动态代理产生代理对象的过程中,底层使用了反射流程:1.动态代理类需要实现InvocationHandler接口,重写invoke方法,它的返回值回一个代理对象,可以
2020-07-04 10:17:23
144
原创 IO流:copy文件夹,不改变目录结构
package cn.dzy.io;import java.io.*;public class CopyDir { /** * 使用java将source文件夹中所有文件拷贝到target文件夹中(注意:目录结构不能变) * 1.遍历判断,如果是文件,就创建相同文件名,直接复制,如果不是文件,那么就创建同名文件夹,然后递归,最后返回上一级文件夹 * 2. */ public static void main(String[] args) {
2020-06-18 10:52:21
194
原创 学习笔记:集合总结
文章目录ListMapSet迭代器Collections工具类List1.ArrayList底层使用数组实现存储。特点:查询效率高,增删效率低,线程不安全,通常使用。与数组差异点在于,数组长度是有限的,需要给定一个长度,但是ArrayList可以存放任意长度的对象,没有长度限制,底层实现方式是将原数组内容复制到一个更大的数组中。2.LinkedList底层使用双链表实现存储。双链表:每个数据节点都有两个指针,分别指向前一个节点和后一个节点。特点:查询效率低,增删效率高,线程不安全。3.V
2020-06-12 17:03:45
176
原创 学习笔记:Comparable接口,TreeMap中实现自定义的排序
package cn.dzy.comparableTest;import java.util.TreeMap;public class Student implements Comparable<Student> { private String name; private int id; private int grade; public Student(String name, int id, int grade) { this.na
2020-06-12 13:36:34
220
原创 学习笔记:String类
String是不可变字符序列。String常用方法{contains(String); //是否包含某字符串startsWith(String); //字符串是否以某字符串开始endsWith(String); //是否以某字符串结束equalsIgnoreCase(String); //比较是否相同,忽略大小写getBytes(); //转换为字节数组indexOf(int); //判断某字符第一次出现的位置indexOf(int,int);
2020-06-07 18:59:01
160
转载 学习笔记:nextInt后面写nextLine会遇到的Bug
public class Test { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("输入一个整数:"); int i = sc.nextInt(); System.out.println(i); System.out.println("输入字符串"); S
2020-06-07 15:13:03
378
原创 学习笔记:匿名内部类
匿名内部类书写格式:new 接口名(){重写方法};interface Demo2{ void show();}public class Test { public static void main(String[] args) { //匿名内部类 //如果想调用接口Demo2中的show方法,有三种解决办法: //1.写一个实现类,实现接口,然后重写show方法 //2.直接在这里写一个内部类,然后实现接口,然后调用
2020-06-06 18:26:35
183
原创 学习笔记:类和接口,接口和接口的关系,抽象类和接口的区别
类和接口的关系类与类中只能单继承,不能多继承;但是可以多层继承。类与接口可以多实现,一个类实现多个接口接口和接口的关系接口可以实现多继承(继承接口)。interface A extends B,C{}接口内的方法都是抽象方法,无需方法体;接口内没有构造方法//如果在接口内定义一个这样的方法:void run(){}//编译器默认添加public abstract抽象类和接口的区别抽象类是自下而上,抽取出共同点。接口是一种规范, 它是自上而下的一种要求,要求实现类必须做到这种规
2020-06-05 18:30:46
251
原创 学习笔记:多态的总结
发生多态的条件1.继承2.父类引用指向子类对象3.子类重写父类方法总结:多态中使用的成员(方法、变量),除了重写的方法外,其他的都是使用的父类的成员。多态的好处和弊端1.提高代码扩展性2.提高代码的复用性弊端:不能使用子类特有的成员向上转型和向下转型Animal a = new Dog(); //自动向上转Dog d = (Dog)a; //强制向下转//Cat c = (Dog)a; //编译错误 经过向下转型之后,就可以使用子类特有的成员
2020-06-05 15:27:36
163
原创 学习笔记:修饰符权限总结
修饰符同一个类同一个包下子类任意类private√default√√protected√√√public√√√√释义:private:只能自己使用default:自己或者同一包下的类使用protected:给子类使用public:随便谁都能用...
2020-06-05 10:20:41
178
原创 学习笔记:Integer缓存[-128,127]之间的值
Integer a = -128; Integer b = -128; //因为Integer缓存了[-128,127]的数据,赋值的时候直接返回缓存数据,不需要创建新的Integer对象 System.out.println(a == b); //true System.out.println(a.equals(b)); //true Integer c = 1234; Integer d
2020-05-25 09:53:06
209
转载 学习笔记:全局变量定义“无须”初始化,局部变量必须初始化
举例:public class Test { int a,b=10; //全局变量 public static void main(String[] args) {// int c,d=10; //局部变量// System.out.println(c+" "+d); //错误。未初始化 Test t = new Test(); System.out.prin
2020-05-23 08:55:44
1390
原创 学习笔记:运算时的隐式类型转换
数据类型表示的范围 从小到大byte(1) < short(2) < int(4) < long(8) < float(4) < double(8)char(2)boolean (1)类型 不参与其他几种基本类型的排序比较。运算时的隐式转换:凡是小于等于int类型的数据类型在运算的时候,一律自动转换为int进行计算1.byte+byte ,结果自动转换为int类型: byte a = 1; byte b = 2;
2020-05-23 08:46:59
420
原创 学习笔记:JVM的垃圾回收机制
回收过程1.发现无用的对象2.回收无用对象占用的内存回收算法1.引用计数法不常用(了解)2.根搜索算法程序运行时所有的引用看做一张图,从跟节点开始,引用到的节点就是有用的,运行完毕没有被引用的节点会被杀掉。回收机制...
2020-05-21 22:29:56
225
原创 学习笔记 :Java中的按位取反(~)以及原码、反码、补码
此篇记录java中按位取反操作,即 ~整数的原码、反码、补码一致负数的反码为符号位不变,其余各位取反;补码为反码的基础上+1原码:原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值. 比如如果是8位二进制。3的原码:0000 0011-3的原码:1000 0011反码:正数的反码就是原码。负数的反码是在其原码的基础上, 符号位不变,其余各位取反。-3的反码:1111 1100补码:正数的补码就是原码。负数的补码是在其反码的基础上+1。-3的补码:1111
2020-05-20 16:44:40
752
原创 学习笔记:其他进制转换10进制
int aa = 15; //10进制 int bb = 015; //8进制 : 0 int cc = 0x15; //16进制 :0x int dd = 0b1101; //2进制 输出结果: 15 13 21 138进制→10进制按照上述举例,8进制的015转换为10进制得13,过程如下:8¹+(8º*5)=1316进制→10进制同上举例0x15转为10进制得21,过程如下:16¹+(16º*5...
2020-05-18 15:26:49
1407
原创 学习笔记:String字符串的比较与连接
package String类;/**String类的练习,字符串的比较@author Magiskboy字符串比较时要用equals方法 ,不要用==做比较*/public class StringClassTest {public static void main(String[] args) { String s1 = "hello" + "java"; /...
2019-10-30 23:38:59
241
PlaneWar.unitypackage
2019-06-27
Tomcat迁移目录后报异常
2021-03-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人