自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

绅士jiejie的博客

复利是世界第八大奇迹!!!

  • 博客(13)
  • 收藏
  • 关注

原创 java8将list中实体类的两个字段转为Map

List<User> list = new ArrayList<>();Map<Integer, String> map = list.stream().collect(Collectors.toMap(User::getId, User::getType));

2021-02-23 21:55:16 5332 1

原创 求Decimal的相反数

只需要调用negate方法,示例代码:new BigDecimal(10).negate();

2021-02-22 20:55:31 1641

原创 java8集合转一对一map

List<User> users = getUserList();Map<Integer,User>=users.stream().collect(Collectors.toMap(user ->user.getId(), user -> user));

2021-02-22 20:54:01 482

原创 判断list集合对象中的字段是否存在某个值

if(list.stream().filter(item->item.getUserId().equals("123456")).findAny().isPresent()){//存在则代码块执行业务逻辑代码}

2021-02-21 20:20:53 18173

原创 mysql如果第一个表达式为null,则取第二个表达式的值

函数IFNULL(expression, alt_value) 可以满足以上需求,此时如果第一个参数的表达式 expression为NULL,则返回第二个参数alt_value作为备用值。

2021-02-21 20:15:07 3180

原创 Spring Boot切换日志实现为log4j2

修改pom.xml文件如下:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <!--排除logback--> <exclusion> <a

2021-02-20 22:07:24 288

原创 Spring Boot使用logback-spring.xml实现不同环境输出不同日志消息格式

Spring Boot项目的日志默认实现是logback,而logback-spring.xml与logback.xml这两个配置文件的不同之处在于logback-spring.xml配置文件是由SpringBoot来解析日志配置,所以可以配合application.properties配置文件中的spring.profiles.active属性的值来决定哪个环境输出哪种日志消息格式。参考代码如下:<encoder class="ch.qos.logback.classic.encoder.P

2021-02-20 22:02:48 904

原创 log4j2版本推荐使用2.6以上

因为log4j2从2.6版本开始,默认情况下以“无垃圾”模式运行,通过重用对象和缓冲区,尽可能的不分配临时对象,降低了GC频率。

2021-02-20 21:40:14 2245

原创 使用异步日志需要注意的问题

log4j2比logback的性能高,其中的一个关键点就是支持异步日志,Log4j2提供了两种实现日志的方式,一个是通过AsyncAppender,一个是通过AsyncLogger,而使用AsyncAppender方式,其实效率不会高很多,真正提高性能的是AsyncLogger,这也是官方推荐的异步方式。那么使用异步日志需要注意哪些问题?使用异步日志的话,AsyncAppender、AsyncLogger和全局日志,不要同时出现,否则性能会和AsyncAppender一致,降至最低。设置incl

2021-02-20 21:26:04 1298

原创 log4j.properties怎么转换成logback.xml

相比起log4j,logback的性能会高很多,那么使用logback替换log4j作为具体的日志实现,需要考虑的一个点,就是配置文件应该如何切换而不影响原来的逻辑,如果一点点的去匹配替换,那工作量还是很大的,这里提供一个网址log4j.properties to logback.xml Translator,进入该网站,如下:接着把原来的log4j.properties配置信息复制到截图中的空白框里,点击转换,就可以得到对应的logback.xml文件内容了,不过要注意的一点是,指定的消息格式内容还是

2021-02-20 20:54:19 879 1

原创 更换日志实现时报栈内存溢出

原来项目是用日志门面slf4j+log4j日志实现,现在日志实现要换成logback,但是原来的日志代码太多了,不可能一个个的去修改,所以引入了slf4j与log4j相关的日志桥接器依赖来兼容老代码,然后在启动项目时就报了栈内存溢出的错误。解决方法栈内存溢出的原因是因为产生了无限循环,解决方法是去掉slf4j与log4j相关的适配器依赖。...

2021-02-20 17:58:09 651

原创 分库分表的使用场景

分库分表虽然是连在一起说的,但是不是意味分库就伴随着分表,二者完全可以根据业务场景来针对使用。分库使用场景?分库,简单的理解,就是原来是一个数据库承载着业务,现在单库的性能已经无法满足要求了,所以就拆分出多个数据库来承载业务。所以系统瓶颈是出现在单库性能不足,那就可以采用分库来分担单库的压力。分表使用场景?单表如果数据量过大,那么事务的执行效率也会变得缓慢,此时使用分表来分担单表数据量过大的压力。总结阿里巴巴开发规范里也有说过,如果单表行数超过500万行或者单表容量超过2GB ,才推

2021-02-19 15:43:41 418 2

原创 from + size must be less than or equal to: [10000] but was [10550]

以上错误是ElasticSearch分页搜索时出现的,这是因为ES默认支持的最大条数就是10000条,深度分页导致总条数超过10000,就会报这个错。解决方法1.调整索引的配置项index.max_result_window,如下:PUT index_name/_settings{ "index.max_result_window":10000}调成符合自己业务的数字即可。2.从业务上限制一般来说,用户搜索大多是看前几页数据就好了,毕竟有个匹配分数,越后面的匹配度越低,即使是电商商

2021-02-02 21:31:31 2265

空空如也

空空如也

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

TA关注的人

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