自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 学习log4j2的文件配置笔记

零、前言最近做课设想到要用日志来打印输出,因此我想到了log4j2这一个日志实现,虽然这个日志最近爆出了大漏洞。我用的是slf4j作为门面,log4j2作为日志实现。这篇文章只是我简单的学了一下后记录的笔记,如果有错误可以在评论区指出,我看到的话就会修改。一、配置文件节点解析来源:https://www.cnblogs.com/hafiz/p/6170702.html根节点Configuration,有两个属性:status属性:用来指定log4j本身的打印日志的级别。(也就是log4j自身能

2021-12-30 23:10:47 1025 4

原创 学习java的synchronized关键字总结

一、前言最近比较堕落,因为找不到工作后,放松了学习。写这篇博客是因为前段时间看八股文的一个synchronized流程图感觉有些地方不合理,于是上网查找其它博客,结合这些博客和源码来了解具体的流程。二、阅读的博客来源死磕Synchronized底层实现–概论死磕Synchronized底层实现–偏向锁死磕Synchronized底层实现–轻量级锁死磕Synchronized底层实现–重量级锁通过阅读这些博客以及源码,于是我得出以下的流程总结。三、我的总结之偏向锁篇首先先获取lock rec

2021-11-11 16:29:47 519

原创 学习红黑树心得

红黑树0.前言最近看了b站一个红黑树的视频,觉得讲得很好,同时写下,看完后的心得。视频链接:https://www.bilibili.com/video/BV135411h7wJ?p=15红黑树演示网站:https://www.cs.usfca.edu/~galles/visualization/RedBlack.html注意:以下每个步骤穿插的代码只是针对某个步骤,要么是自己写的,要么是参照b站视频的老师写的。如果要看完整代码看最后。每种情况我只讲左边或右边,因为针对左边的代码,复制一下改

2021-06-14 17:53:55 932 17

原创 String ab = new String(“a“) + new String(“b“)创建了几个对象

