
java
文章平均质量分 51
Lanje Wang
这个作者很懒,什么都没留下…
展开
-
后端实现Excel 导入导出
后端实现导入Excel 导出Excel ,导出模板原创 2022-07-26 22:25:36 · 1996 阅读 · 1 评论 -
spring框架使用了哪些设计模式
抖音刷到了spring 里使用了8个设计模式,我准备写个文章做个详细解释。可能不够权威,且听我一家之言。原创 2022-07-03 23:24:22 · 364 阅读 · 0 评论 -
JAVA里的Unsafe
简介:Unsafe 据说是99% 的程序员都用不到的类,我也是翻了别人的博客才听说了这个类。实际开发中确实用不到,也不敢用。原因和他的名字一样,不安全啊。它可能会导致虚拟机崩溃,代码变得不可移植。甚至和jdk的小版本绑定,就算不升大版本,哪怕你换个jdk的小版本,写出的代码可能都变成一场“灾难”。Unsafe 神奇又刺激的作用我以jdk1.8 举例,版本高了低了可能都会换写法,大家理解这个意思就行了。public static final Unsafe getUnsafe() {原创 2022-03-15 11:40:22 · 1697 阅读 · 2 评论 -
JAVA JDK 源码学习
JAVA JDK 源码学习 ,以1.8为例,按照下面图片顺序依次学习: applet ,awt,beans,io,lang,math,net,nio,rmi,security,sql,text,time,util第一课,广泛认知它们1 appletJavaapplet为使用Java语言编写的一些程序,可以直接插入到网页之中。不建议去学,已经被淘汰了2 awtjava.awt是一个软件包,包含用于创建用户界面和绘制图形图像的所有分类。个人觉得用途不大,谁会用java 画图?..原创 2021-02-19 18:10:31 · 1031 阅读 · 0 评论 -
java 使用.properties文件存储和取用数据
java 使用.properties文件存储和取用数据 @Test public void setProperties() throws Exception{ Properties pro = new Properties(); OutputStream proos = new FileOutputStream("src/main/java/resources/xx.properties"); pro.setProperty("apiKey.原创 2021-02-18 13:54:18 · 313 阅读 · 0 评论 -
简单书写线程池
简单书写线程池 ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(20,50,1L,TimeUnit.SECONDS, new ArrayBlockingQueue<Runnable>(3),Executors.defaultThreadFactory(), new ThreadPoolExecutor.AbortPolicy()); int coun...原创 2021-02-01 17:35:28 · 136 阅读 · 0 评论 -
快速排序原创精讲
学习快速排序的前提1、需要先学会操控指针、数组玩得转2、需要先理解局部变量和系统变量的区别3、还需要学会使用递归。快排答题思路1、 以第一个数为分界值,小换到左边,大的换到右边2、运用分治思想 , 对分界值左右两边的小数组依次做类似的事快排第一步第一步是一个不带递归的版本,只有while和if ,请大家务必先理解这个再去看第二步。快速排序的百度百科我有几点提示 :1、diretion 是我定义的一个方向2、外层while 执行一个循环,表示,交换了一次..原创 2021-01-31 23:57:06 · 200 阅读 · 0 评论 -
ExampleMatcher, Example 的使用,Java使用JpaRepository 碰到的坑
NFInfo probe = new NFInfo(); probe.setOrderNo(19779); probe.setOrderType(125); ExampleMatcher exampleMatcher = ExampleMatcher.matching() .withIgnoreNullValues().withIgnorePaths("intRefNo").withIgnorePaths("i...原创 2021-01-28 17:53:20 · 2750 阅读 · 0 评论 -
“entrySet()“ should be iterated when both the key and value are needed
error:"entrySet()" should be iterated when both the key and value are needed for(Integer i : map.keySet()){ List<BrTaxInfo> brTaxInfos1 = map.get(i); // todo }//after fix : for (Map.Entry<Integer,L.原创 2020-12-22 16:49:34 · 1456 阅读 · 0 评论 -
Lambdas containing only one statement should not nest this statement in a block
error:Lambdas containing only one statement should not nest this statement in a block如果你和我一样是在sonarLint 碰到了此错误,那么我们算是同道中人了。例子:orderProfiles.forEach(item->{ item.setActive("N"); });// after fix : orderProfiles.原创 2020-12-22 16:24:21 · 2656 阅读 · 0 评论 -
两个JSON 的交集、并集、差集
import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;import java.util.Date;import java.util.HashMap;import java.util.HashSet;import java.util.Map;import java.util.Set;public class JsonUtils { /** * 根据JSONArray中JS.原创 2020-10-20 16:47:23 · 2283 阅读 · 1 评论 -
JAVA 利用org.springframework.http 发送HTTP 请求
RestTemplate client = new RestTemplate(); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON_UTF8); HttpEntity<MultiValueMap<String, String>> requestEntity...原创 2020-05-15 14:00:35 · 7886 阅读 · 0 评论 -
JVM 调优
JVM调优工具JDK的bin目录下有很多用于监视虚拟机和故障处理的工具,这些工具都非常稳定而且功能强大,能在处理应用程序性能问题、定位故障是发挥很大的作用。一、jps:虚拟机进程状况工具二、jstat:虚拟机统计信息监视工具三、jmap:Java内存印象工具四、jhat:虚拟机堆转储快照分析工具五、jstack:Java堆栈跟踪工具六、jinfo:Java配置信息工具...原创 2019-12-27 17:36:32 · 791 阅读 · 0 评论 -
修改Spring Boot 启动标志
先生产一个自己想要的Logohttp://patorjk.com/software/taag在配置文件夹里加个文件。名字叫banner.txt ,无需任何配置即可生效原创 2019-12-20 12:50:36 · 317 阅读 · 0 评论 -
Jvm 监控 和 bean 加载监控 (JDK内置)
jconsole本地连接cmd 里输入命令 :jconsole就会调用jdk内置的jconsole.exe选择自己起的一个服务监控页面如下jconsole远程连接linux...原创 2019-12-20 11:37:21 · 240 阅读 · 0 评论 -
Spring的@Transactional 嵌套研究
事务嵌套和局部回滚的问题,很是费解。本文将做一个详细的测试,加强对Spring的@Transactional 理解和使用1、两个单独不干扰事务 @RequestMapping("/test") public void test() { LoveFile test1 = new LoveFile(); test1.setFileUuid(get3...原创 2019-12-17 11:48:15 · 11356 阅读 · 2 评论 -
Groovy 的安装和使用教程,Groovy、Java、Spring之间的羁绊
据说Groovy是更简洁的Java ,何不装一个玩玩。Groovy官网下载点击下载即可下载后如下:下载是免安装的。还有点意外。里面一堆jar,未曾细致研究。为项目提供Groovy支持在项目上点 Add framework support ,之后找到Groovy ,右侧选择刚刚下载的SDK稍等片刻之后,等IDEA为我们引入相关依赖。我们就可以在项目...原创 2019-12-09 10:44:57 · 549 阅读 · 0 评论 -
IntelliJ IDEA 的 Bean validation 里有什么用
IntelliJ IDEA 的 Bean validation 是指右侧的框。平时都是缩起来的,今天心血来潮。研究下这个是干嘛的?怎么用。三个按钮全按下的话,下面的项目就会有三个菜单可选项。Constraints 约束条件 , Validators验证者 ,Constraint Mappings约束映射 ,这三个可编辑菜单。Constraints 约束条件...原创 2019-11-26 14:34:38 · 9742 阅读 · 1 评论 -
java T和Function 的使用方式,学习写泛型工具函数 (教程),内含:list随机取、list分发、list变tree、list变map 等工具函数
前言T和Function 的使用,是一名JAVA工程师通向JAVA架构师的必经之路。若你在研究源码和别人的代码里发现了T和Function ,觉得不知所云,那么本篇博客,将带你掌握他们。学会写泛型工具函数,让代码可读性更强、复用性强更雅 。用JDK 1.8 以下的可以走开了,不用看了。开篇问题我有一个如下代码的类,我想打印一下某个变量的值,但是有时候想打印 name1 ...原创 2019-11-22 17:16:09 · 3894 阅读 · 0 评论 -
文章生成器(单文件java版)
读到 这篇 《so easy! 10行代码写个"狗屁不通"文章生成器》文章后,发现文章生成很有意思,作者用python写的,还写了多个文件做成了项目,而我想根写一个单文件java版工具类来做文章生成器,继续发扬 文章生成器 的这个创新,拿“狗屁不通”应对“形势主义”。干活代码package com.love.loveMe.pub.utils;import java.util.Arr...原创 2019-11-22 11:20:01 · 4348 阅读 · 5 评论 -
Java常用的工具类
Apache Commons项目 作用 BeanUtils 对Java Bean进行各种操作,复制对象,属性 Lang java基本对象(java.lang) 方法的工具类包 I/O 输入/输出工具的封装 Codec 处理常用的编码,解码 Collections 扩展Java集合框架的操作 BeanUtil...转载 2019-11-21 09:26:05 · 210 阅读 · 0 评论 -
问题解决:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
环境:springboot+ mybatis +mysql原来项目是oracle 我重构项目,改了很多包名,替换了很多类之后,项目终于能启动了,但只要一访问数据库就会报如下的错误2019-11-14 14:35:33.737 ERROR 20684 --- [nio-8888-exec-4] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Se...原创 2019-11-14 17:18:23 · 265 阅读 · 0 评论 -
《基数排序》 附自动退出版源码
1、基数排序讲解源数据 : 73, 22, 93, 43, 55, 14, 28, 65, 39, 81,9第一步,统计个位数:0 : (以0结尾的啥也没有)1 :81 (以1结尾的有个81)2 :22 (.....) //自行脑补3 :73 ...原创 2019-11-13 11:22:57 · 177 阅读 · 0 评论 -
序列化空值控制@JsonInclude
注解说明@JsonInclude(JsonInclude.Include.NON_NULL)标记是jackson包提供的json序列化方法,已经集成于Springboot2.0中。此方法的配置意在可以对实体json序列化的时候进行对应的数值处理,将该标记放在属性上,如果该属性为NULL则不参与序列化如果放在类上边,那对这个类的全部属性起作用 。其他参数Include.Inclu...原创 2019-10-29 09:15:40 · 634 阅读 · 0 评论 -
java 性能提升和代码优雅 从点滴做起
目录1、Map 迭代 选用entrySet()2、使用Collection.isEmpty()检测空3、集合初始化尽量指定大小4、字符串拼接使用 StringBuilder5、List 的随机访问6、频繁调用 Collection.contains 方法使用 Set7、使用 try-with-resources 语句8、公有静态常量应该通过类访问9、使用Str...原创 2019-10-12 10:03:35 · 543 阅读 · 0 评论 -
Array格式化
Array格式化,是一种处理数组值的定位问题的数据处理办法,把源数组的值当做临时数组的下标,把源数组值出现的次数 统计为临时数组的值。这样做虽然会丢失源数组的顺序,但能突出源数据的一些关键值和他们出现的顺序,还可以避免双层循环。使用场景我们有时候会遇到定范围的数组值的数组,比如果char[]或者我们已知数据范围的int[]。我们可是使用Array格式化来处理数据。理解要点A...原创 2019-08-13 17:55:58 · 5942 阅读 · 0 评论 -
leetCode 两数之和
题目给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]来源...原创 2019-07-30 17:55:38 · 126 阅读 · 0 评论 -
Java多线程等待选用CountDownLatch实现
JAVA调用多个线程时,有时候需要等到线程全部结束后做一些结果处理的操作。而此时用JAVA的栅栏类实现就很贴切。代码如下:int count = 5; //比如说有5个下属做事CountDownLatch latch = new CountDownLatch(count); for (int j = 0; j < count; j++) { threadPoolEx...原创 2019-07-29 15:08:36 · 155 阅读 · 0 评论 -
Map格式化
Map格式化,是为了避免双层循环的搜索定位的一种数据处理办法。理解要点Map<> map=new HashMap<>();for () { if (map.containsKey(XXX)) { ; } map.put();}请着重理解先查后装,(map、for、if、List之间的联动)Map集合是键值对存储的,可以利用其中的contai...原创 2019-06-21 15:21:37 · 820 阅读 · 0 评论