自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 IDEA 添加类与方法代码模板

目录配置类创建时的代码模板配置类的快捷代码模板配置方法的快捷代码模板配置类创建时的代码模板打开IDEA设置如图添加内容后点击应用/** * 此处填写描述信息 * @author 王子龙 * @date ${YEAR}-${MONTH}-${DAY} ${TIME} */效果如下配置类的快捷代码模板打开IDEA设置添加一个group在新添加的group中新建一个代码模板按照下图填写模板如下** * 此处填写描述信息 * @author

2020-08-25 15:59:35 490

原创 Java多线程基础

目录一、概念程序进程线程并发并行二、创建线程的三种方式方式一:继承Thread类步骤代码演示结果方式二:实现Runnable接口步骤代码演示结果方式三:实现Callable接口步骤代码演示结果三、线程的五个状态四、线程常用的操作方法停止线程线程休眠线程礼让线程插队观测线程状态线程优先级一、概念程序程序是指令和数据的有序集合,是一个静态的概念。进程进程是程序的一次执行过程,是一个动态的概念,是系统资源分配和调度的独立单位。线程线程是进程的一个实体,是 CPU 调度和分派的基本单位,每一个进程中都

2020-08-12 17:58:56 452

原创 IDEA(2018版) 安装PlantUML以及Graphviz

1、打开IDEA的插件安装,搜索PlantUML integration,安装并重启IDEA2、如果出现下载不了的情况,按照下图关闭 [ 使用安全连接 ],并重启IDEA,再重试第一步,如果正常请跳过该步骤。3、下载Graphviz并点击安装(这是安装完了再安装的图,密码是fnvn)4、配置系统变量变量名:GRAPHVIZ_DOT 变量值:graphviz安装目录\bin\dot.exe 5、启动IDEA,新建文件,完成...

2020-08-05 15:18:02 1122

原创 算法使用理解

数据结构栈特点:后进先出场景* 需要先处理某类,全部处理完成之后再处理另一类

2022-04-16 22:34:35 346

原创 爬楼梯_简单

描述https://leetcode-cn.com/problems/climbing-stairs/题解解法一x思路x代码x

2022-04-16 20:42:31 413

原创 方舟服务器(Ark Server Manage)的配置迁移

问题引入今天在和朋友准备开私服玩耍,我想将已经弄好的服务器配置给转移给他,这样他就不需要重新配置繁杂的文件解决方法配置文件结构ASM的管理服务端的文件夹分为以下五块:Logs:日志文件Profiles:各个服务端基本配置,其中的每个.profile都对应servers中的一个server(也就是ASM中的选项卡)Servers:各个服务端的存储位置SteamCMD:steam的命令行_backup_:应该是自动回档的目录本来以为迁移配置只需要转移Profiles目录下的.prof

2021-03-10 11:50:58 4045 3

原创 Java中集合处理要点

subList:ArrayList的subList结果不可强转成ArrayList。原因:subList返回的是ArrayList的内部类SubList,它并不是ArrayList而是ArrayList的一个视图,所以直接强转ArrayList会报错。在subList场景中,高度注意对原集合元素的增加或删除,均会导致子列表的遍历、增加、删除产生ConcurrentModificationException异常。toArray()方法:无参: 返回结果是Object[]类,不可强转为其它类型数组,但

2020-09-29 19:58:42 193

转载 Java对象的访问方式

原文:Java对象的访问方式通过句柄访问:通过直接指针访问:总结: 通过直接指针访问的方式中,reference中存储的就是对象在堆中的实际地址,在堆中存储的对象信息中包含了在方法区中的相应类型数据。这种方法最大的优势是速度快,在HotSpot虚拟机中用的就是这种方式。...

2020-09-18 16:57:11 182

原创 七大排序算法(Java实现)

