#Java
穿撒板儿的追风少女
我变秃了 也变强了
展开
-
【软件测试】软件测试的基础
1. 软件测试的生命周期2. 如何描述一个bug3. 如何定义一个bug的级别4. bug的生命周期5. 和开发人员产生争执怎么办原创 2020-08-11 22:37:42 · 144 阅读 · 0 评论 -
优先级队列的模拟实现(堆)
优先级队列的底层数据结构是堆注意:new出的空间在堆上,优先级队列底层结构也是堆,但两个堆不是同一个概念new 堆:指的是一块具有特殊作用的内存空间优先级队列底层的堆:指的是一种数据结构堆+ 堆是一颗完全二叉树+ 每个节点都比他的两个孩子小,属于小根堆+ 每个节点都比他的孩子节点大,属于大根堆在堆中一般情况下将根节点叫堆顶元素小堆:1. 堆顶元素一定是最小的2. 每个节点都比其孩子小3. 每条路径都是升序4. 堆是一颗完全二叉树,一般都是将其存储在数组中普通二叉树是不可以直接原创 2020-08-11 13:07:24 · 263 阅读 · 0 评论 -
【二叉树】【力扣】二叉树的最近公共祖先
求两个节点的最近公共祖先如果面试中问道的话要分情况说明:第一种情况,如果二叉树是用双亲表示法或者是孩子双亲表示法的话 可以转换为两个链表求交点第二种情况,如果树是二叉搜索树(二叉排序树)(特点:a. 根节点比左子树中所有节点都大,比所有右子树中的节点都小;b.根据中序遍历可以得到一个有序序列)1. 如果p,q有一个在根的位置 || p,q分别在根节点的左右子树中(q<root && p>root)最近的公共祖先一定是根节点2. p<root &..原创 2020-08-10 23:49:45 · 374 阅读 · 0 评论 -
【二叉树】【牛客网】二叉树遍历(实际要先创建一棵二叉树)
如何创建一颗二叉树概念空树非空:根节点–》根节点的左子树–》根节点的右子树二叉树的创建方式:按照概念进行创建–》创建根节点–》创建根节点的左右子树(也是二叉树,所以可以通过递归的方式创建)节点中的数据序列如何提供?二叉树的创建规则–》类似于二叉树的前序遍历规则,里面的遍历操作就是创建节点但是注意如果按照前序序列123456创建的话,在创建过程中不知道节点是否有子树—这样创建出来的就是一颗左单只的二叉树所以创建是给的序列应该时[1 2 3 # # # 4 5 # # 6]...原创 2020-08-10 11:47:42 · 304 阅读 · 0 评论 -
优先级队列概念及PriorityQueue底层扩容机制
优先级队列的概念队列是一种先进先出(FIFO)的数据结构,但有些情况下,操作的数据可能带有优先级,一般出队列时,可能需要优先级高的元素先出队列,在这种情况下,我们的数据结构应该提供两个最基本的操作:一个是返回最高优先级对象,一个是添加新的对象。 这种数据结构就是优先级队列(Priority Queue)。Java集合框架中提供了 PriorityQueue 和 PriorityBlockingQueue 两种类型的优先级队列,PriorityQueue是线程不安全的,PriorityBlockingQu原创 2020-08-09 18:42:33 · 1132 阅读 · 1 评论 -
二叉树02---二叉树的遍历(代码+图解版)
二叉树的遍历(递归版和非递归版都有)代码+图解原创 2020-08-08 19:07:25 · 329 阅读 · 1 评论 -
树的介绍和二叉树01
二叉树树的概念数据存储结构分为线性 树形 图形结构树结构的特点:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A1e2gmKp-1588259005847)(en-resource://database/4841:1)]注意树节点的子树之间是不相交的在树中除根节点外每一个节点都有唯一的双亲如果书中有N个边(连接节点的线),一定有n-1条边相关概念!...原创 2020-05-03 22:25:04 · 205 阅读 · 0 评论 -
ArrayList初始容量和扩容机制内容部分源码分析,以及和LinkedList的区别
LinkedList底层是双向链表,???了解他的底层是否有头节点 校招中ArrayList考的比较多,所以要**??熟悉他的接口**ArrayList相当于是一个动态类型的顺序表 ArrayList和LinkedList区别:(连续空间) (链式结构)支持随机访问 不支持任意位置的插入/删除O(N) O(1)因为它只需要改变节点指向就可以再插入期间可能...原创 2020-05-02 19:04:31 · 680 阅读 · 0 评论 -
泛型和包装类介绍和他们之间的联系
泛型泛型是一种未知的数据类型,当我们不知道使用什么数据类型的时候,就可以使用泛型。也可以把他看作是一个变量,用来接受数据类型创建集合对象的时候就会确定泛型的数据类型,此时会把数据类型作为参数传递 将数据类型赋值给泛型比如说ArrayList集合在定义的时候,不知道集合中都会存储什么类型的数据,所以定义的类型使用泛型Epublic class ArrayList<E>{ pub...原创 2020-05-02 13:27:29 · 221 阅读 · 0 评论 -
栈和队列介绍,用栈实现队列和用队列实现栈,思路+图解+代码实现,超简单
栈 Stack特性:LIFO 后进先出,相当于只保留尾插尾删的顺序表栈中需要注意的问题:pop() 和 peek() 的区别pop():返回栈顶元素并删除peek():只是取出栈顶元素,并没有删除操作栈可以将递归转化为循环比如说是逆序打印链表,如果用递归的形式就是public static void print(Node head){ if(head != n...原创 2020-05-02 00:10:24 · 688 阅读 · 0 评论 -
javaSE知识框架梳理
原创 2020-03-12 21:49:36 · 203 阅读 · 0 评论 -
异常知识点小总结
异常try 可能出现异常的代码catch(异常类型 异常对象) 捕获异常后对异常进行处理finally 异常出口 其中的代码不管有没有异常永远都会被执行//finally一般用在资源的关闭throwable派生两个类error错误 exception异常编译是异常:受查异常 一般下面划红线的都是编译时异常运行时异常:运行时出现的异常建议return不要放在finally块中 因为可...原创 2020-03-06 18:34:49 · 161 阅读 · 0 评论 -
Java入门part9--String类02
字符串02字符串常见操作字符串比较==判断引用是否相等equals 判断字符串内容是否相同 区分大小写equalsIgnoreCase忽略大小写比较comareTo 比较字符串大小关系,由于字符串底层已经实现了comarable接口,所以可以直接使用返回值是int相等:返回0.小于:返回内容小于0.大于:返回内容大于0。如果里面有不同字母返回的是不相同字母的asc...原创 2020-02-29 19:26:46 · 339 阅读 · 2 评论 -
Java入门part8--String类01
String类创建字符串的方式方式1: 直接赋值String str="abed";//直接赋值方式2:String str2=new String("abce"); 这样会产生两个对象 不建议使用方式3: char[] array={'a','b','c','d'}; String str3=new String(array);字符串比较相等表示地址比较 不是内容比...原创 2020-02-29 16:21:24 · 168 阅读 · 0 评论 -
Java入门part7--抽象类和接口
抽象类class Shape { public void draw() { // 啥都不用干 }}class Cycle extends Shape { @Override public void draw() { System.out.println("○"); }}class Rect extends Shape { @Override public void ...原创 2020-02-24 21:23:26 · 237 阅读 · 0 评论 -
Java入门part6--继承和多态
封装 为了不让类的调用者直接访问到数据成员或方法 private构造方法也可以是私有的 这样就不能在类外得到对象 单例模式 (只有一个实例)包笔记 两种启动路径不一样1 文件最开始加 package com.bitjavac com\bit\test.javajava com.bit.test2 不用加package包的命名一般采用小写字母 并且采用倒叙 com...原创 2020-02-23 18:27:32 · 228 阅读 · 0 评论 -
Java入门part5--类和对象
可变参数编程public static int sum(int… a) 这样可以传一个或多个参数 也可以传数组sout(sum(new int[]{1,2,3})) 里面new int[]{1,2,3}是匿名数组类和对象面试题:oop语言的三大特征?(OOP 面向对象的程序设计语言 Object-oriented-program)继承 封装 多态目的:什么是类?什...原创 2020-02-06 21:43:52 · 952 阅读 · 0 评论 -
Java入门part4——数组
数组数组的定义数组:相同类型数据的集合 内存是连续的定义方法:(1) int[] arr={1,2,3,4}; 静态初始化(2)int[] arr=new int[]{1,2,3,4}; 动态初始化这两种定义的时候[]内是不能出现数组长度的=== 》所以如果要知道数组长度 用数组名.length求数组长度,其中 length不是方法 是一...原创 2019-11-14 18:15:12 · 200 阅读 · 0 评论 -
Java入门part3--运算符及输入输出
运算符基本运算符 + - * / %除法 /注意int / int结果还是int,所以如果要得出准确值最好用double0不能做除数,会引起运行时异常(即编译可以通过,运行时出问题) 会出现如下提示,可以帮助发现当前函数异常种类和异常出现的行数(除了运行时异常外,还有编译时异常,自定义异常,一般用try catch处理异常,后续会展开讲)取模 取余 %+取模需要注...原创 2019-10-19 17:32:03 · 291 阅读 · 0 评论 -
Java入门part2--变量和类型
Java入门part2–变量和类型关键字:基本数据类型和字符串类型,类型转换,变量命名规则,列出了和C语言种不同的点方便区分理解数据类型所有的java编程语言中的整数类型都是带符号的数字Java中定义变量一定要初始化,否则会报错Java中没有全局变量这一说(C语言中局部变量不初始化是随机值,全局变量是0)跟C语言不同的是,给某类型数据赋大于其能表示范围的数据时,编译不通过,而C语言...原创 2019-10-01 10:57:35 · 255 阅读 · 0 评论 -
hello Java
初识Java–part1关键字:JDK java development kitJRE java runtime 环境JVM java虚拟机 重点三者区别联系,并知道三者是什么vscodetest.java --编译—javac 文件名.class–》 test.class(字节码文件) 一个类会产生一个字节码文件 二进制文件 --加载到jvm里面运行----java 文件名–...原创 2019-10-01 09:46:52 · 352 阅读 · 0 评论