- 博客(37)
- 资源 (1)
- 收藏
- 关注
原创 通用的日志记录功能
学习目标:最近公司有需求需要记录活动的修改日志,我就在想做一个通用的日志记录目标需要有日志记录操作的点支持自定义需要记录的内容(字段)支持自定义计划使用切面完成修改记录切点由自定义的注解定位,切点的属性参数 id params需要记录的字段 needSaveField不需要记录的字段 unSaveField1获取修改数据的服务 serviceName2代码:注解import java.lang.annotation.Documented;impor
2021-07-12 11:24:34 1105
原创 netty的原理及使用——AIO初体验及NotYetConnectedException
这里写目录标题netty的原理及使用——AIO初体验AIO:服务端demo代码客户端demo代码执行结果扩展确认异常猜想推理异常原因结论netty的原理及使用——AIO初体验AIO:AIO: JDK1.7 才开始真正的实现异步I/O,AIO、把I/O的读写全交给了操作系统来完成 在java AIO 的处理API中有三个重要的类: AsynchronousServerSocketChannel(服务端)、 AsynchronousSocketChannel(客户端)、 Com
2021-04-05 17:39:18 983 17
原创 netty的原理及使用——I/O方式及BIO、NIO
netty的原理及使用阻塞、非阻塞、同步和异步首先需要明白什么是阻塞、非阻塞、同步和异步阻塞和非阻塞是描述线程的工作方式. 阻塞: 线程在得到结果之前会一直等待结果的返回,期间什么也不干,就像小时候我们向父母讨零花钱,如果不给我们干嘛呢? 在地上撒泼打滚什么也不干.直到父母给了零花钱.这就是阻塞 非阻塞: 线程发起请求之后不会一直等待可以做别的操作,就像跟你好朋友吃饭,你们去的那家点是家网红店需要排队,你们先叫了个号发现前边还有十多个号,你可以在排到你之前去干别的事情,甚至可以先去
2021-04-05 16:05:54 267
原创 公欲善其事,必先利其器---chrome插件
翻译插件:划词翻译新标签页:Infinity访问网页告别鼠标:Vimium查看github代码更方便:Octotree访问网页设置自定义的请求头内容:ModHeader搜索文件资料:Goole学术搜索按钮...
2021-03-31 10:14:33 182
原创 分布式锁Redisson浅谈RedissonLock
公司的项目需要用的分布式锁 redisson的版本 <dependency> <groupId>org.redisson</groupId> <artifactId>redisson-spring-boot-starter</artifactId> <version>3.12.2</version> </dep
2020-07-08 07:15:26 1365
原创 mysql的函数使用及其他小技巧
我这篇为mysql的一些命令的杂记,1> mysql的登录命令: 下面是几种登陆到MySql数据库的登陆方式代码(我最喜欢2),刚刚安装mysql的root账户是没有密码的. 1.mysql -u root -ppassword 2.mysql -u root -p Enter password:password 3.mysql ...
2020-06-28 17:14:28 6395
原创 nginx负载均衡--nginx容器部署
第一步:我们需要下载nginx的镜像:由于docker上边会提供三种nginx镜像:Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以说是开发版Stable version:最新稳定版,生产环境上建议使用的版本Legacy versions:遗留的老版本的稳定版所以前往docker官网查看提供的最新的稳定版:nginx镜像如图我这里下载的是stable-perl版本,根据自己需要下载就行了.每个版本后边都要拉取的命令第二步..
2020-05-18 17:17:51 606
原创 知其然知其所以然-spring注解
该文章将做持续更新,我有时间就会更新注解的用途和用意。目录@Component:@ConfigurationProperties :该注解也是让spring管理被标注的类的,具体作用体现在业务上,众所周知我们将代码分为controller,service,dao三层 但是有些不能准确的划分在这三者中有需要交给spring 管理,那@Component就是解决方法, 不过需要注意的...
2020-04-27 15:52:53 221
原创 自己实现spring的基本功能
之前自己做过参数校验的功能,有使用过注解. 今天就来试试实现spring的类管理首先,先理解下spring的思路,spring 将我们需要被管理的类统一的管理起来 然后给需要初始化的类初始化,在遇到web端的请求的时候,根据url来匹配对应的controller的接口方法,进行调用....
2020-04-07 15:02:21 259
原创 多线程:线程在加锁代码块内调用yield()方法对锁对象处理的探索
首先我们先老生常谈: 关于多线程我们大多数对他既陌生又熟悉,因为我们在(程序员的)生活中经常听到,但是相信大家在工作中真正使用的频次并不是那么的经常. 原因是:多线程的不可性.在使用的时候我们实现多线程的方式又两种: 1.实现java.lang.Runnable接口. 2.继承java.lang.Thread类其实看过代码的同学都知道Thread也是实现了...
2020-03-29 18:14:59 781
原创 Spring-boot的拦截器源码探寻
自己玩Springboot的时候,使用拦截器来实现用户的登陆验证。创建一个拦截器,实现接口HandlerInterceptor 这个接口的里边就方法。分别是preHandle、postHandle、afterCompletion.为什么在接口中能够存在方法呢?因为JDK1.8中为了加强接口的能力,使得接口可以存在具体的方法,前提是方法需要被default或static关键字所修饰。所...
2020-03-26 15:06:32 416
原创 LocalDateTime小记
今天在使用LocalDateTime时需要将时间转化使劲啊戳,原来我也没怎么用过.发现又一个方法 default long toEpochSecond(ZoneOffset offset) { Objects.requireNonNull(offset, "offset"); long epochDay = toLocalDate().toEpoch...
2019-10-10 21:11:44 606
原创 使用拦截器实现请求参数的简单校验
今天在写controller时遇到好多接口都需要我去手动的校验参数,于是想到能不能搞个东西简化掉参数的校验。也想过使用“别人的轮子”但是想想还是自己玩一玩~。首先呢,先要搞清楚思路该怎么实现这个功能。一、选择:拦截器和过滤器的选择。拦截器和过滤器区别④拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问。⑥拦截器可以获取IOC容器中的各个bean,而过滤器就不行,这点很...
2019-08-06 14:52:27 2839
原创 mysql索引小记
今天在做公司项目时有应用场景,分别是某个地址不能重复, 和两个地址不能重复.聪明的我们一下就想到了唯一索引和联合唯一索引。sql呢很简单新增唯一索引:ALTER TABLE 表名 ADD UNIQUE KEY ( `字段名` );或者ALTER IGNORE TABLE 表名 ADD UNIQUE INDEX (字段名);注:IGNORE的作用:表中未创建唯一索引前可...
2019-07-31 17:21:59 248
原创 JAXB使用小记
近日在对接接口是报文需要是xml格式,所以今天小小总结下这段时间的收获。首先介绍下jaxb,是java自带的将java实体类和xml文件转换的工具类。使用时需要用到注解大致如下: @XmlRootElement:根节点注解也是最基本的注解 他有个name属性可以指定根节点的名字; 使用在类上 @XmlAccessorType:指明以什么标准生成xml,value...
2019-07-06 10:23:05 686
原创 nginx配置小记
今天搞一哈nginx,nginx的安装很简单就不在赘述了. 主要是我在配置server时遇到一些问题在此记录下来. 给自己提个醒当然能帮助到人那是最好不过的.首先,nginx的配置文件对内容格式是有要求的. 所以当你从别的地方复制你的server等配置时需要注意空格等字符串问题. 我的是在windows安装的所以还要注意下你配置的静态文件的目录格式:linux的格式为/xxx/xxxx/xxx...
2019-06-25 08:10:50 1643
原创 svn密码找回
今天需要我的svn的账号密码,但是时间太久了忘了。想起原先用过的一个软件TSvnPD.exe 可以找回,就在网上找下结果都是要这要那的,这不符合互联网精神啊。所以我今天上传一份给后边需要的人用。这是下载链接:http://www.leapbeyond.com/ric/TSvnPD/ 直接下载就Ok了...
2019-05-06 17:08:44 408
原创 spring boot 配置mybatis
今天搞一搞spring boot的mybatis的整合,首先搞一个简单的springboot项目:搭建简单的spring boot然后创建数据库中对应表的实体类:我的表名user_demo(注意mysql在linux是区分大小写的)创建domain:UserDemopackage com.shuguolili.domain;import lombok.Data;/** * ...
2019-04-26 09:01:41 258
原创 spring-boot配置ssl证书
一。首先我们要先有一个简单的spring-boot项目:原先已经写过一篇创建spring-boot的文章了二、获得ssl证书:方法不唯一,又从网上的大平台下载也能自己生成。自己生成的也写过了三、在spring-boot项目中配置。配置分四步。1.将得到的ssl证书放在项目的根目录下。如图:2.在application.properties文件中配置server.port=...
2019-04-25 20:05:53 1488
翻译 本机生成ssl证书
JDK中keytool是一个证书管理工具,可以生成自签名证书。然后生成命令如下(找不到keytoo命令的先去配置java环境)我指定的名字叫tomcat.keystore 别名叫tomcat,密码自己设置,我这里用的tomcat,最后那个直接按得回车keytool -genkey -alias tomcat -keyalg RSA -keystore /home/gzr/tomcat....
2019-04-25 08:20:43 1174
翻译 linux安装mysql详细步骤
原文章:大佬的很不错,确实帮到了我。但有些小的出入所以我打算转过来并针对我遇到的情况修改下linux安装mysql详细步骤最近买了个腾讯云服务器,搭建环境。该笔记用于系统上未装过mysql的干净系统第一次安装mysql。自己指定安装目录,指定数据文件目录。linux系统版本:CentOS 7.3 64位安装源文件版本:mysql-5.7.21-linux-glibc2.12-...
2019-04-22 20:49:52 4172 2
原创 idea的jdk老是报错java_error_in_idea_****.log
前段时间我的idea 老是莫名其妙的出现闪退,并且在c盘的用户下产生一个java_error_in_idea_****.log的类似问题。接下来我把我如何解决的写下来,希望能帮助到遇到同样问题的同学。一、点击idea左上角的file出现下面的选项栏,点击Project Structure ...二、在页面中点击project(这里我们统一配置,相要细化配置的话点击下边的module...
2019-04-22 16:02:05 6188 6
原创 spring-boot微服务-01
今天开始自己搞搞微服务。一、首先创建一个maven工程,我用的是idea二、选择对应jdk,如果需要idea提供好的maven骨架可以勾选create from archetype 然后在下面选择一个,我现在刚开始挑战就不用了直接next三、设置组名和artifactid四、设置项目名和保存路径,然后点击finish。一个maven工程就搞定了五、既然...
2019-04-18 20:05:36 218
原创 去除idea中xml文件的黄色背景
网上的大致都一样,我自己也总结下避免忘了一、把红框的两个地方的√给去了二、剩下这个就跟版本有关,不同的版本不一样,但是通过搜索就无所谓版本问题了在settings窗口的搜索栏搜:injected language fragment三、另外送一个去掉重复代码校验而产生的黄色波浪线(我本人受不了,其实是有用的,可以留着的)...
2019-04-17 16:35:47 1631
翻译 linux命令小记
默认都是centos7的命令:如果有其他我另外指明,如果有忘记的各位可以在评论区给我指正么?省给人误解1.linux下查找文件:find 路径 -name '文件名(不支持模糊查询)'[root@izwz92rgzhw9zg5mmgmgu2z mysql]# find /usr/local/ -name 'my.cnf'/usr/local/mysql/my.cnf/usr/loca...
2019-04-17 07:54:29 167 1
原创 git的windows安装
今天接触下Git:一、下载git地址:https://git-scm.com/download/win注意这个链接是直接下载64位的哟二、开始安装点击下载后的.exe文件点击next三、点击选择安装目录,视自己的情况而定四、默认就ok五、默认六、选择默认的编辑方式七、选择命令行环境八、默认连击九、安装完...
2019-04-15 13:20:16 193
转载 转载: linux下安装mysql
mysql在linux下的安装原文地址:我按照大佬一步一步下来就成了安装环境:系统是 centos6.51、下载 下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads 下载版本:我这里选择的5.6.33,通用版,linux下64位 也可以直接复制64位的下载地址,通过命令下载:wgeth...
2019-03-24 20:35:53 165
转载 JVM异常日志的信息提取(如何看懂jvm日志)
前两天运行自己的项目的时候发生了jvm异常,并在项目目录下生成了一个hs_err_pid8720.log文件。这是jvm发生异常时产生异常日志文件的默认格式:hs_err_pid**.log文件。文件内部的信息肯定能帮助我们发现一些端倪,但是由于我水平有限一点也看不懂就在网上查找如何看jvm的异常日志。就发现两个大佬的博客写的都不错,但是他俩写的都相对不太全面。(比我肯定是强太多)就把他两...
2019-02-13 18:05:11 11931 1
原创 windows10系统文件或目录损坏无法读取
由于昨天电脑崩溃蓝屏,就电源键强制关机了。今天早上就发现我的F:盘的某个文件夹不能读取,因为这个文件夹也没什么作用且我也有备份的就想删掉算了(各位观众老爷没事可别删除文件来解决这类问题,风险太大毕竟数据时无价的)。然而却提示我文件无法访问,后边是文件夹的目录路径。由于之前没有截图现在问题解决了就没有图给各位老爷看了(谅解)。于是就在度娘上边找方法。刚开始有网友说原因是windows文件系统损坏了可...
2019-02-13 10:11:38 11102 2
转载 关于CentOS7使用firewalld打开关闭防火墙与端口-借鉴(抄写)
原文链接:写的简单易懂并且实用的打开/关闭端口如果你看到这篇文章,但是你又赶时间就直接看下边的解决方法适不适合你.1、firewalld的基本使用启动: systemctl start firewalld关闭: systemctl stop firewalld查看状态: systemctl status firewalld 开机禁用 : systemctl disable...
2019-01-27 01:22:00 198
原创 关于线程池源码小记
今天在梳理业务流程逻辑时发现下面这行代码: 其中代码中的poolTask就是org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor:这是spring提供的线程池,只需要我们在配置文件中配置就好.<bean id="testThreadPoolTaskExecutor" class="org...
2019-01-10 08:48:38 306
翻译 关于mybatis部分遇到的一些问题
其实数据库读写这块自我感觉一直都不怎么透彻,所以从今天开始记录我在数据库这块遇到的一些问题. 所以我会一直不间断的更新希望能对我以及正在观看的你有帮助.1.关于在向数据库进行insert操作的时候,会返回一个int 的值,而如果我们根据这个值来判断是否插入成功时会发现这条sql返回的之为-2147482646,这时为什么呢?细心的同学会发现这时int最大值+1.所以大家根据返回值来判断是否插入...
2018-10-17 14:33:49 323
原创 关于使用mybatis向数据库中插入数据放回值为-2147482646的问题解析
首先,我们先看下这个返回值-2147482646,这时int的最大值进行+1操作后的值,估计大家都已经知道造成这种结果的原因是再为mybatis配置相关属性时将defaultExecutorType设为BATCH的缘故.那为什么这么配置会返回这个值呢?大家跟我一块去看看源码吧. 开门见山,先让大家看下我的mybatis.xml配置大家请忽略,涂鸦部分(嘻...
2018-09-14 16:01:04 1537
原创 dubbo的小问题
今天在测试完成的接口时遇到一个问题直接上图刚开始我查问题时说是反射的问题,又由于没有用对解决方法一直没解决org.jboss.resteasy.spi.InternalServerErrorException: Bad arguments passed toorg.jboss.resteasy.spi.metadata.ResourceMethod@46a7c7c0这是报错信息的开...
2018-07-23 19:54:14 332
原创 关于springmvc 的controller注解引发的问题及讲解
今天在熟悉项目时,发现项目中并没有在web.xml中配置spring mvc的serlvet,而是通过一个继承了原先的DispatcherServlet的类对象,并在其类上加上了@webServlet的注解(@WebServlet(name="ShuguoliliDispatcher",urlPatterns={"/*"}))是给servlet确定名字和servlet所要处理的路径.这样s...
2018-07-18 19:20:30 2139
原创 tomcat启动闪退报错
首先在启动tomcat时出现闪退而造成看不到报错信息,就通过文本文档文件修改tomcat的bin目录下的startup.bat文件的最后一段内容图中的倒数第二行中原本是start现在将其修改为run 的作用就是在控制台启动tomcat时不会新开一个窗口,这样我们就能看到tomcat的日志信息.几天我的问题是"java.lang.IllegalArgumentException: D...
2018-07-18 10:48:01 1780
转载 使用tortoiseGit向码云提交代码
1.首先第一是下载git并安装,百度上边的很清楚就不在赘述了.2.第二步就是下载git的图形化界面工具并安装我也不再赘述了(个人推荐tortoiseGit因为它有汉化哦)3.接着就是重点了如何在本地创建一个仓库并上传到码云呢?首先我们要先创建一个ssh的密钥,在安装tortoiseGit后在开始-->所有程序中找到PuTTYgen,(也可以直接在搜索框搜索)点击打开后如下...
2018-07-17 16:57:51 11131 3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人