
java
文章平均质量分 60
王者丶丿风范
亦是习惯,亦是信仰
展开
-
spring 升级 org.springframework.web.servlet.view.velocity.VelocityConfigurer 下resourceLoaderPath confi
org.springframework.web.servlet.view.velocity.VelocityConfigurer原创 2022-07-19 14:48:05 · 416 阅读 · 0 评论 -
spring升级springboot
spring -> springboot原创 2022-07-19 14:48:39 · 1497 阅读 · 0 评论 -
SquareTest实体类模板
squareTest原创 2022-07-18 17:34:16 · 1416 阅读 · 0 评论 -
从简单算法改进说起算法优化中数学的作用
简单算法优化思路原创 2022-07-18 17:13:16 · 230 阅读 · 0 评论 -
错误: 常量字符串过长
string最大长度两个字节的无符号数。1个字节有8位,2个字节就有16位。16位无符号数可表示的最大值位2^16 - 1 = 65535。以前知道string最大长度是两个字节的无符号数。但从未真正写过这么长的String,今日有幸遇到了这个错误。解决方式也很简单,字符串拆开多个进行拼接即可。String str;String str1= "................";String str2= "................";str = str1+ str2;...原创 2021-08-05 10:26:16 · 1140 阅读 · 0 评论 -
桥梁模式+反射+枚举实现多维度组合代码优化实践
一种基于枚举配置类名,通过反射获取服务类,依靠桥梁模式连接两个维度,最终获取数据的java实践。原创 2021-07-15 17:57:45 · 224 阅读 · 0 评论 -
clickhouse Mutations删除操作报错及解决方案
1. clickhouse 执行删除语句后查询数据仍旧存在,等待数分钟后依然存在2. 查询 system.Mutations 表 ```sql select * from system.mutations whereis_done = 0; ```发现任务在突变表中状态一直是未执行 3. 查阅 /var/log/clickhouse-server/clickhouse-server.err.log 日志发现如下报错2021.04.09 10:59:12.971073 [ 6363 ] {}原创 2021-04-12 12:43:44 · 6091 阅读 · 0 评论 -
控制kafka consumer service topic热启停的一种思路
我们在编写完成kakfa consumer service,将其部署到线上后有时会有启停某个topic的需求,而toipc在我们编写消费入口时就已经指定启停状态,本文提供一种热启停思路。包含:服务启动时只启动指定的topic服务在线上运行时通过调用接口启停全部或指定的topic(借鉴es restful 控制)项目使用spring boot 2.3.3.RELEASE ,spring-kafka 2.5.5.RELEASEgradle依赖如下ext.springbootVersion = '原创 2021-03-21 21:51:14 · 617 阅读 · 1 评论 -
给定一个数组,找出其中最小的K个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。如果K>数组的长度,那么返回一个空的数组
给定一个数组,找出其中最小的K个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。如果K>数组的长度,那么返回一个空的数组示例1输入复制[4,5,1,6,2,7,3,8],4返回值复制[1,2,3,4]用list做数据结构,利用其add(index,value)的自移动特性减少循环手工移动数据操作,使用插入排序排序排序整个数组后取前ki个数放入新的list中实现获取最大的k值。import java.util.*;public cla原创 2021-03-19 16:23:42 · 1911 阅读 · 2 评论 -
LoggerFactory is not a Logback LoggerContext but Logback is on the classpath. Either remove Logback
今天闲着无聊把老项目的maven升级一下改成Gradle.切换当然容易,但没想到用了统一的plugins管理,还是报了一个冲突错误。就是slf4j这个装饰器的两个实现类的冲突问题,咱们干掉一个就行了,我喜欢用logback,所以干掉log4J先打开咱们的依赖视图ctrl-F搜索一下log,定位到这个实现类这就是他的名字了确定名字后用这个名字到maven仓库官网搜索一下是他没错了点进去,随便找一个版本打开确定他的group名称和name。然后同方法确定 log4j-to-slf4j原创 2021-01-25 18:40:25 · 662 阅读 · 0 评论 -
lombok @Builder 注解继承 问题 @SuperBuilder
节约时间的利器:lomboklombok一直用的很爽,最近用它优化了本人写的桥梁模式,就出现了父类子类继承时@Builder找不到父类属性的问题,仔细研究了一下,发现lombok在新版本已经优化了这个注解,先来更新一下这个版本,直接上最新的 1.18.16 ,上maven仓库看了一下用的人数还可以,比较稳定。compile group: 'org.projectlombok', name: 'lombok', version: '1.18.16'之后在父类和子类中都使用 @SuperBuilder原创 2020-10-23 18:07:43 · 12580 阅读 · 4 评论 -
Idea远程调试 (包含调试docker容器)
首先我们说一下调试的本质,了解了调试的本质我们就很容易理解远程调试是怎么来的了。Java本地debug时我们常常以为breakpointer打在了java文件中,看到到了breakpointer处jvm停了下来,认为debug时jvm运行的就是java文件了。其实并不是这样。jvm只能运行经过编译后的class文件,那么breakpointer打在了java文件中虚拟机怎么知道什么时候暂停呢,答案当然是通信了,本地运行的服务和IDE进行通信确定断点的位置和单签运行stack中的value。Jav原创 2020-10-19 16:17:33 · 4096 阅读 · 2 评论 -
吊打postman 的idea自带的接口访问工具 自动生成接口参数,,草鸡!方便!
1.在接口上点击此按钮2.打开请求编辑器3.get和post请求写法如下图此处的三个按钮可以轻松的帮助我们生成需要的模版,然后我们改改改~完全不用担心格式问题4.文件如下###GET http://localhost:8686/app###POST http://localhost:8686/bossapi/initPlatAndServerContent-Type: application/json;charset=UTF-8{ "data":{"gameId":原创 2020-08-07 14:05:31 · 1317 阅读 · 0 评论 -
Gradle构建jar包,将文件打包到lib目录外方便读取和下载
Gradle构建jar包,将文件打包到lib目录外方便读取和下载1.项目使用了最近很火的gradle作为构建工具框架是spring boot,项目在服务器上运行时当然是jar包了。如果你有心将jar包打开,会发现包内结构是这样的2.在gradle构建的项目里,你的项目是作为一个jar包被放置在lib目录里的如下图当我相从项目里下载固定的文件,比如说导入的模版等文件时,我们通过路径直接读取jar包内的文件显然是不可取且消耗资源的。而我们将这个文件放在lib目录的父目录里,这个操作就简单的多了。3原创 2020-07-01 12:09:00 · 3764 阅读 · 0 评论 -
枚举代替switch并实现O(1)时间复杂度获取名称值
枚举代替switch并实现和switch同级别O(1)时间复杂度获取名称值最近边做边玩,看着一个新功能要每个方法写一个switch心生不爽,就给他列巴列巴,看着已经使用了枚举类型,干脆一不做二不休,把枚举搞一搞,说来也巧,枚举搞switch很简单。数组就行,如果有字符串那就加个哈希。自己写呗。我希望通过输入的类型(输入的类型是数字,数字与实际含义通过指定规则对应)直接获取到指定的规则名称。代码如下/** * 公告类型:1-公告1;2-公告2;3-公告3;4-公告4 * */ @AllArgs原创 2020-06-28 15:34:44 · 949 阅读 · 0 评论 -
迁移web资源到webapp目录过程及注意事项
刚入职一家公司,项目时新搭建的,main目录下只有java和resource目录,没有webapp目录。emmm,没有webapp目录tomcat怎么监测页面的变动,怎么热加载吗????技术负责人告诉我写完代码重启。这操作简直丧尽天良,改一段代码想看效果就要重启???觉得996不够要007吗?作为一个优秀的程序猿(hhh,老脸一红),我们要避免做重复的和毫无意义的工作,不仅提高开发效率,提高公司...原创 2020-05-08 14:45:16 · 873 阅读 · 0 评论 -
jdk1.8+如何判断hashmap中的value是否为LocalDateTime类型,LocaDateTime转json问题
jdk1.8+如何判断hashmap中的value是否为LocalDateTime类型喜欢用jvm新特性的你一定知道since1.8的LocalDateTime相比于Date的各种好处(格式化时并发安全),但是当你尝试序列化LocalDateTime却不想为其指定对象,只希望使用json这种通用的信息传递格式传递LocalDateTime传递值时,你就会发现这个LocalDateTime怎么这么...原创 2020-04-04 18:05:27 · 1862 阅读 · 0 评论 -
旋转图像 及其解答
给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:给定 matrix =[[1,2,3],[4,5,6],[7,8,9]],原地旋转输入矩阵,使其变为:[[7,4,1],[8,5,2],[9,6,3]]示例 2:给定 matrix ...原创 2020-03-22 12:35:02 · 278 阅读 · 0 评论 -
给定一个未排序的整数数组,找出其中没有出现的最小的正整数。
给定一个未排序的整数数组,找出其中没有出现的最小的正整数。示例 1:输入: [1,2,0]输出: 3示例 2:输入: [3,4,-1,1]输出: 2示例 3:输入: [7,8,9,11,12]输出: 1说明:你的算法的时间复杂度应为O(n),并且只能使用常数级别的空间。这是一道简单题解法如下思路很简单,先排序数组,先保证循环不越界,当 i == nums.le...原创 2020-03-19 09:54:38 · 6386 阅读 · 5 评论 -
解决哈希冲突的三种方法(拉链法、开放地址法、再散列法)
什么是哈希冲突,其实就是再采用哈希函数对输入域进行映射到哈希表的时候,因为哈希表的位桶的数目远小于输入域的关键字的个数,所以,对于输入域的关键字来说,很可能会产生这样一种情况,也就是,一个关键字会映射到同一个位桶中的情况,这种情况就就叫做哈希冲突,解决哈希冲突的有三种方案,一种叫做拉链法(也叫作链接法、链地址法,一个意思),另外三种分别为开发地址法和再散列法。一、拉链法上篇博文我们举的例子,H...转载 2020-01-10 14:42:59 · 1835 阅读 · 0 评论 -
java调用Rsync并发迁移数据并执行校验
java调用Rsync并发迁移数据并执行校验讲真这件事做起来挺坑的,不知道为什么rsync没带多线程的功能?试过后我就懂了,这是个单线程工具,用在多线程上要规避很多问题。但是最终我还是成功了。填坑指数三颗星。(刚开始差点准备直接用java实现rsync功能,后来想想不造轮子了吧,把成型工具改好了就成。)原创 2019-11-27 14:48:42 · 1899 阅读 · 0 评论 -
java Volatile 关键字
Volatile :1.保证可见性说起这个特性必须要提一下JMM内存模型每个线程的工作内存中会生成主内存的变量副本,这一特性可能会导致变量延迟,在高并发情形下可能会导致数据读取错误的问题。而volatile可以做到 每次读取前必须先从主内存刷新最新的值。 每次写入后必须立即同步回主内存当中。这样就可以保证并发情形下数据的一致性2.不保证原子性(原子性:不可分割,完整性,也即某个线...原创 2019-10-17 11:23:56 · 159 阅读 · 0 评论 -
Java Runtime.getRuntime().exec 不执行
Java Runtime.getRuntime().exec 不执行在linux服务器上用java调用脚本,直接写Java Runtime.getRuntime().exec(“要执行的命令”)有时候发现并不能执行响应的命令。原因这是因为linux执行命令需要使用linux系统自带的sh工具,而java虚拟机有时候并不能获取到系统的环境变量,导致命令无法被执行解决方法在命令前加上/b...原创 2019-05-30 16:00:29 · 12910 阅读 · 0 评论 -
hadoop压力测试 hadoop集群压力测试 hdfs压力测试
使用hadoop官方工具遇到了一些问题(附录详写),所以自己编写了测试用例进行压力测试首先pom文件引入lombok,hadoop和hdfs的依赖包<properties> <lombok.version>1.16.20</lombok.version> <hadoop.version>2.7.7</hadoop.versi...原创 2019-04-15 12:35:52 · 3805 阅读 · 0 评论 -
getSession().merge 与 getSession().saveOrUpdate()分析与详解
hibernate getSession().merge 与 getSession().saveOrUpdate()分析merge做了什么1.第一部,把传入的对象new成一个新的对象,如果session中有与之对应的对象,也就是主键相同,则会把要保存的obj的值copy给session中的持久态对象,然后update被复制后的session中的对象(提交事务)。如果session中没有,...原创 2019-04-15 11:35:22 · 1689 阅读 · 0 评论 -
com.googlecode.jsonplugin.JSONException: java.sql.SQLException: Positioned Update not supported.
今天调试很老的一个项目出现了如下报错2019-03-21 16:03:34.898:WARN:oejs.ServletHandler:javax.servlet.ServletException: com.googlecode.jsonplugin.JSONException: com.googlecode.jsonplugin.JSONException: com.googlecode.js...原创 2019-03-21 16:17:11 · 808 阅读 · 0 评论 -
HashMap工作原理
转自https://blog.youkuaiyun.com/ty564457881/article/details/78206049HashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道Hashtable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深。这题经常出现在高级或中高级面试中。投资银行...翻译 2019-03-11 17:59:11 · 184 阅读 · 2 评论 -
教练线程 运动员线程 线程准备 线程同时执行 CountDownLatch 并发面试题
曾有一位技术大师问过我一个问题,当时我没有答出来,问题是这样的有一个教练线程和多个运动员线程,要运动员线程在教练线程发令(准备)的时候都做好准备,在教练线程一声令下的时候同时启动执行,然后在所有运动员线程全部结束后教练线程才结束。问:“这其中用到了多线程的哪些技术,你如何实现这么一个功能模块?”找到的正解就是对 java.util.concurrent包中方法的使用,这个包中都是对多线程并发做...原创 2019-02-26 15:59:50 · 283 阅读 · 0 评论 -
冒泡排序优化
拿去不谢,原理什么的我就不多解释,自己研究出来才是王道,才真正有成就感,这些代码才能成为你的竞争力package match;import java.util.Arrays;/** * @ClassName BubbleSory * @Descriptiom TODO 冒泡排序最优算法 * @Author KING * @Date 2019/1/11 9:53 * @Versi...原创 2019-01-11 10:39:40 · 281 阅读 · 0 评论 -
ajax中dataType有哪些类型
dataType默认类型是:Stringajax本身会自动推测服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息来智能判断,比如 XML MIME 类型就被识别为 XML。在 1.4 中,JSON 就会生成一个 JavaScript 对象,而 script则会执行这个脚本。随后服务器端返回的数据会根据这个值解析后,传递给回调函数。可用值:•”xml”:...原创 2019-05-23 16:19:43 · 60121 阅读 · 0 评论 -
java秒建指定大小的文件
java创建指定大小的文件 ,秒建任意大小的文件package Dirty.File;import lombok.Cleanup;import lombok.SneakyThrows;import java.io.File;import java.io.IOException;import java.io.RandomAccessFile;/** * @ClassName createNeedFi...原创 2019-05-31 10:11:54 · 2298 阅读 · 0 评论 -
java 遍历文件夹和文件 并指定深度
java 遍历文件夹和文件 并指定深度按系统要求做一个小工具,百度没有,自己写一个share一下package Dirty.File;import lombok.SneakyThrows;import java.io.File;import java.util.LinkedList;/** * @ClassName getFile * @Descriptiom TODO *...原创 2019-05-31 10:22:54 · 671 阅读 · 0 评论 -
lombok使用心得
Lombok使用心得及注意事项1.前言在效率至上的今天,开发的速度越来越受到程序员的关注,lombok在这一时代横空出世正如官网上所言它是一个java字典,能够帮助你的代码编辑构建工具自动的构建代码,为你的java代码增彩填色,从此再也不用写getter或者equals方法。只需要一个注解就能让你的类拥有全部的构建特性。让你的日志变量也能自动化,还有更多的功能等待你的探索。官网下载地址https://www.pro...原创 2019-06-05 12:18:19 · 1801 阅读 · 0 评论 -
Spring Data JPA命名规则
Spring Data JPA命名规则1 And 并且2 Or 或3 Is,Equals 等于4 Between 两者之间5 LessThan 小于6 LessThanEqual 小于等于7 GreaterThan 大于8 GreaterThanEqual 大于等于9 After ...转载 2019-06-10 17:20:36 · 326 阅读 · 0 评论 -
迁移eclipse项目到idea
经常把项目在两个工具里做迁移。一直没有记录,今天又迁移了一次想起确实有几个注意点,就记录下来分享给大家了。这是一个eclipse项目仅添加了git,由于项目需要给小白用,就没用Maven,免得再配置个maven,蜗牛一般的下载依赖。迁移到idea1.修改项目构建源和构建版本我们打开idea点击File–》open找到你硬盘中要导入的项目单击选中,再点ok然后需要确认的时候可...原创 2019-06-20 21:58:18 · 5615 阅读 · 0 评论 -
钻钻 “单例模式” 的牛角尖!你写的安全吗?
枚举很适合用来实现单例模式。实际上,在 Effective Java 中也提到过(果然英雄所见略同):单元素的枚举类型经常成为实现 Singleton 的最佳方法 。首先什么是单例?就一条基本原则,单例对象的类只会被初始化一次。在 Java 中,我们可以说在 JVM 中只存在该类的唯一一个对象实例。在 Android 中,我们可以说在程序运行期间,该类有且仅有一个对象实例。说到单例模式的实现,...转载 2019-06-28 09:56:44 · 266 阅读 · 0 评论 -
java8lambad能做什么
java8lambad能做什么较系统的学习了lambad导言Java8最值得学习的特性就是Lambda表达式和Stream API,如果有python或者javascript的语言基础,对理解Lambda表达式有很大帮助,因为Java正在将自己变的更高(Sha)级(Gua),更人性化。--------可以这么说lambda表达式其实就是实现SAM接口的语法糖。lambda写的好可以极大的减...转载 2019-09-16 11:49:01 · 286 阅读 · 0 评论 -
Exception encountered during context initialization - cancelling refresh attempt
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'documents': Unsatisfied dependency expressed through field 'documentService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyExcep原创 2019-09-24 10:51:28 · 1121 阅读 · 0 评论