2 LLLboai

尚未进行身份认证

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

等级
博文 25
排名 30w+

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

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

2019-06-05 23:30:10

Map转实体类

项目中遇到过这样一个问题,sql查询出来的结果是一个Map<String,Object>,需要将map中对应的值放置到对应的实体类中,map中的key与实体类中的属性名一样。在属性值很少的时候,我们可以简单的取出值在set进实体类中,但是项目中一个类属性值可能有几十个,一个一个set的话会很麻烦,于是简答写一个转换的工具。1.Model类packagecom.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中捕获上一步执行的相关方法,利用ProceedingJoinPointjoinPoint获取第一步加注解方法的执行结果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进行排序

方法一: staticStringmapSortedByKey(Map<String,String>param){StringBuilderstringBuilder=newStringBuilder();ArrayList<String>keyList=newArrayList<>(param...

2019-02-19 19:09:29

Java MD5加密

publicclassMD5Util{publicstaticStringgetMD5(Stringstr){MessageDigestmd=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之安装软件

#解压文件tar-zxvfxxxx.tar.gztar-jxvfxxxx.tar.bz2含义选项:-z或-gzip或-ungzip:通过gzip指令处理文件-x或-extract或-get:从文件中还原文件-v:显示操作过程-f或-file:指定一个文件-j:支持bzip2解压文件yum等便捷式安装软件 #常用的yum指令#列出当前可以...

2018-11-29 11:00:18

Linux之shell基础

Linux中有很多类型的shell,不同的shell具备不同的功能,shell还决定了脚本函数中的语法,linux默认的shell是/bin/bash,流行的shell还有ash、bash、ksh、ksh、zsh等,不同的shell都有自己的特点和用途。文件命名规范:文件名.sh .sh是linux下baseshell的默认后缀案例:创建一个shell脚本hello.sh,输出...

2018-11-29 10:00:08

Linux之权限

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

2018-11-27 15:34:10

Linux之vim操作

vim操作的重点是光标的移动,模式切换,删除,查找,替换,复制,粘贴,撤销命令的使用。vim中存在的三种模式:命令模式,编辑模式(输入模式),末行模式(尾行模式)命令模式:在该模式下不能对文件直接进行编辑,可以输入快捷键进行一些操作(删除行,复制行,移动光标,粘贴)。打开文件之后默认进入的是命令模式。编辑模式:在该模式下可以对文件进行编辑。末行模式:可以在末行模式输入命令对文件进行...

2018-11-27 10:22:47

Linux基本指令

 基本指令#显示当前目录pwd#创建新目录makedirectorymkdir#创建多层级目录,假如前两个xxxx目录不存在mkdir-pxxxx/xxxx/xxxx#创建新文件#touchtest.texttouchxxx#也可以同时创建多个文件touchxxxxxx#复制文件#复制的过程可以重命名目的路径的文件cpxxxx...

2018-11-26 18:06:16

centos7安装nginx

安装makeyum-yinstallgccautomakeautoconflibtoolmake安装g++yuminstallgccgcc-c++在/usr/local/src目录下安装PCRE库、zlib库和openssl#安装PCRE库cd/usr/local/srcwgetftp://ftp.csx.cam.ac.uk/pub/sof...

2018-11-20 15:16:48

利用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就是文件保存的路径BufferedInputStreambi=newBufferedInputStream(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
奖章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!