
Java
潭影空人心
千山鸟飞绝,万径人踪灭。
孤舟蓑笠翁,独钓寒江雪。
展开
-
判断一个类中的属性是否可写
通过 java.beans 包下的相关类判断一个给定属性在这个类中是否可写原创 2024-05-13 18:18:56 · 225 阅读 · 0 评论 -
根据给定参数获取对应的构造方法反射创建对象
根据给定的参数,获取给定类型对应的构造方法,反射创建对象原创 2022-12-11 15:04:11 · 270 阅读 · 0 评论 -
Java8中解决DateFormat线程不安全问题
Java8中解决DateFormat日期格式化线程不安全问题原创 2022-10-24 22:18:05 · 1035 阅读 · 0 评论 -
浅析Java正则中的Pattern和Matcher两个类
调试Java正则匹配代码时,发现一个现象,若正则规则字符串和匹配字符串相同时,调用matches()方法后,再调用find()方法,那么只有matches()方法匹配到了,如果单独调用find()方法,则find()方法也能匹配到了,示例代码如下: public static void main(String[] args) { Pattern p = Pattern.compile("aa"); Matcher a = p.matcher("aa");原创 2020-11-06 20:27:38 · 738 阅读 · 3 评论 -
利用工具类StringTokenizer分割字符串
/** * * @param str 待拆分的字符串 * @param delimiters 分隔符 * @param trimTokens 是否去除两端空格 * @param ignoreEmptyTokens 是否忽略空格 * @return */ public static String[] tokenizeToStringArray( String str, String delimiters, boolean trimTokens, boo...原创 2020-11-05 19:19:14 · 269 阅读 · 0 评论 -
Java移位运算
1.java中无符号右移>>>,long型每64位一个循环,int型每 public static void main(String[] args) { //long型无符号右移64位一个循环 long a = 33; for (int i = 0; i < 65; i++) { System.out.println(i + " " + (a >>> i)); } //int型无符号右移32位一个循环 i原创 2020-07-21 22:35:01 · 336 阅读 · 0 评论 -
JDK8 遍历数组
在JDK8中,由于引入了Stream,所以可以很方便的遍历数组1.采用lambda表达式int[] add2 = new int[] {1,2,3,4};Arrays.stream(add2).forEach(x -> System.out.println(x));2.采用双冒号写法int[] add2 = new int[] {1,2,3,4};Arrays.stream(add2).forEach(System.out::println);此时,将方法作为参数,传递到s原创 2020-07-19 20:20:40 · 2606 阅读 · 0 评论 -
Java获取设备的Mac地址
1.获取本机Mac地址方法1通过java.net.NetworkInterface类获取 /** * 获取本机Mac地址 * @return * @throws Exception */ public static String getMacByIP() throws Exception { return getMacByIP(InetAddress.ge...原创 2020-03-28 20:44:43 · 5705 阅读 · 0 评论 -
获取一段时间内每周固定星期对应的日期
应用场景如下:购买某种套餐服务,每周固定服务几天,给定开始服务时间和总共服务次数,获取具体服务的每一天的日期。 /** * 获取一周内的某几天 * @param dateStr 起始日期 * @param containList 一周内的某几天(日一二三四五六 ---> 1234567) * @param total 要获取的总天数 * @return ...原创 2020-03-23 19:18:56 · 597 阅读 · 0 评论 -
Java时区问题
一、获取Java中所有可用的时区信息String[] availableIDs = TimeZone.getAvailableIDs();for (String string : availableIDs) { System.out.println(string);}二、时区转换/*Asia/Bishkek*/TimeZone timeZone = TimeZone.get...原创 2019-08-21 15:09:00 · 476 阅读 · 0 评论 -
等分List集合
public static void main(String[] args) { List<String> list = Arrays.asList("a","b","c","d","e","f","g"); for(int i = 0; i < 4; i ++){ int sub = list.size()%4 == 0 ? list.siz...原创 2019-08-06 16:37:18 · 184 阅读 · 0 评论 -
UDP编程示例
客户端:public class SocketSend { public static void main(String[] args) throws Exception { DatagramSocket ds = null; try { ds = new DatagramSocket(); while(true){ String data = "UDP测试"...原创 2019-07-30 17:35:28 · 703 阅读 · 0 评论 -
利用Callable加多线程提高程序执行效率
在实际项目中,经常需要将查询获得的数据封装为合适的数据结构返回给前端呈现,如果一个接口中,存在多个查询,此时如果串行执行,消耗的时间为多个查询耗时的总和,效率不高,示例代码如下: public static void main(String[] args) throws Exception { /** * 耗时5005 ms */ long start = Syst...原创 2019-07-03 17:34:10 · 951 阅读 · 0 评论 -
mybatis调用Oracle存储过程返回结果集
在开发中,有时需要关联几张表来进行一些复杂的计算,此时可采用建立一张临时表,将每次的数据计算后先存入临时表,然后通过Oracle的游标返回。在mybatis中的调用如下://调用语法格式,需要构造一个resultMap,用来接收返回的结果集<select id="queryManagerSalaryDet" resultType="java.util.Map" statement...原创 2018-07-30 14:46:47 · 2951 阅读 · 0 评论 -
自增游戏
一朋友在朋友圈晒了这么一道题:public static void main(String[] args){ int j = 0; for(int i = 0; i < 100; i ++){ j = j++; } System.out.println(j);}输出是多少?或者再看看这个:int j = 0;System...原创 2018-08-22 22:49:07 · 136 阅读 · 0 评论 -
通过easyui的combobox配合后台动态实现季度获取
在开发中,有这么个需求,根据项目上线时间,按季度统计费用,由于项目上线时间变化太大,后来直接配置在配置文件中,待点击统计菜单,打开统计页面时,向后台请求季度数据;读取配置文件,获得上线时间,调用工具类获得季度数据,返回用来填充easyui的combobox。代码注释比较详细,直接贴代码,作以记录。Java端工具类/** * 动态获取季度 * @author iCheetor *...原创 2018-10-31 23:39:10 · 662 阅读 · 0 评论 -
Java 获取进程号
Java获取进程号,代码如下: package com.zlk.test3;import java.lang.management.ManagementFactory;import java.lang.management.RuntimeMXBean;public class Test3 { public static int getPid() { int PID = -1...原创 2018-11-09 14:16:03 · 3210 阅读 · 0 评论 -
修改Maven settings文件
1.修改localRepository,变更为自定义目录<localRepository>D:\maven\repository</localRepository>2.mirrors标签下,添加镜像,采用阿里的镜像 <mirror> <id>alimaven</id> <mirrorOf>cent...原创 2019-01-17 17:52:01 · 1827 阅读 · 0 评论 -
Java 实现RSA加解密Demo
public class TestRSA { public static void main(String[] args) throws Exception { /** * 生成公私钥文件 */ KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA"); kpg.initialize(1024); Key...原创 2019-01-07 20:41:07 · 911 阅读 · 0 评论 -
浅谈java getResource 获取资源文件
在项目中,常常需要加载一些自定义的资源文件,比如RSA加密时生成的公私钥文件,那么就免不了要和getResource()这个方法打交道了。示例代码如下: /** * RSAKeyGen.class.getResourceAsStream("/com/icheetor/base/tool/pri.key") * maven项目,不能直接通过这种方法获取包路径下的文...原创 2019-02-22 15:18:59 · 1434 阅读 · 0 评论 -
Java正则捕获组
在项目中,当采用Jsoup从其它网页抓取来源码,常常需要选择性解析其中的内容,这时,采用正则捕获,不失为一种简便的方式。Pattern p = Pattern.compile("\\[(\\d{4})年(\\d{2})月(\\d{2})日\\]");String str = "[2019年01月08日]";Matcher matcher = p.matcher(str);if(matc...原创 2019-02-19 11:47:51 · 555 阅读 · 0 评论 -
Java比较两个数组
public class CompareArray { public static void main(String[] args) { String[] a = {"a","b","c"}; String[] b = {"a","b","c","d"}; System.out.println(compareArray(a, b)); Syst原创 2019-03-12 21:24:32 · 4947 阅读 · 0 评论 -
使用JsonProperty注解解决Json解析首字母为大写字段匹配不上的问题
采用@RequestBody注解接收application/json格式的数据,然后数据封装在一个Modle中,假如Model中存在首字母大写的字段,此时会报错:2019-04-30 16:58:29.770 [http-bio-8080-exec-4] DEBUG o.s.web.servlet.mvc.method.annotation.RequestResponseBodyMeth...原创 2019-04-30 17:30:57 · 3807 阅读 · 0 评论 -
使用java动态获取一年中的年月
private static List<String> getInitMonthMapWithZero(){ List<String> list = new ArrayList<String>(); Calendar c = Calendar.getInstance(); for(int i = 0; i < 12; i ++){ in...原创 2018-07-30 14:16:59 · 6961 阅读 · 0 评论