自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (2)
  • 收藏
  • 关注

原创 音乐播放器测试用例

针对音乐播放器项目的测试用例

2022-09-01 15:34:19 1092 1

原创 MySQL自我复习

常见sql语句

2022-08-10 22:34:12 163

原创 java自我复习之二叉树

1.NLR前序遍历(PreorderTraversal亦称先序遍历)——访问根结点—>根的左子树—>根的右子树。3.LRN后序遍历(PostorderTraversal)——根的左子树—>根的右子树—>根节点。2.LNR中序遍历(InorderTraversal)——根的左子树—>根节点—>根的右子树。2.若规定只有根节点的二叉树的深度为1,则深度为K的二叉树的最大结点数是(k>=0)1.若规定根节点的层数为1,则一棵非空二叉树的第i层上最多有(i>0)个结点。...

2022-07-30 22:05:12 159

原创 java自我复习之栈和队列

栈一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。压栈栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。队列只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(FirstInFirstOut)入队列进行插入操作的一端称为队尾(Tail/Rear)出队列进行删除操作的一端称为队头(Head/Front)队列也可以数组和链表的结构实现,使用链表的结构实现更优一些,因为如果使用数组的结构,出队列在数组头上出数据,效率会比较低。...

2022-07-24 17:50:29 105

原创 JVM初始

Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机(JVM)是实现这一特点的关键。JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。之前市场上主要有三种主流的JVM,Sun公司的HotSpotBEA公司的JRockitIBM公司的J9 JVM后来Sun公司和BEA公司都被oracle收购,并且oracle采用Sun公司的HotSpot和BEA公司的JRockit两个JVM中精华退出了 jdk1.8 的JVM。下图是

2022-07-21 21:32:26 79

原创 json和ajax的使用

JSON全称JavaScript Object Notation,即JavaScript对象标记法。JSON是一种轻量级、基于文本、可读的格式。虽然全称中带有JavaScript,但只是说明其语法规则是参考JavaScript的,而不是说只能用于JavaScript。JSON格式具有长时间的稳定性,不存在任何兼容性问题,并且与XML比较,JSON文件更小、读写更快1.1JSON的作用JSON是存储和交换文本的语法,当数据在浏览器与服务器之间进行交换时,这些数据只能是文本,JSON属于文本,并且我们能够把

2022-06-29 20:39:46 252

原创 Serevlt初识

setvelt是一种实现动态页面技术,是一组Tomcat提供给程序员的API,帮助程序员简单高效的开发在 Servlet 的代码中我们并没有写 main 方法, 那么对应的 doGet 代码是如何被调用的呢? 响应又是如何返回给浏览器的?Tomcat 的定位我们自己的实现是在 Tomcat 基础上运行的。当浏览器给服务器发送请求的时候, Tomcat 作为 HTTP 服务器, 就可以接收到这个请求.HTTP 协议作为一个应用层协议, 需要底层协议栈来支持工作. 如下图所示:我们写 Servlet

2022-06-24 17:49:52 73

原创 HTTP协议

HTTP初始

2022-06-06 16:40:50 59 1

原创 网络原理之TCP协议特性

TCP协议:TCP,即Transmission Control Protocol,传输控制协议。人如其名,要对数据的传输进行一个详细的 控制。TCP是相对可靠并不是绝对的安全。TCP协议格式段6位标志位: URG:紧急指针是否有效 ACK:确认号是否有效 PSH:提示接收端应用程序立刻从TCP缓冲区把数据读走 RST:对方要求重新建立连接;我们把携带RST标识的称为复位报文段 SYN:请求建立连接;我们把携带SYN标识的称为同步报文段 FIN:通知对方,本端要关闭了,我们称携带FIN标识的为

2022-05-17 16:37:40 290

原创 什么是线程安全

一、线程安全线程安全指的是内存的安全,在每个进程的内存空间中都会有一块特殊的公共区域,通常称为堆(内存)。进程内的所有线程都可以访问到该区域,这就是造成问题的潜在原因。所以线程安全指的是,在堆内存中的数据由于可以被任何线程访问到,在没有限制的情况下存在被意外修改的风险。即堆内存空间在没有保护机制的情况下,对多线程来说是不安全的地方,因为你放进去的数据,可能被别的线程“破坏”。二、如何实现线程安全(线程同步)?1.使用synchronized 关键字 同步方法2.使用synchronize

2022-05-12 18:49:04 8607 1

原创 Java—synchronized

