算法之链表排序 1.链表排序简介在数组排序中,常见的排序算法有:冒泡,选择,插入,快速排序,归并,希尔,堆,计数,桶,基数排序等 而对于链表排序而言,因为链表不支持随机访问,访问链表后面的节点只能依靠next指针从头部顺序遍历,所以相对于数组排序问题来说,链表排序问题会更加复杂一点。 下面来总结一下适合链表排序与不适合链表排序的算法: 适合链表的排序算法:冒泡,选择,插入,归并,快速,计数,桶,基数排序 不 2020-08-08 算法 #算法
乐观锁与悲观锁 悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。 传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。Java中synchronized和ReentrantLock等独占锁就是悲观锁思想 2020-03-29 #锁
000-Java JDK JRE OpenJDK 的区别 1、JRE和JDK 的区别 JVM(Java Virtual Machine),Java虚拟机。 JRE(Java Runtime Environment),Java运行环境,包含了JVM和Java的核心类库(Java API)。 JDK(Java Development Kit),Java开发工具,包含了JRE和开发工具。 总结:我们只需安装JDK即可,它包含了java的运行环境和虚拟机 2020-02-02 Java #Java
000-Java 关键字 Java 的基本数据类型有 8 种,分别是: 整数型(4种):byte、short、int、long、 浮点型(2种):float、double 字符类型(1种):char 布尔类型(1种):boolean 引用数据类型(3种)。引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时候被指定为一个特定的类型,声明之后不能改变。 引用数据类型包括:类(对象)、接口、数组。 所有引用类 2020-02-02 Java #Java
000-Java 变量名 parameter 参数argument 参数variable 变量Attribute 属性,比如dom树某一节点的属性propety 特性,财产 create 创建build 建造init 初始化 2020-02-02 Java #Java
000-Java 访问修饰符-访问权限 简介Java 访问权限修饰符有四个:public 、protected 、默认修饰符 、private 修饰符 public protected 默认修饰符 private 类 √ √ √ √ 同包 √ √ √ × 不同包的子类 √ √ × × 不同包的非子类 √ × × × public:所修饰的类、变量、方法,在内外包均具有访问权限,Public(公有)访问权限较 2020-02-02 Java #Java
000-Java 非访问修饰符 static 修饰符static 修饰符用于修饰类的成员(变量和方法)。被 static 修饰的成员被类的所有对象共享。可以通过类名调用,也可以通过对象名调用,推荐使用类名调用。 静态变量(也称为类变量):static 关键字用来声明独立于对象的静态变量。无论一个类实例化多少对象,它的静态变量只有一份拷贝。局部变量不能被声明为 static 变量。 静态方法:static 关键字用来声明独立于 2020-02-02 Java #Java
001-Java基础语法(一) 1. Java概述1.1 Java语言发展史(了解)语言:人与人交流沟通的表达方式 计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言 Java语言是美国Sun公司(Stanford University Network)在1995年推出的计算机语言 Java之父:詹姆斯·高斯林(James Gosling) 2009年,Sun公司被甲骨文公司收购,所以我们现在访问oracle官网即可:ht 2020-02-02 Java #Java
002-Java基础语法(二) 1. 运算符1.1 算术运算符(理解)1.1.1 运算符和表达式 运算符:对常量或者变量进行操作的符号。 表达式:用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式。 不同运算符连接的表达式体现的是不同类型的表达式。 举例说明: 123int a = 10;int b = 20;int c = a + b; +:是运算符,并且是算术运算符。 a + b:是表达式,由于+ 2020-02-02 Java #Java
003-流程控制语句 1. 流程控制语句(应用)在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。所以,我们必须清楚每条语句的执行流程。而且,很多时候要通过控制语句的执行顺序来实现我们想要的功能。 1.1 流程控制语句分类 顺序结构 分支结构(if, switch) 循环结构(for, while, do…while) 2. 顺序结构顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照 2020-02-02 Java #Java
004-数组 1.数组1.1什么是数组【理解】数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致。 1.2数组定义格式【记忆】1.2.1第一种数据类型[] 数组名 示例: 123int[] arr; double[] arr; char[] arr; 1.2.2第二种数据类型 数组名[] 示例: 123int arr[];double arr[];char arr[]; 2020-02-02 Java #Java
005-方法 1. 方法概述方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集 注意: 方法必须先创建才可以使用,该过程成为方法定义 方法创建后并不是直接可以运行的,需要手动使用后,才执行,该过程成为方法调用 2. 方法的定义和调用2.1 无参数方法定义和调用(掌握)定义格式: 123public static void 方法名 ( ) { // 方法 2020-02-02 Java #Java
006-Debug&基础练习 1.Debug模式1.1什么是Debug模式【理解】是供程序员使用的程序调试工具,它可以用于查看程序的执行流程,也可以用于追踪程序执行过程来调试程序。 1.2Debug模式操作流程【应用】 如何加断点 选择要设置断点的代码行,在行号的区域后面单击鼠标左键即可 如何运行加了断点的程序 在代码区域右键Debug执行 看哪里 看Debugger窗口 看Console窗口 点 2020-02-02 Java #Java
007-面向对象基础&封装 1. 类和对象类是java 程序的基本组成单位 1.1 类和对象的理解【理解】客观存在的事物皆为对象,所以我们也常常说万物皆对象。 类 类的理解 类是对现实生活中一类具有共同属性和行为的事物的抽象 类是对象的数据类型,类是具有相同属性和行为的一组对象的集合 简单理解:类就是对现实事物的一种描述 类的组成 属性:指事物的特征,例如:手机事物(品牌,价格,尺寸) 行为:指事物能执行的操作,例如 2020-02-02 Java #Java
008-常用API 1.API1.1API概述【理解】 什么是API API (Application Programming Interface) :应用程序编程接口 java中的API 指的就是 JDK 中提供的各种功能的 Java 类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,我们可以通过帮助文档来学习这些API如何使用。 1.2如何使用API帮助文档【 2020-02-02 Java #Java
009-ArrayList集合&学生管理系统 1.ArrayList1.1ArrayList类概述【理解】 什么是集合 提供一种存储空间可变的存储模型,存储的数据容量可以发生改变 ArrayList集合的特点 底层是数组实现的,长度可以变化 泛型的使用 用于约束集合中存储元素的数据类型 1.2ArrayList类常用方法【应用】1.2.1构造方法 方法名 说明 public ArrayList() 创建一个空的集合对象 2020-02-02 Java #Java
010-继承&修饰符 1. 继承1.1 继承的实现(掌握) 继承的概念 继承是面向对象三大特征之一,可以使得子类具有父类的属性和方法,还可以在子类中重新定义,以及追加属性和方法 实现继承的格式 继承通过extends实现 格式:public class 子类 extends 父类 { } 举例:public class Dog extends Animal { } 父类:又叫基类、超类 子类:又叫派生类 2020-02-02 Java #Java
011-多态&抽象类&接口 1.多态1.1多态的概述(记忆) 什么是多态 同一个对象,在不同时刻表现出来的不同形态 多态的前提 要有继承或实现关系 要有方法的重写 要有父类引用指向子类对象 1.2多态中的成员访问特点(记忆) 成员访问特点 成员变量:编译看父类,运行看父类 成员方法:编译看父类,运行看子类 为什么成员变量和成员方法的访问不一样呢? 因为成员方法有重写,成员变量没有 代码演示 动物类 1 2020-02-02 Java #Java
012-内部类&API 1. 参数传递1.1 类名作为形参和返回值(应用) 1、类名作为方法的形参 方法的形参是类名,其实需要的是该类的对象 实际传递的是该对象的【地址值】 2、类名作为方法的返回值 方法的返回值是类名,其实返回的是该类的对象 实际传递的,也是该对象的【地址值】 示例代码: 12345678910111213141516171819202122232425class Cat { pub 2020-02-02 Java #Java
013-包装类&异常 1.包装类1.1基本类型包装类(记忆) 基本类型包装类的作用 将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据 常用的操作之一:用于基本数据类型与字符串之间的转换 基本类型对应的包装类 基本数据类型 包装类 byte Byte short Short int Integer long Long float Float double D 2020-02-02 Java #Java