七大排序算法冒泡排序选择排序插入排序希尔排序快速排序归并排序堆排序/** * 七大排序算法 * * @author 王子龙 * @date 2020-09-18 9:00 */public class Sort { private static int[] nums = {1,7,9,5,3,4,2,6,8,0}; public static void main(String[] args) { // 冒泡排序 int[] c

2020-09-18 11:24:33 165

原创 二叉树的前中后序遍历的迭代算法

树形结构定义:public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode() {} TreeNode(int val) { this.val = val; } TreeNode(int val, TreeNode left, TreeNode right) { this.val = val; this.left = left;

2020-09-15 09:55:47 186

原创 @RequestBody和@Validated配合产生400而无法校验的解决方案

代码(全局异常处理器类里面):/** * 处理数据校验异常 * 处理配合@requestBody产生的数据校验异常 * * @author 王子龙 * @date 2020-8-30 21:34 * @param e 数据校验异常 * @return com.centerm.util.ResponseTemplate **/ @ExceptionHandler({BindException.class,MethodAr

2020-09-08 15:42:38 2871 2

原创 Springboot 接收数组和对象数组

前提@RequestParam和@RequestBody的区别(详见):接收数组后端:public ResponseTemplate deleteUser(@RequestParam("idList") List<Long> idList) { ... }postman:接收数组对象后端:public ResponseTemplate updatePositionPriority(@RequestBody List<Position> posi

2020-09-02 20:05:48 6115 1

原创 vscode连接不到扩展商店

解决方案: 按照下图取消勾选

2020-09-01 17:22:48 1066 2

原创 mysql insert与select的结合

问题描述: 想要插入的数据是根据表中数据计算得来,想要直接一条语句插入完成。解决思路: 利用insert和select结合解决方案:INSERT INTO branch_relation(descendant_id,ancestor_id,distance,gmt_create,gmt_modified)SELECT #{id}, ancestor_id, distance + 1, current_timestamp(), current_timestamp() FROM branch_relat

2020-09-01 17:04:41 7098

原创 mysql 的删除修改嵌套查询问题

问题描述:以下语句报错:You can’t specify target table ‘branch_relation’ for update in FROM clausedelete from branch_relation where descendant_id in ( select descendant_id from branch_relation where ancestor_id = #{id} )但

2020-09-01 14:11:17 1011

原创 基于springSecurity + redis + token 的请求流程大致图

2020-08-28 19:16:56 688

原创 springboot自动注入出现空指针异常的常忽略可能性之一

首先感谢该文:Spring Boot @Autowired注入为空的情况例子:存在以下类:@Componentpublic class A { @Autowired private B b; public void test(){ b.method(); }}如果存在以下调用: A a = new A(); a.test();则会出现自动注入失败的情况。原因:如果调用者A是被new出来的,而被调用者B(A的内部成员)是自动注入的,那么当A调用B时,B的自动.

2020-08-27 12:24:58 1273

原创 mybatis-plus 自动代码生成器的配置

代码生成器配置:mybatis-plus官方文档代码:// 需要构建一个 代码自动生成器 对象AutoGenerator mpg = new AutoGenerator();// 配置策略// 1、全局配置GlobalConfig gc = new GlobalConfig();//获取当前项目路径String projectPath = System.getProperty("user.dir");// 生成目录gc.setOutputDir(projectPath+"/src/.

2020-08-24 15:26:05 636

转载 Windows系统Git安装教程

原文链接:Windows系统Git安装教程(详解Git安装过程)Git下载链接:Git国内镜像源

2020-08-19 16:54:53 169

转载 免安装的MySQL的配置

MySQL的安装与配置——详细教程

2020-08-18 20:26:13 123

原创 mysql 基础知识

本篇文章是基于狂神说的MySQL最新教程通俗易懂写的思维导图思维导图:

2020-08-18 11:25:38 102

原创 vscode 使用Java Extension Pack插件导致的Java版本不合问题的解决方案

问题描述: vscode 使用Java Extension Pack插件之后Language Support for Java™ by Red Hat 提示没有JDK11,而作者本机又安装的JDK8,不想安装新的JDK又没办法运行Java。解决思路: 利用vscode的插件版本回退功能,将Language Support for Java™ by Red Hat插件回退到支持JDK8的版本即可。解决方案:打开插件的版本回退:选择版本:可以运行,完成!...

2020-08-18 09:22:27 7517

转载 java中什么时候会发生类的初始化

原文章链接:java中什么时候会发生类的初始化问题: 调用本类的静态方法和变量会导致类初始化!代码:public class Test { public static void main(String[] args) { System.out.println(Fun.num); }}class Fun { public static int num = 1; static { System.out.println("Fun初始化.

2020-08-17 18:00:08 131

原创 vscode plantuml插件输出大图被截取的解决方案

首先,多谢知春秋前辈的 PlantUML导出大图被截取和乱码 一文问题描述:vscode使用plantuml在导出png图片时大小超过一定限制会被截取,不能输出完整的图片。解决思路:在运行plantuml.jar时添加参数 -DPLANTUML_LIMIT_SIZE=8129 ,将限制长度增加,从而达到导出图不被截取的目的。解决方案:使用快捷键ctrl+, 打开vscode设置,按图示进入setting.json然后在其中输入 -DPLANTUML_LIMIT_SIZE=8129.

2020-08-16 20:46:01 2987

原创 JAVA 自增自减运算符的细节

单独为一行时: 放在变量前和变量后没有区别,都是+1或者-1的操作。参与赋值或者判断时:自增自减运算符放在变量前面时先自增自减,再参与赋值或者判断。使用自增自减运算符的变量有同名变量时:自增自减运算符在前:影响右侧同名变量值,也影响自己。自增自减运算符在后:影响右侧同名变量值,不影响自己。代码:int a = 0;// 0 + 3 == 1 + 2System.out.println((a + 3 == ++a + ++a) + ":" + a);// 2 + 6 == .

2020-08-14 10:12:29 184

原创 Java Lambda表达式

目录为什么需要使用Lamda表达式?哪里可以用到为什么需要使用Lamda表达式?避免匿名内部类定义过多简化代码只保留核心逻辑,清晰明了哪里可以用到

2020-08-12 09:53:21 343

原创 静态代理模式

由于在学习多线程时通过Runnable方式创建线程使用了静态代理模式,于是前来记录。

2020-08-11 14:37:50 99

原创 Java 多线程创建的三种方式

目录方式一:继承Thread类步骤代码演示结果方式二:实现Runnable接口步骤代码演示结果方式三:实现Callable接口步骤代码演示结果方式一:继承Thread类步骤写一个类继承Thread类,并重写run方法创建该类对象调用该对象的start方法代码演示public class MyThread { public static void main(String[] args) { //多态 Thread thread = new Thread1()

2020-08-11 14:20:56 95

原创 除自身以外数组的乘积

题目:思路:数组的不算该元素的乘积,等于左侧数乘积乘以右侧数乘积,两次遍历可得结果代码:class Solution { public int[] productExceptSelf(int[] nums) { int[] left = new int[nums.length]; int right = 1; left[0] = 1; for(int i = 1; i < left.length; i++) { lef

2020-08-10 22:56:58 126

原创 移动零——解法

题目:思路:原数组和结果数组的变化:0往左移,非零往右移。如果能一次移动到位,则时间复杂度低。对数组从左到右遍历,用一个变量zeros动态记录下标为i的元素左边的零的个数,每次把下标为i的元素覆盖下标为i - zeros的元素,最后给末尾zeros个元素全赋值为0。代码:class Solution { public void moveZeroes(int[] nums) { int zeros = 0; /** * zeros记录左侧0数,下标为

2020-08-10 22:43:12 216

原创 多数元素

题目:思路:将数组里的不同元素值看作不同投票人,元素值的下标顺序作为投票顺序。设定如下规则:投票人只会给自己投反对票,对于其他人他一定投反对票。投票为0时更换候选人。由于该数组一定存在多数元素,也就是说一定存在某人,他的投票次数比所有人加起来的还要多,那他即使反对所有人,也一定有余票支持自己,所以他一定会是最后的候选人。所以最后的候选人为多数元素。代码:class Solution { public int majorityElement(int[] nums) {

2020-08-10 12:24:31 104

转载 十分钟搞懂Java内存结构——笔记

原文链接:十分钟搞懂Java内存结构思维导图:

2020-08-10 11:14:55 91

原创 二叉树展开为链表

题目:思路:利用二叉树的先序遍历,每次遍历时将右孩子入栈,左孩子连接,遍历完之后单链表形成。代码:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } *

2020-08-10 08:59:25 133

原创 只出现一次的数字

题目:思路:异或操作可以剔除出现偶数次数的元素,所以对该数组全部异或则可得出现一次的数据。代码:class Solution { public int singleNumber(int[] nums) { int result = nums[0]; /** * 对数组进行异或操作,如果出现两次的数据会被抵消,出现一次的数据则不会,所以全部异或出来的则是出现一次的数据 */ for(int i = 1; i < nums

2020-08-09 18:04:19 77

转载 十分钟搞懂Java中的==、equals——笔记

原文章链接:十分钟搞懂Java中的==、equalsintern()jdk1.6: intern能使一个位于堆中的字符串(而不是引用)在运行期间动态地加入到字符串常量池中。jdk1.7及之后: 如果在池中存在string,则返回string,不存在相应的string,把该字符串的引用加入string pool,并返回该引用。解释只要代码中出现了魔法值,字符串常量池中定有其存在! 这也就是上述代码第一次输出jdk1.7之后的结果为false的原因。...

2020-08-09 17:43:53 92

原创 反转单链表

题目:思想:三指针反转单链表,利用head少新建一个指针代码:/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public ListNode reverseList(ListNode head) {

2020-08-07 09:32:27 80

原创 二叉树的中序遍历-迭代

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { public List<Integer> inorderTraversal(TreeNode root) {

2020-08-06 09:36:04 93

原创 IDEA下载插件失败解决方案

进入IDEA设置,按照下图关闭 [ 使用安全连接 ],并重启IDEA

2020-08-05 20:09:19 2818 1

原创 IDEA(2018版) 解决plantUML模糊(字体模糊)的一次思想记录与方案

今天配置完IDEA的plantuml之后,发现了一个大问题——渲染出来的图片模糊得一批百思不得其解,我在想是不是graphviz的问题,就查到了分辨率上。可是我同学的idea并没有配置分辨率显示却十分高清,我又把矛头转到了graphviz的兼容问题上,于是我又去官网上下载了2.441版本的graphviz。几番周折,还是不行,我再想是不是软件配置的问题,我选择去vscode安装plantuml,结果不出所料,vscode上的plantuml清晰的就离谱。正在我一筹莫展的时候,同学提醒我可以试着搜搜IDE

2020-08-05 20:05:22 3671 3

空空如也

空空如也

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

TA关注的人

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