- 博客(50)
- 收藏
- 关注
原创 重点知识——堆
堆前言一、堆的特点1.二、1.总结前言堆有很多种存储形式,我们的二叉堆二叉堆-就是一颗完全二叉树一、堆的特点a.二叉堆首先是一颗完全二叉树b.二叉堆节点间关系满足一下关系:堆中根节点<=子树中的节点值(最大堆/大根堆)堆中根节点>=子树中的节点值(最小堆/小根堆)注意:在最大堆中,只能保证当前根节点大于等于子树的所有节点(任意子树都满足),节点大小与所处层数无关1.二、1.总结......
2022-08-25 23:53:47
1209
原创 Servlet重点知识
/ 我们只做打印(在 IDEA 的控制台上看到显示),不做响应(浏览器看不到,白屏) // 1. 请求方法 String method = req . getMethod();System . out . println("HTTP 方法: " + method);// 请求头们(本质就是一组 Key-Value;......
2022-08-25 23:48:46
825
原创 网络原理知识
4位版本号(version):指定IP协议的版本,对于IPv4来说,就是4。4位头部长度(header length):IP头部的长度是多少个32bit,也就是 length * 4 的字节数。4bit表示最大的数字是15,因此IP头部最大长度是60字节。8位服务类型(Type Of Service):3位优先权字段(已经弃用),4位TOS字段,和1位保留字段(必须置为0)。4位TOS分别表示:最小延时,最大吞吐量,最高可靠性,最小成本。这四者相互冲突,只能选择一个。对于ssh/telnet这样的应用程序,
2022-06-28 08:12:45
550
1
原创 HTML、CSS
HTML前言一、1.二、1.总结前言一、标准模板<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body></body></html>1.在这里插入代码片二、1.总结......
2022-05-26 15:42:42
1044
原创 线程之间的数据共享——线程通信(面试重点)、synchronized锁
线程通信前言一、线程通信1.1JVM下的内存区域划分1.2 代码中的存储理解二、线程安全2.1线程不安全举例2.2线程不安全原因(重点知识、面试重点)2.2.1站在开发者的角度2.2.2系统角度解释2.2.2.1原子性被破坏2.2.2.2 内存可见性,导致某些线程读取“脏数据”2.2.2.3 代码重排序2.线程安全问题小结总结前言一、线程通信1.1JVM下的内存区域划分1.2 代码中的存储理解二、线程安全2.1线程不安全举例// 演示线程不安全的现象publi.
2022-05-22 14:43:27
1336
原创 进程与线程
进程与线程前言二、概念:进程和线程三、JVM中的线程3.1在代码中创建线程3.2启动线程1.二、1.总结前言·# 一、线程的引入## 1.1理解多个相关概念![在这里插入图片描述].
2022-05-18 18:50:03
271
原创 测试用例-进阶
测试用例前言一、按照测试对象划分1.界面测试/UI测试2.可靠性测试3.容错性测试4.文档测试5.兼容性测试6.易用性7.安装卸载软件的测试8.安全测试9.性能测试10.安全测试二、1.总结前言一、按照测试对象划分1.界面测试/UI测试界面直接和用户交互,界面设计的好坏决定了用户使用软件的直观感受保证界面和UI设计稿的一致性,正确性。测试界面的每一个功能的正确性(从左到下,从右到左)界面的布局排版合理。字体大小,是否斜体,图片布局排版,清晰程度…界面的控件功能是否正常,滚动条,Che.
2022-05-15 12:56:01
440
原创 测试用例-基础
用例前言一、1.测试用例的概念*2.为什么在测试前要涉及测试用例?(面试重点)3.基于需求设计测试用例总结前言一、1.测试用例的概念软件测试人员向被测试系统发起的一组集合,包括测试环境,测试数据,测试步骤,预期结果。*2.为什么在测试前要涉及测试用例?(面试重点)(1)测试用例是测试执行的依据(2)可以复用(回归测试的时候)(3)衡量需求的覆盖率(4)自动化测试的依据(5)借鉴意义,后续测试人员可以借鉴前人写的东西3.基于需求设计测试用例(1)需求是测试人员进行测试的依据(.
2022-05-14 17:16:43
1565
原创 经典二叉树基础进阶LeetCode练习
二叉树代码实现一、二叉树实现1.二、习题1.LeetCode1442.LeetCode1003.LeetCode5724.LeetCode5.LeetCode总结一、二叉树实现1.二、习题1.LeetCode144前序遍历二叉树-返回结果集import java.util.ArrayList;import java.util.List;/** * 递归实现前序遍历 */public class Num144_ProOrder { //创建在外面使得每次递归都存在该集合里 .
2022-04-16 12:19:15
1054
原创 MySQL表的增删查改(进阶)
进阶前言一、新增-插入查询结果二、查询1.聚合查询1.1聚合函数1.2GROUP BY 子句1.3HAVING关键字2.联合查询2.1联合查询-多表查询2.2内连接2.3外连接总结前言一、新增-插入查询结果语法INSERT INTO table_name [(column [, coiumn ...])] SELECT ...案例:创建一张用户表,设计有name姓名、email邮箱、sex性别、mobile手机号字段。需要把已有的学生数据复制进来,可以复制的字段为name、qq_mai.
2022-04-14 19:06:47
1541
原创 数据库——事务
事务前言一、事务 Transaction二、1.总结前言一、事务 Transaction1.指向含义广泛,并不一定是特指数据库中的事务处理2.狭义上:在业务方(开发者)看来,是一个不可再分的业务动作,这个动作可能是一条或者多条SQL语句3.事务的4个特性:ACID**Atomic 原子性:**业务动作对应的SQL应该看作一个整体,不可再分的。针对数据的修改只能是 All 全部 或者 None 没有 。不存在只完成一部分的情况。**Consistency 一致性:**业务方来定义的特性。.
2022-04-11 11:49:02
4102
原创 图书馆系统
图书馆前言一、基础代码1.DButil2.Commands①.BorrowBookCommand②.PutAwaycommand③.PutOffcommend二、代码改进1、通过对象封装关联数据——面向对象思想1.model①book②reader③record2.commands- BorrowBookCommandV22、java中日期相关的类和方法3、带密码的登录认证前言一、基础代码1.DButilpackage com.yuan.util;import com.mysql.jdb.
2022-04-09 19:29:46
333
原创 JDBC——Java数据库连接
JDBC一、概念二、连接1.得到 Connection 对象①.DataSource 的方式②. DriverManager 的方式2.得到语句对象3.带结果的 SQL 语句:select …、show …4.不带结果的 SQL 语句4.1练习5.动态SQL语句6.直接输出自增id一、概念
数据库基本语句前言一、插入语句二、查询语句1、查询2、select后看作表达式3、有null参与的 和 = 与<=>4、排序5、分页6、条件7、%二、1.总结前言MySQL下的数据库语句一、插入语句DROP TABLE IF EXISTS student;CREATE TABLE student ( id INT, sn INT comment '学号', name VARCHAR(20) comment '姓名', -- 注意最后一个不写,号 .
2022-03-31 20:03:48
656
原创 数据库概述
模板前言一、概念1.数据库管理系统2.服务器、客户端3.计算机的三个位面/层次二、1.MySQL下载前言一、概念1.数据库管理系统DateBase Management System (DBMS)比如我们刚才安装的MySQL服务器+客户端目前市场上常见的DBMS:Postgres、SQLSever、Oracle…这些主要是单机场景下ToplingDB、RocksDB…Sqlite(浏览器、手机上)DBMS中有一类2.服务器、客户端服务器(Server)特指一类,用来提供服务.
2022-03-27 12:34:47
1018
原创 软件测试基础
基础前言一、概念1.什么是软件测试?2.软件测试和软件研发区别?3.软件测试和软件调试区别?4.一个优秀的软件测试人员所具备的素质(你为什么选择测试岗位)5.什么是需求?6.测试用例前言一、概念1.什么是软件测试?软件测试就是验证软件测试功能是否满足用户的需求(最终交付的产品是否和用户本来的需求一致;如果不一致则找出不同点)2.软件测试和软件研发区别?技能要求专业度:软件研发:技能的要求专业度高,技能要求专一软件测试:技能要求比较广泛,但是专业度不高3.软件测试和软件调试区别?.
2022-03-24 20:51:31
6813
原创 包装类和集合使用
模板前言一、Object类1.toString方法2.equals方法3.java对Object的扩充二、包装类1.包装类和String类的相互转换三、集合类1.List接口-动态数组2.Set接口-元素去重3.Map接口-关系映射(key、value)总结前言,直到所有的数据都排序完成为止总结...
2022-03-22 21:49:29
1335
原创 String类
String类前言一、String类1.创建字符串的三种方式2.字符串的内存布局3.字符串比较用equals4.字符串的常量池4.1手工入池4.2.总结5.重点:理解字符串的“比可变”性5.1改变大量修改字符(StringBuffer、StringBuilder)6.String < - >char[]的相互转换7.String < - >byte[]的相互转换8.其他常用操作8.1字符串比较8.2字符串查找8.3字符串替换8.4字符串拆分8.5字符串截取8.6其他操作前言.
2022-03-18 19:24:37
613
原创 抽象类与接口
抽象类与接口前言一、抽象类1.抽象类2.补充:模板设计二、接口1、接口原则2.应用场景总结前言知识点回顾-二叉树的元素查找、平衡二分搜索树-AVL(严格平衡),红黑树(非严格平衡)、堆、并查集、字符串-线段树;字典树(Trie)因此,看到logN,就应该联想树结构一、树的基础概念二、二叉树二叉树:每个节点最多两颗子树,节点的度不超过21.
2022-02-21 10:34:35
485
原创 完整双向链表
双向链表前言一、双向链表①.插入1.头插法2.尾插法3.找到前驱节点4.输出5.中间插②.查询1.判断合法性2. get(int index)3.contains(int val)③.修改1.二、1.总结前言单向链表:只能按照一个方向,从前到后双向链表:既可以从前走也可以从后走一、双向链表package seqlist.doublelink;/** * 双链表类 */public class DoubleLinkedList { //当前链表中有效的元素个数 priv.
2022-02-19 23:50:07
575
原创 单链表(Ⅱ)
单链表一、虚拟头节点①.增加②.输出③.删除④.虚拟头节点LeetCode203⑤.LeetCode83⑥.LeetCode821.二、1.总结单链表一、虚拟头节点在链表内部创建一个不存在存储具体元素,只作为链表头Node dummyHead = new Node(-1);所有链表的插入和删除->在中间位置进行①.增加package seqlist;//带头单链表public class SingleLinkedListWithHead { //当前存储的元素个数 ..
2022-02-18 13:39:47
371
原创 时间复杂度和空间复杂度
时间与空间复杂度前言一、时间复杂度1.大O渐进表示法二、空间复杂度1.例题前言算法效率分析分为两种:第一种是时间效率,第二种是空间效率。时间效率被称为时间复杂度,而空间效率被称作空间复杂度。一、时间复杂度1.大O渐进表示法实际中我们计算时间复杂度时,我们其实并不一定要计算精确的执行次数,而只需要大概执行次数,那么这里我们使用大O的渐进表示法。大O符号(Big O notation):是用于描述函数渐进行为的数学符号。推导大O阶方法:1、用常数1取代运行时间中的所有加法常数。2、在修改后的.
2022-01-04 23:50:34
215
原创 类和对象.
类和对象前言一、类和对象1.类二、1.总结前言类和对象:存在即合理编程思想:如何把现实生活问题抽象成代码实现面向对象编程(更符合人类思考问题的方式):Java语言一切皆对象,所有的操作行为被封装在一个个的对象中。面向过程编程:C语言全是函数调用,一个函数就代表一个过程。一、类和对象类:模板,规定了该类所具备的属性和行为对象:类的一个实例比如:人类:类普京:对象类描述了所有对象都具备的一些属性和行为具体的属性值和能表现出来的行为是由具体的对象来表现不同对象之间千差万别,主要.
2021-12-31 17:45:10
688
原创 数组定义与使用
数组数组定义与使用一、数组1.数组初始化2.数组长度的取得和访问元素3.引用与对象的关系关于引用数据类型数据类型位null的情况数组定义与使用一、数组1.数组初始化数组的初始化操作:静态初始化:声明数组同时赋值数据类型[ ] 数组名称 = {元素的内容}int[] arr = {1,3,5};动态初始化:声明时可选赋值数据类型 [] 数组名称 = new 数据类型 [3];int [] arr =new int[3];int [] arr = new int [] {1,3,.
2021-12-08 18:28:48
897
原创 方法的使用及方法递归
1.方法定义:每个方法都表示一种能力或行为方法类似于C语言方法就是一个代码片段,为了此代码能够重复使用,我们将此代码抽象为方法当有循环嵌套和多个分支时,代码的结构变得复杂,不太容易阅读public static 返回值声明 方法名称(参数类型 参数名...){ [return 返回值];}定义一个方法进行两个整数的叠加看一个方法到底有没有返回值取决于这个方法的功能方法的调用:通过主方法调用数据类型 变量 方法名称(参数);若方法没有返回值:使用void 声明返回值类型,且仍然可以
2021-12-08 14:56:06
322
原创 程序逻辑控制及习题应用
程序逻辑控制前言一、多种结构1.顺序结构1.分支结构二、1.总结前言程序逻辑控制:代码的组成方式一、多种结构1.顺序结构按照代码顺序一行行向下执行(单线程场景下)int a = 10;int b = 20;1.分支结构1.if …else …分支a.if(表达式为真){}b. if(表达式为真){//表达式为真执行}else{//表达式为假执行}c.if(){ }else if () { }else if () { }else {//上述所.
2021-12-06 00:31:49
388
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人