1 synchronized 的特性互斥 synchronized 会起到互斥效果, 某个线程执行到某个对象的 synchronized 中时, 其他线程如果也执行到 同一个对象 synchronized 就会阻塞等待. 进入 synchronized 修饰的代码块, 相当于 加锁 退出 synchronized 修饰的代码块, 相当于 解锁可以粗略理解成, 每个对象在内存中存储的时候, 都存有一块内存表示当前的 "锁定" 状态(类似于厕 所的 "有人/无人"). 如果当前是 "无人" 状态, 那

2022-05-04 17:53:42 521

原创 进程和线程

 进程  我们都知道计算机的核心是CPU,它承担了所有的计算任务,而操作系统是计算机的管理者,它负责任务的调度,资源的分配和管理,统领整个计算机硬件;应用程序是具有某种功能的程序,程序是运行于操作系统之上的。  进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。进程是一种抽象的概念,从来没有统一的标准定义。进程一般由程序,数据集合和进程控制块三部分组成。程序用于描述进程要完成的功能,是控制进程执行的指令集

2022-04-20 15:31:34 60

原创 CPU的基本工作流程

CPU的内部结构1、算数逻辑单元ALUALU是运算器的核心,它是以全加器为基础,铺之以以为寄存器及相应控制逻辑组合而成的电路,在控制信号的作用下可以完成加、减、乘、除四则运算和各种逻辑运算,就像刚才提到的。这里就相当于工厂中的生产线,负责运算数据。2、寄存器组RsRs实质上是CPU中暂时存放数据的地方,里面保存着那些等待处理的数据,或已经处理过的数据,CPU访问寄存器所用的时间要比访问内存的时间短,采用寄存器可以减少CPU的访问内存次数,从而提高了CPU的工作速度,但是因为受到芯片面积和集成

2022-04-20 15:23:27 4575

原创 算法—分治法

1 分治法的设计思想分而治之算法的设计思想是,将一个难以解决的大问题,分割成几个规模较小的相似问题,以便于各个击破,分而治之。分治法算法思想如下:(1) 将一个问题划分为同一类型的若干子问题,子问题最好规模相同。(2) 对这些子问题求解(一般使用递归方法,但在问题规模足够小时,有时也会利用另一个算法)。(3) 有必要的话,合并这些子问题的解,以得到原始问题的答案。当子问题足够大时,需要递归求解时,我们称之为递归情况(Recursive Case)。当子问题变得足够小,不再需要递归时,表示递归

2022-04-17 21:04:57 119

原创 MySQL事务和索引知识点

事务1.什么是事务?事务指逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部失败。 在不同的环境中,都可以有事务。对应在数据库中,就是数据库事务。事务的诞生目的:为了把若干个独立的操作打包成一个整体。2.事务的四个基本特征事务的四个特性是原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability),简称ACID。原子性 :事务的原子性是指事务必须是一个原子的操作序列单元。事务中包含的各项操作在一次

2022-04-11 17:13:41 91

原创 JDBC连接套路

JDBC,即Java Database Connectivity,java数据库连接。是一种用于执行SQL语句的Java API,它是 Java中的数据库连接规范。这个API由 java.sql.*,javax.sql.* 包中的一些类和接口组成,它为Java 开JDBC优势: Java语言访问数据库操作完全面向抽象接口编程 开发数据库应用不用限定在特定数据库厂商的API 程序的可移植性大大增强发人员操作数据库提供了一个标准的API,可以为多种关系数据库提供统一访问。JDBC的使用1.如何得到con

2022-04-08 16:03:46 867

原创 MySQL表的增删改查

1创建表案例:CREATE TABLE exam_result ( id INT, name VARCHAR(20), chinese DECIMAL(3,1), math DECIMAL(3,1), english DECIMAL(3,1));结果:成功创建表2 新增案例:可以使用单行数据+全列插入 也可以使用多行数据+指定列插入INSERT INTO exam_result (id,name, chinese, math, english) VALUES

2022-03-30 16:33:07 818

原创 Java反射

一 定义java反射机制是在运行状态中,对于任意一个类,都能知道这个类的所有属性和方法;对于任意调动一个对象,都能够调用它的任意方法和属性,既然能够拿到那么,我们就有可以修改部分类型信息;这种动态获取信息以及动态调用对象方法的功能称为Java的反射。二 反射相关的类类名 用途 Class类 代表类的实体,在运行的java应用程序中表示类的接口 Field类 代表类的成员属性/类的属性 Method类 代表类的方法 Const

2022-03-25 16:19:47 60 1

原创 七大排序(三)(希尔排序,归并排序)

