java
文章平均质量分 53
明
这个作者很懒,什么都没留下…
展开
-
java 线程池实现
import java.util.*;import java.util.concurrent.*;public class TestThreadPoolService { //可用的cpu数量 private static final int CPU_COUNT = Runtime.getRuntime().availableProcessors(); //阻塞队列大小 private static final BlockingQueue<Runnable&..原创 2021-10-31 17:25:01 · 116 阅读 · 0 评论 -
JDK8时间日期相关操作
package test;import org.junit.Test;import java.time.*;import java.time.format.DateTimeFormatter;import java.time.temporal.TemporalAdjuster;import java.time.temporal.TemporalAdjusters;public class DataTimeUtil { /** * 日期操作 */ ...原创 2021-07-22 01:14:51 · 483 阅读 · 2 评论 -
Java ArrayList 自动扩容及trimToSize()方法实现
前几天看了Java ArrayList,没有明白trimToSize()这个方法是什么意思,所以看了一下源码并且debug一下自己的一个例子,明白了其中的含义。贴在这里。 ArrayList al = new ArrayList(10); for(int i=0;i<10;i++){ al.add(i); } al.add(1); al.trimToSize();例子很简单,就是new转载 2021-07-14 12:16:32 · 82 阅读 · 0 评论 -
缓存更新的套路
看到好些人在写更新缓存数据代码时,先删除缓存,然后再更新数据库,而后续的操作会把数据再装载的缓存中。然而,这个是逻辑是错误的。试想,两个并发操作,一个是更新操作,另一个是查询操作,更新操作删除缓存后,查询操作没有命中缓存,先把老数据读出来后放到缓存中,然后更新操作更新了数据库。于是,在缓存中的数据还是老的数据,导致缓存中的数据是脏的,而且还一直这样脏下去了。我不知道为什么这么多人用的都是这个逻辑,当我在微博上发了这个贴以后,我发现好些人给了好多非常复杂和诡异的方案,所以,我想写这篇文章说一下几个缓存更新转载 2021-07-06 12:00:15 · 76 阅读 · 0 评论 -
xstream javabean设置属性默认值的问题(默认值被覆盖)
在xstream反序列化使用过程中发现,如果xml无该属性,则改属性会被自动复制为null。Xml代码 <text name="fkzhzh" title="付款账户账号" validateRule="required,acctno" /> Java代码 public abstract class SBase { @XStream...转载 2019-02-19 16:04:24 · 2443 阅读 · 0 评论 -
Java 中实现方法重试的一种机制
有这样一个需求,当调用某个方法抛出异常,比如通过 HttpClient 调用远程接口时由于网络原因报 TimeOut 异常;或者所请求的接口返回类似于“处理中”这样的信息,需要重复去查结果时,我们希望当前方法能够在这种特定的情况下,重复执行,如果达到了我们的期望,则不重复执行。而且,我们希望能够控制重试次数,不希望无限期执行下去。Java 中有各种定时任务的实现,如 Spring 的 Schedu...转载 2018-04-14 13:26:01 · 4351 阅读 · 1 评论 -
Eclipse mvn 项目报错:Circular placeholder reference 'jdbc.driverClassName' in property definitions
在maven 多个module 开发时,父pom中定义字段,子pom或者properties引用,出现Circular placeholder reference 循环引用的问题。解决方法:在项目上右键选properties,选择Deployment Assembly,删除src/main/resources选项。原因:参考http://virgoooos.iteye.com/blog/35173...转载 2018-04-14 13:19:43 · 6675 阅读 · 1 评论 -
java 中超大数的运算(+-*/)
import java.math.BigDecimal;public class BigCount { public static void main(String[] args) { TestBigDecimal(); } static void TestBigDecimal(){ BigDecimal a=new BigDecimal(new String("12345324...转载 2018-03-22 11:20:57 · 378 阅读 · 0 评论 -
java 二叉树最大深度 和 (前序、中序、后序)三种遍历实现
public class TreeNodeTest { TreeNodeTest left; TreeNodeTest right; int val; TreeNodeTest(int v){ this.val = v; } public static void main(String[] args) { TreeNodeTest root = new TreeNode...转载 2018-03-22 10:13:58 · 233 阅读 · 0 评论 -
几种常用的设计模式介绍
转自:http://blog.csdn.net/xsl1990/article/details/16359289几种常用的设计模式介绍1. 设计模式的起源最早提出“设计模式”概念的是建筑设计大师亚力山大Alexander。在1970年他的《建筑的永恒之道》里描述了投计模式的发现,因为它已经存在了千百年之久,而现代才被通过大量的研究而被发现。在《建筑的永恒之道》里这样描述:模式是一条由三个部分...转载 2018-03-22 16:38:34 · 190 阅读 · 0 评论 -
java返回结果集封装
1、返回消息统一定义文件CodeMsg.javapublic class CodeMsg { private int retCode; private String message; // 按照模块定义CodeMsg // 通用异常 public static CodeMsg SUCCESS = new CodeMsg(0,"success"); public static Cod转载 2018-01-11 09:31:07 · 13271 阅读 · 6 评论 -
工具类:解析json格式java bean,List<bean>
需要jar:fastjson-1.1.34.jar1、测试bean类:User.javapublic class User{ private int id; private String name; public User() { } public User(int id,String name) { this.id = id; this.name = name; }原创 2018-01-11 11:19:49 · 669 阅读 · 0 评论 -
springMVC配置定时任务,并调用service
环境说明:使用spring4.0版本1、定时任务配置1.1 spring配置文件配置增加:xmlns:task="http://www.springframework.org/schema/taskhttp://www.springframework.org/schema/task http://www.springframework.org/schema/转载 2017-12-14 17:06:44 · 3423 阅读 · 0 评论 -
手机端网页-微信授权登录
近期有一个M站微信登录需求,了解了下微信网页授权登录功能:参考文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp14211408421、创建j2ee项目:weixinAuth2、增加引入jar文件。注意:jar包的版本不一样,可能会出现不同错误。commons-lang-2.6.jar、commons-col原创 2017-12-18 17:32:48 · 32235 阅读 · 1 评论 -
【java】调用微信模板消息推送,线程池优化推送速度。
项目中用到微信小程序模板推送,原来流程如下:1、获取当前公众号关注用户列表;2、根据用户列表获取用户信息;3、循环用户列表进行发送;4、等待发送返回结果。将用户信息(昵称)、发送状态等保存到发送记录表;存在问题:1、每次推送都会到微信获取用户列表,并获取每个用户的昵称。接口调用频率高,发送时间较长。推送:5000个用户,大约需要10分钟左右;优化方案:(开启开发者功能)1、用户关注公众号时,获取用...原创 2017-09-08 11:11:25 · 6658 阅读 · 3 评论 -
【Spring】Spring MVC原理及配置详解
文章来源:转载http://blog.csdn.net/jianyuerensheng/article/details/51258942【spring】Spring MVC原理及配置1.Spring MVC概述:Spring MVC是Spring提供的一个强大而灵活的web框架。借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测转载 2017-06-13 21:08:15 · 209 阅读 · 0 评论