Java编程
HoneyYHQ9988
如果你想走得快,就要一个人走;你想走得久、走得远,要一群人一起走。
展开
-
在docker容器中springboot报错无法读取配置文件:Could not resolve placeholder ‘xxx‘ in value “${XXXX}
今天碰到在本地开发环境启动springboot服务正常,但部署到docker容器中却报错:Could not resolve placeholder ‘xxx‘ in value “${XXXX}在启动类里添加以下代码即可:@Beanpublic static PropertySourcesPlaceholderConfigurer placeholderConfigurer() { PropertySourcesPlaceholderConfigurer placeholderConfig原创 2021-12-17 15:07:04 · 2980 阅读 · 2 评论 -
the request was rejected because its size (19989850) exceeds the configured maximum (10485760)
在springboot服务中上传文件请求报错:the request was rejected because its size (19989850) exceeds the configured maximum (10485760)报错原因是上传的文件过大,超出设置的最大值,这里重新设置下允许上传文件的最大值即可,第一种:配置application.yml# 本地文件上传:最大支持文件大小spring: servlet: multipart: max-file-size原创 2021-08-23 16:27:44 · 1273 阅读 · 1 评论 -
Ningx+Keepalived实现高可用
安装keepalived安装详细步骤如下:#提前安装依赖包 yum install -y gcc openssl-devel popt-devel ipvsadm wget http://www.keepalived.org/software/keepalived-2.1.4.tar.gz tar zxvf keepalived-2.1.4.tar.gz cd keepalived-2.1.4 #指定安装目录 ./configure --prefix=/usr/local/keepaliv原创 2021-07-12 18:02:16 · 147 阅读 · 0 评论 -
Ribbon默认的负载均衡轮询算法
Ribbon中默认的负载均衡方法是使用的轮询算法,根据其源码的大概思路是:rest请求次数%集群中服务器数量=实际调用服务器位置下标,每次重启后rest请求次数重置为0开始计数。下面粘贴RoundRobinRule主要源代码public Server choose(ILoadBalancer lb, Object key) { if (lb == null) { log.warn("no load balancer"); return nul原创 2021-06-22 10:27:41 · 776 阅读 · 1 评论 -
Java中for(;;) 和while(true)
在Java中,我们可能会用到"for(;;) while(true)来写“死循环(无限循环)”,但是这两种方式有什么区别,用哪个更好呢?其实在功能上来说没什么区别,都是一样的用来写无限循环,但是这种方式编译前后有点区别:编译前 编译后 while (1); mov eax,1 test eax,eax je foo+23h jmp fo原创 2021-06-22 09:38:37 · 391 阅读 · 0 评论 -
获取文件并按照文件时间倒序排列
//获取文件的路径 String filePath = properties.getPath().getPath()+"exceptiondata"; File file=new File(filePath); File[] fs = file.listFiles(); List<MyFile> myFiles=new ArrayList<>(); for (File f : fs) {原创 2021-05-20 13:05:48 · 393 阅读 · 0 评论 -
Java中List使用contains比较自定义对象是否相同
在List.contains()方法比较list对象中是否已包含某个对象实例,需要重写这个对象的equals对象,用对象中某个(或几个)属性作为判断对象是否一致的条件(contains方法依据Object的equals方法来判断是否包含某一属性),比如下面的例子就是使用了User对象中重写了equals方法,并使用身份证号属性相同来判断User对象是一样。注意下,如果要比较对象实例不重写equals方法则比较的是对象的地址,只有对象地址一样才会返回true @Override public bo原创 2021-05-20 13:01:10 · 3903 阅读 · 0 评论 -
Spring-Data-Jpa的Sort排序时遇到 has private access in ‘org.springframework.data.domain.Sort‘
今天在使用Jpa的sort排序时遇到如下问题:'Sort(org.springframework.data.domain.Sort.Direction, java.util.List<java.lang.String>)' has private access in 'org.springframework.data.domain.Sort'原来是:springboot2.2.1(含)以上的版本Sort已经不能再实例化了,构造方法已经是私有的了俗话说,“上帝给你关上一扇门就会给你打原创 2021-05-08 21:48:32 · 1445 阅读 · 0 评论 -
阿里云服务器糟挖矿程序攻击
删除恶意脚本文件,直接rm删除不了,需要修改下文件的属性cd /etc/rm -f newinit.sh#查看文件属性lsattr newinit.sh#修改文件属性chattr -ia newinit.sh查看定时任务中是否有任务,如果有就删除了此定时任务* /30 * * * * sh /etc/newinit.sh >/dev/null 2>&1直接用crontab -e删除没有权限...原创 2021-02-08 17:44:38 · 944 阅读 · 3 评论 -
实现office文档在线预览之—pdfjs前端展示
GitHub下载并引入pdfjshttps://github.com/mozilla/pdf.js/下载后如下:放到前端工程public目录下,然后执行以下语句下载相关依赖:nmp install前端展示如下:<Button type="success" size="small" @click="showOnlineBtn(row.documentName)" class="table-btn">在线预览</B原创 2021-02-08 17:39:44 · 959 阅读 · 0 评论 -
实现office文档在线预览之—jodconverter+libreoffice实现office文档转pdf
所需版本如下:jdk1.8jodconverter4.2.2libreoffice6.4.7maven引入依赖包如下: <!-- 引入jodconverter、libreoffice依赖转office文档pdf --> <dependency> <groupId>org.jodconverter</groupId> <artifactId>jodconverter-core原创 2021-02-08 17:21:26 · 2218 阅读 · 3 评论 -
实现office文档在线预览之—libreoffice在Linux安装
1、卸载系统当前的libreoffice执行如下命令:sudo yum erase libreoffice\*2、下载rpm文件点击浏览下载版本或者直接执行以下命令:wget http://mirrors.ustc.edu.cn/tdf/libreoffice/stable/6.4.7/rpm/x86_64/LibreOffice_6.4.7_Linux_x86-64_rpm.tar.gzwget http://mirrors.ustc.edu.cn/tdf/libreoffice/sta原创 2021-02-03 23:36:31 · 1283 阅读 · 0 评论 -
JDK自带工具分析GC
打开JDK安装路径如下:C:\Program Files\Java\jdk1.8.0_181\bin,然后找到jvisualvm.exe,双击打开如下图原创 2020-11-28 23:26:02 · 344 阅读 · 0 评论 -
容易混淆的概念之内存溢出和内存泄漏
内存溢出(Memory Overflow)内存溢出是指程序存储的数据大小超出了申请的内存空间大小,这时数据就会越界。用着用着超出了内存大小限制,导致OOM报错。Java中的内存溢出,一般指OOM这种Error,它更像是一种内存空间不足时发生的错误,并且也不会导致溢出攻击这种问题,举例来说,堆里能存10个数,分了11个数进去,堆就溢出了1个数,JVM会检测、避免、报告这种问题,实际上是JVM规避了内存溢出带来的问题。内存泄漏(Memory Leak)申请的内存空间没有被正确释放,导致后续程序里这块内存原创 2020-08-05 11:01:07 · 217 阅读 · 0 评论 -
IntelliJ IDEA我的常用快捷键
俗话说得好“砍柴不费磨刀工”,这些IntelliJ IDEA键盘快捷键可以让你专注于编写代码,让你的双手在键盘上起舞。Ctrl+J 提示Ctrl+Alt+B:跳转到方法实现处Ctrl+Shift+F:全局查询Ctrl+X:不选中剪切一行Ctrl+D,复制行Alt+Enter,导入包,自动修正Ctrl+鼠标点击,进入方法Ctrl+Alt+左右方向,返回上一步路径ctrl+/ 这个是多行代码分行注释,每行一个注释符号ctrl+shift+原创 2020-08-04 21:13:40 · 156 阅读 · 0 评论 -
Java中Map的遍历
在Java开发中Map是经常使用的数据类型,对于Map的遍历也是经常遇到,今天使用了一种新的遍历方式,使用Map.forEach()方法,当然此方法是在Java8+版本。public static void main(String[] args) { Map<String,String> map=new HashMap<>(); map.put("test1","value1"); map.put("test2","value2"); map.put("t原创 2020-06-07 22:50:12 · 183 阅读 · 1 评论 -
Java线程池实现原理
随着计算机行业的飞速发展,摩尔定律逐渐失效,多核CPU成为主流。使用多线程并行计算逐渐成为开发人员提升服务器性能的基本武器。J.U.C提供的线程池:ThreadPoolExecutor类,帮助开发人员管理线程并方便地执行并行任务。了解并合理使用线程池,是一个开发人员必修的基本功。本文开篇简述线程池概念和用途,接着结合线程池的源码,帮助读者领略线程池的设计思路,最后回归实践,通过案例讲述使用线程池遇到的问题,并给出了一种动态化线程池解决方案。一、写在前面1.1 线程池是什么线程池(Thread Poo转载 2020-06-03 00:00:00 · 642 阅读 · 0 评论 -
Jenkins+Docker+K8S自动化部署
自从公司的服务大升级使用Jenkins+Docker+K8S自动化部署之后,感觉用起来有点大快人心之感。 攻城狮本地开发,开发完成后提交代码到代码仓库,自动触发jenkins进行持续集成与部署,部署完成会收到结果邮件。项目运行过程中可通过日志系统查看程序日志,有异常会触发监控系统发送报警。从编码到上线后结果反馈都可以攻城狮自主完成,形成完整闭环,完整...原创 2020-04-16 18:56:46 · 7077 阅读 · 1 评论 -
NotePad++换行替换成逗号
我们在测试过程中对一些数据格式需要转换,这里记录下一个小技巧,如下图所示:原创 2020-04-14 11:01:49 · 5655 阅读 · 0 评论 -
idea控制台不输出日志
idea导入一个maven工程,在本地执行的时候,控制台怎么也不打印log4j日志,但是system.out可以正常输出,但是查看log4j.properties配置文件,也没有什么问题。private static final Logger log = LoggerFactory.getLogger(test.class);log.info("测试")找了半天,才发现是maven依赖没...原创 2019-12-17 17:08:37 · 11427 阅读 · 0 评论 -
Java读取excel工具类
import org.apache.poi.hssf.usermodel.HSSFDateUtil;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.ss.usermodel.Cell;import org.apache.poi.ss.usermodel.Row;import org.apache...原创 2019-11-22 15:26:57 · 284 阅读 · 0 评论 -
Spring MVC与Spring Boot的区别
SpringSpring 框架就像一个家族,有众多衍生产品例如 boot、security、jpa等等。但他们的基础都是Spring 的 ioc和 aop ioc 提供了依赖注入的容器 aop ,解决了面向横切面的编程,然后在此两者的基础上实现了其他延伸产品的高级功能。Spring MVC是基于 Servlet 的一个 MVC 框架 主要解决 WEB 开发的问题,因为 Spring 的配置非常复...转载 2019-10-17 21:31:52 · 186 阅读 · 0 评论 -
maven项目下报错mybatis org.apache.ibatis.binding.BindingException: Invalid bound statement(not found)
maven项目下报错mybatis org.apache.ibatis.binding.BindingException: Invalid bound statement(not found问题原因解决办法其它原因问题原因今天在maven项目下遇到org.apache.ibatis.binding.BindingException: Invalid bound statement (not f...原创 2018-09-18 17:20:20 · 1076 阅读 · 0 评论 -
String、StringBuffer和StringBuilder类的区别
String String类是final类故不可以继承,也就意味着String引用的字符串内容是不能被修改。 String有两种实例化方式: (1)直接赋值(例中,String str = “Hello”;就是直接赋值实例化了) (2)使用new调用构造方法完成实例化;public class JavaTest { public static void ma...原创 2018-07-14 22:58:00 · 197 阅读 · 0 评论 -
Java对象序列化
序列化 将内存中的对象以二进制流的形式进行处理,可以实现对象的保存或网络传输。 Java中的对象序列化,序列化的是什么?是对象的状态、更具体的说就是对象中的字段及其值,因为这些值正好描述了对象的状态。序列化的使用 要想一个类拥有序列化、反序列化功能,最简单的方法就是实现java.io.Serializable接口,这个接口是一个标记接口(marker Interfac...原创 2018-06-28 15:11:04 · 149 阅读 · 0 评论 -
Java设计模式之-单例模式
Java设计模式之-单例模式概念饿汉式懒汉式懒汉式单例模式的问题概念 保证一个类仅有一个实例,并提供一个全局访问方法。构造方法私有化,类内部产生实例化对象并提供static方法获取实例化对象,不管外部怎么操作,都只有一个实例化对象。通俗点讲单例模式就是:类的构造函数弄成private ,即不想让别人用new 方法来创建多个对象,可以在类里面先生成一个对象,然后写...原创 2018-06-27 00:57:56 · 142 阅读 · 0 评论 -
代理模式
代理模式 代理模式使用代理对象完成用户请求,屏蔽用户对真实对象的访问。现实世界的代理人被授权执行当事人的一些事宜,无需当事人出面,从第三方的角度看,似乎当事人并不存在,因为他只和代理人通信。而事实上代理人是要有当事人的授权,并且在核心问题上还需要请示当事人。 在软件设计中,使用代理模式的意图也很多,比如因为安全原因需要屏蔽客户端直接访问真实对象,或者在远程调用中需要使用代理类处理远程方...转载 2018-06-30 15:26:34 · 140 阅读 · 0 评论 -
Java学习路线
一、编程基础不管是C还是C++,不管是Java还是PHP,想成为一名合格的程序员,基本的数据结构和算法基础还是要有的。下面几篇文章从思想到实现,为你梳理出常用的数据结构和经典算法。 1-1常用数据结构数组、链表、堆、栈、队列、Hash表、二叉树等1-2算法思想算法时间复杂度和空间复杂度的分析计算算法思想:递推、递归、穷举、贪心、分治、动态规划、迭代、分枝界限1-3经典算法经典排序:插入排序、冒泡排...转载 2018-06-10 23:09:12 · 203 阅读 · 0 评论 -
Java操作json数据导入Excel
话不多说,直接上代码package com.linkage.bss.crm.commons;import net.sf.json.JSONArray;import net.sf.json.JSONObject;import org.apache.commons.io.FileUtils;import org.apache.poi.xssf.usermodel.XSSFCell;imp...原创 2018-11-09 16:13:38 · 3176 阅读 · 2 评论 -
UNICODE转中文
//Unicode转中文 public static String convert(String utfString){ StringBuilder sb = new StringBuilder(); int begin = 0; int index = utfString.indexOf("\\u", begin); while(index != -1){ sb....原创 2018-12-20 14:20:05 · 557 阅读 · 0 评论 -
Java实现HTTP请求工具类
废话不多说,直接上代码import javax.servlet.http.HttpServletRequest;import java.io.*;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLEncoder;import java.util.Map;public class Http...原创 2018-12-21 17:56:30 · 285 阅读 · 0 评论 -
java 数据量大的文件切分为多个文件的工具类
import java.io.*;import java.math.BigInteger;/** * 将数据量大的文件切分为多个文件的工具类 */public class FileSplit { public static void splitFileByLines(String fileReadName, String textSize) throws IOExceptio...原创 2019-01-02 10:42:16 · 608 阅读 · 0 评论 -
java 多线程读取多个文件
package com.linkage.bss.agent.service.common;import java.io.*;import java.util.List;import java.util.concurrent.CountDownLatch;/** * 多线程读取多个文件 */public class FileThread extends Thread{ p...原创 2019-01-02 10:49:34 · 7338 阅读 · 0 评论 -
访问jsp报错org.apache.jasper.JasperException: java.lang.NullPointerException的解决办法
问题描述:将java web工程部署到tomcat中,启动tomcat打开jsp页面出现org.apache.jasper.JasperException: java.lang.NullPointerException错误。根本原因:这是由于项目中build path中加载的一些包与tomcat中的包重复,在项目中删除对应的包就行。问题详情:org.apache.jasper.Jasp...原创 2019-01-02 23:39:07 · 7630 阅读 · 5 评论 -
axios跨域请求Java后台出现后台session为空问题
最近在做一个前后端分离的项目,前端使用React+Ant,后端是Spring mvc+mybatis+mysql,第一次做前后端分离的项目,又第一次用React+Ant,对于一直做后端的我来说,前端各种问题不断,项目时间又急,真是无比煎熬,但是又很享受在解决问题之后的喜悦。问题描述:登录的时候前台axios跨域请求访问在java后台生成验证码并放到session中/** 生成验证码 */...原创 2019-04-10 21:04:43 · 1846 阅读 · 0 评论 -
Java时间格式化处理工具类
import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.HashMap;import java.util.Map;/** * 日期处理工具类 */public class D...原创 2019-04-03 16:14:29 · 503 阅读 · 0 评论 -
TPS、QPS及并发数等概念
在日常的工作中经常会讲到吞吐量、并发量等概念,查询了下相关资料,在这里记录下对吞吐量(TPS)、QPS、并发数、响应时间(RT)几个概念做下了解,查自百度百科。响应时间(RT) 响应时间是指系统对请求作出响应的时间。直观上看,这个指标与人对软件性能的主观感受是非常一致的,因为它完整地记录了整个计算机系统处理请求的时间。由于一个系统通常会提供许多功能,而不同功能的处理逻辑也千差万别,因而不...原创 2019-09-14 16:27:25 · 509 阅读 · 0 评论 -
Java学习进阶路线
Java基础 Java Web 前端HTML/css/js,J2EE(Servlet/jsp),数据库(Mysql/oracle) Java开发框架 Spring MVC/Mybatis/Herbernate/maven 《Java编程思想》 深入了解java基础 Java设计模式 《Effective java》代码设计及效率 Java虚拟机 《深入理解J...原创 2018-06-10 21:51:52 · 747 阅读 · 0 评论