Java
徐徐长安
心不在焉意难平,何妨吟啸且徐行。
展开
-
匿名内部类的用法
很早就知道匿名内部类,但没去探究,后面也没用到,索性算个知识盲点,今天顺便研究下。匿名内部类,顾名思义,没有名字的内部类。存在即合理,那匿名内部类的使用场景是什么呢,如果实现父类(或继承接口的)实现类只在业务中被调用一次,也即只使用一次,那么它的存在就是有点尴尬的,只为了一部分的要求而单独写个类这在工程上也不合理,那么此刻,为了解决这种尴尬,匿名内部类就被引入了。看个例子,加深理解吧。原创 2018-02-06 01:24:23 · 362 阅读 · 0 评论 -
Java 文件路径读取问题
问题背景 项目里遇到个问题:因为特殊原因,没有用spring框架的读取配置文件里属性,而是自己手写的读取工具类。这样就导致问题:windows和Linux里的配置文件路径可能不一样,导致生产环境里读取不到配置。解决方案 一.先判断操作系统String os = System.getProperty("os.name"); 根据os字符串,判断是否包含”win”字符串,若包含是wi...原创 2018-06-30 10:59:02 · 2698 阅读 · 0 评论 -
文件写入与读出
字节流追加写入与读出1.字节流以IO方式写入FileOutputStream fos2 = new FileOutputStream( "/a/b/110.wav", true); fos2.write(Bytes, 0, playBytes.length); fos2.flus...原创 2018-08-29 21:50:22 · 317 阅读 · 0 评论 -
eclipse新建插件报错 An error occurred while collecting items to be installed
在eclipse 中在线装安装p3c插件时,在这里不放啰嗦一下,这个是阿里的内部代码标准所开发的一款可以帮助开发者更好规范代码的一种插件,有需要的可以装一下。另外阿里java开发手册大家也可以阅读一下,规范一下紫的的代码风格。好了说主题,安装插件时会报出如下错误:An error occurred while collecting items to be installedsession co...原创 2018-09-29 20:47:15 · 6883 阅读 · 6 评论 -
java对文件损坏校验
文件损坏校验1.背景出于项目业务的需求,需要对上传文件处理,服务端需要甄别损坏文件,去拦截。则需要对上传的文件去判断,疏于搜索水平,谷歌了下没找到好的方法。则思考了一种目前看来可行的判别方法。2.思路。根据文件名,通过字符串分隔,判断出文件的现用格式。再引入tika包,对文件的实际格式进行判断,则与现用格式比较,不同,则为格式强制转换等损坏文件,这样,就滤除了此类损坏的文件。3.过程。...原创 2018-11-22 19:52:20 · 3587 阅读 · 4 评论 -
MultipartFile类参数接口调用示例
Http请求时,遇接口有MultipartFile类型参数时,可按如下解决: //filePath,即文件路径 FileSystemResource resource = new FileSystemResource(new File(filePath)); MultiValueMap<String, Object> param = new LinkedMultiValueMap...原创 2018-12-29 20:26:56 · 11360 阅读 · 4 评论 -
HttpServletResponse文件下载时文件名英文字符不能解码解决办法
背景通过HttpServletResponse下载文件时,为防止文件名乱码,因而进行utf-8编码,然而谷歌浏览器部分版本会在下载时,未对英文括号及空格类字符进行解码,则导致文件名部分未解码。2.策略通过正则,匹配出中文,然后对中文进行编码。也就是不对英文解码,则就不存在英文部分符号无法解码,也不会出现中文乱码。3.代码 //组装的完整文件名 String fileName ...原创 2018-12-29 21:12:44 · 1280 阅读 · 0 评论 -
linux上对服务监控
1.xshell连接服务器,这个就不必说了,自行看一下就可以了。2.安装xmanager,安装包地址:https://pan.baidu.com/s/17E-yuye4eA_mbhhR0z6FBg,密码:08ak。自行安装。3.配置,连接属性里的,开通隧道,即勾选转发x11连接到(x),勾选manager(M),确定即可。4.在服务器上,启动jcosole,或jvisualvm(直接命令行敲...原创 2019-02-14 15:09:58 · 324 阅读 · 0 评论 -
md5值生成
md5值生成import java.security.MessageDigest;import org.apache.log4j.Logger;public class Md5Util { /**使用Log4j打印日志*/private static Logger logger = Logger.getLogger(Md5Util.class); /** * 生成md5 * @p...原创 2019-03-14 18:46:50 · 3177 阅读 · 0 评论 -
java组件内存占用情况分析及日志分析等
1.日志内容查找cat -n console.out |grep “地形” |more2.清空缓存echo 1 > /proc/sys/vm/drop_caches3.导出dump并分析文件jmap -dump:format=b,file=/home/xufei/4128.dat 41284128进程号,然后用mat工具打开4128.dat文件,或者eclipse里的插件mat(...原创 2019-03-14 19:24:56 · 466 阅读 · 0 评论 -
文件流接口调用示例
文件类接口调用@Autowiredprivate RestTemplate restTemplate;// picturePath 文件所在路径File files = new File(picturePath);// File[] fielArray = files.listFiles();// 随机数,模拟用户随机上传文件int a = RandomUtils.nextIn...原创 2019-03-14 19:39:48 · 1293 阅读 · 0 评论 -
如何排查CPU占用过高以及常见的几种情况
在最近上线过程中遇到cpu占用率过高问题由于问题已解决,此时仅重现操作方法1.先用top命令,找到cpu占用最高的进程 PID2.再用ps -mp pid -o THREAD,tid,time 查询pid进程中,那个线程的cpu占用率高 记住TID3.jstack 29099 >> xxx.log 打印出29099该进程下线程日志4.将xxx.log 日志文件下载到本...转载 2019-04-22 19:41:22 · 4614 阅读 · 0 评论 -
LeetCode 回文数(Palindrome Number)
题目 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 。因...原创 2018-06-09 18:38:32 · 382 阅读 · 0 评论 -
LeetCode 反转整数(Reverse Integer)
题目 给定一个 32 位有符号整数,将整数中的数字进行反转。 示例 示例 1:输入: 123 输出: 321 示例 2:输入: -123 输出: -321 示例 3:输入: 120 输出: 21 注意: 假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。解题思路 1.现...原创 2018-06-09 18:24:02 · 796 阅读 · 0 评论 -
spring boot项目中pom.xml文件出现missing artifact之简便解决方法
遇到这种问题几次了每次原因和解决方法都有出入,谷歌几次了,有时候找不到方法只能自己瞎折腾各种尝试,终于解决了。 总结如下:一般情况下,只出现missing artifact一到两个包的报错,则在本地仓库中删除相关Jar包文件,重新update项目,下载相关jar包即可解决。 第二个就比较坑了,会出现大量的Missing artifact报错,一个个update会消耗人的耐心,自己尝试了下,...原创 2018-03-07 16:57:32 · 7605 阅读 · 0 评论 -
java中判断一个字符串是否“都为数字”和“是否包含数字”和“截取数字”
原文地址:http://ahomeeye.iteye.com/blog/842922http://cherryqq.iteye.com/blog/406355在javascript中有一个方法isDigit()使用来判断一个字符串是否都是数字,在java的字符串处理方法中没有这样的方法,觉得常常需要用到,于是上网搜了一下,整理出了两个用正则表达式匹配的判断方法,如下; // 判断一...转载 2018-03-09 15:38:12 · 169 阅读 · 0 评论 -
如约而至,Java 10 正式发布!109 项新特性一览
来自:开源中国 链接:oschina.net/news/94402/java-10-released-mar-21期待已久,没有跳票的 Java 10 已正式发布!你可以下载 Java 10 正式版:http://www.oracle.com/technetwork/java/javase/downloads/index.html http://www.oracle.com/techn...转载 2018-03-21 11:35:06 · 12600 阅读 · 0 评论 -
spring boot中RestTemplate的使用
这里有一篇博文,感觉讲的不错,值得一看。Spring RestTemplate中几种常见的请求方式。然后我这边业务需要,和其他厂商对接,需要远程调用,就做个备注,以便代码复用和分享。首先,写个相关的RestTemplate的配置类,@Configurationpublic class RestTemplateConfig { @Bean public RestTempla...原创 2018-04-15 20:13:33 · 1424 阅读 · 0 评论 -
springboot中如何使用线程池及异步线程
有一些业务需求,需要是异步进行的,不能影响当前线程的运行,在spring boot中则能通过注解和配置快速实现这个。首先写个异步线程池配置类,如下:@Configuration@EnableAsyncpublic class AsyncConfig { @Value("${async.executor.thread.core_pool_size}") privat...原创 2018-04-17 01:16:13 · 10228 阅读 · 0 评论 -
实现多个存储服务器上文件浏览器打包下载
关于本地文件zip打包返回给浏览器下载,这边有个很好的例子读取本地文件打包返回给浏览器下载,基本能解决的相关问题。而最近因为项目原因,打包返回给浏览器下载的是存储在fdfs上文件,然后对此代码修改了下,解决了项目需求。所以就记录下,以便后续使用。public void getAllFile(HttpServletResponse response,String callId) throws...原创 2018-04-12 01:51:24 · 734 阅读 · 0 评论 -
统一接口数据返回格式
为了便于对接,数据返回的格式最好一致,包括返回的状态,提示信息,和需要的数据,则将其封装为统一格式,如下:public class ResultData<T> { /** * 结果状态 */ private boolean status; /** * 结果数据信息 */ private T data; ...原创 2018-04-18 23:21:41 · 6473 阅读 · 0 评论 -
java转义字符
http://juck.iteye.com/blog/1541247java转义符(收集) 原来JAVA中转义字符就很简单的四种: 1.八进制转义序列:\ + 1到3位5数字;范围’\000’~’\377’ \0:空字符 2.Unicode转义字符:\u + 四个十六进制数字;0~65535 \u0000:空字符 3.特殊字符:就3个 ...转载 2018-04-19 10:19:31 · 567 阅读 · 0 评论 -
java finalize方法总结、GC执行finalize的过程
原文地址:http://bijian1013.iteye.com/blog/2288223 一.finalize的作用finalize()是Object的protected方法,子类可以覆盖该方法以实现资源清理工作,GC在回收对象之前调用该方法。 finalize()与C++中的析构函数不是对应的。C++中的析构函数调用的时机是确定的(对象离开作用域或delete掉),但Java中的f...转载 2018-05-01 14:16:51 · 1278 阅读 · 0 评论 -
Java如何复制对象
原文地址:https://blog.csdn.net/tounaobun/article/details/8491392假如说你想复制一个简单变量。很简单:[java] view plain copy int apples = 5; int pears = apples; 不仅仅是int类型,其它七种原始数据类型(boolean,char,byte,short,float,dou...转载 2018-05-01 16:16:21 · 196 阅读 · 0 评论 -
模糊查询时解决'%'和'_'通配符滥用问题
经常会有模糊查询的需求,写个模糊查询其实很简单,但是其中可能会遇到一些极少见的问题。例如通配符问题。模糊查询如下://查询param相似的参数,例如1param和param3都会匹配到//第一种写法:select s.iid,s.word from sensitive_word s where s.word LIKE CONCAT(CONCAT('%','param'),'%'...原创 2018-04-20 23:22:11 · 4074 阅读 · 0 评论 -
Java 四种线程池的用法分析
原文地址: Java 四种线程池的用法分析转载 2018-05-07 21:09:45 · 202 阅读 · 0 评论 -
LeetCode 两数之和(Two Sum)
题目给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1]思路一:暴力破解法,时间复杂度O(n^2) public int[]...原创 2018-06-09 18:07:32 · 5478 阅读 · 0 评论 -
Java正则匹配时appendReplacement()和appendTail()用法
Java正则匹配时appendReplacement()和appendTail()用法最近接触mdx语句较多,需要做些mdx相关的语句处理,用了一下appendReplacement和appendTail方法,为了备忘,此处mark一下。appendReplacement:将当前匹配的子字符串替换为指定的字符串,并且将替换后的字符串及其之前到上次匹配的子字符串之后的字符串添加到一个String...原创 2019-08-28 20:48:29 · 1900 阅读 · 0 评论