![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
知识体系复习
骑龟的狗
菜的抠脚
展开
-
Java学习笔记(十四)
1.单例模式,是一种常用的软件设计模式。通过单例模式可以保证系统中,应用该模式的这个类只有一个实例。即一个类只有一个对象实例。 2.单例模式的实现步骤:【构造方法私有化,使其不能在类的外部通过new来创建对象】、【在该类的内部产生一个唯一的实例化对象】、【定义一个静态方法返回这个唯一对象】。 3.单例设计模式分为:【饿汉单例设计模式:使用类的时候已经将对象创建完毕,不管对象会不会被使用】、【懒汉单例设计模式:等要用的时候才实例化对象】。 4. 多例设计模式:是一种常用的软件设计模式,通过多例模式可原创 2021-03-10 16:49:00 · 119 阅读 · 0 评论 -
Java学习笔记(十三)
1.String类不可变、String类字符串常量对象可以共享、String底层是靠字符数组来实现得,jdk9实现细节是字节数组。 2.构造代码块【类中、方法外】、【每一次调用构造方法创建对象都会执行一次】、【统计创建对象的个数,或者创建对象之前需要执行的代码】。 3.执行顺序:静态代码块 > 构造代码块 > 构造方法。 4.Objects是JDK7新增加的类,Object.equals()方法比较两个对象是否相等【容忍空指针异常】。 5.BigDecimal类表示一个超大的小数,可以解原创 2021-03-08 22:03:43 · 125 阅读 · 0 评论 -
Java学习笔记(十二)
1.设计模式:就是解决问题时的固定思路,也就是代码设计思路经验的总结。 2.模板设计模式:针对某些情况,在父类中指定一个模板,然后根据具体情况,在子类中灵活的具体实现该模板。 3.抽象类体现的就是模板思想,模板是将通用的东西在抽象类中具体的体现,在模板中不能确定的东西定义成抽象方法。 4.final可以用来修饰变量、方法、类。 5.被final修饰的类不能被继承;被final修饰的方法不能被重写;被final修饰的变量会变成一个常量,只能被赋值一次,不能被重复赋值; 6.static表示静态的意思原创 2021-03-08 08:40:47 · 95 阅读 · 0 评论 -
Java学习笔记(十一)
1.面向过程:强调的是过程,必须清楚每一个步骤,按照步骤一步步去实现。 2.面向对象:强调的是对象,无须清楚每一个步骤,只需找到完成功能的对象,让该对象去完成即可。 3.jdk提供了一个Arrays工具类,toString方法可以将数组中的元素按照[元素1,元素2,元素3,...........]的格式拼成字符串。 4.类和对象的关系【类是抽象的,用来描述一类具有共同属性和行为事物的统称、对象是类的一个实例,对象是根据类来创建的】。 5.封装提高了代码的安全性和复用性。 6.构造方法【构造方法名与原创 2021-03-06 13:31:55 · 59 阅读 · 0 评论 -
Java学习笔记(十)
1.ArrayList()构造一个初始容量为10的空列表。 2.ArrayList类中的remove()方法,根据元素删除时,只能删除集合中的第一个元素。 3.git commit -m '备注提交的内容' 4.git reflog可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作); 5.git reset --hard 版本的唯一索引值 重置某一版本 6.创建分支:git branch 分支名;切换分支:git checkout 分支名。 ...原创 2021-03-06 09:12:26 · 67 阅读 · 0 评论 -
Java学习笔记(九)--字符串
1.创建字符串对象的区别对比:当使用双引号创建字符串对象的时候,系统会检查该字符串是否在字符串常量池中存在;通过new关键字创建的字符串对象,每一次new都会申请一个内存空间,虽然内容相同,但是地址值不同。 2.String特点:Java中的所有双引号字符串,都是String类的对象;字符串不可变,它们的值在创建后不可更改;虽然String的值不可改,但是它们可以被共享。 3.遍历字符串:使用charAt(int index)方法;使用toCharArray()方法。 4.StringBu原创 2021-03-04 22:35:27 · 113 阅读 · 1 评论 -
Java学习笔记(八)
1.数组的反转实现 public static void main(String[] args) { int[] array = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9}; int end = array.length - 1; for (int start = 0; start < end; start++,end--) { int temp = array[start];原创 2021-03-04 19:30:38 · 62 阅读 · 1 评论 -
Java学习笔记(七)--位运算
1.位运算:指的是二进制位的运算,先将十进制数转换成二进制后再进行运算;在二进制运算中,1表示true,0表示false。 2.一个数被另一个数异或两次,该数不变【10 ^ 5 ^ 5 = 10】原创 2021-03-04 17:35:31 · 71 阅读 · 1 评论 -
Java学习笔记(六)--进制和原反补
1.十进制--Java中数值默认都是10进制,不需加任何修饰。 2.二进制--数值前面以0b开头,b大小写都可以。 3.八进制--数值前面以0开头。 4.十六进制--数值前面以0x开头,x大小写都可以。 5.书写的时候虽然加入了进制的标识,但是打印在控制台上都是十进制数据。 6.二进制、八进制、十六进制在Java中的表示方法,JDK7版本以后才被支持(包含7)。 7.二进制转八进制:将三个二进制位看为一组,再进行转换。 8.二进制转十六进制:将四个二进制为看为一组,再进行转换。原创 2021-03-04 12:36:43 · 130 阅读 · 2 评论 -
Java学习笔记(五)--数组
1.数组是一种容器,用来存储同种数据类型的多个值。 2.数组定义格式:数据类型 [] 数组名、数据类型 数组名 []。 3.Java中的数组必须先初始化,才能使用。 4.数组在创建完毕后,即使没有赋值,也可以取出,但取出的元素都是默认初始值。 5.Java中内存分配:栈内存【方法运行时,进入的内存,局部变量都存储在这块内存当中】、堆内存【new出来的内容都会进入堆内存,并且会存在地址值】、方法区【字节码文件加载时进入的内存】、本地方法栈【调用操作系统相关资源】、寄存器【交给CPU去使用】。 6原创 2021-03-04 11:17:02 · 105 阅读 · 1 评论 -
Java学习笔记(四)---IDEA快捷键
1.自动生成main方法:psvm+回车 2.快速生成输出语句:sout+回车 3.打开/隐藏目录结构:alt+1。 4.打开/隐藏控制台:alt+4. 5.格式化代码:Ctrl+Alt+L。 6.代码修正提示:Alt+Enter。原创 2021-03-04 10:02:14 · 108 阅读 · 1 评论 -
Java学习笔记(三)
1.switch【case给出的值不能重复;case给出的值只能是常量,不能是变量】 2.switch中的case穿透【如果switch语句中,省略了break语句,就会开始case穿透;当开始case穿透,后续的case不会具有匹配效果,内部的语句都会执行,直到看到break,或者将整体switch语句执行完毕,才会结束;当发现switch语句中,多个case给出的语句体中出现了重复的,就可以考虑用case穿透优化代码】。 3.do ....while 无论循环条件是否满足,都会执行一次循环体。 4原创 2021-03-04 09:50:07 · 54 阅读 · 1 评论 -
Java学习笔记(二)
1.类型转换:隐式转换【(1)取值范围小的数据给取值范围大的类型赋值,可以直接赋值;(2)小的数据类型和大的数据类型运算,小的会提升为大的再进行运算;(3)byte、short、char在运算的时候,不管是否有更高的数据类型,都提升为int,然后进行运算】和强制转换【表示范围大的数值或者变量给另一个表示数据范围小的变量;格式:目标数据类型 变量名 = (目标数据类型)值或者变量】。 2.Java存在常量优化机制【byte a = 3 + 4;这里的3和4是两个常量,会在编译的时候就让3和4相加,然后自动判原创 2021-03-03 17:49:15 · 67 阅读 · 1 评论 -
Java学习笔记(一)
1.网页和服务器没有交互,网站是后台数据通过网页的形式显示出来。 2.跨平台原理:在不同操作系统中,都安装一个与之对应的JVM(Java虚拟机)即可。 3.JVM本身不可以跨平台,允许跨平台的是Java程序。 4.开发Java程序,三个步骤:编写代码;编译代码;运行代码。 5.JRE:指Java运行环境,包括:JVM和Java核心类库。 6.JDK:指Java语言的软件开发工具包,包括:代码的编译工具和运行工具。 7.Path环境变量配置意义:在任何文件夹下,都可以访问bin目录中的javac和原创 2021-03-03 15:33:28 · 65 阅读 · 1 评论