![](https://img-blog.csdnimg.cn/20190927151043371.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java基础
Java基础
zx1323
这人很懒什么也没留下
展开
-
jdk11 编译报错 compiler message file broken: key=compiler.misc.msg.bug arguments=11.0.2, {1}, {2}, {3},
无原创 2022-11-28 16:31:56 · 2026 阅读 · 1 评论 -
@SpringBootTest 调用url遇到 Connection refused: connect
SpringBoot的单元测试, 为什么调不通项目里的url? 原因竟然是webEnvironment没设置正确原创 2022-08-27 03:59:33 · 1329 阅读 · 0 评论 -
方法中创建线程池,方法结束后线程池会被垃圾回收吗?
线程池的坑, 一定要注意原创 2022-07-08 20:55:50 · 4333 阅读 · 4 评论 -
Java lambda stream 集合相关操作 备忘
list对象转map结构Map map = list.stream().collect(Collectors.toMap(item -> item.getId(), v-> v,(k1,k2)->k1));java8利用流和lambda表达式对list遍历处理 - Yusco - 博客园原创 2022-04-27 01:54:23 · 457 阅读 · 0 评论 -
float 转成 字符串打印
NumberFormat nf = NumberFormat.getInstance(); nf.setGroupingUsed(false); String str = nf.format(Float.NEGATIVE_INFINITY); System.out.println(str);原创 2021-04-09 18:47:59 · 177 阅读 · 0 评论 -
用java实现 代码生成器
场景: 在使用copy大法时, 根据已经存在类, 需要手动的复制类, 修改名称, 替换类中的关键字 比如: User表已存在, 要新加一个表 UserOperator 用户操作表, 那么可以把service serviceImpl dao daoImpl Mapper 等类中的东西都很简单都是复制,替换的活, 用代码来实现是最省事了import com.google.common.base.CaseFormat;import org.apache.commons.io.File...原创 2021-04-02 18:27:12 · 367 阅读 · 0 评论 -
关于随机数 Math.random() Random
Math.random() 伪随机生成并返回一个从0.0d(包括)到1.0d(不包括), 双精度小数new Random().nextInt(指定值); 伪随机生成并返回一个 在0(包括)和指定值(不包括)之间均匀分布的整型值, 另: 随机数种子会使得取值变得有规律在项目中发现了2种写法方式1:int code = (int)((Math.random() * 9 + 1) * 100000);方式2:int code = new Random().nextInt(m...原创 2021-02-08 17:50:42 · 452 阅读 · 0 评论 -
模仿log4j的 文本格式化
public static String format(String format, Object... args) { if (format == null || format.trim().isEmpty()) { return format; } return String.format(format.replace("{}", "%s"), args); }原创 2021-02-03 01:10:59 · 109 阅读 · 0 评论 -
arthas com.sun.tools.attach.AttachNotSupportedException: 拒绝访问。
很久没用arthas, 突然想在新电脑上试个功能输入了命令java -jar C:\work\install_software\arthas\arthas-boot.jar选择pid然后提示了报错[ERROR] Start arthas failed, exception stack trace:com.sun.tools.attach.AttachNotSupportedException: 拒绝访问。 at sun.tools.attach.WindowsVirtua..原创 2020-11-02 09:58:32 · 6081 阅读 · 4 评论 -
java多线程-分析一段代码的输出结果
public static void main(String[] args) throws Exception { Thread t2 = new Thread(new Runnable() { public void run() { try { // for (int i = 0; i < 50; i++) { // System.o...原创 2020-09-05 19:31:54 · 264 阅读 · 0 评论 -
java多线程-理解join
假设有线程: A和B, A线程的run方法中调用了B.join()join网上都翻译为: 插队(一直没理解)在查看join的源码时, 没理解为什么jion里面的 wait() 方法为什么不是让B等待, 反而是让A等待了按照惯性思维, B.join->wait()那就应该让B进入等待这说明对wait()方法不够了解wait是让当前线程进入等待状态直到被notify/notifyAll通知, 并释放锁, 前提是只能在synchronize修饰的 同步块中, 如果当前线程不是对象..原创 2020-09-05 19:24:51 · 136 阅读 · 0 评论 -
java finally 中 return 执行顺序
参考 https://blog.csdn.net/jdfk423/article/details/80406297情况1: finally没有returnpublic static int show() { try { return 1; }finally{ System.out.println("finally"); }} 结果: finally 1情况2: finally没有return, 但有 基本类型原创 2020-08-06 11:24:48 · 131 阅读 · 0 评论 -
java代码 JDBC连接mysql
1.创建maven项目(略)2.添加mysql驱动依赖<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.5</version></dependency>3.连接代码package com.lear.mysql;import原创 2020-08-05 11:58:28 · 120 阅读 · 0 评论 -
idea 使用mybatis generator生成代码时 报错 The specified target project directory src/main/java/ does not exis
使用Eclipse时一切正常,切换到idea就报错,虽然可以用绝对路径, 但是不搞明白总觉得不爽报错的源码 DefaultShellCallback 类 59行, 没理解new File()为什么可以传相对路径 File project = new File(targetProject); if (!project.isDirectory()) { throw new ShellException(getString("Warning....原创 2020-06-09 15:54:32 · 4485 阅读 · 0 评论 -
java 异常嵌套报错, 打印 源异常信息 异常链信息
异常信息太长, 尝试实现只打印源头的异常信息 /** * <pre>打印异常信息, 模拟 e.printStackTrace();</pre> * 举例: String Str = printSimpleLog(e); */ private String printSimpleLog(Exception e) { ...原创 2020-04-14 19:09:56 · 713 阅读 · 0 评论 -
java读取资源文件的五种方式 (转载)
转自:http://blog.csdn.net/zknxx/article/details/50909285简单总结:通过 类加载器 读取资源文件路径不以./ 开头InputStream is = ClassReadResourceDemo.class.getClassLoader().getResourceAsStream("com/zkn/newlearn/io/config.propert...转载 2017-09-23 13:34:13 · 3305 阅读 · 0 评论 -
form 表单 值 双引号 无法用replaceAll 转义
在项目中遇到一个问题, 需要移除 form表单中 content字段 中的 双引号但在本地ok的代码,在测试环境死活不行最终在测试 & 符号能否被转义时, 发现了一些端倪,然后找到了问题的关键所在原因应该是一处拦截器做了统一转换假设content 的值为 abc"ABC"实际上已经被转义为 abc"ABC"...原创 2019-07-30 12:18:37 · 619 阅读 · 0 评论 -
java 正则 替换 2次以上 的重复字符串
场景:把文本中的多个 br标签 替换成1个如下:第一段话<br /><br /><br />第二段话一开始的思路:使用String类的 replaceAll("<br />{2,}", br ));想利用{2,} 表示 2次以上的重复发现不行, 则在网上查找 2次以上次正则匹配得到了一个新的正则:...原创 2019-06-15 14:48:22 · 3521 阅读 · 0 评论 -
java 基础--正则表达式
正则表达式30分钟入门教程 http://www.cnblogs.com/deerchao/archive/2006/08/24/zhengzhe30fengzhongjiaocheng.html普通字符: 匹配相同的一个字符简单的转义字符\n 换行\t 制表\\ \本身\^ \$ \. \( \) \{ \} \? \+ \* \| \[ \] 匹配字...原创 2017-10-13 00:00:29 · 212 阅读 · 0 评论 -
Java IO
IO流:最简单的输入流代码:FileInputStream is = null; try { is = new FileInputStream(new File("C:\\test.txt")); byte[] b = new byte[10]; int len = 0;转载 2017-01-11 16:10:12 · 261 阅读 · 0 评论 -
正则掌握程度测试题 答案(待完成)
尝试解答一波,默认 ^$不匹配在换行符原文地址https://www.zybuluo.com/Zjmainstay/note/709093注:解答时,点击“题样”链接,进行测试即可。 鼠标悬停到每段文字,右侧+可评论,大家可评论留下你的答案,我看到会适当加以回复,建议带上你们的Q群昵称(434252251 专精正则表达式)。正则掌握程转载 2017-10-15 17:59:29 · 2191 阅读 · 0 评论 -
验证码
http://www.cnblogs.com/feiyun126/p/4081254.html转载 2017-09-30 18:05:38 · 195 阅读 · 0 评论 -
StringUtils工具类
StringUtils工具类相关博文lang3.StringUtils中常用方法StringUtils在commons-lang3和commons-lang中的区别原创 2017-09-06 11:54:33 · 478 阅读 · 1 评论 -
junit 测试报错 java.lang.Exception: No runnable methods
转自:http://blog.csdn.net/snails_zx/article/details/51275894在maven 项目中 建立测试类时,基类只用作加载spring配置文件,里面没有任何方法,在打包编译时 报错百度后得到解决方案:方案一: 写一个方法(没任何操作),添加@Test注解方案二:将测试类改为abstract成功解决!转载 2017-08-27 14:18:02 · 13801 阅读 · 1 评论 -
Lombok 学习
了解到一个新的工具名词,可以用来getter setter这种代码的编写 方便实用,好东西百度上教程很多转载于:http://www.blogjava.net/fancydeepin/archive/2012/07/12/lombok.html官网下载jar,网址:https://projectlombok.org/maven依赖 <depende...转载 2017-07-27 13:13:06 · 258 阅读 · 0 评论 -
json选择
fastJson,jackJson,Gson性能比较http://chenyanxi.blog.51cto.com/4599355/1543445转载 2017-03-20 20:02:31 · 416 阅读 · 0 评论 -
JAVA 基础 网络编程
尚硅谷课程InetAdress类的创建和使用InetAddress inet = InetAddress.getByName("www.badu.com");inet = InetAddress.getByName("xxx.xxx.xx.x");System.out.println(inet); // 控制台输出的格式为: www.badu.com/xxx.xxx.xx.x转载 2017-02-12 08:07:15 · 178 阅读 · 0 评论 -
数字 和 大小写字母之间的转换 10进制和26进制之间的转换
/** 数字转大写字母(26进制)1->A 2->B * @since JDK 1.8 */ public static String numCovertLetter(int num) { if (num <= 0) { throw new RuntimeException("参数必须大于0");...原创 2018-07-17 18:24:44 · 14351 阅读 · 0 评论 -
指定4位小数点精度,再转换为字符串,去除最后面的0
项目中需要把浮点数转换为字符串。1.精度小数点后4位2.去除该数字后面没有意义的0 1230.00 => 1230 1230.10 => 1230.1基于正则实现 /** * 避免整数后面的 .0 <br/> * 默认精度 小数点后4位 */ private static String ...原创 2018-07-20 15:55:20 · 2209 阅读 · 0 评论 -
java中的 参数校验
mvchttp://www.cnblogs.com/yhtboke/p/5749053.html【JSR303参数检验+全局异常处理器】https://blog.csdn.net/zjy15203167987/article/details/812965961.抛异常2. Validator validator = Validation.buildDe...原创 2018-08-15 15:50:01 · 66 阅读 · 0 评论 -
Java 中关于文件路径获取的几种方式
文章参考:https://blog.csdn.net/honghailiang888/article/details/51878866ClassPathTest 是自定义的类第一种URL r = ClassPathTest.class.getResource("");System.out.println(r.getPath());参数: 空字符串值: /D:/git...转载 2019-05-05 17:50:13 · 1356 阅读 · 0 评论 -
byte数组 转 16进制字符串
public static String toHexValue(byte[] messageDigest) { if (messageDigest == null) return ""; StringBuilder hexValue = new StringBuilder(); for (byte aMessageDigest : messageDigest) { ...转载 2019-03-06 17:35:02 · 389 阅读 · 0 评论 -
jackson ObjectMapper 序列化成json,属性值为null时转换为""空字符串
import java.io.IOException;import org.codehaus.jackson.JsonGenerationException;import org.codehaus.jackson.JsonGenerator;import org.codehaus.jackson.JsonProcessingException;import org.codehaus.j...原创 2016-11-29 11:21:08 · 21109 阅读 · 3 评论 -
jdbc 获取 表中 字段的长度
参考:使用JDBC连接数据库获取表字段的注释信息:https://my.oschina.net/Thinkeryjgfn/blog/169384 在实现一个代码生成器的时候,遇到过一个问题,需要输出字段的长度然后发现数字类型的字段,无符号的会少一个长度,百度 goole半天,没搞明白怎么去判断字段,是不是无符号的类型,当时就搁置在一边了 今天在使用代码生成器时突然发现了一个...原创 2017-11-14 14:14:07 · 4724 阅读 · 0 评论 -
(转)ASCII码表字母排列的妙处
https://blog.csdn.net/u012685794/article/details/53576231转载 2018-09-23 02:05:45 · 739 阅读 · 0 评论 -
避免Java应用中NullPointerException的技巧和最佳实践
http://www.importnew.com/7268.html转载 2018-09-23 01:27:36 · 134 阅读 · 0 评论 -
springBoot,日志配置 logback
logback.xml配置文件 参考https://www.cnblogs.com/zhlv/p/11196080.htmllombok依赖 <!-- 减少pojo对象的代码 --> <dependency> <groupId>org.projectlombok</groupId> <artifactI...原创 2018-09-19 09:15:28 · 2009 阅读 · 1 评论 -
java 利用变长参数 实现模板化输出异常信息
隐匿参数的写法 public void printfErrorMessage(Throwable e, String messageTemplate, Object... args) { System.out.println(e.getMessage()+":" + String.format(messageTemplate, args)); } ...原创 2018-09-18 14:51:49 · 439 阅读 · 0 评论 -
JavaWeb Servlet(1)
Servlet容器:为JavaWeb应用提供运行时环境,负责管理Servlet和JSP的生命周期,以及管理他们的共享数据 如Tomcattomcat:需要配置JAVA_HOME指向jdk或者jre_home ;server.xml文件修改端口号startup.bat和shoutdown.bat实际调用 catalina文件来操作 需要配置 catalina_home(bin转载 2017-02-14 17:44:36 · 201 阅读 · 0 评论