自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

原创 垃圾回收机制

1.在进行GC资源清除之前,首先要确认对象是否死亡,针对判断死亡与否,在Java用到了可达性分析的方法,通过GC Roots向下搜索,如果没有搜索到。则认为该对象不会再使用,可回收。GC Roots一般包括虚拟机栈中引用的方法,本地方法区静态实体引用的对象,方法区常量引用的对象在Java中引用可达性分析,而在python中不仅使用到了可达性分析,还使用到了引用计数,每一个对象都有一个引用计数的属性,每当新增一个引用时,计数+1,每当释放一个引用,计数-1,当计数为0,则认为可以被GC2.GC机制中用到

2021-08-23 13:14:02 171

原创 小布偶也来学习python啦(4)

条件语句1.if [条件为true] :['小米', '小花', '小小', 1, 2]>>> if len(name)>3:... print(name)... print('大于3')...['小米', '小花', '小小', 1, 2]大于32.else:['小米', '小花', '小小', 1, 2]>>> if len(name)<3:... print(name)... print('小于3')...else:

2021-08-11 08:19:26 157

原创 小布偶也来学python啦(3)

list()list是一种有序的数组,可以进行增添元素,移除和更改1.初始化一个list数组>>> name = ['小米','小花','小小']>>> name['小米', '小花', '小小']此时name就相当于一个list数组2.通过len()来获取数组长度>>> len(name)33.通过下标进行索引,下标从0开始,也可以取-1,表示数组最后一个元素>>>name[0]'小米'>>&

2021-08-11 00:57:36 138

原创 数据库的语言

数据库与SQL语言①1NF:第一范式②2NF:第二范式③3NF:第三范式④BCNF:BC范式存储过程和函数区别1.存储过程是SQL语句的集合,涉及特定表和其他对象的任务,用户可以调用存储过程;而函数是已经定义好的方法,它接收参数并返回某类型的值,不涉及特定表事务1.数据库事务是作为整个逻辑工作单元的一系列操作,要么全部做,要么全不做,是一个不可分割的整体2.事务的特性:原子性,一致性,独立性,持久性①原子性:要么全执行,要么全不执行②一致性:总金额不变③独立性:两个以上的事务不会出现

2021-08-09 21:57:03 197

原创 小布偶也来学习python啦(2)

ord()---------获取字符串整数表示

2021-08-09 08:51:44 82

原创 小布偶也来学习python啦