一、前言之前已经研究过了,但是今天和别人讨论了这个问题,有了点新的见解,于是记录下来。二、代码测试 public static void main(String[] args) { String ab = new String("a") + new String("b"); String c = new String("c");

2021-03-17 02:12:27 2305 1

原创 编辑距离笔记

一、前言最近开始学动态规划,发现动态规划算法这样的题目,状态转换方程推不出,就真的做不出了,这个感觉就像是要靠天赋的,或者多刷题,但是即使多刷题,遇到没思路的,也一样推不出方程。然后昨天看到编辑距离这道题,看了一会儿看不出思路,然后看状态转换方程,也还是不懂,于是就尝试填表格推一下,才搞懂。二、题目leetcode0072:https://leetcode-cn.com/problems/edit-distance/给你两个单词 word1 和 word2,请你计算出将 word1 转换成

2021-03-16 15:35:15 91

原创 递归与非递归

一、前言最近在刷树、图相关的题,很多题都用到了递归做法,但是其实这些题也有非递归做法,而我也经常用非递归解法。这篇博客的目的就是写写我对递归和非递归的看法。(java中)二、递归对于递归,其实是一种隐式调用栈的过程,看如下代码:public class RecursionTest { public static void main(String[] args) { System.out.println(factorial(6)); } priv

2021-03-15 02:36:02 1306

原创 对前后自增++i与i++的补充

一、前言想写这篇博客,主要是最近在leetcode刷了些题,然后遇到数组中自增位置的选择,感觉挺有意思的,于是就分析下原理。我前一篇介绍i++的文章链接:https://blog.csdn.net/weixin_44765605/article/details/110746423?spm=1001.2014.3001.5501二、测试代码大家可以想一下下面的数组输出是什么。测试代码: public static void main(String[] args) { i

2021-03-15 01:17:13 173

原创 学习平衡二叉树笔记

11_树结构实际应用(3)平衡二叉树(AVL 树)1、二叉排序树的问题看一个案例(说明二叉排序树可能的问题),给你一个数列{ 1,2,3,4,5,6 } ,要求创建一颗二叉排序树(BST),并分析问题所在:左子树全部为空,从形式上看,更像一个单链表;插入速度没有影响;查询速度明显降低(因为需要依次比较),不能发挥BST 的优势,因为每次还需要比较左子,其查询速度比单链表还慢。解决方案-平衡二叉树(AVL)。2、平衡二叉树基本介绍平衡二叉树也叫平衡二叉搜索树(Self-b

2021-03-11 02:34:54 241 1

原创 leetcode1424对角线遍历||的收获

一、前言今天做的leetcode上的一道题,想了几种方法,要么超时,要么就是空间不足。超时:插入法超时了空间不足:自定义栈空间不足,但是用java提供的栈就不会,大概是因为java提供的栈有个初始的长度,是会自动扩容的,而我自定义的栈是一开始就定好长度的,不用扩容,可能也是因为一开始初始化太大了就超过空间了。然后改用java提供的栈才通过,同时发现和速度第一个方法速度相差差不多4倍,看了一下第一名的代码,感觉能学到很多,因此记录下来。PS:我通过的方法和第一的方法都不是和排序有关的,但是这道题就是

2021-02-07 23:51:47 149 1

原创 leetcode1249.移除无效的括号

一、前言主要是因为这道题我没看评论和题解,并且我觉得自己的解法挺有趣,java代码的时间上击败100%,所以想记录一下。ps:对于用单调栈解的那些题目也很有趣,不过笔记记在本地上了。二、题目网址:https://leetcode-cn.com/problems/minimum-remove-to-make-valid-parentheses/三、解题思路注意:在这一道题中,用于模拟栈和接收字符的数组都是同一个。栈底是数组中索引为 s.length()-1 的位置。接收字符则从字符数组

2021-01-24 19:10:54 208

原创 关于leetcode中关于栈的题目的运行速度优化问题

一、问题今天刷题的时候,总有疑惑,为什么自己代码的思路和别人差不多却总是慢那么多,然后才发现原来是我使用的是java自带的栈的问题,而别人用的是自己数组实现栈。使用java提供的栈的运行时间:而改成数组实现栈后的时间:二、问题根源其实就是java提供的栈初始化的时候固定了长度,是10:java.util.Stack继承了java.util.Vector类。java.util.Stack类只有一个构造方法:public Stack() {},因此会调用到父类里的构造方法public V

2021-01-22 21:44:49 166

原创 链表中的倒数第k个节点

一、题目输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。来源:https://leetcode-cn.com/problems/lian-biao-zhong-dao-shu-di-kge-jie-dian-lcof/这条url怎么用的是拼音啊。。。二、思路注意,走了多少步就是过了多少距离,距离和长度不一样,比如

2020-12-09 02:21:19 1944

原创 复制带随机指针的链表

一、前言前段时间在leetcode刷到一道复制带随机指针的链表的题目(网址在这),我用的是很傻的方法过的,看了评论区后发现有个很好的方法,我用他的思路自己实现了一下。因为感觉很妙,所以记录一下他这种方法。二、题目详情原题网址链接:https://leetcode-cn.com/problems/copy-list-with-random-pointer以下是复制的题目:给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。要求返回这个链表的 深拷贝。我们

2020-12-09 01:56:32 159

原创 快慢指针的理解与例题

一、前言最近这段时间我在看链表,同时刷leetcode与链表相关的一些题目,遇到了判断环形链表的题目,我无从下手,然后上网查找一下关于链表的一些其他操作,找到了快慢指针这一关于链表的操作,可以用于判断一个链表是否是环形链表。二、快慢指针在链表中的一些证明以下内容我参考了一篇博客:https://blog.csdn.net/jnxxhzz/article/details/827731121、快慢指针相遇的证明① 没有环的情况当链表没有环的时候,快指针会到链表尾部,遇到null,慢指针则指向链

2020-12-09 01:14:05 317

原创 从字节码层次画图解释java中的++i与i++

一、前言前段时间,在牛客上刷题的时候遇到了++i与i++,于是我就想写一篇博客来说明java中++i与i++究竟是怎么运作的。二、代码示例及运行结果1、代码示例1代码:public class Test01 { public static void main(String[] args) { int x = -1; int y; y = x++ + ++ x; // 3 System.out.prin.

2020-12-06 19:35:31 295 1

原创 jdk8中字符串常量池存放在哪里

先看在JVM在jdk7中的变化的官方文档:来源:https://docs.oracle.com/javase/8/docs/technotes/guides/vm/enhancements-7.html可以看到,在jdk7的时候,对于interned strings,不再分配在堆的永久代中了,而是分配在了堆中的主要部分:新生代和老年代中。我的理解:到了jdk7后,创建字符串对象后使用了String的intern()方法的字符串对象的引用会被存到堆中的新生代或老年代中。关于字符串对象引用和in

2020-12-06 16:19:09 4209 2

原创 java中关于传递引用到方法中的我的理解

一、前提前段时间在贴吧上看到一个关于在java方法中传递引用后的修改要怎么理解的帖子,我写下我的理解。二、代码示例以及结果以下代码均是在那个帖子抄来的。1、例子1代码:public class RefDemo02 { public static void main(String[] args) { String str1 = "hello"; System.out.println("fun()方法调用之前: " + str1);

2020-12-03 01:51:47 192

原创 我对java字符串对象引用的理解

官网对字符串字面量的一些解释如图网址来源:https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-5.html#jvms-5.1从中可获取的信息首先注意,字符串字面量"abc"与字符串对象(String类对象)new String("abc")不一样。(这里是个人理解)一个字符串字面量是一个String类对象的引用。java程序要求完全相同的字符串字面量必须引用相同的String类对象。完全相同的意思是字面量包含相同的code po

2020-12-02 23:29:43 883

原创 对于java字符串中intern以及字符串引用问题的我的理解(通过debug查看字符串对象)

1、先大致查看一下源代码,等等debug分析要用到StringBuilder的toString()方法:@Overridepublic String toString() { // Create a copy, don't share the array return new String(value, 0, count);}String的String(char[] value[], int offset, in count)构造方法(这个方法没有创造任何新的字符串对象,""这个

2020-11-13 03:54:43 220

原创 关于canal无法连接上数据库的原因以及解决方案

问题:今天我第一次用canal,步骤都是按照一个视频的来,视频中没有出错并且能成功同步本机和虚拟机linux上的数据库,但是我这里却一直不成功。于是我就去查看日志:我找到关键词:caching_sha2_password Auth failed,上网查了一下,原来是和数据库版本不同而导致数据库用户的密码加密方式不同的原因。解决方案:参考链接:https://www.jianshu.com/p/3d1e877b0dce在canal连接的linux的mysql上(模拟远程数据库)用以下两行命令:

2020-10-18 17:51:29 4732

原创 关于使用校园网的时候使用阿里云视频点播上传服务失败的解决方法

问题描述昨天我使用阿里云的视频点播的时候,发现上传视频一直失败:然后我去找了售后人员,最后知道问题的根源可能出在校园网上,然后我去问了校园网的工作人员,还是解决不了,于是我就想,能不能直接访问ip而不去通过域名访问服务器,毕竟通过域名访问要解析,然后我就给hosts文件新增了个域名绑定ip,问题就解决了。解决方式找到hosts文件:添加以下这一行:至于为什么添加这一行,我是抱着尝试的心理去尝试的,当时询问售后人员他给了我一个命令:然后我就尝试用那个ip地址,没想到居然成功了。成功后的

2020-10-13 14:09:43 930 3

原创 关于windows中nacos1.3.2启动失败的问题

起因:最近在学spring cloud,学到了nacos,本来想用我虚拟机上的linux的docker来启动nacos的,可是一启动,我的笔记本的内存瞬间到了80%,这还是没启动微服务的情况下。于是我就用windows来启动nacos。过程:启动的时候直接失败,原因是没有配置数据库信息。于是我就配置了数据库的信息:新建一个数据库,运行上图中所指的nacos-mysql.sql:然后在application.properties中修改:把我指的全部放出来(原本是注释掉的),然后user和pa

2020-08-26 14:42:52 1794

原创 WARN [org.apache.shiro.mgt.AbstractRememberMeManager]的原因

出现问题的字段:WARN [org.apache.shiro.mgt.AbstractRememberMeManager] - There was a failure while trying to retrieve remembered principals. This could be due to a configuration problem or corrupted principals. This could also be due to a recently changed encryp

2020-08-09 18:58:59 1736

原创 关于idea中创建的maven项目的静态资源文件夹名字问题

如图我在idea创建了一个Maven模块,我想使用以web命名的文件夹来存放静态资源,但是每次用maven去run的时候web文件夹下的静态资源都没有被打包。在网上也找了一些方法,也无法改变,最后只能把web改成webapp。我觉得大概是maven限定了只能打包webapp下的静态资源吧。其实我在网上也找到了在pom文件中设置打包静态资源的路径的方法,但是设置了也没用。因为暂时没有对静态资源文件夹有命名要求,所以这个问题留待日后解决吧。把web改为webapp以后才成功(暂时不需要把静态资源的文件夹改

2020-08-03 14:37:37 796

原创 PrintWriter writer = new PrintWriter(socket.getOutputStream())出现的问题

PrintWriter writer = new PrintWriter(socket.getOutputStream());今天在做作业的时候,这个东西卡了我很久。。。问题:我的服务端一直接收不到客户端的信息,但是debug的时候,客户端发送信息是全部发送出去了的,而服务端却一直阻塞在等待信息中。后来通过查找资料和试验,我才解决了这个问题。  问题代码:客户端发送信息:writer.write(tUsername.getText());writer.write(tP

2020-06-07 15:41:23 2367

原创 java的socket编程服务端一直收不到客户端信息

今天在做java课程大作业的时候,被一个地方卡了好久。问题服务端一直收不到客户端的信息,我很奇怪,因为我前几天做实验的时候,客户端和服务端是都能互相接收信息的,怎么到这里就不行了?以下是Client的问题代码:package com.jie.code05.client.service;import javafx.scene.control.Button;import javafx.scene.control.TextField;import java.io.IOException;imp

2020-06-06 23:30:11 2180

原创 对于《Python数据科学手册》p78页示例:K个最近邻的dist_sq理解

首先让我们来看一下这个例子中的dist_sq是什么:dist_sq = np.sum((X[:, np.newaxis, :] - X[np.newaxis, :, :]) ** 2, axis=-1)其中的X是一个(10, 2)的二维数组。 首先先让我们来看一下X进行升维以后的shape是什么:import numpy as npif __name__ == '__main__': X = np.random.rand(10, 2) # 10行2列,意思是10个(x,

2020-05-17 19:08:06 339 3

转载 对pycharm中导入第三方库超时的问题的解决

问题:今天导入第三方库的时候一直超时,于是我上网找了解决方案,使用清华的镜像来解决。解决方案:在pycharm中:File->setting->Project Interpreter中加入一个镜像:https://pypi.tuna.tsinghua.edu.cn/simple/参考文章:https://blog.csdn.net/angellee1988/article/details/106038855...

2020-05-16 22:42:14 1542

转载 python中的Empty suite

以下为转载:问题:python 报错:Empty suite原因:1.类名用Test命名2.代码中使用了main函数调用类中的内容所以解决办法:只要不满足上面的某一条件就行来自:https://blog.csdn.net/weixin_44981302/article/details/92612202太久没学python了,自己以前好像遇到过这个。...

2020-05-16 21:50:17 6957

原创 对numpy中axis的理解

参考文章:https://blog.csdn.net/zxyhhjs2017/article/details/81428220最近重新开始学习numpy,然后重新对之前其实不太懂得axis(轴)重新研究了一下。首先先看一个示例代码:import numpy as npif __name__ == '__main__': data2 = np.arange(0, 24).reshape((2, 3, 4)) print('data2.shape:\n', data2.shape)

2020-05-16 18:41:49 214

原创 idea算法28页运行程序

那些环境变量什么的配好了但是却要在控制台中运行实在是太麻烦了,而且不能debug,所以我就想在idea中运行的时候可不可以把两个文件读取进去。首先,idea结构图:然后本来是要输入命令:java Order_01_BinarySearch tinyW.txt < tinyT.txt我这里的Order_01_BinarySearch相当于书上的BinarySearch。接着:...

2020-02-21 21:25:41 139

转载 docker配置阿里云镜像

https://blog.csdn.net/lk142500/article/details/88648438

2020-02-05 02:26:13 84

转载 修改 IntelliJ IDEA 默认配置路径

idea.config.path=D:/idea/idea/.IntelliJIdea2019.3/configidea.system.path=D:/idea/idea/.IntelliJIdea2019.3/systemidea.plugins.path=${idea.config.path}/pluginsidea.log.path=${idea.system.path}/log...

2019-11-28 23:38:05 4546

原创 Java编码规范中的命名规范

注重的编码规范(简单):起名:1):都得遵循标识符的规范。2):不能使用拼音,拼音首字母,使用英文单词,或者使用英文组合单词。3):采用驼峰表示法,使用组合单词的使用,以后的每一个单词首字母都大写。EmployeeAdvanceSetting。1:包名:package 域名倒写.模块名.组件;package cn.wolfcode.pss.util; 全部使用小写...

2019-11-27 01:14:26 253

原创 冒泡排序的改进

package com.jie.day05;import org.junit.Test;import java.util.Arrays;public class Demo03 { @Test public void testSort0() { int[] numbers = {1, 3, 2, 5, 4, 6, 10, 0, 9, 8, 7}; ...

2019-11-24 18:48:17 202

原创 Java交换变量的值的两种方式

方式一:最常见的用三个变量来交换两个变量之间的值;方式二:用两个变量来交换值,把这两个变量的值看作是数轴上的两个点,先用一个小的变量c(大的也可以,这里就用小的先记录距离)来记录这两个点之间的距离,然后再用大的变量d减去距离就是小的变量c的值,然后原先记录小的值的变量c(现在记录距离)加上d就是原先大的变量d的值。代码如下:package com.jie.day02;public cla...

2019-11-24 00:05:49 254

原创 JDK-JRE-JVM概述

JRE(Java Runtime Environment):Java运行环境,如果要运行Java程序,就需要JRE的支持,JRE里包含JVM。JDK(Java Development Kit):Java开发工具,包含开发Java程序的所有工具,如javac和java等,JDK里包含JRE。Java虚拟机(Java Virtual Machine),简称JVM,它是运行所有Java程序的虚拟计...

2019-11-23 17:46:04 108

原创 mysql8的导出和导入

导出:导出成功:导入:导入成功(导入的database要先存在,否则会报错):

2019-11-23 15:36:24 438

原创 IDEA使用lombok插件还是无法编译问题

当使用了lombok中的@Data以后,编译一直找不到符号,于是上网查了一下,最终发现要改一个地方:打上勾,再次编译就成功了。

2019-11-21 20:44:15 1062

原创 Jdbc对于mysql8的批处理

一、开始的时候先写一个测试类:工具类:package com.jie.util;import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;import java.uti...

2019-11-21 14:54:38 869

空空如也

空空如也

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

TA关注的人

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