
java
文章平均质量分 50
su1177
。。。。。。。。。。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
3分钟入门Java多线程
多线程下面通过一个取钱的案例给同学们演示一下。案例需求如下。原创 2024-04-27 21:17:06 · 348 阅读 · 1 评论 -
spring boot 将配置文件信息 赋值到类注解
何将application.properties中的值赋值给一个类注解原创 2024-04-25 20:01:56 · 418 阅读 · 2 评论 -
一篇文章看懂 Java SPI 机制及原理
还不懂什么是Java SPI的可以进来看看原创 2022-09-20 20:13:18 · 360 阅读 · 0 评论 -
忘记创建.gitignore文件怎么办
避免冲突先拉取最新代码,如果有冲突先解决冲突。在根目录中进行缓存清理,一定要在根目录下。再次到git根目录下,执行下面命令。创建.gitignore文件。原创 2021-08-31 22:04:19 · 480 阅读 · 0 评论 -
雪花算法 分布式系统生成id
分布式项目不能使用数据库本身的自增功能来产生主键值,原因是生产环境为分片部署的。而是使用snowflake (雪花)算法(twitter出品)生成唯一的主键值。41bit的时间戳可以支持该算法使用到2082年 10bit的工作机器id可以支持1024台机器 序列号支持1毫秒产生4096个自增序列id 整体上按照时间自增排序 整个分布式系统内不会产生ID碰撞 每秒能够产生26万ID左右代码如下/** * <p>名称:IdWorker.java</p> *原创 2020-12-03 21:40:15 · 472 阅读 · 0 评论 -
dubbo启动报错 java.lang.NumberFormatException: For input string: “127.0.0.1:2181“
项目场景:今天学习dubbo启动项目时,报错:java.lang.NumberFormatException: For input string: "127.0.0.1:2181"原因分析:期初以为是zookeeper配置文件中的data路径有问题,后来仔细查看发现是自己服务注册中心address属性有问题少加了//错误属性:可以看到zookeeper后面少了两个//<dubbo:registry address="zookeeper:127.0.0.1:2181"></du原创 2020-11-07 16:08:13 · 1493 阅读 · 0 评论 -
Java8中findAny和findFirst的区别
Java8引入了许多新特性其中findAny和findFirst就是其中之一,那么有什么区别呢?Optional findFirst():返回列表中的第一个元素。Optional findAny() :可以看到findAny()操作,返回的元素是不确定的,对于同一个列表多次调用findAny()有可能会返回不同的 值。使用findAny()是为了更高效的性能。如果是数据较少,串行地情况下,一般会返回第一个结果,如果是并行 的情况,那就不能确保是第一个。比如下面的例子会随机地返回OptionalI.原创 2020-08-26 18:49:29 · 1828 阅读 · 0 评论 -
如何优雅的初初始化Map
Map的初始化第一种:public void mapInit{ Map<String, String> myMap = new HashMap<String, String>(); myMap.put("a", "b"); }第二种,匿名内部类初始化HashMap<String, String > h = new HashMap<String, String>(){{ put("a","b"); }};第三种原创 2020-08-19 16:25:54 · 1770 阅读 · 1 评论 -
去掉字符串最后的点
例如去掉下面字符串最后的点 "."String key = "tableName.columnName."1. 方法一key = key.Substring(0,key.Length - 1)2. 方法二s = s.ToString().RTrim(',')str.replaceAll("[.]$","");https://www.cnblogs.com/Nightsky-Dec/p/6364898.html...原创 2020-08-19 15:10:42 · 470 阅读 · 0 评论 -
清空StringBuilder和StringBuffer方法及效率比较
清空的方法// 方法一sb.delete(0,sb.length());// 方法二 效率最高sb.setLength(0);// 方法三 sb = new StringBuffer();方法介绍完,接下来让我们来测测他们谁的效率最高吧测试代码如下 @Test public void test() { StringBuilder sb = new StringBuilder("efficiency"); // delete方法原创 2020-08-19 15:02:01 · 460 阅读 · 0 评论 -
fastjson如何避免$ref引用
实体转化为json字符串后出现了$ref字样的东西,这是因为在传输的数据中出现相同的对象时,fastjson默认开启引用检测将相同的对象写成引用的形式引用是通过"$ref"来表示的引用 描述 "$ref":".." 上一级 "$ref":"@" 当前对象,也就是自引用 "$ref":"$" 根对象 "$ref":"$.children.0" 基于路径的引用,相当于 root.getChildren().get(0) 解决办法// 单个关闭 J原创 2020-08-18 20:23:05 · 1956 阅读 · 6 评论 -
当同时在多个表中插入数据时,实现一个出错全部回滚
一、springboot如果你使用的是springboot那很简单,只需在方法的头部添加@Transactional(rollbackFor = Exception.class)即可例如 在我的Service@serviceclass UserServiceImpl{ @Transactional(rollbackFor = Exception.class) public boolean addUser(){ service.insertOne()原创 2020-08-17 20:32:14 · 5520 阅读 · 0 评论 -
junit 单元测试 规范
一、测试准则必须遵守AIR原则A(自动化):单元测试应该是全自动执行的,并且非交互。单元测试中不准使用System.out来进行人工验证,必须使用assert来验证。I (独立性):单元测试用例之间决不能互相调用,也不能依赖执行的先后次序。**反例:**method2需要依赖method1的执行,将执行结果作为method2的输入。R(可重复):单元测试是可以重复执行的,不能受到外界环境的影响。保证测试粒度足够小,有助于精确定位问题。单测粒度至多是类级别,一般是方法级别。核心业原创 2020-07-25 16:08:51 · 2827 阅读 · 0 评论 -
java判断一个字符串是否为数字型
给出一种最简单的正则匹配 public static boolean isInteger(String str) { Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$"); return pattern.matcher(str).matches(); }当然这并不是最完美的,...原创 2020-04-02 14:49:39 · 379 阅读 · 0 评论 -
jdk1.8 新特性之 forEach 循环遍历
JDK1.8之后引入了Lambda表达式,让集合的遍历变得简单,代码也更简洁了。1.遍历List List<Integer> numbers = Arrays.asList(6, 2, 2, 3, 7, 3, 5, 6); // 方式一 numbers.forEach(System.out::print); ...原创 2019-12-07 14:01:00 · 708 阅读 · 0 评论 -
Java正则表达式常用表达式
下面内容只记录了本人学习时常用的一些表达式。/** * 正则表达式案例 * . 匹配一个字符 * ^ 定义以什么开始 * \d 匹配一个或者多个数字 * \. 匹配.(可以匹配到5 1.5 2.21) * * 零次或者多次匹配前面的字符串或者子表达式。例如,zo* 匹配"z"和"zoo“还有”zooo“都是可以的...原创 2019-11-25 16:33:31 · 171 阅读 · 0 评论