- 博客(26)
- 资源 (1)
- 收藏
- 关注
原创 try catch finally 里面有return的执行顺序详细讲解
try catch finally 里面有return的执行顺序实例测试第一种情况try里面有return,catch和finally里面吗没有returnpublic static int tryTest(int i){ try { System.out.println("try里面的语句执行了!"); return i; }catch (Exception e){ e.printStack
2022-03-31 22:42:02
4981
4
原创 二叉树的最大深度
二叉树的最大深度求解二叉树的最大深度的三种方式方式一:使用广度优先遍历广度优先遍历又叫层次遍历,从上往下对每一层依次访问,在每一层中,从左往右(也可以从右往左)访问结点,访问完一层就进入下一层,直到没有结点可以访问为止。二叉树的广度优先遍历的非递归的通用做法是采用队列。思路加代码方式二:使用深度优先遍历广度优先遍历思路加代码方式三:使用递归的解法广度优先遍历思路加代码...
2021-12-30 22:19:34
1603
原创 求解二叉树的最大深度和最小深度
求解二叉树的最大深度和最小深度二叉树的最大深度 //给定一个二叉树,找出其最大深度。 public static int maxDepth(TreeNode root) { if (root == null) { return 0; } return Math.max(maxDepth(root.left) + 1, maxDepth(root.right) + 1); }二叉树的最小深度 //给定
2021-11-30 11:46:27
229
原创 删除链表的倒数第 n 个结点,并且返回链表的头结点
删除链表的倒数第 n 个结点,并且返回链表的头结点public class ListNodeDemo2 { public static void main(String[] args) { ListNode head = new ListNode(1); ListNode data1 = new ListNode(2); ListNode data2 = new ListNode(3); ListNode data3 = new Li
2021-11-28 02:08:12
1511
原创 单链表的反转与逆序打印
单链表的反转与逆序打印破坏单链表结构方式一:利用栈的特点,破坏原始链表结构,把各个节点的数据压入栈中,然后出栈,此时的栈底层还是数组这种数据结构 //方法一:利用栈存储数据的特点完成倒叙输出 public static void reverse1(Node head) { if (head != null) { //创建一个栈对象 Stack<Node> stack = new Stack();//栈底层还是
2021-11-26 00:16:54
563
原创 使用递归的方式遍历树
使用递归的方式遍历树树的前序遍历public class TreeTest { public static void main(String[] args) { TreeTest treeTest = new TreeTest(); TreeNode head = new TreeNode(1,new TreeNode(2),null); List<Integer> list = treeTest.inorderTraversal(he
2021-11-21 15:52:40
1515
原创 Ubuntu安装Consul之后,Consul UI无法访问
Ubuntu安装Consul之后,Consul UI无法访问错误场景在ubuntu上安装consul之后,使用consul agent -dev 命令启动之后,在浏览器中输入http://you_ip:8500/ui时一直访问不了。刚开始以为是防火墙的原因,于是查看防火墙之后,确认防火墙是关闭了的。最后通过查询才知道使用consul agent -dev 命令时指定client ip就好了。consul agent -dev -client ip地址...
2021-10-31 23:18:15
1121
原创 Ubuntu启动zookeeperError: JAVA_HOME is not set and java could not be found in PATH.
Ubuntu启动zookeeperError: JAVA_HOME is not set and java could not be found in PATH.ZooKeeper启动时报错场景报错信息报错信息很明显说是我jdk路径没有设置,但是通过查询我Ubuntu虚拟机的jdk环境是正常的,信息如下安装的jdk版本信息Java环境的配置信息通过查看之后,验证之后java环境是正常的,因为启动Zookeeper,之前首先会加载zkEvn.sh脚本文件,于是通过查看zkEvn
2021-10-31 13:45:54
3724
2
原创 经典排序算法分析实现
经典排序算法冒泡排序核心思想比较相邻二个元素,如果相邻的元素逆序就交换位置。时间复杂度最好情况,要排序的数据已经是有序的了,我们只需要进行一次冒泡操作,就可以了,所以最好情况时间复杂度为O(n)最坏情况,要排序的数组刚好倒叙排列,我们需要进行n次冒泡排序操作,所以最坏情况时间复杂度为O(n^2)平均时间复杂度O(n^2)比较次数(n-1)+(n-2)+(n-3)+ …+1=n*(n-1)/2。代码实现 public static void bubbleSort(int[]
2021-10-09 01:03:27
242
2
原创 TCP和UDP的区别及应用场景
TCP和UDP的区别及应用场景TCP/IP 中有两个具有代表性的传输层协议,分别是 TCP 和 UDP。来看看传输层位于OSI七层协议和TCP/IP四层协议的位置:OSI七层协议和TCP/IP四层协议那么TCP和UDP的区别和使用场景分别是怎样的?我们用一个图来对比一下UDP和TCP:TCPTCP 是面向连接的、可靠的流协议。流就是指不间断的数据结构,当应用程序采用 TCP 发送消息时,虽然可以保证发送的顺序,但还是犹如没有任何间隔的数据流发送给接收端。TCP是面向面向字节流,虽然应用程
2021-10-06 01:25:02
1749
原创 浅谈多路查找树之B树与B+树的区别
浅谈多路查找树之B树与B+树的区别B树的基本介绍(1);B树通过重新组织节点,降低树的高度,并且减少i/o读写次数来提高效率。(2);文件系统及数据库系统的设计者利用了磁盘预读原理,将一个节点的大小设为等于一个页(页的大小通常为4k),这样每个节点只需要一次I/O就可以完全载入。(3);将树的度M设置为1024,在600亿个元素中最多只需要4次I/O操作就可以读取到想要的元素,B树(B+树)广泛应用于文件存储系统以及数据库系统中。对上图的说明(1) B树的阶;节点的最多子节点个数。(2)
2021-06-18 12:32:32
294
原创 使用Java代码实现对Hash表的添加,删出,查找,遍历
使用Java代码实现对Hash表的添加,删出,查找,遍历什么是Hash表散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Hash)函数。话不多说,使用
2021-06-06 15:14:14
1099
原创 关于Integer类型的自动装箱与拆箱的情况
关于Integer类型的自动装箱与拆箱的情况今天面试又被问到关于Integer的自动装箱和拆箱的问题,我回去整理了一下public class Test { public static void main(String[] args) { Integer a = 100; Integer a1 = 100; Integer b = 200; Integer b1 = 200; Integer c = 10;
2021-06-02 10:22:10
166
原创 关于对HashMap的理解
关于对HashMap的理解1.HashMap结构在jdk8中HashMap是由数组+链表+红黑树构成的,每个数据单元都是一个Node结构,Node单向链表结构中有key字段,value字段,还有next字段,还有hash字段,next字段就是发生哈希冲突的时候,当前桶位中的node与冲突node连成一个链表要用的字段/** *单向链表结构 */ static class Node<K,V> implements Entry<K,V> {
2021-05-21 11:16:19
102
原创 为什么MySql数据库默认存储引擎InnoDB采用的B+树结构而不使用二叉树
为什么MySql数据库默认存储引擎InnoDB采用的B+树结构而不使用二叉树1.二叉树和B+树存储数据结构上的区别假设插入相同的数据使用二叉树使用B+树2.二者存储数据的结构可以看出,二叉树随着数据的增加,树的高度会越来越高,而B+树是越来越胖。3.从二者的存储结构可以看出,二叉树随着数据量的增加,树的高度越来越高,增加了I/O次数,导致查询效率减低。而B+树随着数据量的增加,树的宽度越来越大,这样空间利用率更高,可减少I/O次数,查询效率较快。...
2021-05-14 16:46:33
689
原创 关于Java连接redis实现缓存的时候出现READONLY You can‘t write against a read only slave.
1.错误描述org.springframework.data.redis.RedisSystemException: Error in execution; nested exception is io.lettuce.core.RedisCommandExecutionException: READONLY You can’t write against a read only slave.2.错误原因Java连接redis实现缓存的时候出现org.springframework.data.redi
2021-05-04 15:50:39
10026
1
原创 关于对TreeSet集合中的元素可以按照元素的大小顺序自动排序的理解
关于对TreeSet集合中的元素可以按照元素的大小顺序自动排序的理解放在TreeSet集合中的元素,等同于放在TreeMap集合key部分 public boolean add(E e) { return m.put(e, PRESENT)==null;}TreeSet集合底层add方法源代码2.放在TreeSet集合中的元素,等同于放在TreeMap集合key部分,因此我们查看TreeMap底层的put方法可知 public V put(K key, V value) {
2021-04-07 10:06:23
561
原创 有关于Exception in thread “main“ java.util.ConcurrentModificationException
有关于Exception in thread “main” java.util.ConcurrentModificationException当使用迭代器去遍历集合时出现Exception in thread “main” java.util.ConcurrentModificationException错误代码
2021-04-04 11:09:54
3366
2
原创 springboot连接redis报错org.springframework.data.redis.RedisConnectionFailureException
springboot连接redis报错org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis; nested exception is io.lettuce.core.RedisConnectionException: Unable to connect to 192.168.237.67:6380application.yaml中redis的配置文件信息2.maven中包的
2021-03-21 09:19:16
2873
原创 SpringAop错误:Build path is incomplete. Cannot find class file for org/aspectj/weaver/tools/PointcutDe
SpringAop错误:Build path is incomplete. Cannot find class file for org/aspectj/weaver/tools/PointcutDe在使用eclipse编写SpringAop是出现Build path is incomplete. Cannot find class file for org/aspectj/weaver/tools/PointcutDe错误配置文件3.添加的jar架包4.日志类5.显示错误在配置文件中
2021-02-11 23:34:31
413
2
原创 错误:java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver
错误:java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Drivereclipse使用c3p0连接数据库时出现错误:java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver配置信息3.错误信息4.错误原因及其解决办法版本配置的原因,我的数据库是5.7版的,而导入的driver为com.mysql.cj.jdbc.Driver,把.cj去掉就可以了,就可以成功连接数据库了。
2021-02-09 10:54:58
399
原创 HTTP Status 405 - JSPs only permit GET POST or HEAD
HTTP Status 405 - JSPs only permit GET POST or HEAD版本:Spring4,Tomcat8代码如下web.xml:HiddenHttpMethodFilterorg.springframework.web.filter.HiddenHttpMethodFilter HiddenHttpMethodFilter /*JSP: Controller:@RequestMapping("/springm
2021-02-03 10:51:10
234
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人