Java
LLLboai
Unless it kills you,it makes you stronger...
展开
-
正则匹配文本中的括号
正则匹配文本中的括号记录一下如何用正则匹配文本中的() [] {}()的匹配()进行匹配时都前后都需要进行转义 String demo2 = "abcd394de (fsd) cost : 2312";// 示例文本 Pattern pattern2 = Pattern.compile("[a-z0-9]+\\s+" + "(?<thread>\\([a-z]{1,4}\\)原创 2020-09-13 12:35:50 · 1062 阅读 · 0 评论 -
Java文件操作--inputStream转为file
在玩爬虫的过程中,其中有一部分是下载视频,利用原生的HttpURLConnection获得获得inputStream之后,将输入流写入到本地文件中,形成mp4格式的视频文件,发现最初使用的方法特别慢,想找寻更好的方法,提升效率。1.原始方法//pathName就是文件保存的路径BufferedInputStream bi = new BufferedInputStream(conn.g...原创 2018-11-13 15:21:46 · 34419 阅读 · 1 评论 -
spring中的事务
出现问题的背景:γ项目中在风险部分会有系统消息和邮件通知用户,这里涉及到事务,具体的流程为update数据之后,又要利用多线程根据assetsId获取当前资产的风险等级,并将相应的消息和邮件发送给用户。产生原因:外层大方法使用事务,在方法中又新起多线程进行消息和邮件等操作,这里多线程不在包括在事务之中,所以读取到的数据是update操作之前的数据。事务中开启多线程,新的线程的事务不受外...原创 2019-01-29 23:09:07 · 152 阅读 · 0 评论 -
IDEA 单步调试多线程
不得不说,IDEA是真的强大。告别打日志的方法吧,直接使用IDEA进行多线程的调试。多线程单步调试步骤:1.首先在你需要单步调试的地方打上断点,然后鼠标右键已经打好的断点,可以跳出断点的设置。2.断点默认Suspend的选项是All,这里改成Thread模式,然后点击more更多设置 勾选上Log选项的两项,这样在跳到断点时IDEA在左下角会给我们一点小提示,提示swi...原创 2019-02-16 16:14:30 · 2294 阅读 · 0 评论 -
三个字段排序
这样的一个需求,资产数量升序排列,资产数量相同的按通过率降序排序,通过率也相同的按名称的首字母排序。如果在数据库中其实很好操作,因为特殊原因,目前需要在业务逻辑中进行处理。这里也顺便记录一下连续比较的用法。待排序的数据集是List<Map<String,Object>>类型的list链表ownerAssetsData。System.out.println("=...原创 2019-02-23 23:13:38 · 403 阅读 · 0 评论 -
Java MD5加密
public class MD5Util { public static String getMD5(String str) { MessageDigest md = null; try { md = MessageDigest.getInstance("MD5"); } catch (NoSuchAlgorithm...原创 2019-02-19 18:35:19 · 102 阅读 · 0 评论 -
Java Map中数据按照key进行排序
方法一: static String mapSortedByKey(Map<String, String> param) { StringBuilder stringBuilder = new StringBuilder(); ArrayList<String> keyList = new ArrayList<>(param...原创 2019-02-19 19:09:29 · 22593 阅读 · 0 评论 -
刺激惊艳的Map转Object
项目中遇到过这样一个问题,sql查询出来的结果是一个Map<String,Object>,需要将map中对应的值放置到对应的实体类中,map中的key与实体类中的属性名一样。在属性值很少的时候,我们可以简单的取出值在set进实体类中,但是项目中一个类属性值可能有几十个,一个一个set的话会很麻烦,于是简答写一个转换的工具。1.Model类package com.boai.sp...原创 2019-03-30 16:44:32 · 2079 阅读 · 1 评论