转载请以链接形式标明出处: 本文出自:103style的博客 Java并发编程的艺术笔记 并发编程的挑战 Java并发机制的底层实现原理 Java内存模型 Java并发编程基础 Java中的锁的使用和实现介绍...Java并发容器和框架 Java中的12个原子操作类介绍 Java中的并发工具类 Java中的线程池 Executor框架 ---- 简介 在JDK的并发包里提供了几个非常有用的并发工具类。...提供并发流程控制的工具类 CountDownLatch CyclicBarrier Semaphore 提供了在线程间交换数据的工具类 Exchanger 本文会配合一些应用场景来介绍如何使用这些工具类...线程间交换数据的Exchanger Exchanger(交换者)是一个用于线程间协作的工具类。 Exchanger用于进行线程间的数据交换。...小结 本文配合一些应用场景介绍JDK中提供的几个并发工具类,大家记住这个工具类的用途,一旦有对应的业务场景,不妨试试这些工具类。
Java中JDBC的封装 Java使用JDBC连接数据库可以概括分为六步: 1、注册驱动 2、获取连接对象 3、获取数据库操作对象 4、执行SQL语句 5、处理查询结果集 6、释放资源 1 public..."root"; 10 //密码 11 private static String password = "123456"; 12 //静态代码块 注册驱动 13 //类加载的时候...public void close(ResultSet reuslt){ 68 // 调用释放资源的方法 69 close(); 70 // 释放查询结果集对象
前言 天天都在用Java集合,也偶尔用到了Collections类中的一些方法,但是一直没有对这个工具类进行一个较为系统的学习,今天放假比较无聊,闲来看一看.并且记录一下API. 5500多行的代码,,...这个工具类是真的大,希望可以发现一些好用且常用的工具方法....大部分API会在API记录部分写一下,少部分需要额外补充说明的,在某些特殊说明中单独记录....> list, Random rnd) 随机打乱list中的元素顺序 7 public static void swap(List c, T... elements) 将给定的元素全部添加到给定集合中 集合本身可以添加全部,但是必须要求也是集合参数,比如你有两个独立的元素,就可以直接使用这个类而不是用两个元素构造一个集合
下面是一些根据常用java类进行组装的对文件进行操作的类,平时,我更喜欢使用Jodd.io中提供的一些对文件的操作类,里面的方法写的简单易懂。...myFilePath = new java.io.File(filePath); myFilePath.delete(); // 删除空文件夹 } catch (Exception e) {...return returnValue; } /** * 添加内容到指定文件 如果该文件不存在,则创建并添加内容 如果该文件已存在,则添加内容到已有内容最后 * flag为true,则向现有文件中添加内容...; osw.close(); } /** * 添加内容到指定文件 如果该文件不存在,则创建并添加内容 如果该文件已存在,则添加内容到已有内容最后 * flag为true,则向现有文件中添加内容...osw.close(); } /** * 添加内容到指定文件 如果该文件不存在,则创建并添加内容 如果该文件已存在,则添加内容到已有内容最后 * flag为true,则向现有文件中添加内容
原本Spring MVC项目添加跨域: 在web.xml文件中配置: cors /* 工具类代码...: package com.wazn.learn.util; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain...==========="); } } 这种方法还适用于Servlet中,特别注意的是一定要在Filter动作之前加上这句话,也就是在代码的最前面加上这个话。
概述 java.util.Math类是数学相关的工具类,里面提供了大量的静态方法,完成与数学运算相关的操作。...System.out.println(Math.floor(2.5 + 0.5)); //与Math.round(2.5)结果一致 } } 圆周率Math.PI 在Math类的源码中
import com.baomidou.mybatisplus.core.toolkit.support.SFunction; import lombok.SneakyThrows; import java.lang.invoke.SerializedLambda...; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.List; import java.util.Map...; import java.util.function.BiConsumer; import java.util.function.Function; import java.util.stream.Collectors...; /** * 树形工具类-函数版 * * @author sunziwen */ public class TreeUtil { /** * Map版本(速度比递归要快很多
目录 1 代码 1 代码 public class ConvertUtils { public static List<DateSourceType>...
加密工具类 import org.apache.commons.codec.digest.DigestUtils; import java.util.Random; /** * @author MashiroT
ackage org.fh.util; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.InputStreamReader...; import java.net.HttpURLConnection; import java.net.URL; import java.util.List; import java.util.Map...; /** * 说明:http 工具类 * 作者:FH Admin * from:fhadmin.cn */ public class HttpUtil { public static
package org.fh.util; import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.TimeUnit...org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; /** * 说明:Redis工具类...item, -by); } // ============================set============================= /** * 根据key获取Set中的所有值...key); } catch (Exception e) { e.printStackTrace(); return null; } } /** * 根据value从一个set中查询...size(key); } catch (Exception e) { e.printStackTrace(); return 0; } } /** * 通过索引 获取list中的值
这里我总结了java中日期的处理方法 /** * 按照yyyy-MM-dd HH:mm:ss格式化日期 * 可根据需要定制 * @param date * @return *
Optional.ofNullable(entityClass).map(TableInfoHelper::getTableInfo).orElseThrow(() -> ExceptionUtils.mpe("未找到该实体类对应...-- 随机取一条 --> SELECT * FROM ${table_name} AS
常用Arrays工具类介绍 java.util.Arrays类即为操作数组的工具类,包含了用来操作数组(比如排序和搜索)的各种方法。...static int binarySearch(int[] a, int key) 、static int binarySearch(Object[] a, Object key) 要求数组有序,在数组中查找
在J.U.C包中,提供了几个非常有用的并发工具类,通过使用这些工具类,可以有效提高并发编程中,并发流程的控制,以提升效率和代码质量,如下: CountDownLatch CyclicBarrier Semaphore...在代码实现中,我们也可以使用join()方法,让当前执行线程等待join线程执行结束。join的实现原理是不断的去判断join的线程是否存活,如果存活,则让当前线程一直等待。...应用场景 比如有上完个数据文件,我们可以开启几十个线程去分析读取文件,将文件读取到内存中之后,还需要将分析过后的数据存储的数据库中,但是数据库允许的最大连接数是10个,所以,必须要控制只有10个线程可以获取到数据库连接...public void acquire(): 从此信号量中请求一个许可证 public void release(): 从此信号量中释放一个许可证 public boolean tryAcquire(...): 试图从信号量中请求一个许可证,无可用的许可证时,直接返回不阻塞;
import java.sql.Timestamp; import java.text.ParseException; import java.text.ParsePosition; import java.text.SimpleDateFormat...; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; public class...); int y2 = d2.get(java.util.Calendar.YEAR); if (d1.get(java.util.Calendar.YEAR) !...= y2) { d1 = (java.util.Calendar) d1.clone(); do { days += d1.getActualMaximum(java.util.Calendar.DAY_OF_YEAR...); d1.add(java.util.Calendar.YEAR, 1); } while (d1.get(java.util.Calendar.YEAR) !
import org.joda.time.format.DateTimeFormat; import org.joda.time.format.DateTimeFormatter; import java.text.ParseException...; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * 日期处理 *...Calendar.MINUTE, 59); calendar.set(Calendar.SECOND, 59); return calendar.getTime(); } } 类型的日期工具类还有很多...,比如Hutool的日期工具类也很不错 Hutool日期工具文档 maven依赖 cn.hutool <artifactId
代码示例 package com.simple.util.file; import java.io.File; import java.net.URL; import java.util.ArrayList...; import java.util.List; /** * @program: simple_tools * @description: 文件工具类 * @author: ChenWenLong...} /** * 功能描述: * 〈获取文件的绝对路径〉 * * @params : [fileName] * @return : java.net.URL...file.getAbsolutePath().substring(baseDir.getAbsolutePath().length()+1); } /** * 功能描述: * 〈查询某个目录下的所有文件...〉 * * @params : [dir] * @return : java.util.List * @author : cwl
; import java.net.URLDecoder; import java.net.URLEncoder; /** * @program: simple_tools * @description...: Cookie 工具类 * @author: ChenWenLong * @create: 2019-12-31 11:58 **/ public class CookieUtils {...* 功能描述: * 〈得到Cookie的值, 不编码〉 * * @params : [request, cookieName] * @return : java.lang.String...功能描述: * 〈得到Cookie的值〉 * * @params : [request, cookieName, isDecoder] * @return : java.lang.String...功能描述: * 〈得到Cookie的值〉 * * @params : [request, cookieName, encodeString] * @return : java.lang.String
--汉语拼音工具--> com.belerweb ...net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination; import org.apache.commons.lang3.StringUtils; /** * @program: simple_tools * @description: 拼音工具类
领取专属 10元无门槛券
手把手带您无忧上云