ReentrantLock锁的使用场景(转)
摘要:原文:https://my.oschina.net/u/1540325/blog/688160 摘要 从使用场景的角度出发来介绍对ReentrantLock的使用,相对来说容易理解一些。 场景1:如果发现该操作已经在执行中则不再执行(有状态执行) a、用在定时任务时,如果任务执行时间可能超过下次计划
阅读全文
posted @
2020-09-22 16:15
lshan
阅读(753)
推荐(0) 编辑
深入理解CAS算法原理(转)
摘要:转:https://blog.csdn.net/zl1zl2zl3/article/details/83714348 1、什么是CAS? CAS:Compare and Swap,即比较再交换。 jdk5增加了并发包java.util.concurrent.*,其下面的类使用CAS算法实现了区别于s
阅读全文
posted @
2020-09-22 15:17
lshan
阅读(396)
推荐(0) 编辑
java 锁小结
摘要:java中锁的介绍: https://www.cnblogs.com/jyroy/p/11365935.html 谈谈 synchronized 和 ReentrantLock 的区别(原文:https://www.jianshu.com/p/afc6ea1d15a6) ① 两者都是可重入锁 “可重
阅读全文
posted @
2020-09-22 14:44
lshan
阅读(79)
推荐(0) 编辑
Java 文件下载
摘要:1.以流的方式下载. -- public HttpServletResponse download(String path, HttpServletResponse response) { try { // path是指欲下载的文件的路径。 File file = new File(path); /
阅读全文
posted @
2020-07-22 19:12
lshan
阅读(174)
推荐(0) 编辑
Java 特殊字符正则替换
摘要:@Test public void testRegex() throws Exception { String str="das:! $%#*(*("; String regEx = "[`~!@#$%^&*()+=|{}':;'\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”
阅读全文
posted @
2020-07-21 12:06
lshan
阅读(1963)
推荐(0) 编辑
java 工作日判断
摘要:package com.icil.collect.common; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Calenda
阅读全文
posted @
2020-05-22 15:57
lshan
阅读(2844)
推荐(0) 编辑
Map的merge方法(java8)
摘要:参考原文 :https://www.jianshu.com/p/292f4e346b5d 背景介绍 merge()可以解释如下:它将新的值赋值给到key中(如果不存在)或更新具有给定值的现有key(UPSERT)。让我们从最基本的例子开始:计算唯一的单词出现次数。在java8之前的时候,代码非常混乱
阅读全文
posted @
2020-05-22 14:29
lshan
阅读(2908)
推荐(0) 编辑
Java8 Stream Collectors收集器 Collectors.toMap Collectors.partitioningBy Collectors.groupingBy
摘要:cankao : https://www.jianshu.com/p/6ee7e4cd5314 Collectors.toMap Collectors.partitioningBy Collectors.groupingBy 1.Collectors.toMap: Student studentA
阅读全文
posted @
2020-05-12 22:18
lshan
阅读(694)
推荐(0) 编辑
EhCacheUtils 缓存 ehche (将文件临时保存在磁盘)
摘要:参考:https://www.jianshu.com/p/154c82073b07 依赖: <dependency> <groupId>net.sf.ehcache</groupId> <artifactId>ehcache</artifactId> <version>2.10.2</version
阅读全文
posted @
2020-05-12 19:15
lshan
阅读(1427)
推荐(0) 编辑
java数据处理框架-Joinery 使用(类似于python中的pandas)
摘要:cankao :https://blog.csdn.net/weixin_44112790/article/details/95387314 git doc: 然后是DataFrame的手册,可以在里面查找更多的方法,其实都和pandas的差不多。http://cardillo.github.io/
阅读全文
posted @
2020-05-09 11:01
lshan
阅读(8009)
推荐(1) 编辑
java1.8 新特性(关于 match,find reduce )操作
摘要:原文:https://www.cnblogs.com/920913cheng/p/10240219.html 1. match处理Integer集合 package lambda.stream; /** * @author 作者:cb * @version 创建时间:2019年1月4日 下午2:35
阅读全文
posted @
2020-05-06 17:18
lshan
阅读(211)
推荐(0) 编辑
通过HttpRequest获取请求用户真实IP地址
摘要:查看原文:http://www.ibloger.net/article/144.html https://www.cnblogs.com/zoujx/p/9221709.html 获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通
阅读全文
posted @
2020-04-27 14:41
lshan
阅读(21427)
推荐(0) 编辑
java 枚举
摘要:1.无参数 public enum TYPE { INSERT, UPDATE, DELETE; } 2.带参数: public enum Topics { OK(0, "成功"), xx(100, "错误A"), yyy(200, "错误B"); Topics(int number, String
阅读全文
posted @
2020-04-08 17:11
lshan
阅读(109)
推荐(0) 编辑
java RMI 远程调用
摘要:具体入门请参考:https://www.jianshu.com/p/de85fad05dcb RMI简介 Java RMI,即 远程方法调用(Remote Method Invocation),一种用于实现远程过程调用(RPC)(Remote procedure call)的Java API,
阅读全文
posted @
2020-04-01 18:04
lshan
阅读(141)
推荐(0) 编辑
Java8函数式接口的使用
摘要:自定义函数接口 @FunctionalInterface //可以检测接口是否是一个函数式接口,不满足条件时编译失败 public interface StartKafKaMongoTran<In1,In2,Out> { Out start(In1 ags1,In2 ags2); // defaul
阅读全文
posted @
2020-03-19 21:32
lshan
阅读(1340)
推荐(0) 编辑
Java8 时间差计算
摘要:方式一: /** * DateTimeFormatter java 8 线程安全 * @throws Exception */ @Test public void testTimeDiff() throws Exception { // DateTimeFormatter formatter = D
阅读全文
posted @
2020-03-14 17:56
lshan
阅读(1487)
推荐(0) 编辑
java 实现2叉树
摘要:参考:https://blog.csdn.net/skylibiao/article/details/81195219
阅读全文
posted @
2020-02-25 21:23
lshan
阅读(153)
推荐(0) 编辑
java 队列的实现
摘要:List<T> list = new LinkedList<>(); Queue<String> queue = new LinkedList<String>(); queue.offer("a"); queue.offer("b"); offer,add 区别: 一些队列有大小限制,因此如果想在一
阅读全文
posted @
2020-02-25 20:54
lshan
阅读(998)
推荐(0) 编辑
java实现栈的实现
摘要:转载原文:https://blog.csdn.net/weixin_43533825/article/details/96708590 栈:LIFO(后进先出),自己实现一个栈,要求这个栈具有push()、pop()(返回栈顶元素并出栈)、peek() (返回栈顶元素不出栈)、isEmpty()这些
阅读全文
posted @
2020-02-25 19:29
lshan
阅读(389)
推荐(0) 编辑
Calendar java 日历(常用小结)
摘要:public static String before30Day(String time) { DateFormat dateFromat = new SimpleDateFormat(TIME_STAMP_STANDARD); try { Date parse = dateFromat.parse
阅读全文
posted @
2020-01-02 11:55
lshan
阅读(673)
推荐(0) 编辑