Java
Java
绿头龙
don't think,feel it
展开
-
maven打包时包含resource目录下资源
Resource下放的配置文件在打包后都消失不见导致报错解决:在pom依赖中加入:<!--打包时将resource下的文件一起打包--><resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/**</include> </includes&g原创 2022-01-26 17:32:21 · 2335 阅读 · 0 评论 -
SonarQube启动提示Plugin key is missing from manifest
issue:在给sonarqube安装自定义的插件时,启动SonarQube,log/web.log提示错误信息:java.lang.NullPointerException: Plugin key is missing from manifest at java.base/java.util.Objects.requireNonNull(Objects.java:246) at org.sonar.core.platform.PluginInfo.<init>(PluginInfo.j原创 2022-01-20 18:57:33 · 1225 阅读 · 0 评论 -
使用Double.parseDouble调用Parse之前检查null
/** * 预防Double.parseDouble()报空指针异常 * @param value * @param defaultValue * @return */ private static double parseStringToDouble(String value, double defaultValue) { return value == null || value.isEmpty() ? defaultVa...原创 2022-01-11 16:17:34 · 2380 阅读 · 0 评论 -
字符串转数字
public class Main { public static void main(String[] args) { String str = "123"; int help = help(str); System.out.println(help); } public static int help(String str){ if (str==null||str.length()==0){原创 2021-03-22 12:29:25 · 131 阅读 · 0 评论 -
快速排序
参考为:https://blog.csdn.net/MoreWindows/article/details/6684558快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。该方法的基本思想是:1.先从数列中取出一个数作为基准数。2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。3.再对左右区间重复第二步,直到各区间只有一个数。举个栗子:初始时,i = 0原创 2020-07-08 23:17:33 · 78 阅读 · 0 评论 -
Jmeter安装流程和错误修复
Apache JMeter下载地址:http://jmeter.apache.org/download_jmeter.cgi下载解压配置环境变量点击新建,输入变量名为:JMETER_HOME 变量值为你Jmeter解压的路径。随后再点击确定配置classpath变量,点击新建,变量名为固定值:%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib/logkit-2.0.原创 2020-07-14 00:39:31 · 542 阅读 · 0 评论 -
为什么在Java中,输出char型数组名时,打印结果是其内容,而输出其他类型数组时,打印出来是地址
public class Main { public static void main(String[] args) { char[] arr = {'a', 'b', 'c'}; String[] s = {"a", "b", "c"}; System.out.println("arr --> " + arr); System.out.println("s --> " + s); }}运行结果:为什么会原创 2021-03-06 13:31:03 · 1489 阅读 · 4 评论 -
Java的“ public static void main(string [] args)”的含义
public->访问说明符。任何其他类都可以访问此方法。static ->该方法绑定到该类,而不是该类的实例。void->返回类型。该方法不返回任何内容。main(String[] args)->方法名是main()。它需要一个阵列的字符串的作为参数。该String[] args是命令行参数。注意:main()上面定义的方法是程序的入口点,如果更改签名,则程序可能无法运行。...原创 2021-03-05 23:32:28 · 795 阅读 · 0 评论 -
如何在云服务器上面部署自己的项目
前一段时间自己撸完了一个VUE+Springboot的个人博客项目,决定部署到自己的云服务器上面。关于项目的打包:前端vue打包npm run build得到一个dist文件夹(全称:distribution。在某些框架中,因为开发和发布是的内容或者代码形式是不一样的(比如利用Grunt压缩等等),这时候就需要一个存放最终发布版本的代码,这就是dist文件夹的用处。)将dist文件夹上传到服务器。配置Nginxlocation /cms/ { proxy_s原创 2021-02-17 13:34:40 · 807 阅读 · 1 评论 -
用Java实现一个查找端口占用并且结束进程的小工具killPort
使用Java调用CMD命令实现。项目地址:https://gitee.com/shizhangmourenle/kill-process.git主程序killPort :import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Scanner;/** * @author zjq * @version 1.0 * @date 2021原创 2021-02-01 21:09:59 · 437 阅读 · 0 评论 -
MyBatis3中CDATA的使用
CDATA:指的是不应由XML解析器进行解析的文本数据。在XML中,“<”和“&”是非法的。转义字符:非法的xml字符必须被替换为实体引用(entity reference)。如果在XML文档中使用类似”< ” 的字符, 那么解析器将会出现错误,因为解析器会认为这是一个新元素的开始语法格式:< ! [ CDATA [忽略检查的文本]]>如果文本中包含了很多特殊字符,那么最好把他们放在CDATA中,CDATA部分中的所有内容都会被解析器忽略。...原创 2021-01-31 14:40:57 · 152 阅读 · 0 评论 -
Java中Date、DateTime、String相互转换
String转换为Date//String转换为Date String time = "2021-01-31"; try { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); Date parse = simpleDateFormat.parse(time); System.out.println("parse===.原创 2021-01-31 14:30:53 · 2355 阅读 · 0 评论 -
JWT(JSON Web Token)
什么是JSON Web令牌?JSON Web令牌(JWT)是一个开放标准(RFC 7519),它定义了一种紧凑且自包含的方式,用于在各方之间安全地传输信息作为JSON对象。由于此信息是经过数字签名的,因此可以被验证和信任。可以使用秘密(使用HMAC算法)或使用RSA或ECDSA的公钥/私钥对对JWT进行签名。1.JWT能做什么?授权:这是使用JWT的最常见方案。一旦用户登录,每个后续请求将包括JWT,从而允许用户访问该令牌允许的路由,服务和资源。单一登录是当今广泛使用JWT的一项功能,因为它的开销原创 2020-12-29 11:51:27 · 282 阅读 · 0 评论 -
二叉树的创建和遍历
声明TreeNode节点类class TreeNode{ public int val; public TreeNode left; public TreeNode right; public TreeNode(int val){ this.val = val; }}将要构建的二叉树形态。 1// * / \// * 2 4//原创 2020-11-24 11:45:43 · 161 阅读 · 1 评论 -
为什么要设置 HashMap 的初始化容量
为什么要设置 HashMap 的初始化容量?public class Main { public static void main(String[] args) { int end = 10000000; HashMap<Integer, Integer> map = new HashMap<>(); long l = System.currentTimeMillis(); for (int i=0;i<原创 2020-11-14 20:59:47 · 1212 阅读 · 1 评论 -
Java8-String类型
Java8中的String类型:声明为final,不可被继承。实现了Serializable接口,表示String是支持序列化的。实现了Comparable接口,表示String是可以比较大小。底层为一个定义为final的char数组。在Java8之后,String的底层进行了一些修改,由char数组修改为了byte数组。String:代表不可变的字符序列。当对字符串重新赋值时,需要重写指定内存区域赋值,不能使用原有的value进行赋值。当对现有的字符串进行连接操作时,也需要重新指定内原创 2020-10-18 19:06:01 · 481 阅读 · 0 评论 -
Java 异常的体系结构
Java把异常当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。Error:Error类对象由 Java 虚拟机生成并抛出,大多数错误与代码编写者所执行的操作无关。例如,Java虚拟机运行错误(Virtual MachineError),当JVM不再有继续执行操作所需的内存资源时,将出现 OutOfMemoryError。这些异常发生时,Java虚拟机(JVM)一般会选择线程终止;还有发生在虚拟机试图执行应用时,如类定义错误(NoClassDefFoundError)原创 2020-10-12 21:35:44 · 130 阅读 · 0 评论 -
Java代码块中的执行顺序
提前总结:执行顺序为:执行静态代码块执行构造代码块执行构造函数在继承中的执行顺序为:执行父类的静态代码块执行子类的静态代码块执行父类的构造代码块执行父类的构造函数执行子类的构造代码块执行子类的构造函数。注意:如果类中存在静态初始化或者静态代码块,在JVM中只会被加载一次,即使后面再次出现该类的实例也不会再加载。public class Main { static { System.out.println("父类的静态代码块"); }原创 2020-09-26 15:58:04 · 178 阅读 · 0 评论 -
重载和重写的区别及联系
重载是编译期多态,重写是运行期多态。重写重写发生在父子类中。 有个父类,里面定义了某些方法,当在子类中继承父类时,重写父类的方法。重写方法名、参数类型和个数一致public class Main { public void help(){ System.out.println("我是父类"); }//// public static void main(String[] args) {// Main main = new Main();.原创 2020-09-05 23:31:05 · 661 阅读 · 0 评论 -
Java-final关键字
final关键字final修饰变量,则等同于常量public static void main(String[] args) { final String str = "hello"; str = "a";// 报错----错误信息:java: 无法为最终变量str分配值 System.out.println(str); }final修饰方法中的参数,称为最终参数。final修饰类,则类不能被继承final修饰方法,则方原创 2020-09-05 23:15:49 · 68 阅读 · 0 评论 -
String,StringBuilder,StringBuffer区别。
StringString是不可变字符串,他的底层是一个使用final修饰char数组。final关键字// Pass 2: Allocate and fill in char[] final char[] v = new char[n]; public static void main(String[] args) { String str = "hello"; str = str + " word"; System.out.prin原创 2020-09-05 22:56:31 · 76 阅读 · 0 评论 -
Java的基本数据类型
在Java中一共有8中基本数据类型整数类型(byte、short、int、long)的基本类型变量的默认值为0。单精度浮点型(float)的基本类型变量的默认值为0.0f。双精度浮点型(double)的基本类型变量的默认值为0.0。字符型(char)的基本类型变量的默认为 “\u0000”。布尔性(boolean)的基本类型变量的默认值为 false。引用类型的变量是默认值为 null。(引用类型不属于基本数据类型)...原创 2020-09-05 22:34:05 · 115 阅读 · 0 评论 -
Java集合类-List
集合类的基本接口是Collection接口。ListList是有序集合,元素可重复。元素会增加到容器中的特定位置。可以采用整数索引来访问,或者使用迭代器来访问。ArrayList:底层采用数组结构。优点:查询快,增删慢。但是线程不安全。 /** * ArrayList的初始容量为10 * Default initial capacity. */ private static final int DEFAULT_CAPACITY = 10;当需要扩容时,A.原创 2020-09-01 00:25:42 · 119 阅读 · 0 评论 -
数组与集合之间的转换
数组转listpublic static void main(String[] args) { String[] arr = {"aaa","bbb","ccc"}; List<String> list = Arrays.asList(arr); System.out.println(list);//结果:[aaa, bbb, ccc] }集合转数组使用toArray()方法的话,只能得到一个Object数组。并且不可以使用强制原创 2020-08-31 10:14:00 · 261 阅读 · 0 评论 -
java visualVM--某些插件需要安装插件模块系统 API。
出现原因:原来的地址已经发生了改变。URL的地址现在已经转到github,现在地址是:https://visualvm.github.io/pluginscenters.html找到对应JDK版本的URl。安装插件就可以完成了原创 2020-07-20 17:14:26 · 577 阅读 · 1 评论 -
在终端可以java和javac,在IDEA自带终端出现“无法将“java”项识别为 cmdlet、函数、脚本文件或可运行程序的名称”
直接运行IDEA.exe就不行,使用管理员运行IDEA.exe就可以了!????重装了次JDK就出现了这个问题了?难道是权限不够???原创 2020-07-12 15:24:07 · 1779 阅读 · 4 评论 -
java 序列化ID的作用
1原创 2020-06-02 22:23:11 · 409 阅读 · 0 评论 -
Cause: java.lang.IllegalArgumentException: argument type mismatch
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: Could not set property ‘updateTime’ of ‘class com.qi.pojo.User’ with value ‘2020-05-20T19:01:24.154’ Cause: java.lang.IllegalArgumentException:原创 2020-05-20 19:08:42 · 1519 阅读 · 0 评论 -
java中类初始化和实例初始化
类初始化过程一个类要创建实例需要先加载并初始化该类main方法所在的类需要先加载和初始化一个子类要初始化需要先初始化父类一个类初始化就是执行()方法------------cl代表class()方法由静态类变量显示赋值代码和静态代码块组成类变量显式赋值代码和静态代码块从上到下顺序执行()方法只执行一次实例初始化过程实例初始化就是执行()方法() 方法可能...原创 2020-04-07 22:05:21 · 105 阅读 · 0 评论 -
synchronized作用域总结
修饰代码块:大括号括起来的代码,作用于调用的对象。修饰方法:整个方法,作用于调用的对象。修饰静态方法:整个静态方法,作用于所有对象。修饰类:括号括起来的部分,作用于所有对象。...原创 2020-02-29 16:54:27 · 309 阅读 · 0 评论 -
编写一个application程序实现如下功能:接受命令行中给出的一个字符串,先将字符串原样输出,然后判断该穿的第一个字母是否为大写,若是大写则统计该串中大写字母的个数,并将所有大写字母输出。
package application3;import java.util.Scanner;public class application3 { public static void main(String[] args) { Scanner in = new Scanner(System.in); String s= in.nextLine(); System.out.println...原创 2018-05-05 14:11:43 · 4251 阅读 · 0 评论 -
Map
MapMap<String,Integer> map = new HashMap<>();操作:TreeMap原创 2020-02-19 13:47:11 · 97 阅读 · 0 评论 -
HashSet和TreeSet
HashSetHashSet:HashSet是Set接口的典型实现,大多数时候使用Set集合时都是用这个实现类,我们大多时候时候说的set集合指的都是HashSetHashSet按照Hash算法来存储集合中的元素,以你具有很好的存取和查找性能.HashSet具有以下特定:不能保证元素的排列顺序(根据hashCoed值来排列)不可重复HashSet不是线程安全的集合元素可以使用nul...原创 2020-02-19 13:42:15 · 819 阅读 · 0 评论 -
接口(interface)
接口:有时必须从几个类中派生出一个子类,继承他们所有的属性和方法,但是,java不支持多重继承。有了接口,就可以得到多重继承的效果。接口(interface):是抽象方法和常量值的定义的集合。接口的特点:用interface来定义 接口中的所有成员变量都是默认是由public static final 修饰的 接口中的所有方法都是默认是由public abstract修饰的 ...原创 2019-10-25 15:04:49 · 180 阅读 · 0 评论 -
关键字--static
类属性,类方法的设计思想:类属性作为该类各个对象之间共享的变量。在设计类时,分析哪些类属性不因为对象的不同而改变,将这些属性设置为类属性。相应的方法设置为类方法。 如果方法与调用者无关,则这样的方法通常被声明为类方法,由于不需要创建对象就可以调用类方法,从而简化了方法的调用。 有哪些方法不想因为对象的不同而频繁通过new对象方式去调用方法,方法就写为static。package day...原创 2019-10-21 14:45:05 · 116 阅读 · 0 评论 -
this和super的区别
区别点:访问属性this:访问本类中的属性,如果本类没有此属性,则从父类中继续查找 super:访问父类中的属性调用方法this:访问本类中的方法 super:直接访问父级中的方法调用构造器this:调用本类的构造器,必须放在构造器的首行 super:调用父类的构造器,必须放在子类构造器的首行...原创 2019-10-19 14:12:23 · 83 阅读 · 0 评论 -
关键字--super
关键字super 在Java类中使用super来调用父类中的指定:super可用于访问父类中定义的属性 super可用于调用的父类中定义的成员方法 super可用于在子类构造方法中调用父类的构造器注意:尤其当子父类出现同名成员时,可以用super进行区分 super的追溯不仅限于直接父类(super不仅可以调用父类,还可调用父类的父类) super和this的用法很相...原创 2019-10-19 14:05:03 · 92 阅读 · 0 评论 -
继承
例子:public class Person { public String name; public int age; public String getInfo() {...}}public class Student extends Person{ public String school;}//Student...原创 2019-10-12 19:47:48 · 92 阅读 · 0 评论 -
关键字—this
l在java中,this关键字比较难理解,它的作用和其词义很接近。Ø它在方法内部使用,即这个方法所属对象的引用;Ø它在构造器内部使用,表示该构造器正在初始化的对象。this表示当前对象,可以调用类的属性、方法和构造器什么时候使用this关键字呢?当在方法内需要用到调用该方法的对象时,就用this使用this,调用属性、方法class Person{ // 定义Per...原创 2019-10-11 11:37:55 · 77 阅读 · 0 评论 -
信息的封装和隐藏
java中通过将数据声明为私有的(private)在提供公共的(public)方法:getXXX()和setXXX()实现对对象属性的操作,从而实现下述目的:隐藏一个类中不需要对外提供的实现细节 使用者只能通过事先定制的方法来访问数据,可以方便的加入控制逻辑,限制对属性的不合理操作 便于修改,增强代码的可维护性 package day06;/** * 封装和隐藏 */publ...原创 2019-10-11 11:05:05 · 240 阅读 · 0 评论