希尔排序希尔排序(Shell Sort)是插入排序的一种,它是针对直接插入排序算法的改进。希尔排序又称缩小增量排序,因 DL.Shell 于 1959 年提出而得名。它通过比较相距一定间隔的元素来进行,各趟比较所用的距离随着算法的进行而减小,直到只比较相邻元素的最后一趟排序为止。二、适用说明希尔排序时间复杂度是O(n^(1.3-2)),空间复杂度为常数阶O(1)。希尔排序没有时间复杂度为O(n(logn))的快速排序算法快 ,因此对中等大小规模表现良好,但对规模非常大的数据排序不...

2022-03-21 11:43:25 587 1

原创 七大排序(二)(快速排序及二路快速排序)

快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要 Ο(nlogn) 次比较。在最坏状况下则需要 Ο(n2) 次比较,但这种状况并不常见。事实上,快速排序通常明显比其他 Ο(nlogn) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。快速排序使用分治法(Divide and conquer)策略来把一个串行(list)分为两个子串行(sub-lists)。快速排序又是一种分而治之思想在排序算法上的典型应用。本质上来看,快速排序应

2022-03-20 16:49:36 338 3

原创 七大排序(一)(冒泡,选择,插入)

一 冒泡排序冒泡排序是一种简单的排序算法,它也是一种稳定排序算法。其实现原理是重复扫描待排序序列,并比较每一对相邻的元素,当该对元素顺序不正确时进行交换。一直重复这个过程,直到没有任何两个相邻元素可以交换,就表明完成了排序。一般情况下,称某个排序算法稳定,指的是当待排序序列中有相同的元素时,它们的相对位置在排序前后不会发生改变。假设待排序序列为 (5,1,4,2,8),如果采用冒泡排序对其进行升序(由小到大)排序,则整个排序过程如下所示:1) 第一轮排序,此时整个序列中的元素都位于待排序序

2022-03-18 17:51:43 78

原创 二分搜索树

一、概念及其介绍二分搜索树(英语:Binary Search Tree),也称为 二叉查找树 、二叉搜索树 、有序二叉树或排序二叉树。满足以下几个条件:若它的左子树不为空,左子树上所有节点的值都小于它的根节点。 若它的右子树不为空,右子树上所有的节点的值都大于它的根节点。它的左、右子树也都是二分搜索树。如下图所示:二、适用说明二分搜索树有着高效的插入、删除、查询操作。平均时间的时间复杂度为 O(log n),最差情况为 O(n)。二分搜索树与堆不同,不一定是完全二叉树,底层不

2022-03-17 14:28:38 195

原创 哈希表的实现

哈希表可以表述为,是一种可以根据关键字快速查询数据的数据结构目录一. 哈希表有哪些优点?二. 实现哈希表1. 哈希表原理2. 实现简单的哈希表3. 哈希表的代码实现一. 哈希表有哪些优点?不论哈希表中数据有多少,增加,删除,改写数据的复杂度平均都是O(1),效率非常高二. 实现哈希表1. 哈希表原理如果说每一个数据它都对应着一个固定的位置,那我们查找特定一个数据时,就可以直接查看这个数据对应的位置是否存在数据。一个形象的例子就是学生在教室中的位置,开学的时

2022-03-14 17:27:51 998 1

原创 Map和Set

map和set是专门用来搜索的容器或者数据结构,其搜索的效率与具体的实例化有关。一 Map的使用:map是一个接口类,该类没有继承自collection,该类中存储的是<k,v>结构的键值对,并且K一定是唯一的,不能够重复的。map是一个接口不能实例化,如果要实例化对象只能实例化其具体实现的类Treemap活着Hashmap;map中存放的键值对是唯一的,value是可以修改的;在map中存放键值对时,key不能为空,否则就会抛出NullPointerExption异常,但v

2022-03-12 16:56:18 320

原创 优先级队列堆(heap)

