自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

鹿鸣晚

做好每一件想做的事。

  • 博客(29)
  • 收藏
  • 关注

原创 Java学习笔记(三十二)(多态性)

1.多态性的理解可以理解为一个事物的多种形态。2.何为多态性对象的多态性:父类的引用指向子类的对象(或子类的对象赋给父类的引用)举例:Person p = new Man();Object obj = new Date();3.多态性的使用:虚拟方法调用有了对象的多态性以后,我们在编译期,只能调用父类中声明的方法,但在运行期,我们实际执行的是子类重写父类的方法。总结:编译,看左边;运行,看右边。4.多态性的使用前提类的继承关系 方法的重写5.多态...

2021-07-14 16:27:22 109

原创 Java学习笔记(三十一)(子类对象实例化全过程)

1.从结果上看:继承性子类继承父类以后,就获取了父类中声明的属性或方法。 创建子类的对象,在堆空间中,就会加载所父类中声明的属性。2.从过程上看:当我们通过子类的构造器创建子类对象时,我们一定会直接或间接的调用其父类的构造器,进而调用父类的父类的构造器,...直到调用了java.lang.Object类中空参的构造器为止。正因为加载过所的父类的结构,所以才可以看到内存中父类中的结构,子类对象才可以考虑进行调用。图示:3.强调说明:虽然创建子类对象时,调用了...

2021-07-14 16:12:43 125

原创 Java学习笔记(三十)(关键字super)

1.super 关键字可以理解为:父类的2.可以用来调用的结构:属性、方法、构造器3.super调用属性、方法:我们可以在子类的方法或构造器中。通过使用"super.属性"或"super.方法"的方式,显式的调用父类中声明的属性或方法。但是,通常情况下,我们习惯省略"super."。 特殊情况:当子类和父类中定义了同名的属性时,我们要想在子类中调用父类中声明的属性,则必须显式的使用"super.属性"的方式,表明调用的是父类中声明的属性。 特殊情况:当子类重写了父类中的方法以后,我们想.

2021-07-14 15:07:44 120

原创 Java学习笔记(二十五)(构造器)

1.构造器(或构造方法):Constructor构造器的作用:创建对象 初始化对象的信息2.使用说明如果没显式的定义类的构造器的话,则系统默认提供一个空参的构造器 定义构造器的格式:权限修饰符 类名(形参列表){ } 一个类中定义的多个构造器,彼此构成重载 一旦我们显式的定义了类的构造器之后,系统就不再提供默认的空参构造器 一个类中,至少会有一个构造器3.举例//构造器public Person(){ System.out.println("Person().....".

2021-07-14 10:23:40 78

原创 Java学习笔记(二十四)(封装性)

1.为什么要引入封装性?我们程序设计追求“高内聚,低耦合”。 隐藏对象内部的复杂性,只对外公开简单的接口。便于外界调用,从而提高系统的可扩展性、可维护性。通俗的说,把该隐藏的隐藏起来,该暴露的暴露出来。这就是封装性的设计思想。2.问题引入当我们创建一个类的对象以后,我们可以通过"对象.属性"的方式,对对象的属性进行赋值。这里,赋值操作要受到属性的数据类型和存储范围的制约。除此之外,没其他制约条件。但是,在实际问题中,我们往往需要给属性赋值加入额外的限制条件。这个条件就不能在属性声...

2021-07-13 17:19:23 65

原创 Java学习笔记(二十三)(递归方法)

1.定义递归方法:一个方法体内调用它自身。2.如何理解递归方法? 方法递归包含了一种隐式的循环,它会重复执行某段代码,但这种重复执行无须循环控制。 递归一定要向已知方向递归,否则这种递归就变成了无穷递归,类似于死循环。 3.举例// 例1:计算1-n之间所自然数的和 public int getSum(int n) {// 3 if (n == 1) { return 1; } else { return n + getSum(n - 1);.

2021-07-13 16:00:37 66

