判断Bigdecimal类型是否等于0的方法

https://blog.csdn.net/xingxiupaioxue/article/details/78055765

 

1.我之前用来判断Bigdecimal类型是否等于0的方法
b.equals(BigDecimal.ZERO);
用equals方法和BigDecimal.ZERO进行比较。
2.上面方法存在的问题
有一天,调用这个这句代码的时候,传入的确实是0,但却返回false
查看源代码发现:

Bigdecimal的equals方法不仅仅比较值的大小是否相等,首先比较的是scale(scale是bigdecimal的保留小数点位数,[……]

继续阅读

php

redis 五种数据结构详解(string,list,set,zset,hash)

http://www.cnblogs.com/sdgf/p/6244937.html

 

Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。

String——字符串
Hash——字典
List——列表
Set——集合
Sorted Set——有序集合

下面我们就来简单说明一下它们各自的使用场景:

一、Redis String类型

string类型的数据存储是最简单的key-value存储;

1.string字符串读写实现方式:

    public function te[......]

继续阅读

使用JMAP dump及分析dump文件

https://www.cnblogs.com/0616–ataozhijia/p/4136312.html

 

转载:http://blog.csdn.net/kevin_luan/article/details/8447896

http://liulinxia02.blog.163.com/blog/static/26868772009111861834942/

http://zhumeng8337797.blog.163.com/blog/static/100768914201242410583187/

 

其中jmap是java[……]

继续阅读

java.lang.OutOfMemory总结分析

https://www.cnblogs.com/fuhaots2009/p/3483429.html

 

OOM浅析

相信有一定java开发经验的人或多或少都会遇到OutOfMemoryError的问题,这个问题曾困扰了我很长时间,随着解决各类问题经验的积累以及对问题根源的探索,终于有了一个比较深入的认识。参照网上的一些解决方案,在这里加以整理。
在解决java内存溢出问题之前,需要对jvm(java虚拟机)的内存管理有一定的认识。jvm管理的内存大致包括三种不同类型的内存区域: Permanent Generation space(永久            保存区[……]

继续阅读

Java 内存溢出(java.lang.OutOfMemoryError)的常见情况和处理方式总结

http://outofmemory.cn/c/java-outOfMemoryError

 

java.lang.OutOfMemoryError这个错误我相信大部分开发人员都有遇到过,产生该错误的原因大都出于以下原因:JVM内存过小、程序不严密,产生了过多的垃圾。

导致OutOfMemoryError异常的常见原因有以下几种:

  1. 内存中加载的数据量过于庞大,如一次从数据库取出过多数据;
  2. 集合类中有对对象的引用,使用完后未清空,使得JVM不能回收;
  3. 代码中存在死循环或循环产生过多重复的对象实体;
  4. 使用的第三方软件中的BUG;
  5. 启动参[……]

    继续阅读

线上服务内存OOM问题定位三板斧

https://mp.weixin.qq.com/s?__biz=MjM5ODYxMDA5OQ==&mid=2651960342&idx=1&sn=9b2dbbb2cfd7710f25be1a0862a9b2be&chksm=bd2d01ca8a5a88dcc14608cb00e0dbde11869d053ee8c83bc96e7b4a0fbd71d28d7fbb009c98&mpshare=1&scene=1&srcid=0821vNW5OUio7lHSX9dnLSC2#rd

https://blog.csdn.net/chang[……]

继续阅读

听说又被 JVM 内存区域方面的面试题给虐了?看看这篇文章吧!

https://mp.weixin.qq.com/s/UGoa_H2Wyw7gT9bYXOaMtQ

 

本文转载自微信公众号:JavaGuide

基本问题

介绍下 Java 内存区域(运行时数据区)Java 对象的创建过程(五步,建议能默写出来并且要知道每一步虚拟机做了什么)对象的访问定位的两种方式(句柄和直接指针两种方式)

拓展问题

String类和常量池8种基本类型的包装类和常量池

一 概述

对于 Java 程序员来说,在虚拟机自动内存管理机制下,不再需要像C/C++程序开发程序员这样为内一个 new 操作去写对应的 delete/free 操作,不[……]

继续阅读

sql复合索引使用和注意事项

https://blog.csdn.net/mysevenyear/article/details/80522667

 

1、定义: 

单一索引:

单一索引是指索引列为一列的情况,即新建索引的语句只实施在一列上;

复合索引:

复合索引也叫组合索引;

用户可以在多个列上建立索引,这种索引叫做复合索引(组合索引)。

复合索引在数据库操作期间所需的开销更小,可以代替多个单一索引;

同时有两个概念叫做窄索引和宽索引,窄索引是指索引列为1-2列的索引,宽索引也就是索引列超过2列的索引;

设计索引的一个重要原则就是能用窄索引不用宽索引,[……]

继续阅读

简洁又快速地处理集合——Java8 Stream(下)

https://www.cnblogs.com/HowieYuan/p/9394552.html

 

上一篇文章我讲解 Stream 流的基本原理,以及它与集合的区别关系,讲了那么多抽象的,本篇文章我们开始实战,讲解流的各个方法以及各种操作

没有看过上篇文章的可以先点击进去学习一下 简洁又快速地处理集合——Java8 Stream(上),当然你直接看这篇也可以,不过了解其本身才能更融会贯通哦。

值得注意的是:学习 Stream 之前必须先[……]

继续阅读

以war形式部署springboot项目

https://springboot.io/t/topic/97

 

以war形式部署springboot项目

把springboot以war形式部署到Servlet容器

修改maven项目的打包方式

<packaging>war</packaging>

修改maven项目中,嵌入式Servlet容器的依赖范围

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starte[......]

继续阅读