![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
小强聊it
7年+互联网和金融技术人,个人微信:xiaoqiang666it,公众号:小强聊it,欢迎一起聊聊专注在技术、成长和AIGC的内容。
展开
-
Groovy 使用完全解析
概念Groovy 配置环境变量开发工具 IntelliJ IDEAGroovy 语法基本语法定义变量定义函数断言 assert循环 for循环 time三目运算符捕获异常switch判断是否为真asTypeGroovy 数据类型Java 基本类型Groovy 容器闭包Java 属性再识 GroovyScript 类脚本变量的作用域JSON 操作对象转...转载 2019-08-20 10:06:35 · 1095 阅读 · 0 评论 -
获取客户端ip
核心在获取HttpServletRequest第一种方法:在方法上面的参数列表里打上HttpServletRequest @RequestMapping(value="/index.html",method=RequestMethod.GET) public String index(HttpServletRequest req) { String remoteAddr = req.getRemoteAddr(); Syste...转载 2020-05-12 06:33:37 · 183 阅读 · 0 评论 -
java字符串中${}或者{}等的占位符替换工具类
正如标题所述,这是一个替换java字符串中${}或者{}等占位符的工具类,其处理性能比较令人满意。该类主要通过简单的改写myatis框架中的GenericTokenParser类得到。在日常开发过程中,可以将该类进行简单的改进或封装,就可以用在需要打印日志的场景中,现在张贴出来给有需要的人,使用方式参考main方法,不再赘述!public class Parser { /** * ...转载 2020-05-01 17:58:36 · 1918 阅读 · 0 评论 -
Calendar的add和set方法的运用和区别
-set 表示直接设值 不考虑原来的时间值 -add 表示在原有的基础上进行加减value calendar.add(Calendar.DAY_OF_MONTH, 2);//表示在默认的当前日期上加两天 calendar.set(Calendar.DAY_OF_MONTH,2);//表示直接将日期设置为本月2号感谢:https://blog.csdn...转载 2020-05-01 17:45:48 · 507 阅读 · 0 评论 -
map中存储的是引用,而不是对象本身
证明,我先构造了一个很大的List对象,用VisualVM查看的内存一下变大了,然后我for循环向map放进了100个之前的list,如果存的是对象,那内存会暴增,但是内存没有变化,证明map存的是引用,下面证明两个对象不一致,但是存进map后,对比两个对象为true的只能为引用@Data@Accessors(chain = true)public class Person { ...原创 2020-04-18 17:21:36 · 1376 阅读 · 0 评论 -
java杂知识
内省和反射:https://www.cnblogs.com/winclpt/articles/7405271.html深入理解web.xml中配置/和/*的区别 https://blog.csdn.net/z69183787/article/details/83580925多线程使用AtomicReference https://www.jianshu.com/p/5521ae32274...原创 2020-03-11 08:42:28 · 114 阅读 · 0 评论 -
规则引擎
1、https://www.jianshu.com/p/9b67ab4347952、Aviator学习笔记:https://blog.csdn.net/NarutoConanKing/article/details/851626883/轻量级规则引擎easy-rules使用介绍:http://tech.dianwoda.com/2019/06/05/gui-ze-yin-qing-ea...转载 2020-01-05 09:43:37 · 225 阅读 · 0 评论 -
阻塞IO和非阻塞IO的区别
https://www.cnblogs.com/ynyhl/p/9792699.html转载 2020-01-04 22:08:13 · 96 阅读 · 0 评论 -
JAVA 中 Map 与实体类相互转换的简单方法
https://www.cnblogs.com/zhainan-blog/p/12009523.html转载 2020-01-03 08:32:22 · 207 阅读 · 0 评论 -
Java对象为啥要实现Serializable接口?
https://juejin.im/post/5de7aa16f265da339b4fe327?utm_source=gold_browser_extension转载 2020-01-03 08:07:20 · 83 阅读 · 0 评论 -
java基础问题整理
1、if else if与if if语句的区别:https://blog.csdn.net/gaohuanjie/article/details/141698952、StringUtils.isEmpty和StringUtils.isBlank用法:https://blog.csdn.net/beijinuo/article/details/83328763、ASCII码对应表chr(9)...转载 2019-08-25 12:52:04 · 90 阅读 · 0 评论 -
jsonrpc框架
1、做的基本事:https://blog.csdn.net/davisking85/article/details/788458582、demo:https://www.cnblogs.com/dyh004/p/5204200.html 和https://blog.csdn.net/yaerfeng/article/details/26079889转载 2019-08-24 23:20:14 · 577 阅读 · 0 评论 -
ObjectMapper类用法详解
1、https://blog.csdn.net/qq_32454537/article/details/806721912、https://www.cnblogs.com/xuwenjin/p/8976696.html转载 2019-08-24 23:04:42 · 845 阅读 · 0 评论 -
java读取execl文件异常OfficeXmlFileException
1、改后缀名:https://www.iteye.com/blog/freerunning-17054962、改使用的api为book = new XSSFWorkbook(excelFile);并添加jar包:poi-ooxml-schemas-xxx.jarhttps://www.iteye.com/blog/tdcq-1840825...转载 2019-08-21 10:13:55 · 1274 阅读 · 0 评论 -
Java 正则校验金额,只能是正整数或2位小数以内
public class Test { public static boolean isNumber(String str) { Pattern pattern = Pattern.compile("^(([1-9]{1}\\d*)|([0]{1}))(\\.(\\d){0,2})?$"); // 判断小数点后2位的数字的正则表达式 Matcher ma...转载 2019-08-13 10:42:41 · 1032 阅读 · 0 评论 -
log4j、log4j2和logback学习
log4j:log4j的配置详解:https://www.cnblogs.com/imsoft/p/log4j.html不重复输出log:https://blog.csdn.net/ygd266/article/details/51967491教程:https://blog.csdn.net/andyzhaojianhui/article/category/2781525/2?...转载 2019-08-03 12:07:11 · 126 阅读 · 0 评论 -
Java通过反射获取一个类里的静态常量
public class FieldReflactTest{ public static final String a="test"; protected int b; private int c; String d; public static void main(String[] args){ Field[] fields=FieldReflactTest.class.getDeclaredFields(); for(Field field:fie.转载 2020-07-04 09:19:06 · 1680 阅读 · 0 评论 -
轻量级的同步机制——volatile语义详解(可见性保证+禁止指令重排)
1、https://www.cnblogs.com/takumicx/p/9302398.html2、happens-before原则规则详解:https://www.cnblogs.com/chenssy/p/6393321.html3、volatile不具有原子性的理解之解读i++疑惑:https://blog.csdn.net/zxl1148377834/article/details/90073158...转载 2020-06-01 21:47:56 · 118 阅读 · 0 评论 -
java中CAS原理详解
https://www.cnblogs.com/barrywxx/p/8487444.htmljuc下的包首先,声明共享变量为volatile;然后,使用CAS的原子条件更新来实现线程之间的同步;同时,配合以volatile的读/写和CAS所具有的volatile读和写的内存语义来实现线程之间的通信。例如:private volatile int value;public final int get() { return value; } public f...转载 2020-06-01 21:44:24 · 177 阅读 · 0 评论 -
java集合学习
JAVA常用数据结构及原理分析(面试总结):https://blog.csdn.net/qq_29631809/article/details/72599708#commentsList、set、Map的底层实现原理:https://blog.csdn.net/xzp_12345/article/details/79251174LinkedList查找为什么比ArrayList慢:...转载 2018-10-11 18:08:31 · 112 阅读 · 0 评论 -
java写文件到execl中
1、https://www.cnblogs.com/SummerinShire/p/6438868.html和2、https://www.cnblogs.com/SummerinShire/p/11045254.html转载 2020-05-26 20:22:54 · 111 阅读 · 0 评论 -
Java enum常见的用法
https://blog.csdn.net/echizao1839/article/details/80890490转载 2020-05-26 20:19:29 · 114 阅读 · 0 评论 -
Java 代码如何获取CPU核心数和定义线程池的核心数
在自定义线程池的时候,我们应该如何选择线程的核心数量?这里又一个简单的方法供大家参考。CPU 密集型:线程数量=cpu核心数量IO 密集型:线程数量=cpu核心数量*2// 那么在java代码中如何获取CPU核心数量? **System.out.println(Runtime.getRuntime().availableProcessors());**感谢:https://blog.csdn.net/qq_33029793/article/details/96476783?ops_转载 2020-05-20 23:28:16 · 1649 阅读 · 0 评论 -
jdk8-》reduce操作
什么是reduce操作 聚合操作,中⽂意思是 “减少” 根据⼀定的规则将Stream中的元素进⾏计算后返回⼀个唯⼀的值 常⽤⽅法⼀: Optional<T> reduce(BinaryOperator<T> accumulator); accumulator 计算的累加器 例⼦: 第⼀个元素相加和第⼆个元素相加,结果再和第三个元素相加,直到全部相加完成 int value = Stream.of(1, 2, 3, 4, 5).转载 2020-05-20 21:17:54 · 1167 阅读 · 0 评论 -
【转载】数组在内存中的存储方式
数组是一种引用数据类型,数组引用变量只是一个引用,数组元素和数组变量在内存里是分开存放的。下面将深入介绍数组在内存中的运行机制。数组引用变量只是一个引用,这个引用变量可以指向任何有效的内存,只有当该引用指向有效内存后,才可通过该数组变量来访问数组元素。与所有引用变量相同的是,引用变量是访问真实对象的根本方式。也就是说,如果我们希望在程序中访问数组,则只能通过这个数组的引用变量来访问它。实际的数组元素被存储在堆(heap)内存中;数组引用变量是一个引用类型的变量,被存储在栈(stack)内存中。数转载 2020-05-20 21:16:38 · 701 阅读 · 0 评论 -
Java之final关键字详解
https://baijiahao.baidu.com/s?id=1601084106055683243&wfr=spider&for=pc转载 2020-05-16 10:14:58 · 104 阅读 · 0 评论