输入-----name = input()>>> name = input()tt输出----print()>>> print(name)tt连接符----- ,>>> print(’名字是',name)名字是 tt较大的整数用_分割>>> print(100_000_000)100000000通过…表示多行/换行>>> print(name,...)tt Ellipsispyt

2021-08-08 23:54:25 103

原创 线程的状态及线程不安全

线程状态1.NEW :对象刚创建,还没有在系统中创建线程。即将任务交给线程,但是线程还没开始执行2.RUNNABLE:线程是一个准备就绪状态3.BLOCKED/WAITING/TIMED_WAITING:都是表示锁住的状态4.TERMINATED:表示线程结束在NEW-TERMINATED过程中正常就是经过NEW—>RUNNABLE(运行)—>READY(就绪)——->TREMINATED(终止)但是在这之间如果遇到Object.wait()、Object.join()、Loc

2021-08-08 23:13:58 108

原创 Object基类的方法和Java容器类库

Object基类方法1.clone()方法2.equals(Object obj)方法3.finalize()方法4.getclass()方法5.hashcode()方法6.notify()方法--------唤醒在此对象监视器上等待的单线程7.notifyAll()方法-----唤醒在此对象监视器上的所有等待的线程8.toString()方法9.wait()方法--------导致当前线程等待,直到其他线程调用此线程的notify()或notifyAll()10.wait(long t

2021-08-08 09:03:44 129

原创 类加载分类及过程

类加载器1.虚拟机设计团队通过把类加载阶段的“通过一个类的权限定名来获取此类的二进制字节流”这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类,实现这个动作的代码模块称为类加载器起动类加载器(Bootstrap classloader)这个类加载将存放在JPE-HOME\lip目录中的,或者被xbootclass-path参数所指向的路径中的,并且是虚拟机识别的类库加载到虚拟机内存中。启动类加载无法直接被Java程序引用扩展类加载器(Extension classlad

2021-08-08 00:24:40 130

原创 Thread创建线程

创建线程1.继承Thread类创建线程public class MyThread extends Thread{ public void run(){ System.out.println("这里运行线程代码"); } public static void main(String[] args) { MyThread myThread = new MyThread(); myThread.start(); }}2.实现Runna

2021-08-07 14:51:21 1368

原创 冯诺依曼体系结构和操作系统

冯诺依曼体系包括输入设备,存储器,运算器,控制器,以及输出设备1.输入单元:键盘,鼠标,扫描仪,写板等2.CPU(中央处理器):含有运算器和控制器,进行算数运算和逻辑判断(核心设备)3.输出单元:显示器和打印机等4.存储器是指内存5.输入设备只争对写入内存6.CPU也只是针对内存进行读写7.输出设备只针对从内存中读取操作系统1.属于一种管理硬件设备和软件资源的“软件”2.OS定位①管理者的任务种类分为两种:硬件管理和软件管理②也可分为对内的管理和对外业务的管理进程1.对于操作系统来

2021-08-07 11:12:36 264

原创 网络协议我知道(2)

网络层1.网络层主要负责地址管理和路由选择。2.IP协议:主机(配有IP地址,但不进行路由控制的设备);路由器(即配有IP地址,又能进行路由控制);节点(主机和路由器的统称)。3.协议头格式:①四位版本号:指定IP协议的版本,对于IPV4来说,就是4;②4位头部长度:IP头部的长度是多少个32bit,也就是Length✖4的字节数,4bit表示的最大的数字是15,因此IP头部最长是60字节;③8位服务类型:4位TOS字段,表示:最小延时,最大吞吐量,最高可靠性,最小成本,这四者相互冲突,只能选择一个。

2021-08-07 10:08:00 71

原创 JDK和JRE

JDK和JRE的区别及各自作用1.JDK是Java的开发工具,不仅提供了Java程序运行所需的JRE,还提供了一系列编译和运行工具2.JRE是Java程序的运行环境,核心是JVM(Java虚拟机)和核心类库CLASSPATH的作用CLASSPATH(环境变量)保存的是目录和Java文件的路径,用于Java运行和编译是搜索类如何为Java程序动态的指定类搜索路径JDK中Java和Java命令,提供了一组-cp和-classpath选项为java程序动态的指定类搜索路径,将相关目录路径或相关Java

2021-08-05 20:50:38 93

原创 初识队列和栈

队列特点先进先出队列基本用法 public static void main(String[] args) { Queue<Integer>queue = new LinkedList<>(); queue.add(1);//放元素 queue.add(2); queue.add(3); queue.add(4); queue.add(5); queue.add(6); System.out.println(que

2021-08-05 15:34:15 126

原创 二叉树~~~

二叉树基本定义二叉树每个节点最多两颗子树,子树有左右之分,不能颠倒次序因此二叉树又是有序树特殊的二叉树完全二叉树满二叉树二叉树的性质①若规定根节点的二叉树层数为1,则非空二叉树的第n层最多有2的n-1次方个节点②若规定根节点的二叉树深度为1,则深度为k的总节点树为2的k次方减1③任何一颗二叉树,其叶子节点树为n0,其度为2的节点树为n2,则n0=n2+1④对于完全二叉树,其深度=Log2(节点数+1),向上取整⑤二叉搜索树,二叉排序树为中序遍历有序...

2021-08-05 11:39:22 79

原创 普通类,抽象类,接口,内部类

普通类和抽象类区别1.抽象类和普通类都可以被继承,也可以发生向上转型,动态绑定;2.抽象类不能被实例化3.抽象类就是用来继承的4.抽象类中可以有普通方法5.抽象类不能被private修饰6.如果一个抽象类继承了一个抽象类,可以不重写抽象方法,但是如果这个抽象类被一个普通类继承,一定要在普通类中重写抽象方法7.抽象类不能被final修饰抽象类和接口的区别1.抽象类是功能不完整的类,而接口是抽象方法声明和静态不能被修改的集合,从某种意义上将接口是特殊的抽象类2.接口使用关键字interfac

2021-08-05 11:31:26 558

原创 super和this

两者的区别1.属性:this访问的是当前类中的属性,如果在当前类中找不到,就在父类中去找;super访问的是当前父类中的属性2.方法:this访问的是当前类的方法,如果在当前类中找不到,就在父类中去找;而super访问的是当前父类的方法3构造:this调用本类构造,必须放在构造方法的首行,super访问的父类构造,必须放在子类构造方法首行4.其他:this.变量:调用的是当前对象的变量;super.变量,直接调用父类的变量this(参数):调用(转发)当前类的构造器super(参数)调用当前父类

2021-08-05 10:50:22 146

原创 HashTable和HashMap的区别

创建时间不同1.HashTable是在Java一开始发布就提供的键值映射2.而HashMap产出于JDK1.2父类不同1.HashMap继承自AbstractMap类;2.HashTable继承自Dictionary(已被遗弃)3.都实现了Map,Cloneable(可复制),Serializable(可序列化)接口;4.HashTable比HashMap多了elements()和contains()两个方法...

2021-08-05 09:02:22 612

原创 equals()和hashcode()的区别

1.equals():反应的是对象或变量具体的值,及两个对象包含的具体的值(可能是对象的引用,也可能是值类型的值)2.hashcode():计算两个对象的哈希值,并返回哈希码,也叫散列函数。根据Object的hashcode()方法计算出的哈希值是根据其地址进行计算的,其返回值是唯一的,但重写的hashcode()方法就不一定了,有可能会出现哈希冲突。3.之所以出现hashcode()方法来比较两个对象,是因为hashcode()比equals()的速度快很多。4.equals()相同,hashcod

2021-08-04 20:16:56 411

原创 final,finally,finalize的区别

finalfinal可以控制成员变量,方法或者这个类是否被继承或被扩展(1)final定义的成员变量在类中定义成员变量时如果在前面加上final关键字,表示这个变量不能改变(2)final定义的方法将方法定义为final有两个原因:①这个方法已经满足任何功能需求,不需要经过扩展,并且不能经过继承这个类的子类来覆写这个方法,但可以继承这个方法②允许编译器将所有对此方法的调用转化为inline(行内)调用的机制,在调用时将此方法直接插入被调用处,而不是单纯调用此方法(3)final定义的类表示

2021-08-04 18:49:20 114

原创 回顾+重新认识异常

什么是异常?在Java程序运行过程,常常会发生一些非正常的现象,这类情况被称为运行错误。根据其性质可以分为异常和错误。在Java程序中,所有抛出(throw)的异常都需要经过Throwable派生而来,类Throwable有两个子类(Errow和Exception)异常关键字Java异常的关键字有try,catch,finally,throw,throws.(1)try,cattch,finally是搭配使用,不能单独存在,可以是①try…catch…,②try…catch…finally…,③tr

2021-08-04 14:12:18 62

原创 网络协议我知道

协议分层1.OSI七层协议应用层————————针对特定应用的协议表示层————————设备固有数据格式与网络标志数据格式之间的转换会话层————————通信管理。负责建立和断开通信连接传输层————————负责两个节点之间的可靠传输网络层————————地址管理和路由选择数据链路层——————互联设备之间传输和识别数据帧物理层————————界定连接器和网线规格2.TCP/IP五层(四层)协议应用层————————Telnet,FTP和e-mail等传输层————————TCP和UD

2021-08-04 00:53:39 49

原创 给项目上一道安全锁

软件测试1.软件测试是测试软件功能是否功能需求2.软件测试和调试并不是同一个概念。首先调试的目的是开发者查看自己的代码是否符合他想实现的功能,而测试是测试人员查看软件功能是否符合用户需求;其次 进行调试的人员是开发人员,在开发阶段进行,而测试由黑盒测试工程师,白盒测试工程师,以及开发人员(单元测试)完成,在软件开发的整个流程3.软件测试的生命周期:用户需求(验证用户需求的合理性,分析和细化需求)------》测试计划(确定测试需要的人员,时间,测试目的和测试范围)--------》测试设计(根据需求的

2021-08-03 00:26:38 52

原创 Linux的基本使用

Linux1.操作系统,与Windows并列一个操作系统=内核+配套应用程序基本命令1.ls--------------------------查看指定目录下都有哪些文件2.pwd---------------查看当前目录3.ls -l/ll---------------更详细查看目录4.cd-------------------------切换目录注:/为绝对路径,. …表示相等路径通过cd或者cd ~回到根目录cd - :返回之前目录5.touch------创建文

2021-07-27 11:12:48 130

原创 HTTP和HTTPS

http1.网络通信中涉及的协议非常多,不同的协议又有不同的功能,按照不同的协议将协议栈分为五层①应用层:代码应用中约定的传输格式②传输层:不考虑中间过程,只考虑起点和终点③网络层:比较遥远的两台主机,怎么将数据传输过来④数据链路层:相邻主机之间的通信⑤物理层:物理设施,网线,光纤,电磁波2.由于客户端和服务器是两个主机上面两个不同程序,就需要保证客户端给服务器发送的消息,服务器能理解其含义,服务器给客户端返回的消息,客户端也能理解,因此协议诞生3.HTTP协议是应用层协议,由程序员自己定

2021-07-26 18:54:20 112

原创 web小白写的

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-07-25 23:38:01 42

原创 URL的枝枝叶叶和http,https

什么是URL? 平时我们俗称的网址就是URLURL的结构https://www.so.com/s?ie=utf-8&src=lm&ls=sm2381336&lm_extend=ctype%3A31&q=%E6%90%9C%E7%8B%97用以上搜狗网址作为例子1.https:// 是协议方案名。目前比较常见的是http:// https:// telnet:// mailto://①http: 超文本传输协议方案,默认端口为80②

2021-07-09 20:51:56 642

原创 索引+事务

索引一.索引的作用快速定位,检索数据二.索引适合的场所①针对经常用在条件中的字段上;②查找的次数远远高于修改的次数③表中行数足够大三.索引的基本实现从使用者角度:① 主键索引(primary key)② 唯一键索引(unique key)③ 普通索引(index /key)从实现角度:①搜索树②哈希表四.B+树索引和哈希表索引区别①哈希表快,结构简单②B+树的索引可以利用key的有序性事务一.事务的概念一个操作中各个单元要么一起成功,要么一起失败二. 事务的要求(

2021-07-07 11:56:48 60

原创 MYSOL基本用法(3)

新增---------------insert into 表1名 select 列名 from 表2名

2021-06-03 09:27:26 165

原创 MYSQL基本用法(2)

别名select 列名 as 别名 from 表名 ;去重select distinct 列名 from 表名 ;排序select * from student order by 列名;以asc 结尾 表示升序,以desc结尾表示降序默认升序;判断null不能用 ==可以用 <=> ,或者 is null, is not null;修改update 表名 set 修改的内容 where 条件;删除delete from 表名 where 条件;

2021-05-30 22:40:29 69

原创 MYSQL基本用法

库①创建库----------create database 库名 ;②显示所有库----------show databases;③选择库------------- use 表名;④删除库-------------drop database 库名;表①创建表----------create table 表名( 表的属性);②显示表------------ show tables;③删除表------------------ drop table 表名;插入列①全列插

2021-05-30 17:23:28 66

原创 JAVA中Object基类

Object基类的方法·clone()方法----------------复制·equals(Object obj)方法---------------------比较大小·finalize()方法--------------指定垃圾收集器进行工作·getClass()方法--------------返回Person这个Class·hashcode()方法---------------判断对象不同·notify()方法------------------唤醒在此对象监视器上等待的单个线程·not

2021-05-30 16:17:45 76

原创 Java内存管理

java中垃圾收集器的优势·过去的语言要求程序员分配内存,释放内存,但是使用不当,会造成“内存泄露”,重复操纵,还会造成异常终止;·java收集器可以监视java运行·Java收集器可以自动运行Java是如何管理内存的...

2021-05-30 15:00:12 62

原创 重写和重载的特征与区别

(1)重载①在同一个类里②函数名称相同③参数不同(参数类型和参数个数)④返回值不做要求(2)重写①分别位于父类和子类②函数名称相同③参数相同(参数类型和参数个数)④返回值相同注:①重写的类型不能是私有的;②静态方法不能重写为非静态方法...

2021-05-30 14:26:17 541

原创 枚举

枚举定义枚举是java.lang.Enum的子类,也就是说,自己写的枚举类,就算没有显示的继承Enum但是其默认继承了这个类。枚举的具体用法①switch…catch语句public enum TestEnum { RED,BLACK,GREEN,WHITE; public static void main(String[] args) { TestEnum testEnum = TestEnum.BLACK; switch (testEnum){

2021-05-21 20:03:26 91

原创 链表

链表class Node1{ public int val; public Node1 next; public Node1(int val){ this.val = val; }}public class MyLinkedList { public boolean find(Node1 head,int val){ if (head == null)return false; Node1 cur = head

2021-05-16 10:05:34 86

原创 顺序表

重点1.同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间2.加粗样式

2021-05-16 10:03:55 64

原创 排序

内部排序①插入排序法 public static void insertSort(int[]array){//插入排序 for (int i =1 ;i<array.length;i++){ //保证i前面有元素,可以进行交换 int tmp = array[i]; int j = i-1; //令j从i的前一个下标开始遍历,比较array[j]和保存的array[i]进行比较

2021-05-14 22:10:16 57

原创 优先级队列

堆1.堆的表示使用数组保存二叉树结构,将二叉树用层序遍历方式放入数组中(一般只适合完全二叉树,因为非完全二叉树会造成空间浪费)2.下标对应关系

2021-05-13 09:49:19 68

原创 二叉树

二叉树基本应用1.二叉树前中后遍历2.二叉树获取节点个数3.获取二叉树叶子节点个数4.获取K层节点个数5.求得二叉树高度6.遍历获取二叉树是否含有指定元素class Node{ public int val; public Node left; public Node right; public Node(int val){ this.val = val; }}public class TwoTree { public No

2021-05-07 18:04:29 63

空空如也

空空如也

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

TA关注的人

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