原创 Java学习笔记(二十二)(Java的值传递机制)

1.针对于方法内变量的赋值举例:System.out.println("***********基本数据类型:****************");int m = 10;int n = m; System.out.println("m = " + m + ", n = " + n); n = 20; System.out.println("m = " + m + ", n = " + n); System.out.println("***********引用数据类型:****

2021-07-13 15:33:43 60

原创 Java学习笔记(二十一)(可变个数形参的方法)

可变个数形参的方法使用说明:1.jdk 5.0新增的内容2.具体使用:2.1 可变个数形参的格式:数据类型 ... 变量名 2.2 当调用可变个数形参的方法时,传入的参数个数可以是:0个,1个,2个,。。。 2.3 可变个数形参的方法与本类中方法名相同,形参不同的方法之间构成重载 2.4 可变个数形参的方法与本类中方法名相同,形参类型也相同的数组之间不构成重载。换句话说,二者不能共存。 2.5 可变个数形参在方法的形参中,必须声明在末尾 2.6 可变个数形参在方法的形参中,最多只.

2021-01-29 18:36:22 116

原创 Java学习笔记(二十)(方法的重载)

方法的重载1.方法的重载的概念定义:在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。总结:"两同一不同":同一个类、相同方法名;参数列表不同:参数个数不同,参数类型不同2.构成重载的举例举例一:Arrays类中重载的sort() / binarySearch();PrintStream中的println()举例二: //如下的4个方法构成了重载 public void getSum(int i,int j){ Syste..

2021-01-29 17:23:33 111 1

原创 Java学习笔记(十九)(return关键字)

return关键字1.使用范围:使用在方法体中2.作用① 结束方法 ② 针对于返回值类型的方法,使用"return 数据"方法返回所要的数据。3.注意点return关键字后面不可以声明执行语句

2021-01-29 16:47:17 101

原创 Java学习笔记(十八)(方法)

方法方法:描述类应该具的功能。比如:Math类:sqrt()\random() \... Scanner类:nextXxx() ... Arrays类:sort() \ binarySearch() \ toString() \ equals() \ ...1.举例 public void eat(){} public void sleep(int hour){} public String getName(){} ...

2021-01-29 16:34:11 107

原创 Java学习笔记(十六)(JVM内存结构)

JVM内存结构编译完源程序以后,生成一个或多个字节码文件。我们使用JVM中的类的加载器和解释器对生成的字节码文件进行解释运行。意味着,需要将字节码文件对应的类加载到内存中,涉及到内存解析。虚拟机栈,即为平时提到的栈结构。我们将局部变量存储在栈结构中堆,我们将new出来的结构(比如:数组、对象)加载在对空间中。补充:对象的属性(非static的)加载在堆空间中。方法区:类的加载信息、常量池、静态域。...

2021-01-29 03:36:11 76

原创 Java学习笔记(十四)(数组常见的异常)

数组的常见异常1.数组角标越界异常:ArrayIndexOutOfBoundsException int[] arr = new int[]{1,2,3,4,5}; for(int i = 0;i <= arr.length;i++){ System.out.println(arr[i]); } System.out.println(arr[-2]); System.out.println("hello");2.空指针异常:Nu

2021-01-29 01:35:21 93

原创 Java学习笔记(十三)(Arrays工具类的使用)

Arrays工具类的使用1.理解:① 定义在java.util包下。② Arrays:提供了很多操作数组的方法。2.使用: //1.boolean equals(int[] a,int[] b):判断两个数组是否相等。 int[] arr1 = new int[]{1,2,3,4}; int[] arr2 = new int[]{1,3,2,4}; boolean isEquals = Arrays.equals(arr1, arr2); System.out

2021-01-29 01:32:45 96

原创 Java学习笔记(十二)(数组常见的算法)

数组的常见算法目录1.1、杨辉三角(二维数组)1.2、面试题1.3、针对于数值型的数组1.4、数组的赋值内存解析1.5、数组的复制内存解析1.1、杨辉三角(二维数组)public class YangHui { public static void main(String[] args) { // 1、声明并初始化二维数组 int[][] yangHui = new int[10][]; // 2、给数组的元素赋值 for (int i = 0; i &

2021-01-28 23:55:52 90

原创 Java学习笔记(十一)(数组)

数组1、数组的概述数组的理解:数组(Array),是多个相同类型数据一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。 数组相关的概念:数组名、元素、角标、下标、索引、数组的长度、元素的个数 数组的特点:数组是有序排列的 数组属于引用数据类型的变量。数组的元素,既可以是基本数据类型,也可以是引用数据类型 创建数组对象会在内存中开辟一整块连续的空间 数组的长度一旦确定,就不能修改。数组的分类:照维数:一维数组、二维数组、。。。 照数组元素的类型:基本数据

2021-01-27 23:19:32 82

原创 Java学习笔记(九)(流程控制)

流程控制目录1.分支结构1.1.if-else条件判断结构 1.2.switch-case选择结构2.循环结构2.1.循环结构的四要素2.2.三种循环结构3.“无限循环”结构: while(true) 或 for(;;)4.嵌套循环4.1.嵌套循环:将一个循环结构A声明在另一个循环结构B的循环体中,就构成了嵌套循环4.2.说明:1.分支结构1.1if-else条件判断结构//结构一:if(条件表达式){ 执行表达式}...

2021-01-17 22:33:53 50

原创 Java学习笔记(七)(进制)

进制目录1.编程中涉及的进制及表示方式2.二进制的使用说明2.1计算机底层的存储方式:所有数字在计算机底层都以二进制形式存在。2.2二进制数据的存储方式:所有的数值,不管正负,底层都以补码的方式存储。2.3原码、反码、补码的说明:3.进制间的转换3.1图示:3.2 抽时间详细解释如何转换1.编程中涉及的进制及表示方式2.二进制的使用说明2.1计算机底层的存储方式:所有数字在计算机底层都以二进制形式存在。2.2二进制数据的存储方式:所有的数值,不管正负,

2021-01-17 17:30:24 44

原创 代码整洁之道

一、有意义的命名1.介绍软件中随处可见命名。我们给变量、函数、参数、类和包命名。我们给源代码及源代码所在目录命名。 这么多命名要做,不妨做好它。下文列出了取个好名字的几条简单规则。2.名副其实,见名知意 变量名太随意,haha、list1、ok、theList 这些都没啥意义 3.避免误导包含List、import、java等类名、关键字或特殊字; 字母o与数字0,字母l与数字1等 提防使用不同之处较小的名称。比如:XYZControllerForEfficient..

2021-01-17 15:49:39 96

原创 Java学习笔记(五)(关键字与标识符)

基本语法关键字与标识符1.java关键字的使用定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词) 特点:关键字中所字母都为小写具体哪些关键字:2.保留字:现Java版本尚未使用,但以后版本可能会作为关键字使用。具体哪些保留字:goto 、const注意:自己命名标识符时要避免使用这些保留字3.标识符的使用定义:凡是自己可以起名字的地方都叫标识符。 涉及到的结构:包名、类名、接口名、变量名、方法名、常量名 规则:(必须要遵守。否则,编译不通过)..

2021-01-17 15:37:05 82

原创 Java学习笔记(四)(注释与Api文档等)

注释与API文档等1.注释:Comment分类:单行注释:// 多行注释:/* */ 文档注释:/** */作用:对所写的程序进行解释说明,增强可读性。方便自己,方便别人 调试所写的代码特点:单行注释和多行注释,注释了的内容不参与编译。换句话说,编译以后生成的.class结尾的字节码文件中不包含注释掉的信息 注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档。 多行注释不可以嵌套使用2.Java API 文档...

2021-01-17 15:26:37 52

原创 Java学习笔记(三)(开发初体验)

1.开发体验——HelloWorld1.1 编写创建一个java源文件:HelloWorld.javaclass HelloChina{ public static void main(String[] args){ System.out.println("Hello,World!"); }}1.2 编译javac HelloWorld.java1.3 运行java HelloChina2.常见问题的解决3.总结第一个程序(重点)3.1..

2021-01-17 15:04:36 99

原创 Java学习笔记(二)(开发环境搭建)

开发环境的搭建(重点)1.1 JDK、JRE、JVM的关系1.2 JDK的下载、安装下载:官网,github安装:傻瓜式安装:JDK 、JRE 注意问题:安装软件的路径中不能包含中文、空格。1.3 path环境变量的配置1.3.1 为什么配置path环境变量?path环境变量:windows操作系统执行命令时所要搜寻的路径 为什么要配置path:希望java的开发工具(javac.exe,java.exe)在任何的文件路径下都可以执行成 功。1.3.2 ...

2021-01-17 14:55:11 35

原创 动态分区分配算法

目录一、引入二、首次适应算法(First Fit)三、最佳适应算法(Best Fit)四、最坏适应算法(Worst Fit)五、邻近适应算法(Next Fit)六、总结一、引入动态分区分配算法:在动态 分配分区的方式中,当有很多的空闲分区都能满足需求时,应该选择哪个分区进行分配?二、首次适应算法(First Fit)算法思想:每次都从低地址开始查找,找到第一个能满足大小的分区。算法实现:空闲分区以地址递增的次序排列。每次分配内存时顺序查找空闲分区链(..

2020-10-23 18:28:15 2212

翻译 Java学习笔记(一)(Java语言概述)

Java概述什么是Java?Java是Sun Microsystems于1995年首次发布的一种编程语言和计算平台。编程语言还比较好理解,那么什么是计算平台呢?计算平台是电脑中运行应用程序(软件)的环境,包括硬件环境和软件环境。一般平台包括一台电脑的硬件体系结构、操作系统、运行时库。Java是快速、安全和可靠的。从笔记本电脑到数据中心,从游戏机到科学超级计算机,从手机到互联网,Java无处不在!Java主要分为三个版本JavaSE(J2SE)(Java2 Platform Stand

2020-10-23 14:36:35 80

原创 超详细十大经典排序算法总结(C语言实现)

0、算法概述0.1、算法分类十种常见的算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。比较和非比较的区别:常见的快速排序、归并排序、堆排序、冒泡排序等属于比较排序。在排序的最终结果里,元素之间的次序依赖于它们之间的比较。每个数都必须和其他数进行比较,才能确定自己的位置..

2020-10-14 11:09:49 1675

原创 操作系统处理器调度算法及其特点

在操作系统中存在多种调度算法,其中有的调度算法适用于作业调度,有的调度算法适用于进程调度,有的调度算法两者都适用。下面介绍几种常用的调度算法。1、先来先服务调度算法(FCFS)定义:FCFS调度算法是一种最简单的算法,该算法既可用于作业调度也可用于进程调度,其基本思想是按照进程进入就绪队列的先后次序来分配 处理器。FCFS调度算法属于不可剥夺算法。从表面上看,它对所有作业都是公平的,但若一个长作业先到达系统,就会使后面许多短作业等待很长时间,因此它不能作为分时系统和实时系统的主要调度策略。...

2020-10-10 23:16:58 2783

原创 进程的状态与转换(一张图搞定)

进程的状态与转换

2020-10-10 20:26:07 2907

原创 Java冒泡排序(详解!!!)

Java冒泡排序一、算法原理二、算法步骤三、代码实现一、算法原理例如我们有一个数组,我们如果需要把较大的元素排在后面,把小的元素排在前面,那么需要从头部到尾开始比较操作:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。二、算法步骤有一个数组:9, 1, 2, 0, 5,

2020-08-31 14:47:19 1230

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除