- 博客(87)
- 收藏
- 关注
原创 通用下拉接口设计
在前后端交互的时候,规范是采用对象进行传参的,但是在实际开发中参数是可变的,利用Map对参数进行键值对的方式存储在一定成程度上能增加参数传输的自由度,故需要将对象转成map处理。在实际开发过程中,同一模块功能尽量统一书写规范,在增加代码规范性,可读性,复用性的同时,还方便前后端进行联调工作。5.下拉接口service层实现。4.下拉接口service层。
2025-01-21 10:39:23
258
1
原创 时间格式转换
1.使用LocalDateTime将字符串时间转化为指定格式的时间,同时计算与当前时间年,月,日时,分,秒,毫秒的差值 public static void main(String[] args) { public static void main(String[] args) { String startTime = "2021-05-13 12:21:12"; DateTimeFormatter targetFormat = DateTimeFormatter.of
2022-05-14 14:54:42
2392
原创 使用BufferReader与BufferWriter读写文件
BufferReader与BufferWriter简介BufferReader与BufferWriter自JDK1.1就已经存在了.BufferReader的作用是从字符输入流读取文本字符到字符缓冲区中,以便提供对字符、数组和行的高效读取.BufferWriter的作用是将文本写入字符输出流到字符缓冲区,以便提供对单个字符、数组和字符串的有效写入.在操作文件时,为了获得最高效率,一般考虑在BufferReader,BufferedWriter中包装OutputStreamWriter,以避免频繁调用
2022-05-08 18:58:52
6780
原创 线程池体系结构
线程池的组成1.线程池管理器:用于创建并管理线程池2.工作线程:线程池中的线程3.任务接口:每个任务必须实现的接口,用于工作线程调度其运行4.任务队列:用于存放待处理的任务,提供一种缓冲机制Java中的线程池是通过Executor框架实现的,该框架用到了Executor,Executors,ExecutorService,ThreadPoolExecutor,Callable和Future,FutureTask这几个类.关于这几个类之间实现关系的UML图:线程池的体系架构 java.uti
2022-05-07 17:56:19
680
原创 SpringBoot整合redis实现发布订阅模式
Redis的发布订阅模式发布订阅(Pub/Sub):目前广泛使用的通信模型,它采用事件作为基本的通信机制,提供大规模系统所要求的松散耦合的交互模式:订阅者(如客户端)以事件订阅的方式表达出它有兴趣接收的一个事件或一类事件;发布者(如服务器)可将订阅者感兴趣的事件随时通知相关订阅者,其就是基于观察者模式设计的.适用场景(1).优惠券到期到期失效(2).微信粉丝关注公众号(3).消息及时通讯(redis不像中间件一样对发布消息进行缓存,确认,重试等机制)redis发布订阅模式案例1.先创建订阅者,
2022-04-15 13:51:46
8374
5
原创 按装完Mysql后,一顿操作后,在dos窗口下不需要密码就能登陆,但是客户端工具登陆不上
最近安装最新的mysql8.0的过程中,最后一步安装居然失败了,进入lLog中查看失败提示如下:MySQL error 1042: Unable to connect to any of the specified MySQL hosts.安装失败的界面提示失败在Starting the server这一步。解决方法:这里提供最简单易行的解决方案,win+r打开运行,输入services.msc打开服务,找到安装MySQL时添加的服务名,一般8.0版本的MySQL默认是MySQL80,双击打开,登
2022-01-22 14:37:10
1039
原创 解决Mysql安装出错
最近想换一个高级一点版本的mysql玩玩,就把旧版本的mysql卸载了,话说卸载mysql是一件冒险的事情。相信很多小伙伴们也经历过mysql安装失败后尝试无果后,产生卸载mysql后重新安装mysql的念头,尝试卸载后发现无法卸载干劲,然后呢卸载不干净就无法重新安装mysql,陷入了无穷无尽的死循环。这时候会刷系统的小伙伴或许还有江湖救急的手段,删不干净是吧,我干脆直接换系统牛逼吧,啥都给你清除了还不行嘛,话说这种做法确实很有效哈,不过仅仅是为了装一个mysql而破坏掉我们配置的其他的开发环境,就是商敌一
2022-01-22 14:10:51
4264
1
原创 idea如何设置ctrl加鼠标改变字体大小
最近想截图源码,发现通过打开设置来回调整字体麻烦,就改了一下设置,通过按ctrl+鼠标的上下滚动来控制文本字体的大小此处随手记录一下,希望对后来的小伙伴有用。首先使用快捷键ctrl+alt+s打开设置的主界面,然后点击一级菜单Keymap,在右侧展现界面的搜索区域搜索Decrease Font Size如下图所示,然后鼠标双击或者右击Decrease Front Size所在行弹出的弹窗中选择第二项Add Mouse Shortcut进行对应按键设置即可。搜索指定的类,接口,抽象类,枚举类型ctrl+n搜索文件ctrl+shift+n搜索指定的变量和方法ctrl+shift+alt+n打开Actions搜
2022-01-11 21:35:30
1005
原创 SpringBoot项目开启热部署功能
springboot提供了热部署功能,在我们修改了代码进行保存后,程序会自动帮我们将修改的代码进行编译运行。1.热部署需要导入的pom文件<!--devtools依赖jar包--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>
2022-01-09 22:52:35
377
原创 使用JSONObject需要导入fastjson的pom文件
FastJSON是一个Java语言编写的高性能,功能完善,完全支持http://json.org的标准的JSON库。JSONObject继承于JSON,并且实现了Map接口,因此JSONObject拥有JSON和Map中所有的方法,JSONObject提供了各种方法,可以轻松的实现不同数据对象之间的转换。在pom.xml文件加入以下依赖,即可使用JSONObject。<dependency> <groupId>com.alibaba</group
2021-11-18 15:08:59
6604
原创 在docker中创建并运行一个MySql容器,并将宿主机直接挂载到容器
由于在windows上安装mysql后嫌卸载麻烦,直接在docker上运行一个mysql来满足开发使用,此处记录一下安装步骤。1.首先访问DockerHub下载对应版本的mysql(我下的是5.7.25这个版本的)。2.将下载好的mysql.tar文件上传到虚拟机(我是上传到/opt/mysql/目录下),通过load命令加载为镜像。docker load -i mysql.tar3.分别创建目录/opt/mysql/data,创建目录/opt/mysql/conf在conf目录下创建文件ms.
2021-11-10 10:21:18
3359
原创 Spring设置对象为多列
Spring容器默认创建的是单列对象Spring创建对象的过程是交由Spring的IOC容器进行对象的创建和管理的,其默认创建对象的方式是采用无参构造创建对象。在Spring容器里默认只实例化出一个bean,后续的请求都公用这个对象,这个对象会保存在一个map里面 。当有请求来的时候会先从缓存map里查看有没有,有的话直接使用这个对象,没有的话才实例化一个新的对象,所以这是个单例的。但是对于原型(prototype)bean来说当每次请求来的时候直接实例化新的bean,没有缓存以及从缓存查的过程。设置S
2021-10-24 22:09:01
1794
原创 通过实现AutoCloseable接口实现资源连接的关闭
自动关闭资源连接的好处在Java开发过程中,按照正常的设计开发的结构来讲,大部分程序应该是面向接口的开发,应该在接口里面提供所有的核心业务的功能,但是像及时释放连接资源的操作属于非核心业务功能。每次手工调用close()关闭资源过于繁琐,所以最佳做法是通过某种机制自动实现关闭处理。AutoCloseable接口简介在JDK1.7版本中提供了一个新的接口AutoCloseable,AutoCloseable接口中只有一个close方法。这种自动关闭的处理机制是需要有其特定的运行条件,必须结合异常处理才可
2021-10-23 11:51:28
672
原创 RabbitMQ简介
1.什么是消息队列消息队列,即MQ,Message Queue。消息队列是典型的:生产者、消费者模型。生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,这样就实现了生产者和消费者的解耦。2.消息通信模型MQ是消息通信的模型,并不是具体实现。现在实现MQ的有两种主流方式:AMQP、JMS。两者之间的区别:(1)JMS是定义了统一的接口,来对消息操作进行统一;AMQP是通过规定协议来统一数据交互的格式(2)
2021-10-22 15:55:18
857
原创 java中asList的使用
asList概述Java中的asList方法是数组工具类 Arrays中的一个静态方法,Arrays.asList()方法的作用是将数组或一些元素转为集合,asList方法返回值得到的集合并不是我们通常使用的List集合,asList()方法把数组转换成集合时,不能使用其修改集合相关的方法,如果使用修改集合相关的方法add/remove/clear方法会抛出java.lang.UnsupportedOperationException的异常。1.使用asList方法返回的对象调用add/remove/c
2021-10-19 10:17:14
19388
3
原创 Linux配置全局环境变量
Linux配置全局环境变量的作用跟在Windos环境下配置环境变量一样,对应的工具在配置完环境变量后,在任意目录下均可以访问对应工具的功能,所以为工具配置环境变量可以让我们随处使用配置好了环境变量的工具,为开发带来便捷。一.在/etc/目录下的profile文件中设置环境变量1.打开/etc/目录下的profile文件。vim /etc/profile2.配置nginx的全局环境变量。二.在/root/目录下的.bashrc文件中设置环境变量1.打开/root/目录下的.bashrc文件。
2021-10-18 14:32:28
8926
原创 修改Git用户信息及本地分支与远程分支的相关的操作
1.查看Git配置信息git config –list2.修改用户名和邮箱#修改用户名git config --global user.name "chenjl"#修改邮箱git config --global user.email "123@qq.com"Linux系统用户可以在根目录下看到的.gitconfig文件里面看到用户信息,Windos系统用户可以在C:\Users\admin路径下的.gitconfig文件里面看到用户信息。3.Git 项目与Gitee的仓库进行关联git
2021-10-13 14:47:47
553
原创 Git账号配置
添加Git账号配置后,我们就可以轻松方便的与远程Git仓库进行交互。我们一般使用ssh的协议下载git代码库,可以减少重复的认证。ssh配置方式1.使用git bash客户端,执行ssh-keygen -t rsa命令,一直按回车即可。2.进入.ssh目录下获取执行ssh-keygen -t rsa命令成功生成的公钥,上传到我们的远程Git仓库的公钥管理中即可。(1)执行cd ~/.ssh命令进入.ssh目录。(2)输入ls查看.ssh目录结构。(3)输入cat id_rsa.pub命令获取i
2021-10-13 10:07:41
3692
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人