java
元小帅
忘记写过多少行代码
展开
-
Java使用线程池批量顺序执行任务
使用线程池批量顺序执行任务 AtomicInteger、CountDownLatch、ThreadPoolExecutor组合使用package tool.thread;import com.alibaba.fastjson.JSON;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.util.List;im原创 2017-09-27 21:35:52 · 8574 阅读 · 0 评论 -
正则表达式 特殊构造、非捕获组、lookahead 与 lookbehind
组和捕获捕获组可以通过从左到右计算其开括号来编号。例如,在表达式 ((A)(B(C))) 中,存在四个这样的组:1 ((A)(B(C)))2 (A)3 (B(C))4 (C) 每一个“()”是一个捕获组,组零($0)始终代表整个表达式Pattern pattern = Pattern.compile(reg);Matcher ma...原创 2018-07-14 01:32:32 · 799 阅读 · 0 评论 -
Java Lock与Condition的理解 ReentrantLock锁的简单使用
LockReentrantLock 是我们常用的锁,日常我们都只使用了其中一部分功能如下: ReentrantLock lock = new ReentrantLock(); lock.lock(); try { .... } finally { lock.unlock();...原创 2018-06-12 21:53:28 · 1380 阅读 · 0 评论 -
java 使用 graphics 把头像图片切成圆图 并在头像后面加一个白圆圈
使用 graphics 把头像图片切成圆图 并在头像后面加一个白圆圈生成头像效果图示例代码import javax.imageio.ImageIO;import java.awt.*;import java.awt.geom.Ellipse2D;import java.awt.image.BufferedImage;import java.io.FileOutputSt...原创 2018-05-29 21:55:15 · 8493 阅读 · 3 评论 -
java 多线程管理线程任务,根据优先级执行 任务超时管理 线程同步执行管理
需求需要根据优先级执行任务,有任务不是特别重要,可以稍后执行;需要对正在执行的线程做超时监控;有的API依赖任务返回结果,线程池执行的时候任务也支持同步任务;简单测试创建一个使用支持优先级队列(new PriorityBlockingQueue<>() )的线程,然后每个任务实现 java.lang.Comparable 接口 new ThreadPoolExecutor...原创 2018-06-11 17:36:46 · 2160 阅读 · 3 评论 -
apache http client 与 okhttp 使用
apache http升级经常做不兼容修改,这个使用起来有点蛋疼okhttp升级到3.0以后与2.X版本也是做了不兼容修改,有点蛋疼apache httpClient组件由于用的比较早,自己有比较好的封装使用起来也很简单; apache httpClient 对Cooke已经有很好的处理,访问同一个网站的URL,可以进行很好的Cookie传递;apache对返回Response流也进行了很好的预处...原创 2018-05-18 20:46:39 · 9696 阅读 · 0 评论 -
数据库性能有问题 怎么解决
数据库性能有问题 数据库统计类SQL慢,怎么解决最近由于数据库性能问题,统计了一下慢查询,发现了一些问题,总结一下1、由于业务的频繁修改有些表未创建索引 最容易修复的,根据SQL检查慢查询的表,是否创建索引,重新创建索引即可2、部分SQL查询方式有问题 这个部分相对麻烦一点,有可能需要修改代码调整实现方式 3、业务逻辑实现问题,未命中缓存频繁的查询数据库导至 有的API本身是有缓存的,...原创 2018-05-11 18:49:39 · 936 阅读 · 0 评论 -
使用zxing生成二维码一些小点 计算空白区域大小 去除空白区域方法
通常我们生成二维码需要做以下配置 Map<EncodeHintType, Object> hints = new HashMap<>(); hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);//设置容错率默认为最高 hints.put(...原创 2018-05-11 18:05:51 · 6845 阅读 · 0 评论 -
Java 使用Graphics2D图片上写字,计算宽和高 以及字体的位置
如上图,这个是一个有中文与英文的字符串。 中文与英文字符的宽高是不一样的,如果想要生成一张宽高刚的图片,这样我就需要计算每一个字符的宽度,及合适的高;java.awt.FontMetrics 这个类对文字的宽高位置有详细的介绍;计算使用字体的一段字符串的宽public static int getWordWidth(Font font, String content) { Font...原创 2018-05-11 15:41:04 · 27187 阅读 · 6 评论 -
Java 读取系统所有字体的两种方法与区别
系统所有字体系列名称的数组{ GraphicsEnvironment e = GraphicsEnvironment.getLocalGraphicsEnvironment(); String[] fontNames = e.getAvailableFontFamilyNames(); for (String fontName : fontNames) { ...原创 2018-04-23 11:25:35 · 10163 阅读 · 0 评论 -
Java使用Collections.sort进行组合分类排序
//对Map进行排序,可以先把Map转成一个Entry List,然后再排序 List<Map.Entry<String, Date>> list = new LinkedList(idMapCreateTime.entrySet()); Collections.sort(list, new Comparator<Map.Entry<String, Date>>() {原创 2017-09-27 22:00:52 · 1939 阅读 · 0 评论 -
druid-spring-boot-starter配置
spring.datasource.druid.type=com.alibaba.druid.pool.DruidDataSourcespring.datasource.druid.driver-class-name=com.mysql.jdbc.Driverspring.datasource.druid.url=jdbc:mysql://localhost:3306/spring_boot_...原创 2019-07-08 21:15:42 · 2319 阅读 · 0 评论