java
文章平均质量分 57
Putarmor
世间万物皆在冲!加油!
展开
-
按之字形打印二叉树!!!
import java.util.ArrayList;import java.util.Queue;import java.util.LinkedList;/*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }}*///8.13 .原创 2021-08-13 17:21:19 · 182 阅读 · 0 评论 -
Web技术 —— Spring中的AOP
。。。原创 2021-08-02 10:44:35 · 439 阅读 · 1 评论 -
MySQL进阶 — 联合查询(外连接、内连接、子连接、合并查询)
MySQL进阶内连接外连接子连接合并查询内连接外连接子连接合并查询原创 2021-07-28 18:34:46 · 805 阅读 · 0 评论 -
计算机网络协议复习 —— TCP/IP。。。
铁汁们今天咱们重点聊聊网络分层协议,顺道将它闹闹掌握!OSI七层模型UDP传输协议TCP传输协议(重要程度五颗星)原创 2021-07-23 20:03:09 · 3409 阅读 · 11 评论 -
关系映射Web框架 —— 漫长Mybatis学习历程
。。。原创 2021-07-17 23:57:41 · 346 阅读 · 9 评论 -
数据结构复习笔记特别系列4 —— 二叉树
二叉树一定是大家比较懊恼的题,二叉树的思想是大化小,但想将这种思想用起来掌握好,还是具有一定难度。原创 2021-07-14 13:34:02 · 534 阅读 · 0 评论 -
内部类笔记 —— 你了解内部类吗?
今天就讲一下内部类,内部类顾名思义,就是在类中的类,那么内部类具体有哪些呢,一起来看一下:内部类分类:实例内部类静态内部类匿名内部类本地内部类Ⅰ.实例内部类1.如何实例化内部类对象呢?外部类名.内部类名 变量 = 外部类对象引用.new 内部类();2.只要是内部类,那么生成的字节码文件格式:外部类名$内部类名.class3.在实例内部类当中,不能定义静态的成员变量!如果一定要编译,那么一定是在编译时期确定的值 例如public static fina原创 2021-07-08 17:24:20 · 170 阅读 · 1 评论 -
Web框架 — SpringMVC学习笔记3(加强理解)
学习笔记2的回顾与补充:1.SpringMVC默认返回的是视图,利用@ReponseBody注解让SpringMVC返回文本内容而非视图,这是主流的开发技术2.@Controller注解与@ReponseBody注解可以合并为@RestController注解3.RequestParam注解作用:①实现非空效验,默认此参数必须填写;②实现将前端的参数指定映射到后端的某个参数上4.@RequestBody注解:①默认参数不能为空②取值时从body中获取@RequestPart注解这是一种原创 2021-07-07 16:53:59 · 143 阅读 · 0 评论 -
Web框架 — SpringMVC学习笔记2
@GetMapping注解用get请求访问:@GetMapping("/index4") //只能通过get方式访问 public String getIndex4(){ logger.error("我是index.html"); return "/index.html"; }当我们在Postman中用post请求url时,就会出现405,无法访问到url。@PostMaapping注解@PostMapping("/index5")原创 2021-07-06 18:15:12 · 196 阅读 · 1 评论 -
Web框架 — SpringMVC学习笔记1
SpringMVC:是软件工程中的一种软件架构模式,它把软件模型分为模型、视图和控制器三个部分。启动SpringMVC的两种方式:1.在static包中创建xx.html,然后在浏览器中输入localhost:8080/xx.html2.创建一个类,在类前面声明@Controller注解和@RequestMapping("/yy")注解,在类中创建一个返回字符串的方法,方法前也声明@RequestMapping(“zz”)注解,返回内容“/xx.html”,然后在浏览器中输入localhost:8原创 2021-07-01 11:44:01 · 190 阅读 · 0 评论 -
Web框架 — SpringBoot学习笔记
Springboot优点:1.快速创建一个Spring项目(比如外部依赖在创建项目的时候直接勾选就行了)2.包含内置的web容器(tomcat)3.提供了强大的监控功能,健康检查、日志指标Springboot创建方式:1.网页创建(在线方式)2.IDEA创建3.通过Maven方式创建方式(优点:jar包不用重复下载,缺点是要根据Springboot项目配置文件进行相应添加)从spring官网在线创建的项目解压后可以当作一个模板,以后对项目进行重命名就可以Springboot热部署:原创 2021-07-01 09:28:35 · 215 阅读 · 2 评论 -
数据结构复习笔记系列3 — 队列
1.队列定义队列:只允许在一端进行数据插入操作,在另外一端进行数据删除操作的特殊线性表,具有先入先出的特点。进行插入操作的一端称为队尾(tail/rear),进行删除操作的一端称为队头(head/front)。举个例子来说,就像我们平时买东西一样,排的队就可以看作一个队列。2.手动实现循环队列1)实现队列方式队列可以用链表也可以用数组去实现,用链表实现表现更优一点,当使用数组时,因为队列先进先出的特性,删除元素时,其余元素都要整体移动,这样时间复杂度会达到O(n)。2)集合中队列继承体系根原创 2021-06-24 14:52:18 · 134 阅读 · 0 评论 -
数据结构复习笔记系列2 — 栈
栈和队列的思想是编程中非常巧妙地思想。原创 2021-06-23 20:08:11 · 382 阅读 · 4 评论 -
Web — 线程池的创建方式
线程池的创建分为两大类Executors和ThreadPoolExecutor的方式:1.Executors.newFixedThreadPool:创建一个固个数大小的线程池,其应用场景是任务可控,也就是说可控制并发线程数,超出的线程会在队列中等待。2.Executors.newCachedThreadPool:创建一个带缓存的线程池,应用场景是存在大量短期任务,当线程数超过处理所需,缓存一段时间后会回收,若线程数不够,则新创建线程。3.Executors.newScheduledThreadPool原创 2021-06-23 09:14:58 · 221 阅读 · 0 评论 -
数据结构复习笔记系列1 — ArrayList
面试中对于ArrayList和LinkedList考察比较频繁,在这里需要我们对源码有一定的了解。原创 2021-06-22 21:13:07 · 160 阅读 · 1 评论 -
多线程顺序打印
存在三个线程,线程的名称分别是:a,b,c,每个线程的任务是打印自己的名称,要求三个线程必须同时启动,并按照c,b,a的顺序打印。代码实现:public static void main(String[] args) { /** * 三个线程a,b,c,每个线程打印自己的名称,需要他们同时启动并按c,b,a的顺序打印 */ Thread t1 = new Thread(new Runnable() { @Over原创 2021-06-22 19:40:02 · 236 阅读 · 0 评论 -
Java包装类 — 自动装箱、自动拆箱
今天探讨一下基本数据类型和包装类之间的关系:原创 2021-06-21 17:37:28 · 206 阅读 · 0 评论 -
Java【泛型】复习笔记
1.泛型出现的意义:在没有出现泛型之前,假如我们实现一个栈,栈中存放的数据类型只能有一种;当我们想去存放另外一种数据类型时,又要重新创建一个类,定义存放的数据类型;可以看出,这样操作是非常不方便的,同时代码也是非常冗余的,不够简洁。我们猜想创建Object类型的栈是否可以弥补上述的缺点?Object类默认是所有类的父类,当栈中存放的数据类型为Object类型,任何类型的元素看起来都可以存放在栈中,似乎看起来很完美,但是在我们取得元素的时候,却需要做强制类型转换例如String str = (St.原创 2021-06-17 16:54:50 · 176 阅读 · 2 评论 -
20个子线程执行完毕后再执行主线程代码
题目要求:有20个线程,需要同时启动。每个线程按0-19的序号打印,如第一个线程需要打印0请设计代码,在main主线程中,等待所有子线程执行完后,再打印 ok实现代码:第①种:public static void main2(String[] args) throws InterruptedException { /** * 在子线程执行完任务后再执行主线程代码 * 有20个线程,需要同时启动。 * 每个线程按0-19的序原创 2021-06-17 12:18:16 · 539 阅读 · 0 评论 -
vivo21秋招 回文字符串
题目描述:回文字符串就是正读和反读都一样的字符串,如“viv”、“nexen”、“12321”、“qqq”、“翻身把身翻” 等。 给定一个非空字符串str,在最多可以删除一个字符的情况下请编程判定其能否成为回文字符串;如果可以则输出首次删除一个字符所能得到的回文字符串,如果不行则输出字符串“false” 。输入描述:一个非空字符串输出描述:一个回文字符串,或者 “false” 字符串(如果无法构造出回文字符串的话)示例:输入:abda输出:ada例子说明1:删除字符串"a原创 2021-06-17 10:35:16 · 160 阅读 · 0 评论 -
MySQL进阶复习 — 字段约束、表的设计、聚合函数
MySQL数据库的约束表的设计聚合函数联合查询数据库的约束表的设计聚合函数联合查询原创 2021-06-16 20:46:26 · 365 阅读 · 0 评论 -
Lambda表达式你学废了吗!
新特性:Lambda一级目录二级目录三级目录一级目录二级目录三级目录原创 2021-06-15 18:56:22 · 289 阅读 · 0 评论 -
Web框架—Spring Framework学习笔记(IoC DI Bean)
。。。原创 2021-06-15 12:12:30 · 332 阅读 · 2 评论 -
MySQL系列习题笔记
1.SQL 语句中修改表结构的命令是(C)A:MODIFY TABLEB:MODIFY STRUCTUREC:ALTER TABLED:ALTER STRUCTURE修改表结构包括:增加字段、删除字段、增加约束、删除约束、修改缺省值、修改字段数据类型、重命名字段、重命名表等。这些操作都是用 alter table 命令来完成。常用用法如下:1.增加字段:ALTER TABLE 表名 ADD 字段名 字段类型;2.删除字段:ALTER TABLE 表名 DROP COLUMN 字段名;3.增原创 2021-06-11 21:18:17 · 928 阅读 · 1 评论 -
Comparable和Comparator接口的差异
Comparable和Comparator接口问题提出引用类型对象比较基本数据类型比较对象的比较1.重写equals方法2.Comparable接口3.Comparator接口三者的区别问题提出优先级队列也就是堆,在插入元素时有个要求:插入的元素不能是null或者元素之间必须能够进行比较,为了简单起见只是在优先级队列中插入Integer类型,那么当我们想插入自定义的对象时,能不能实现呢?//定义扑克牌内部类class Card{ public int rank; //代表牌的数值原创 2021-06-10 19:21:05 · 447 阅读 · 4 评论 -
linux服务器项目部署
在我们将一个项目完成之后,如果想让别人访问,就需要将项目部署到Linux服务器上,那么部署流程是怎样的?原创 2021-06-10 00:46:14 · 7322 阅读 · 43 评论 -
一文让你读懂“反射机制”!
反射机制一级目录二级目录三级目录一级目录二级目录三级目录原创 2021-06-08 19:37:42 · 517 阅读 · 3 评论 -
调整数组元素顺序,使得奇数排在偶数前面
让数组中奇数排在偶数前面问题描述解决思路实现代码问题描述给定一个数组,数组的元素奇偶性是混乱的,该题要求是对数组中元素进行调整,让所有奇数排在偶数的前面,那么如何做呢?解决思路考虑双指针法,给定两个变量i,j,让i指向数组的第一个元素,j指向数组的最后一个元素,如果i指向的元素模2为1(表明i指向的元素为奇数),则i+ +,如果j指向的元素模2为0(表明j指向的元素为偶数),则j- -,否则,给定一个中间变量tmp,对i指向的元素和j指向的元素进行交换。实现代码上代码的时刻迫不及待! p原创 2020-12-18 10:27:43 · 757 阅读 · 2 评论 -
“软件测试”就需要这么学!
软件测试知识整理软件测试概念软件测试生命周期软件测试与软件研发区别如何定位Bug测试用例设计方法1.根据需求设计功能测试点2.等价类3.边界值4.因果图法5.正交法软件测试概念软件测试生命周期软件测试与软件研发区别如何定位Bug测试用例设计方法1.根据需求设计功能测试点2.等价类3.边界值4.因果图法5.正交法...原创 2021-06-08 09:15:39 · 1490 阅读 · 15 评论 -
【JVM】Java虚拟机不来看看吗?
…原创 2021-06-07 15:37:25 · 174 阅读 · 2 评论 -
计算机网络系列选择题
类似与诗书中华,君子无所争,其争也君子,相互竞争是社会的常态。但是要想提高理解,获得心仪的未来,一定量的题目还是必要的。开干!先从一道端口号题开始1.铁子你知道哪些知名端口号呢?好的,知名端口号范围在0-1023,比如FTP(文件传输协议)21、SSH 22、Telnet(远程终端访问协议)23、HTTP 80、HTTPS 443等2.关于ARP表,以下描述中正确的是(C)A.用于在各个子网之间进行路由选择B.提供常用目标地址的快捷方式来减少网络流量C.用于建立IP地址到MAC地址的映射原创 2021-06-02 21:27:04 · 3690 阅读 · 14 评论 -
HashMap、ConcurrentHashMap、HashTable
三者都是Map结构,具体有什么不同呢?原创 2021-06-01 23:28:01 · 124 阅读 · 0 评论 -
java.util.concurrent相关类理解
1.ReenTrantLock2.信号量3.计数器4.循环屏障原创 2021-06-01 16:46:14 · 106 阅读 · 2 评论 -
深入Java多线程锁策略
锁策略在多线程中的地位可以说相当重要原创 2021-05-31 20:46:47 · 227 阅读 · 2 评论 -
多线程案例 -- 单例模式、阻塞队列
面试中对于单例模式的考察也是很频繁的原创 2021-05-31 00:17:24 · 263 阅读 · 0 评论 -
对ThreadLocal的深入理解
ThreadLocal一级目录ThreadLocal是什么ThreadLocal使用三级目录一级目录ThreadLocal是什么讲ThreadLocal之前,我们先回顾一下线程不安全的解决方案:1.给对象加锁(synchronized加锁或Lock加锁)2.让线程拥有私有变量,不让多个线程修改一个变量对于2这种方式而言,但是设置私有变量的方法有一个缺陷,当任务数量比较多时,每一次任务执行都会创建私有变量,这会导致大量占用内存,浪费空间。因而Java中有一种比较高效的解决线程安全的方案:Th原创 2021-05-26 16:59:36 · 783 阅读 · 0 评论 -
并发编程核心-ThreadPoolExecutor
实现正真并发编程的核心方式-ThreadPoolExecutorThreadPoolExecutor重点知识1.创建线程池示例2.线程池懒加载机制3.设置线程池中线程名4.线程池的拒绝策略5.ThreadPoolExecutor参数解析5.线程池的运行原理(重中之重)6.线程池的运行方式7.线程池终止方式8.线程池的状态都有哪些?ThreadPoolExecutor重点知识1.创建线程池示例public static void main(String[] args) { //原始创建原创 2021-05-25 12:11:03 · 615 阅读 · 4 评论 -
操作系统--选择题整理
针对做过的选择题,做个整理原创 2021-05-21 18:41:29 · 4086 阅读 · 2 评论 -
习题整理
1.具有2n个结点的完全二叉树,该树的叶子结点个数有__个?答案:n个分析:对于一颗任意二叉树来讲,树的叶子结点比度为2(有两个分叉)的结点的个数多一个,有就是有n0 = n2+1成立;在完全二叉树中,度为1的结点为0个或者1个,根据题意完全二叉树结点数为2n,因而有n0+n1+n2 = (n0+n1+n0-1) = 2n;因为2n是偶数表示树有偶数个结点,因此度为1的结点个数为1,因此有n0+n0=2n,可以得知n0为n个。2.有权值分别为11,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权原创 2021-05-12 19:05:49 · 461 阅读 · 4 评论 -
Java多线程死锁问题
死锁这么重要,请仔细阅读死锁问题死锁定义死锁举例如何排查死锁死锁发生的条件怎么解决死锁问题?线程通讯机制(wait/notify/notifyAll)LockSupport死锁问题死锁定义多线程编程中,因为抢占资源造成了线程无限等待的情况,此情况称为死锁。死锁举例注意:线程和锁的关系是:一个线程可以拥有多把锁,一个锁只能被一个线程拥有。当两个线程分别拥有一把各自的锁之后,又尝试去获取对方的锁,这样就会导致死锁情况的发生,具体先看下面代码:/** * 线程死锁问题 */public原创 2021-05-11 12:00:39 · 1703 阅读 · 23 评论