3 LLLboai

尚未进行身份认证

我要认证

Unless it kills you,it makes you stronger...

等级
TA的排名 16w+

Go WaitGroup

学习go的时候,接触到了WaitGroup的一点知识,感觉跟Java的countDownLatch很像,略有体会,记录一下。首先看一个简单的例子package mainimport ( "fmt" "sync")func main() { var wg sync.WaitGroup wg.Add(3) go func() { fmt.Println(1) wg...

2019-07-12 00:06:18

问题记录--25端口邮件发送失败

最近写了一个监控日志程序的小功能,其中的一个步骤就是在检查到日志有ERROR级别的错误信息时,截取错误信息并发送到指定的邮箱。最初配置mail: host: smtp.exmail.qq.com username: xxxx.com password: xxxxx properties.mail.smtp.auth: true port: 25...

2019-06-05 23:30:10

刺激惊艳的Map转Object

项目中遇到过这样一个问题,sql查询出来的结果是一个Map<String,Object>,需要将map中对应的值放置到对应的实体类中,map中的key与实体类中的属性名一样。在属性值很少的时候,我们可以简单的取出值在set进实体类中,但是项目中一个类属性值可能有几十个,一个一个set的话会很麻烦,于是简答写一个转换的工具。1.Model类package com.boai.sp...

2019-03-30 16:44:32

Java coder 人人都应该拥有的书单

1.Spring5开发大全2.netty进阶之路3.SpringBoot企业级应用开发实战4.Java并发编程的艺术5.深入理解Java虚拟机6.高性能mysql

2019-03-17 15:50:23

Spring AOP 实际使用案例

1.在方法上加注解2.在PointCut中捕获注解,执行相关的方法3.在Around中捕获上一步执行的相关方法,利用ProceedingJoinPoint joinPoint获取第一步加注解方法的执行结果4.统一处理获取的结果并返回这样一些需要全局处理的逻辑就可以完成了...

2019-03-03 18:26:15

三个字段排序

这样的一个需求,资产数量升序排列,资产数量相同的按通过率降序排序,通过率也相同的按名称的首字母排序。如果在数据库中其实很好操作,因为特殊原因,目前需要在业务逻辑中进行处理。这里也顺便记录一下连续比较的用法。待排序的数据集是List<Map<String,Object>>类型的list链表ownerAssetsData。System.out.println("=...

2019-02-23 23:13:38

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

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

IDEA 单步调试多线程

不得不说,IDEA是真的强大。告别打日志的方法吧,直接使用IDEA进行多线程的调试。多线程单步调试步骤:1.首先在你需要单步调试的地方打上断点,然后鼠标右键已经打好的断点,可以跳出断点的设置。2.断点默认Suspend的选项是All,这里改成Thread模式,然后点击more更多设置 勾选上Log选项的两项,这样在跳到断点时IDEA在左下角会给我们一点小提示,提示swi...

2019-02-16 16:14:30

spring中的事务

出现问题的背景:γ项目中在风险部分会有系统消息和邮件通知用户,这里涉及到事务,具体的流程为update数据之后,又要利用多线程根据assetsId获取当前资产的风险等级,并将相应的消息和邮件发送给用户。产生原因:外层大方法使用事务,在方法中又新起多线程进行消息和邮件等操作,这里多线程不在包括在事务之中,所以读取到的数据是update操作之前的数据。事务中开启多线程,新的线程的事务不受外...

2019-01-29 23:09:07

Linux之权限

在Linux中分为读权限,写权限,执行权限三种。读权限:对于文件夹来说,读权限影响用户是否能够列出目录结构。对于文件来说,读权限影响用户是否可以查看文件内容。写权限:对于文件夹来说,写权限影响到用户是否可以在文件夹下"创建/删除/复制到/移动到"文档。对于文件来说,写权限影响用户是否能够编辑文件。执行权限:一般对于文件来说,特别是脚本文件。 Linux中存在...

2018-11-27 15:34:10

Linux基本指令

 基本指令#显示当前目录pwd#创建新目录 make directorymkdir#创建多层级目录,假如前两个xxxx目录不存在mkdir -p xxxx/xxxx/xxxx#创建新文件#touch test.texttouch xxx#也可以同时创建多个文件touch xxx xxx#复制文件#复制的过程可以重命名目的路径的文件cp xxxx...

2018-11-26 18:06:16

利用intercepter+rabbitMQ实现记录访问者ip的实现方案

学习rabbitMQ使用的时候,想要构造一个简单的使用的场景,于是便想到了记录访问者的ip存入消息队列,然后异步保存在数据中。涉及到知识点并不是很多,简单的做个实现方案的记录。springboot2.x+mybaits+rabbitmq大概思路:使用intercepter拦截器拦截所有访问的请求,在preHandle方法中根据request获取访问者的ip,调用rabbitmq中生产者...

2018-11-18 15:09:33

windows环境创建redis多个实例,实现主从同步

redis单机环境下开启多个实例,并形成主从同步。redis默认端口是6379,这里我们创建了三个实例,分别使用了6380,6381,6382三个端口,6380端口实例作为主节点,6381和6382作为从节点。1.下载好windows版本的redis,进行解压。这里并没有安装为windows的服务,通过指令操作。//cmd进入到redis的目录,执行指令开启实例redis-server...

2018-11-15 15:53:58

Java文件操作--inputStream转为file

在玩爬虫的过程中,其中有一部分是下载视频,利用原生的HttpURLConnection获得获得inputStream之后,将输入流写入到本地文件中,形成mp4格式的视频文件,发现最初使用的方法特别慢,想找寻更好的方法,提升效率。1.原始方法//pathName就是文件保存的路径BufferedInputStream bi = new BufferedInputStream(conn.g...

2018-11-13 15:21:46

阿里云ECS-centos7建站环境搭建

又快到一年的双十一了,阿里云也搞起了拼团活动,买了一台最低配的云服务器,自己玩。连接远程服务器直接使用了xshell,不详细描述。最基础的环境准备,安装jdk和tomcat。在usr目录下建立了文件夹java,又在java文件中创建了jdk和tomcat两个子目录    [root@izbp188p52tbilo2rsi9vnz ~]# vim /etc/profile在最末尾...

2018-11-06 20:05:37

微信支付总结--小程序与H5页面微信支付

项目开发过程中,涉及到了微信支付功能,这里做一个详细的记录。小程序和H5的后端代码是通用的,前端调用不同的代码实现,这里不是重点,会简单的给出相关的代码。微信支付,官方给了开发文档,但是其中还是有一部分需要自己去摸索一下,刚开始接触走一点弯路踩一点坑也比较正常。当然微信支付这边涉及到商户平台,需要进行验证,使用的是公司的账号,个人小程序没有支付的权限。1.开发之前的认知先了解一...

2018-10-25 19:11:18

微信支付踩过的坑

在微信体系中,支付也算是比较重要的一环,这里记录一下工作中微信支付--公众号支付踩过的一些坑。问题:errorMsg : "chooseWXPay:fail, the permission value is offline verifying"安卓没有提示,ios会有具体的提示,首先一定要确保自己的参数值传递正确ios与安卓系统不一致的地方,安卓可以正常支付,ios出现下单...

2018-09-26 18:23:56

centos添加普通用户

centos添加普通用户流程添加普通用户[root@localhost ~]# adduser dadi密码[root@localhost ~]# passwd dadi密码设置过于简单的话会有提示先查看权限[root@localhost ~]# ls -l /etc/sudoers-r--r----- 1 root root 4002 Mar 1 20...

2018-09-26 15:01:28

spring整合redis

spring与redis整合的一个小demo准备工作:在本机安装好redis,并且能够成功使用demo地址:https://github.com/boailiu/springRedisDemo.git1.首先创建maven项目,pom.xml文件如下<?xml version="1.0" encoding="UTF-8"?><project xmlns="ht...

2018-09-14 10:13:15
勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!