自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 idea自动生成serialVersionUID

idea自动生成serialVersionUIDidea可以为实现序列化接口的类生成serialVersionUID,路径:File–>settings–>Editor–>Inspections–>Serialization issues->Serializable class without ’serialVersionUID’界面如下图:点击应用并保...

2020-02-05 11:55:56 236

原创 Java可变参数

Java可变参数定义:Java1.5开始增加的特性:可变参数,适用于参数个数不确定,类型确定的场景,java把可变参数当做数组处理。可变参数特点:可变参数必须位于最后。…位于可变参数变量类型和变量名之间。一个参数列表中至多有一个可变参数。编译器会把最后一个可变参数的形参转化为数组形参。使用: public static void main(String[] args) ...

2020-01-02 09:13:24 191

原创 java list分组操作

list分组操作Guava包提供了对list进行分组操作的方法 Lists.partition(List<T> list, int size)。目的:将 list 按照指定的长度进行分割,返回一个新的List<List>集合。举例: public static void main(String[] args) { // 新建一个list ...

2019-12-31 08:58:43 1050 1

原创 Stream流操作

流操作Java 8 的 Stream 流操作是 Java 8 对集合操作功能的增强,方便对集合筛选、 排序、聚合等。借助 Lambda 表达式,提高编程效率和可读性。Stream并不会去存储元素,而是负责相关计算,使用起来更像一个高级的迭代器。由于 Stream 流提供了惰性计算和并行处理的能力,在使用并行计算方式时数据会被自动分解成多段然后并行处理,最后将结果汇总。所以 Stream 操作可以...

2019-12-19 09:32:34 364

原创 Optional

项目中有时候有时候会遇到空指针的问题,我们可以使用Optional 类来尽量避免空指针的问题。Optional常用方法:Optional.of(T value)传入的值不能为 nullOptional.ofNullable(T value) 支持传入 null 值的 optionalisPresent() 方法检查Optional其中是否有值,返回布尔值get()方法...

2019-12-17 19:38:06 165

原创 String.join()

String.join()场景:项目里我们经常需要用一个特定的字符拼接字符串,用StringBuilder或者StringBuffer去拼接字符串,并且去判断集合里是不是最后一个,如果是最后一个,则后面不加符号。Java 1.8提供了String.join方法可以直接去以特定字符拼接字符串,简单方便。public static void main(String[] args) { ...

2019-12-17 18:53:11 153

原创 Lambda 表达式

Lambda 表达式,也可称为闭包, 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。使用 Lambda 表达式可以使代码变的更加简洁紧凑。Lambda 的语法:(参数) -> expression(参数) -> { statements; }Lambda 的语法特性使用->分割 Lambda 参数和处理语句可选类型声明(不需要声明参数类型,...

2019-12-17 11:34:12 144

原创 LocalDate比较大小及加减操作

简单的介绍一下LocalDate之间比较大小,对LocalDate做加减操作,LocalTime和LocalDateTime与LocalDate同理。直接上代码:public static void main(String[] args) { // 获取当前LocalDate LocalDate localDate1 = LocalDate.now(); ...

2019-12-16 17:04:38 26069

原创 LocalDateTime与Date互相转换

Date可以与LocalDate、LocalTime、LocalDateTime 互相转换,以LocalDateTime 为例:Date转化成LocalDateTimepublic static void main(String[] args) { Date date = new Date(); Instant instant = date.toInstant(...

2019-12-15 20:31:24 1011

原创 DateTimeFormatter格式化日期

DateTimeFormatter格式化日期JDK8提供了线程安全的 DateTimeFormatter 日期格式化工具类来替换线程不安全的 SimpleDateFormat,下面简单的介绍一下如何使用DateTimeFormatter去格式化日期以及解析特定格式的文本。直接上代码:public static void main(String[] args) { // 格式...

2019-12-15 11:37:28 3746 1

原创 idea项目开发利器

项目开发利器Alibaba Java Coding Guidelines 代码质量管理Maven Helper 分析依赖冲突插件,此插件可用来方便显示maven的依赖树Properties to YAML Converter 把Properties配置文件改为 YAML 格式文件codehelper.generator 快速生成setter方法,xml...

2019-12-15 10:46:38 234

原创 RabbitMQ队列的常用属性

RabbitMQ队列的常用属性RabbitMQ创建队列界面:RabbitMQ常用队列属性有以下几种:标签Arguments含义缩写Message TTLx-message-ttl队列中所有消息的过期时间TTLAuto expirex-expires队列生存期(毫秒)内没有被使用就会自动删除ExpMax lengthx-max-length...

2019-12-12 19:33:52 1884

原创 fastjson自动过滤null值解决方案

fastjson转换字符串自动过滤value为null的问题背景:使用 JSON.toJSONString(Object object)的时候发现打印出来的字符串少了几个字段,以为代码没走相应的逻辑,发现少的都是value为null的字段,发现是fastjson自动把value为null的字段过滤了。解决办法:设置SerializerFeature序列化属性 SerializerFeatu...

2019-12-12 09:37:18 2916

原创 String.valueOf(Object obj)参数是null保存的是字符串“null”

背景:线上发现当某个字段返回是null时候,保存到数据库的是字符串"null",正常需要保存的应该是null。看代码发现代码里用了一个方法 String a = String.valueOf(Object obj),然后返回a,问题在 String.valuOf(Object obj)这里。JDK1.8 String.valueOf(Object obj)源码:public static ...

2019-12-12 09:02:59 351

原创 Java 8日期处理类 LocalDate、LocalTime 、LocalDateTime

Java 8日期处理类 LocalDate、LocalTime 、LocalDateTimeJava 8里添加了许多的新特性,其中增加了对日期处理的类 LocalDate、LocalTime 、LocalDateTime ,性能更好并且线程安全。LocalDate : 对年月日的日期对象进行处理(不可变并且线程安全);LocalTime :对时分秒的时间对象进行处理(不可变并且线程安全...

2019-12-10 20:03:31 220

原创 cherry MX board 8.0 怎么打开和锁定WIN/APP键

cherry MX board 8.0 怎么打开和锁定WIN/APP键问题描述:cherry机械键盘连接笔记本电脑,机械键盘win快捷键不能使用,但是笔记本键盘能使用,发现机械键盘win键和APP键灯不亮,被锁定。解锁方法cherry MX board 8.0 打开和锁定 WIN/APP 键:Fn + F9 键,锁定和打开 win/app 键。...

2019-12-08 12:19:18 22638 2

原创 RabbitMQ控制台创建延迟队列

RabbitMQ控制台创建延迟队列方法:控制台Queues下面:Add a new queue,参数如图:属性释义:x-dead-letter-exchange:设置变成死信队列后发送的交换机direct_exchange_test。x-dead-letter-routing-key:死信路由键,死信重新按照指定的routing-key queue_test_send_key1 发送。...

2019-12-06 09:12:30 1686

原创 idea 调试代码过了断点后如何重回到断点处

idea 调试代码过了断点后重回到断点处idea调试程序的有时候会过了断点某个方法后想进入之前的方法调试,不想待执行完整个方法后再重新调用,可以使用Drop frame重回第一个断点处。方法:debugger控制台选中方法右键选择 Drop frame,点击后,将返回到当前方法的调用处重新执行,并且所有上下文变量的值也回到首次断点处的值。如图:此时,程序运行到第46行,点击Drop f...

2019-12-05 19:11:03 8142

原创 RabbitMQ控制台如何新建一个Exchange

Exchange 有四种类型:direct、topic、fanout、headersDirect :交换机会将消息中的Routing key与该Exchange所有Binding中的Routing key进行匹配,如果相等,就发送到该Binding对应的Queue中。Fanout :交换机会将接收到的消息发送给所有与之绑定的队列。Topic :将消息中的Routing key与该Excha...

2019-12-05 11:13:56 4416

原创 RabbitMQ之死信队列

RabbitMQ之死信队列rabbitMq没有提供延时队列的方法,我们可以利用TTL和DLX来实现延时队列功能。死信队列DLX(Dead-Letter-Exchange),利用DLX,当消息在一个队列中变成死信 (dead message) 之后,能被重新发布到另一个交换机(Exchange),这个交换机就是DLX。消息变成死信的几种情况消息被拒绝(basic.reject/ basi...

2019-12-04 19:37:15 99

原创 常用linux命令

常用linux命令tail 命令tail notes.log 显示 notes.log 文件的最后 10 行tail -n 100 notes.log 显示最后100行数据tail -f notes.log 跟踪名为 notes.log 的文件的增长情况,会把notes.log 文件里的最尾部...

2019-12-04 08:28:16 107

原创 idea添加类注释模板

idea添加类注释模板idea新建类的时候自动添加作者,日期描述,版本等信息路径: File–>settings–>Editor–>File and Code Templates–>Files–>Class添加自己定制的模板,如:/** * @author 尼古拉斯 * @Date ${DATE} ${TIME} * @Description desc...

2019-12-03 09:29:00 132

原创 fastjson解析json文本

fastjson解析json文本背景:项目中经常会用到解析JSON文本,有的同事特别依赖公司自己封装的工具类,离开了工具类就不知道怎么去解析,下面简单的介绍一下用阿里的fastjson去解析文本引入Maven依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>fa...

2019-12-03 09:07:33 1538

原创 idea怎么解决properties文件乱码的问题

idea怎么解决properties文件乱码的问题idea项目里properties文件注释经常出现注释乱码的问题,如下:针对于这种情况,idea可以通过设置自动转换ASCII编码,解决properties文件中文注释乱码的问题。路径: File–>Setting–>Editor -->File Encoding–>Transparent native-to-as...

2019-12-02 09:03:21 987

原创 idea怎么设置为黑色背景

更改idea背景色Intellij idea默认白色背景主题,可以自己设置护眼的黑色主题:Darcula为黑色主题路径:File–>Setting–>Appearance&Behavior–>Appearance–>Theme(Darcula)设置选项界面如下图:Theme设置为Darcula,点击应用即可:...

2019-11-28 19:37:36 7230

原创 mybatis之choose标签

mybatis之choose标签choose标签作用:按顺序判断其内部when标签中的test条件出否成立,如果有一个成立,则 choose 结束,当 choose 中所有 when 的条件都不满足时,则执行 otherwise 中的sql。类似于Java 的 switch 语句,choose 为 switch,when 为 case,otherwise 则为 default。格式: &...

2019-11-28 09:20:37 1019

原创 mybatis之foreach标签

mybatis之foreach标签作用:foreach可以遍历对象,集合,数组,map等;当传入参数为数组或者集合时需要通过<foreach></foreach>标签进行遍历。<foreach collection="list" index="index" item="item" open="(" separator="," close=")">#{it...

2019-11-27 09:50:08 533

原创 git stash解决冲突

暂存方式解决冲突:情景:当你不想提交本地未完成的代码,又需要从远程仓库拉下来最新的代码但拉不下来时(也就是从git上面拉取代码和本地文件有冲突),可以采取git stash暂存的方式,拉取下来之后解决冲突。使用:git stash 暂存本地仓库的代码(进入暂存区)git pull 拉取新代码git stash pop 合并远程和本地的代码git diff -w ...

2019-11-27 08:51:43 1606 2

原创 解决解析JSON字符串数组多层引号问题

解决解析字符串数组多层引号问题问题描述:开发过程中遇到解析JSON的时候解析出来的字符串数组带有双层引号,导致数据不匹配,例如下面JSON list数组的第一个元素 "232ed6e1878e456cb990d496c282badd",解析出来为""232ed6e1878e456cb990d496c282badd""。待解析的JSON参数:{ "list": [ "...

2019-11-26 08:55:50 4507

原创 git新建分支与分支合并

新建分支切换到源分支并拉取最新代码’git pull(就是你想从哪个分支新建分支)比如:mastergit branch branchName 新建分支git checkout branchName 切换到分支进行开发git push origin branchName 推送到远程仓库git branch --set-upstream-to=origin/branchName ...

2019-11-25 15:42:00 303

原创 git tag使用

Git tagGit标签可以对某一时间点的版本做标记,通常在发布版本的时候打一个tag,tag会记录版本的commit号,方便后期使用。查看本地所有的taggit tag查看远程所有taggit ls-remote 或git ls-remote --tags给当前分支打taggit tag tag_name给特定的某个commit版本打标签git tag tag_name...

2019-11-25 14:36:51 242

原创 markdown用法总结

markdown简介:Markdown 是一种轻量级标记语言,便于我们使用简单的纯文本格式来编写格式化的文档。Markdown 编写的文档可以导出PDF、Word、 HTML 、图片、Textile等多种格式的文档。Markdown 标题​ 使用 # 号可表示 1-6 级标题,一级标题对应一个 # 号,二级标题对应两个 # 号,以此类推。Typora快捷键:Ctrl+1 :一级标题C...

2019-11-22 21:32:31 760

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除