java
骑鱼的猫咪
这个作者很懒,什么都没留下…
展开
-
Java多线程使用列子
java多线程使用例子原创 2022-12-25 15:26:28 · 241 阅读 · 1 评论 -
Jackson 序列化问题总结
Jackson 序列化问题总结原创 2022-10-19 11:46:12 · 447 阅读 · 0 评论 -
AOP实现api接口每小时访问次数和成功失败统计
AOP拦截所有请求,获取HttpServletRequest和相应结果,并统计请求耗时,成功失败情况@Slf4j@Aspect@Componentpublic class AccessAOP { public AccessAOP(RedisService redisService) { this.redisService = redisService; } //!是排除 @Pointcut("execution(* com.xxx.contro原创 2021-01-28 16:50:08 · 1372 阅读 · 0 评论 -
使用ThreadLocal保存用户登录信息
遇到的问题: 在实际开发中,我们的登录是接的代理,每次取登录信息都需要从HttpServletRequest中取,不是很灵活,假如我们想在service,dao层使用,我们就需要从controller层一层一层传递,非常的麻烦 解决办法: ThreadLocal可以把用户信息保存在线程中,用户发来的每一次请求启动的线程到保存了用户信息,当请求结束,我们会把保存的用户信息清除掉,这样就方便我们在开发中获取用户登录信息 实现思路: 我们需要创建一个ThreadLocal类,创建一个Thread原创 2021-01-28 14:36:50 · 2894 阅读 · 0 评论 -
ubuntu 安装 opeanjdk8
执行更新$ sudo apt-get update安装sudo ap[t-get install openjdk-8-jdk配置openJDK环境变量sudo vi /etc/environment加入下面值JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"JRE_HOME=${JAVA_HOME}/jreCLASSPATH=.:JAVAHOME/lib:{JRE_HOME}/libPATH=JAVAHOME/bin:P原创 2020-08-21 17:07:21 · 634 阅读 · 0 评论 -
Java中利用HttpClient 发送Patch请求,携带Json参数
传入参数有url json对象和请求头,返回的是响应的状态码,可以根据你自己的逻辑改成返回是相应内容public static int patch(String url,JSONObject jsonParam, Map<String, String> header){ int statusCode = 0; CloseableHttpClien...原创 2020-02-18 18:25:53 · 3826 阅读 · 3 评论 -
使用POI读取Excel表格和导出Excel文件
POI实现Excel读取和导出的工具类://读取Excel表格存成List<List<String>>的数据结构public static List<List<String>> readXlsxByStream(InputStream inputStream) throws IOException { List<List...原创 2020-02-11 17:45:28 · 491 阅读 · 0 评论 -
前端报错:Failed to execute 'setRequestHeader' on 'XMLHttpRequest': Value is not a valid ByteString.
报错详细:Unhandled Rejection (TypeError): Failed to execute 'setRequestHeader' on 'XMLHttpRequest': Value is not a valid ByteString.报错原因: 是请求头中存在汉字解决方案: 我们前段可以使用Base64进行编码encodeURI...原创 2020-01-02 17:19:14 · 7748 阅读 · 0 评论 -
Java中 HttpClient中转上传文件遇到的坑
遇到的坑: 查询了网上的博客,百分之99的人在添加字节流文件的时候都是这么写: MultipartEntityBuilder builder = MultipartEntityBuilder.create();builder.addBinaryBody("file", file.getInputStream(), ContentType.MULTIPART_FORM_DATA, fil...原创 2019-11-23 15:14:37 · 1240 阅读 · 1 评论 -
Java中算日期差的天数
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");long start = simpleDateFormat.parse(startTime).getTime(); //startTime为开始时间long end = simpleDateFormat.parse(endTime).getTime(...原创 2019-11-08 09:28:21 · 252 阅读 · 0 评论 -
Java使用nashorn引擎运行运行js的代码实现
java8中采用了新一代的js执行引擎,比之前快了2~10倍,下面是一个例子import java.io.File;import java.io.FileReader;import javax.script.Invocable;import javax.script.ScriptEngine;import javax.script.ScriptEngineManager;impor...原创 2019-07-16 16:20:55 · 662 阅读 · 0 评论 -
Java AES加密 CBC模式 zeropadding填充 实现代码
下面的代码为AES加密 CBC模式,zeropadding填充,偏移量为key,输出格式为Base64的Java实现import org.apache.commons.codec.binary.Base64;import javax.crypto.Cipher;import javax.crypto.spec.IvParameterSpec;import javax.crypt...原创 2019-07-15 14:26:45 · 7543 阅读 · 3 评论 -
《剑指Offer》面试题21:调整数组顺序使奇数在偶数前面
第一种方法:最简单的方法,遍历数组,遇到偶数,记下来,把后面的数都往前挪一位,然后把这个偶数放到数组的最后一位。但在这个过程中如果偶数紧挨着,挪完后当前那位还是偶数,如果不判段一下,就会错过这一位。当我们挪完后判断了当前位,需要减少遍历数组的次数,因为随着数组的遍历,数组最后面都是偶数,如果不减少次,遍历到最后全是偶数,会形成死循环。代码如下:public static void odd...原创 2019-03-08 16:48:04 · 89 阅读 · 0 评论 -
lamda表达式的使用
lamda表达式可以简化匿名内部类繁杂的代码匿名内部类的写法:interface IMessage { public void print();}public class lamda { public static void main(String[] args) { fun(new IMessage() { @Override public void ...原创 2019-02-21 17:32:48 · 463 阅读 · 0 评论 -
Java 集合总结
Collection单列集合 List列表(存取有序,有索引,可以重复,允许多个空元素) ArrayList:底层数组实现的,线程不安全,查找和修改快,增加和删除慢 LinkedList:底层链表实现的,线程不安全,增加和删除快,查找和修改慢 Vector:底层是数组实现的,线程安全的,增删改查都慢 注:如果查找修改多,用ArrayList,如果增加删除多,用LinkedL...原创 2018-12-16 19:35:02 · 119 阅读 · 0 评论