时间图书馆
文章平均质量分 65
春花秋时知多少
时间是最珍贵的宝贝,经历是独有的教育
展开
-
【Java】直接return 会触发try-catch 里面的finally方法么
finally的优先级高,加锁之后,尽量后续的代码全部用try包裹,在finally里面解锁,确保解锁成功finally里面也可以执行逻辑代码,需要确保执行的时候,可以考虑使用finally方法但是要注意 如果finally里面出现异常,,则后续的代码也不会执行。原创 2023-06-30 11:43:10 · 400 阅读 · 0 评论 -
【JAVA】jdk8 Stream 排序精通
因为对象比基本类型占用空间大,如果排完序之后再翻转,而同时数组长度比较大,那么就可能有性能问题,所以可以直接指定排序的方向,避免不必要的浪费。但是对于完全的数值比较,其实就按照默认的比较即可,给Stream 排序的值即可,特别是对象,只需要指定字段即可。jdk8的stream流能方便的排序,但是每次都要查资料,非常不方便,不确定,所以这次直接弄懂,不再迷茫。,字符串比较很简单,就是字符依次比较,从小到大,第一位相同比第二位,依次排序。因此对象排序,优先使用这样的方式去指定排序,特别是倒序的时候。原创 2023-02-14 23:01:26 · 5280 阅读 · 0 评论 -
【Java】springboot 枚举参数
不过本次测试的是默认的springboot对枚举的处理逻辑,讨论未做额外处理的情况下,spring接口使用枚举的效果和问题。来实现 自定义转化逻辑,那么你想怎么处理参数就是你自己的事情了,可以做兼容处理,识别里面的值来转化成枚举而不限定name。然后手动调用接口,改变参数值,观察返回值和后台日志,打印出名称则表示获取到了对应的枚举,反之则未获取成功。默认spring的接口对枚举类型的接收处理逻辑比较简单,就是。测试非常简单,写一个接口三个枚举参数或三个接口三个枚举参数。原创 2022-11-30 14:09:56 · 1907 阅读 · 0 评论 -
[Java] Lock(锁)的tryLock失败是否需要unlock?
因为锁是非常重要且占用资源的,所以基本上都知道需要解锁常见的代码示例如下没啥问题,但是如果用tryLock获取锁是否也是这样呢?如果没有获取到锁需要解锁么?如果未加锁解锁是不影响还是异常呢?正确的写法是怎样呢?其实实验的方法很简单,写个测试类实验一下就可以了1、如果未加锁就解锁是不影响还是异常呢结果:会产生异常报错2、tryLock没有获取到锁需要解锁么?因为需要让它获取锁失败,所以我们利用多线程模拟下并发情况下,获取失败的效果。代码如下,看起来没啥问题 (实际上有问题 -,-)结果 部分原创 2022-06-27 15:53:14 · 3458 阅读 · 4 评论 -
MySQL脚本 批量修改
需求:tstd_jour流水表分表比如 tstd_jour_1 tstd_jour_2 ... 这样的因为历史遗留问题,之前的表都没有主键id,而是使用的code(字符串code作为主键)目标:全部增加id主键实现:1、单个表的sql变更sql是ALTER TABLE tstd_jour_1 DROP PRIMARY KEY, ADD `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键' first, ADD原创 2022-05-25 16:50:08 · 879 阅读 · 0 评论 -
@ParametersAreNonnullByDefault注解提示解决
🤳背景Guava Cache构建的时候,实现抽象方法的时候,idea默认会提示Not annotated parameter overrides @ParametersAreNonnullByDefaultparameter Inspection info: Reports problems related to nullabilityannotations: overriding problems (for example, when a nullableparameter is anno原创 2022-04-19 11:55:44 · 2382 阅读 · 0 评论 -
idea 常规推荐配置(新电脑常用)
idea 开发推荐配置原创 2022-04-12 09:35:24 · 1038 阅读 · 0 评论 -
idea 非单词画波浪线问题 (设置专属单词)
【idea设置专属单词】idea单词拼写提示报错的问题原创 2022-01-28 15:38:12 · 3120 阅读 · 0 评论 -
【微信卡包】模板消息-对接问题汇总
1/???? 问题背景:业务需要支持微信卡包,商家能够在我们平台创建并管理会员卡,能够根据微信卡包发送消息,而且有个特殊原因需要我们能够兼容使用别的平台之前创建的卡(比如小精灵)。2/????思路总结查看官方文档介绍和产品大佬找到的信息,微信提供商户发行和使用微信会员卡来快捷管理会员,同样是基于微信公众号的,微信官方会员卡玩法文档介绍然后照着思路查看看起来非常的简单,微信提供了相关的信息处理接口,只需要调用即可,就是创建会员卡、提供投放链接、新用户激活会员卡、管理微信会员卡、推送信息给微信会员卡用原创 2021-11-28 13:47:30 · 634 阅读 · 0 评论 -
Google Guava缓存
大概有段时间没写文章了,主要是自己掌握的东西没有什么值得讲的,很多的技术都是学着别人的文章学到的,还有一点是自己的技术深度还没有达到要求,有些浮躁,最近代码评审的时候发现自己的代码理解开始回退了,开始写一些逻辑代码了,哈哈哈???? 不过及时认识到自己的问题1、???? Google Guava缓存guava 是google 的开源的缓存工具包,基于Java的本地缓存非常的好用,最近也是接触到实际的业务逻辑,看见别人怎么用却总是觉得麻烦难以理解—,— ,(都是这个感觉,不过你真正学会使用之后,就会真香原创 2021-09-27 22:12:08 · 1842 阅读 · 2 评论 -
接口开发规范总结 秋时-后端
最近学到了一个词汇,分享一下 ღ( ´・ᴗ・` )Because of love,不是因为爱❤️,有趣的解释为:因为热爱做着我们热爱的事情,才是生活的乐趣所在,哈哈哈1/????????????背景本身不应该把自己的代码风格要求给别人,但是优雅的代码都是通用的(很多的代码也是别人写的,你会觉得很ok才会去继续使用),而且有些朋友可能想学习一些真实的代码规范,就我目前的工作总结一点常见的代码接口规范搭建常见的项目写下来,希望能让你Java写起来越来越顺手,对于代码的维护变得愉快起来。???????原创 2021-08-04 21:21:34 · 772 阅读 · 0 评论 -
【Java】邮件发送 springboot 快速版
邮件发送功能不是很常用,但是有时候又很重要,比如重置密码,一般都发送到邮件中,当然手机也可以,但是我相信大部分的人在选择邮箱和手机号码接收验证码的时候都会选择邮箱来接收实现的方案:springboot 支持的邮件服务,使用的是126的邮箱,springboot 1.5.22版本实现方案1/????♀️导入springboot邮件依赖 <!--mail--> <dependency> <groupId>org原创 2021-07-31 14:17:56 · 532 阅读 · 0 评论 -
idea个人设置 qiushi
idea自动包含作者名,创作时间看到一般的开发者都会有自动包含作者的名字,来表示这是自己写的文章,一方面是保护自己的知识,以及团队里面明确自己编写的代码,另一方面也是查看自己的代码的创作时间,帮助自己改进自己的代码。解决的方式一般有两种自动创建在创建Java文件的时候就自动创建,备注信息Setting->Editor->File and Code Templates->Includes->±>name 就写File Header,里面的值就像这样,名字改成自己的,原创 2020-11-08 16:11:00 · 1703 阅读 · 0 评论 -
【Java】跨域处理拦截器 (以及中文乱码问题)
问题背景有个项目有两部分:h5+大屏展示,两个人做,分了两个前段项目,后端一个解决方案:1、Nginx 代理,支持两个域名访问同一个后端(✅)2、支持跨域,不限制跨域(????????,最后还是采用了这个)配置跨域支持两个前段一个后台,如果用Nginx配置一下不同的域名转发一下也没有问题,但由于合作方基本不用Nginx,全靠slb拦截之类的骚操作,导致后端只能开放为允许跨域。配置方式很简单,直接给贴个全的,感动不感动,-,-@Configurationpublic class WebMv原创 2021-07-23 19:33:51 · 1811 阅读 · 0 评论 -
SpringBoot测试类
功能写好了,需要自测一下,有些功能调试的时候用http测比较麻烦每次还要重启项目,直接用springboot 测试类运行就可以直接看到结果,非常方便。依赖 <!--springboot 测试依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-sta原创 2021-06-23 15:36:16 · 6971 阅读 · 0 评论 -
RedisLockRegistry redis分布式锁
RedisLockRegistry基于redis的分布式锁,使用简单方便,用的很多,总结一下,快速使用。pom依赖就这两个就可以 <!-- redis --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</原创 2021-06-23 14:31:46 · 3410 阅读 · 0 评论 -
Linux 磁盘满了如何排查
使用自动发包的工具可能导致磁盘满了,所以有时候需要清理一下磁盘,因为自动打包工具一般都会保留完整的jar包,而一个jar包可能就有50-100多M,这些jar实际上是没有什么作用了,所以我们可以定期删除一下,但是怎么寻找这些文件在哪呢?先看看到底还剩多少磁盘df -h一般看最大的那个盘也就是倒数第二个 /的可以看到可用的还有11G,表示还有11G的磁盘可以用,如果低于5G就要考虑清理一下了。然后我们一般就从/目录下开始查看目录总共占用的空间du -sh *发现最大的是var下面,然后切换原创 2021-05-08 19:31:21 · 355 阅读 · 0 评论 -
mysql数据库导入导出
安装部署系统的时候,往往需要我们上传sql文件来执行,而不是复制SQL语句,这里吐槽下阿里云的政务云部署,有良好的web连接服务器,而且需要白名单加密码加谷歌验证器三层验证才能配置服务器,但是无法粘贴复制,只能手敲命令,而且只有裸机,连Java环境都需要自己配置,无力吐槽,你这安全性做的不符合人类使用,上传文件也是经常断首先mysql要做连接测试可以用yum install mysql 这样就是安装了mysql客户端如果yum报404错误,阿里云那边给的解决办法是,删除或者备份/etc/yum.rep原创 2021-03-30 10:25:11 · 206 阅读 · 0 评论 -
Java Idea设置运行内存大小(开发必备)
我们追求的是效率提高,特别是每天使用的开发工具配置至关重要最近接了一个大一点的项目,同时要运行几个工程,idea变得非常卡,我想自己的电脑是8g的内存,怎么打开工程都这么卡呢?原来是默认idea占用的内存参数初始化的时候是指定了的,如果不设置,8g的内存就没有得到利用,快来看看如何充分利用自己的电脑内存吧,4g的内存也需要修改哦,当然如果你是2g或者以下的就不用考虑改配置文件了。。。。idea修改内存其实非常简单,在上方菜单栏里的help里选择编辑客户端虚拟机参数如果是4g内存的,可以改为1.原创 2021-03-04 15:06:58 · 55845 阅读 · 5 评论 -
git .gitignore 忽略提交文件 编写优雅代码(一)
git 已经火遍全球了,不仅仅是因为免费,还是因为好用强大优雅,和Java一样,越用越觉得好用免费的gitgit是免费的代码管理软件,前面文章介绍了git的使用和来源,他是有Linux创始人花费一周时间用c写的代码管理软件。强大的合并能力和代码管理能力,让你完成所有版本控制能做的事情,甚至在有的方面更强,而且开源免费,你不需要花费一分钱就能够快速的在你的团队里面使用起来!而且作为主流的版本控制软件,使用起来非常简单。当然我这里就不再赘述,如有需要再讲。强大的gitgit本身就是为了Linux.原创 2021-03-02 12:11:00 · 187 阅读 · 0 评论 -
windows webpack 安装使用
对于自己写前端知识的说明,前面面试的时候有人问我,我的博客里面前端后端都在做,是不是打算做全栈开发,实际上我并不打算做全栈,我一直是Java开发为主的程序员,之所以学习前端,主要是自己不会,想做一些简单的功能,对前端比较好奇,本着借鉴吸收的目的在学习,如果哪个前端的同学有兴趣一起讨论的欢迎探讨啊,我想做一些简单的交互,可是不会,有人请教讨论自是最好。webpack打包为啥要用webpack呢?什么是webpack?就是打包工具,webpack作为前端专业的打包工具,可以把模块抽离,打包到一个文件里.原创 2021-02-16 13:32:41 · 1329 阅读 · 4 评论 -
nginx进阶小技巧--去掉端口,解决端口跨域请求
起因有时候我们在一台机器上布置了很多的项目,为了让他们区别的工作,我们常常指定他们不同的端口。但是这样很不好看,比如其实我们在使用了nginx之后就可以让他变得好看(还能解决跨域的问题 =。=)如何实现去端口化指定该路径下的请求都转发,这样页面上显示的是 /note,实际上访问的数据是数据。这样代理转发之后,对于浏览器来说访问的是同一个域名下的资源,不会作为跨域请求。就可以使用js自带的异步请求来访问对应端口的接口而不发生跨域问题。那么能不能顺便代理呢?我代理下百度的地址也行?答案当然原创 2021-02-09 22:08:04 · 1297 阅读 · 0 评论 -
Java Base64加密解密编码解码
起因最近因为项目要做等保,需要对用户提交的字段进行加密存储,但是还需要做查询,所以需要能解密。办法目前打算采用rsa非对称加密保存数据,实现数据加密和解密,但是很尴尬的发现生成的公钥和秘钥居然是对象,且不能直接打印输出,网上看了一下,发现大多数的做法是把对象转化为二进制数据,然后使用base64进行编码注:编码(为什么用编码,因为实际上base64不能称为强加密,很容易识别而且容易破解,但是编码后利于传输,不是明文传输,也算是一种手段吧,速度快,好用,是常见的使用方法)但是我发现网上很多base6原创 2021-02-08 10:08:15 · 2651 阅读 · 0 评论 -
Nginx 基础操作以及如何搭建静态服务器
查看状态查看是否启动ps -ef|grep nginx如果启动了,查看占用的端口netstat -ntlp我们发现占用的是8080如何启动/usr/local/nginx/sbin/nginx或者切换到目录然后,./nginx如何关闭网上很多直接kill -s -9 nginx的进程号这样不太好,程序当然有设计关闭/usr/local/nginx/sbin/nginx -s stop如何重启重启命令和关闭命令类似/usr/local/nginx/sbin/ngin原创 2021-01-26 23:28:59 · 103 阅读 · 2 评论 -
Linux 脚本知识,万能的操作系统
Linux脚本脚本是非常有用的工具,因为可以直接执行很多命令,按照计划的执行,而不用手动去一个一个执行但是为啥只有bash脚本火呢?PHP脚本,python脚本呢?这个只能说亲生的肯定更有优势。所有的Linux机器都支持bash脚本,但不一定支持PHP,python,所以黑客肯定是学这个啊脚本基础基本的脚本开头都是这样的#!/bin/bash这个其实我们知道#在脚本中是注释的作用,那为啥要这个呢?因为执行的时候,默认会读取第一行,如果满足这个语法,就表示使用/bin/bash来执行我的脚本原创 2021-01-24 15:03:57 · 157 阅读 · 0 评论 -
码云 Jenkins 实现自动打包部署
Jenkins安装完成(-.-咳咳,虽然上篇文章,才刚发,说有时间下次写,但是我好像要用,还是现在写吧)码云使用教程就不写了,其实所有的git服务器都是一样的功能,就是本地git仓库的功能。。。所以一通全通,作用只是方便你随时能够下载,功能可能加上身份验证,让你可以做一些限制措施,一般公司都是搭建自己的git服务器,毕竟互联网公司连个自己的git服务器都没有是不是显得不够专业。。。但是,个人开发就洒洒水啦,没必要,搞也可以,后面有时间搞(这句话好像似曾相识。。。),开搞教程教程里面讲的详细,我只原创 2021-01-24 11:55:03 · 809 阅读 · 0 评论 -
jenkins 安装 docker方式 踩坑教程
docker Jenkins 踩坑教程原创 2021-01-23 16:47:50 · 202 阅读 · 0 评论 -
Docker
效率就是赚钱的途径,你多出来的时间就是价值和收益以安装redis为例已安装docker images检索软件docker search redis安装docker install redis查看运行软件docker ps启动软件docker run -d -p 6379:6379 --name redis --restart=always redis-d是后台运行,第一个redis 是自己取得名字,最后的redis是你的镜像名称–restart=always 表示的是.原创 2021-01-21 22:23:48 · 62 阅读 · 0 评论