使用数组保存二叉树结构,方式即将二叉树层序遍历放在数组中最大堆的实现:package datastructure.heap;import javax.swing.tree.TreeNode;import java.util.ArrayList;import java.util.LinkedList;import java.util.List;import java.util.NoSuchElementException;public class MaxHeap { List

2022-03-11 17:03:44 142

原创 二叉树的遍历

遍历:按照一定的顺序访问(可以是打印节点值,可以是计算节点个数)这个集合中的所有元素做到不重漏。二叉树的三种遍历实现的代码:package datastructure.bin_tree;public class MyBinTree { private static class TreeNode<E> { E val; TreeNode left; TreeNode right; public TreeN.

2022-03-10 17:22:32 284

原创 栈【数据结构】

1 概念栈是一种特殊的线性表,其只允许在固定的一端进行插入和删除操作,进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的元素遵循先进后出的原则。2 利用顺序表来实现栈...

2022-03-10 15:57:43 169

原创 队列的实现

栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行插入的一端称为栈顶,而另一端称为栈底部。栈中的元素遵循后进先出的原则(LIFO)无论哪一种栈他都需要入队(offr)出队(poll)返回队首元素(peek)因此应该设计队列为借口。具体实现:...

2022-03-10 15:45:04 54

原创 java-接口

目录一,抽象类1,什么是抽象类2,抽象类的作用二,接口1,什么是接口一,抽象类1,什么是抽象类在进入接口之前我们有必要知道什么是抽象类,Java语言中,用abstract 关键字来修饰一个类时,这个类叫作抽象类。抽象类是它的所有子类的公共属性的集合,是包含一个或多个抽象方法的类。抽象类可以看作是对类的进一步抽象。在面向对象领域,抽象类主要用来进行类型隐藏。、abstract class A{ abstract public viod fun();}

2022-01-21 19:19:24 264

原创 面向对象编程

目录一,继承二,多态1,向上转型2,方法重写3,理解多态一,继承代码中创建类,主要是抽象的实现现实中一些事物所包含的一些属性和方法,但是有时候客观事物之间也会存在一些关联关系,那么在表示类和对象之间也会存在一些关联联系。基本语法class 子类 extends 父类{}使用extens关键字来,完成子类对父类的一个继承关系在java中一个子类只能继承一个父类,这也是java和c++的一个特殊的地方子类会继承法所有public的方法和字段。对于父类的p

2022-01-21 18:49:25 262

原创 java链表之虚拟头结点

链表操作中,可以使用原链表来直接进行删除操作,也可以设置一个虚拟头结点在进行删除操作,但是在原来链表上操作要考虑待删除节点是不是头节点的问题,而当我们给链表中加上了一个虚拟头结点后头结点也就有了一个虚拟出来的前驱,这样我们队链表的删除就简单的多了。public class SingleListWithHead { private int size; // 添加虚拟头结点 private Node dummyhead=new Node(-1); //添加元素

2021-12-11 14:02:23 1215

原创 java链表

链表是一种物理存储上的非连续存储结构,数据元素的逻辑是通过链表中的引用链接次序实现的,在这里整理了一线单链表的增删改查。package seqList;public class SingleLinkList { private int size; private Node head; class Node{ int val; Node next; public Node(int val){ this.

2021-12-01 20:23:07 480 1

原创 java顺序表

顺序表是基于数组的线性表。在java中基本的数组问题:数组的长度是固定的,声明后只能存放固定的长度的数值,而顺序表是动态数组可以根据数据的大小来调整数组的大小。import java.util.Arrays;public class MyArray { private int[]data; private int size; public MyArray(){ data=new int[10]; } public MyArray(int ca

2021-11-27 18:52:27 637 1

原创 java 类和对象

一,什么是面向对象?、java是基于面向对象的,关注的是对象,是将一个事情拆分成不同的对象,靠对象之间的交互完成。面向过程注重的是过程,在整个过程所涉及的行为,就是功能。面向对象注重的是对象,也就是参与过程所设计的主题。是通过逻辑将一个个功能实现连接起来。【面向对象的概念】面向对象是思考问题的一种思考方式,是一种思想。面向对象的好处:将复杂的事情变得简单,只需要面对一个对象就行。二,类和类的实例化类就是一类对象的统称。对象就是这一类具体化的一个实例。简单的一个小例子:做月

2021-11-26 19:10:58 346 3

原创 java数组基础

目录一,数组的基础概念1.1什么是数组1.2创建数组1.3数组的使用1.4数组的打印1.5数组的拷贝1.6引用数据类型的理解二,数组的练习2.1冒泡排序法2.2判断一个数组是否有序2.3二分查找三,二维数组一,数组的基础概念1.1什么是数组数组(Array)是有序的元素序列,在程序设计中,为了处理方便, 把具有相同类型的若干元素按有序的形式组织起来的一种形式,这些有序排列的同类数据元素的集合称为数组。数组可以看做相同数据类型的数据的一个存.

2021-11-22 21:25:49 558 3

真的音乐播放器项目的测试用例

真的音乐播放器项目的测试用例

2022-09-01

简易版本的博客系统(页面设计)

实现一个简单的博客系统. 主要分成四个页面: 博客列表页 博客正文页 博客登陆页 博客编辑页

2022-06-04

java图书馆管理系统

java图书馆管理系统

2022-01-23

空空如也

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

TA关注的人

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