自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 IntelliJ IDEA好用的插件:笔记

RestfulToolKit简单来说就是一个用来测试遵循Restful风格接口方法的插件工具,使得我们可以不用离开IDEA界面就可以完成接口测试工作。快速定位接口所在代码文件RestfulToolKit插件还有一个快捷键搜索功能,使用快捷键Ctrl+\或者Ctrl+Alt+N可以模糊匹配搜索的接口方法,定位到该接口方法所在的文件!......

2022-07-27 14:26:45 5990 2

转载 JVM内存溢出和内存泄漏的区别

程序运行结束后,没有释放 所占用的内存空间。一次内存泄漏 似乎不会有大的影响,但内存泄漏 不断累积,最终可用内存会变得越来越少。比如说,总内存大小是100 MB,有40MB的内存一直无法回收,那么可用的只有60MB 。这40MB的就是内存泄漏。内存泄漏,就是程序运行结束后,没有释放的内存。程序运行时,在申请内存空间时,没有足够的内存空间供其正常使用,程序运行停止,并抛出 out of memory 。比如程序运行时申请了一个10MB 空间, 但是当前可用内存只有5MB,程序无法正常执行,这就是内存溢出。

2022-07-06 14:33:13 4666

转载 MySQL组合索引(多列索引)使用与优化

我们经常听到一些人说"把WHERE条件里的列都加上索引",其实这个建议非常错误。在多个列上建立单独的索引大部分情况下并不能提高MySQL的查询性能。MySQL 在5.0之后引入了一种叫“索引合并”(index merge)的策略,一定程度上可以使用表上的多个单列索引来定位指定的行。但是当服务器对多个索引做联合操作时,通常需要耗费大量CPU和内存资源在算法的缓存、排序和合并操作上,特别是当其中有些索引的选择性不高,需要合并扫描大量的数据的时候。这个时候,我们需要一个多列索引。利用存储过程插入1000w

2022-07-04 08:58:25 6845

转载 什么是OOM,为什么会OOM及一些解决方法

OOM,全称“Out Of Memory”,翻译成中文就是“内存用完了”,来源于java.lang.OutOfMemoryError。看下关于的官方说明: Thrown when the Java Virtual Machine cannot allocate an object because it is out of memory, and no more memory could be made available by the garbage collector. 意思就是说,当JVM因为没有足够的

2022-07-03 16:16:32 1920 1

转载 Java四种引用类型:强引用、弱引用、软引用和虚引用

Java 的垃圾回收器机制 GC,GC 算是 Java 的一大特点,我们都知道 C 语言是不能自动释放内存的需要程序员去操作的,而 Java 自带的垃圾回收机制是能够帮助程序员自动释放内存的。GC:是Java自带的垃圾回收器,它是运行在独立的,优先级比较低的线程中,时刻都在检测与释放无用的内存,那是如何判断它是否有用,主要用的较多的判断方式就是引用计数。Java 执行 GC 判断对象是否存活有两种方式其中一种是引用计数。在 JDK 1.2 以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对

2022-07-02 17:50:48 430

原创 Java实现List集合的排序:Comparator接口、Collections.sort()方法、stream().sorted()方法的使用

Java 提供的 List 接口继承了 Collection 接口,因此包含 Collection 中的所有方法。List 是有序集合,允许有相同的元素。ArrayList 是List 接口的一个实现类,它实现了可变大小的数值,允许所有元素,包括 null,并可以根据索引位置对集合进行快速的随机访问。下面将通过实例来实现使用 Comparator 接口、Collections.sor() 方法、stream().sorted() 方法实现集合的排序。Comparator 接口、Collections

2022-03-25 17:23:13 8274

原创 Java实现TreeMap集合的排序:Key键的升序与降序、Value值的排序

Java 提供的 Map 接口常用的实现类有 HashMap 和 TreeMap。HashMap 类实现的 Map 集合对于添加和删除映射关系效率更高。HashMap 通过哈希码对其内部的映射关系进行快速查找;而 TreeMap 中的映射关系存在一定的顺序,如果希望 Map 集合中的对象也存在一定的顺序,应该使用 TreeMap 类实现 Map 集合。下面将通过实例来实现Map 接口中的 TreeMap 集合按照 Key 键的升序与降序,按照 Value 值的排序。(1)创建用户信息实体类/.

2022-03-20 17:25:47 19000 3

原创 Java使用System.currentTimeMillis()方法计算程序运行时间

Java 中提供的 System.currentTimeMillis() 方法用于获取当前的计算机时间,时间的表达格式为当前计算机时间和 GMT 时间(格林威治时间)1970年1月1号0时0分0秒所差的毫秒数。System.currentTimeMillis() 方法的返回类型为 long ,表示毫秒为单位的当前时间。在开发过程中,通常很多人都习惯使用 new Date() 来获取当前时间。new Date() 所做的事情其实就是调用了 System.currentTimeMillis()方法。如果

2022-03-10 18:02:37 15972 1

原创 Java程序的初始化顺序、static{}静态代码块和实例语句块的使用

在 Java 语言中,当实例对象时,对象所在类的所有成员变量首先要进行初始化,只有当所有类成员完成初始化后,才会调用对象所在的构造函数创建对象。Java 程序的初始化一般遵循以下三个原则:静态对象(变量)、非静态对象(变量)。 父类优先于子类进行初始化。 按照成员变量定义顺序进行初始化。Java 程序的初始化工作可以在许多不同的代码块中来完成,例如:静态代码块、实例语句块、构造函数等。1、普通类的执行顺序普通类的执行顺序为:静态代码块 → 实例语句块 → 构造函数。【示例】普通类的

2022-03-05 16:35:08 2274

原创 Linux/Ubuntu应用笔记

1、安装 Gnome 桌面1、切换root用户su root2、安装 Gnome 软件apt install gnome-software2、LibreOffice 办公软件LibreOffice 是一款功能强大的办公软件,默认使用开放文档格式 (OpenDocument Format , ODF), 并支持 *.docx, *.xlsx, *.pptx 等其他格式。它包含了 Writer, Calc, Impress, Draw, Base 以及 Math 等组件,可用于处理文

2021-11-17 12:08:55 540

原创 SpringBoot拦截器的配置并实现用户登录校验

在系统中,经常需要在处理用户请求之前和之后执行一些行为,例如检测用户的权限,或者将请求的信息记录到日志中。当然不仅仅这些,所以需要一种机制,拦截用户的请求,在请求的前后添加处理逻辑。SpringMVC提供了Interceptor拦截器机制,用于请求的预处理和后处理。在SpringMVC中定义一个拦截器有两种方法:第一种是实现HandlerInterceptor接口,或者继承实现了HandlerInterceptor接口的类(例如:HandlerInterceptorAdapter);第二种方法时实现Sp

2021-10-11 17:21:31 15096 2

原创 SpringBoot通过重写WebMvcConfigurer配置接口中的addViewControllers方法实现页面跳转

WebMvcConfigurer 配置接口其实是 Spring 内部的一种配置方式,采用 JavaBean 的形式来代替传统的 XML 配置文件形式进行针对框架个性化定制,可以自定义一些 Handler,Interceptor,ViewResolver,MessageConverter。基于 java-based 方式的 Spring MVC 配置,需要创建一个配置类并实现 WebMvcConfigurer接口。了解WebMvcConfigurer配置接口的详解:请浏览本博客的文章:《Sprin.

2021-09-01 16:58:11 3027 1

转载 SpringBoot中的WebMvcConfigurer配置接口的详解

1. 简介WebMvcConfigurer 配置接口其实是 Spring 内部的一种配置方式,采用 JavaBean 的形式来代替传统的 XML 配置文件形式进行针对框架个性化定制,可以自定义一些 Handler,Interceptor,ViewResolver,MessageConverter。基于 java-based 方式的 Spring MVC 配置,需要创建一个配置类并实现 WebMvcConfigurer接口。

2021-09-01 15:27:01 3052

原创 SpringCloud实现一个微服务系统

Spring Cloud 是一系列框架的有序集合。它利用 Spring Boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 Spring Boot 的开发风格做到一键启动和部署。1、服务中心一个完整的微服务系统需要用“服务中心”来统一治理服务。“服务中心”又称作“注册中心”或“服务治理框架”,其主要功能包括服务的注册、服务的发现等。本实例使用 Consul 框架来实现服务治理。Consul 是由 HashiCor

2021-06-24 18:35:00 1102 1

原创 IDEA创建SpringCloud项目(使用SpringAssistant插件)

IDEA 功能强大,可以用来高效的开发应该程序。它还支持第三方插件、用户可以根据需要添加自己喜欢的插件。下面介绍如何使用 IDEA 创建 Spring Cloud 项目。1、配置 IDEA 的 Maven 环境单击菜单栏中的 File →Settings→Build, Execution, Deployment→Build Tools→Maven 菜单,在弹出的设置窗口中设置 Maven 路径信息,如下图:2、安装Spring Assistant 插件创建 Spring ...

2021-06-23 16:22:30 3271

原创 Consul在Windows系统下的安装与启动

1、Consul的简介Consul 是由 HashiCorp 公司推出的一款开源工具,用于实现分布式系统的服务发现与服务配置。它内置了服务注册与发现框架、分布一致性协议实现、健康检查、Key-Value 存储、多数据中心方案。Consul 使用 GO 语言编写,因此天然具有可移植性(支持 Linux、Windows 和 Mac OS X)。其安装包仅包含一个可执行文件,方便部署,可与 Docker 等轻量级容器无缝配合。2、Consul的安装要实现Consul “服务中心” 功能,需..

2021-06-05 11:14:08 2972

原创 SpringBoot整合Elasticsearch与综合实例(二):搜索、分页、排序

Elasticsearch 是一个分布式、可扩展、近实时的高性能搜索与数据分析引擎。Elasticsearch 基于 Apache Lucene 构建,采用 Java 编写,并使用 Lucene 构建索引、提供搜索功能。Elasticsearch 的目标是让全文搜索功能的落地变得简单。本文是SpringBoot整合Elasticsearch与综合实例的第二篇,主要实现SpringBoot整合Elasticsearch实现搜索、分页、排序的相关操作。SpringBoot整合Elasticsearch

2021-05-15 15:57:44 2516 2

原创 SpringBoot整合Elasticsearch与综合实例(一):索引、文档

Elasticsearch 是一个分布式、可扩展、近实时的高性能搜索与数据分析引擎。Elasticsearch 基于 Apache Lucene 构建,采用 Java 编写,并使用 Lucene 构建索引、提供搜索功能。Elasticsearch 的目标是让全文搜索功能的落地变得简单。本文是SpringBoot整合Elasticsearch与综合实例的第一篇,主要实现SpringBoot整合Elasticsearch实现索引和文档的相关操作。SpringBoot整合Elasticsearch与综合

2021-05-13 15:54:30 1321

原创 Elasticsearch基本操作:索引、文档、搜索

1、索引在Elasticsearch 中开始为数据建立索引之前要做的第一步操作是创建——我们的数据主要容器。这里的索引类似于 SQL 中的数据库概念。它是类型(相当于 SQL 中的表)和文档(相当于 SQL 中的记录)的容器。存储数据的行为叫作索引。在Elasticsearch 中,文档会归属于一种类型,这些类型会存在于索引中。Elasticsearch 集群和数据库中核心概念的对应关系如下:Elasticsearch 集群 关系型数据库 索引 数据库 类型 表..

2021-05-10 11:36:35 3359 3

原创 Elasticsearch映射类型keyword与text的区别

1、keyword 类型keyword 类型:存储数据时候,不会分词建立索引,支持模糊、支持精确匹配;支持聚合、排序操作。keyword 类型的最大支持的长度为——32766个UTF-8类型的字符,可以通过设置 ignore_above 指定自持字符长度,超过给定长度后的数据将不被索引,无法通过 term 精确匹配检索返回结果。使用场景: 存储邮箱号码、url、name、title,手机号码、主机名、状态码、邮政编码、标签、年龄、性别等数据。 用于筛选数据(例如: select * from x

2021-05-06 15:48:35 1347

原创 Elasticsearch映射类型

字段类型必须映射到Elasticsearch 的基本类型之一,并且需要添加有关如何索引字段的选项。1、Elasticsearch映射类型字段类型 Elasticsearch 类型 说明 string,varchar keyword 这是不可标记的文本字段,例如 CODE001 string,varchar,text text 这是要标记化的文本字段,例如 a nice text integer integer 这是一个整型(32位),例如.

2021-05-06 15:38:43 1926

原创 Elasticsearch使用Java初始化高级客户端(RestHighLevelClient类)

目前,官方计划在Elasticsearch 7.0 版本中关闭 TransportClient,并且在8.0版本中完全删除TransportClient。作为替代品,我们应该使用高级客户端。高级客户端可以执行 HTTP 请求,而不是序列化 Java 请求。高级客户端的主要目标是公开特定的 API 方法,这些 API 方法将接收请求作为参数并返回响应结果,以便由客户端本身处理请求和响应结果。【示例】Elasticsearch使用Java初始化高级客户端。(1)创建第一个 SpringBoot ..

2021-04-08 15:04:01 2879

原创 Elasticsearch安装与使用IK中文分词器

1、简介IKAnalyzer 是一个开源的,基于 Java 语言开发的轻量级的中文分词工具包。从2006年12月推出1.0版开始,IKAnalyzer 已经推出了3个大版本。最初,它是以开源项目 Luence 为应用主体的,结合词典分词和文法分析算法的中文分词组件。 最近刚刚发布了 3.1.1Stable 稳定版本,新版本的 IKAnalyzer 则发展为面向 Java 的公用分词组件,独立于 Lucene 项目,同时提供了对 Lucene 的默认优化实现。2、安装IK中文分词器下载IK.

2021-03-26 17:56:29 494

原创 Kibana在Windows系统下的安装

1、Kibana的简介Kibana 是一个开源的分析与可视化平台,设计出来用于和 Elasticsearch 一起使用的。你可以用 Kibana 搜索、查看存放在 Elasticsearch 中的数据。Kibana 与 Elasticsearch 的交互方式是各种不同的图表、表格、地图等,直观的展示数据,从而达到高级的数据分析与可视化的目的。Elasticsearch、Logstash 和 Kibana 这三个技术就是我们常说的 ELK 技术栈,可以说这三个技术的组合是大数据领域中一个很巧妙的设计。一

2021-03-06 15:48:26 8461 2

原创 Elasticsearch在Windows系统下的安装

Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口。Elasticsearch 是用 Java 语言开发的,并作为 Apache 许可条款下的开放源码发布,是一种流行的企业级搜索引擎。在使用Elasticsearch 之前,我们需要安装Elasticsearch。下面介绍Elasticsearch 在 Windows 系统下的安装方法。由于Elasticsearch 依赖 Java 环境,因此首先需要...

2021-03-03 15:56:24 12704 4

原创 Hutool是一个小而全的Java工具类库

1、Hutool简介Hutool 是一个小而全的 Java 工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使 Java 拥有函数式语言般的优雅,让 Java 语言也可以“甜甜的”。Hutool 中的工具方法来自每个用户的精雕细琢,它涵盖了 Java 开发底层代码中的方方面面,它既是大型项目开发中解决小问题的利器,也是小型项目中的效率担当;文档官方网站中文文档API文档包含组件一个 Java 基础工具类,对文件、流、加密解密、转码、正则、线程、XML等

2021-02-23 16:03:18 9173 1

原创 SpringBoot整合RabbitMQ实现消息的发送与接收

RabbitMQ 是采用 Erlang 语言实现 AMQP(Advanced Message Queuing Protocol,高级消息队列协议)的消息中间件,用于在分布式系统中存储转发消息。RabbitMQ 凭借其高可靠、易扩展、高可用及丰富的功能特性收到越来越多企业的青睐。【实例】SpringBoot整合RabbitMQ实现消息的发送与接收。实例要求:实现SpringBoot整合RabbitMQ框架。 实现RabbitMQ消息确认机制(ACK)。 实现RabbitMQ消息队列延迟功能。

2021-02-02 17:30:49 5838 7

原创 RabbitMQ实现JSON、Map格式数据的发送与接收

RabbitMQ 是目前非常热门的一款消息中间件,不管是互联网行业还是传统行业都在大量地使用。RabbitMQ 凭借其高可靠、易扩展、高可用及丰富的功能特性收到越来越多企业的青睐。在实现的项目开发中,经常使用Json、Map格式数据。下面将介绍RabbitMQ实现Json、Map格式数据的发送与接收。(1)创建SpringBoot 项目,并整合 RabbitMQ框架在pom.xml配置信息文件中,添加相关依赖文件:<!-- AMQP客户端 --><dependency&g.

2021-02-01 17:01:49 10692 6

原创 RabbitMQ消息确认机制(ACK)

1、消息确认机制(ACK)为了保证消息从队列可靠的达到消费者,RabbitMQ 提供了消息确认机制(Message Acknowledgement)。消费者在订阅队列时,可以指定 autoAck 参数,当 autoAck 参数等于 false 时,RabbitMQ 会等待消费者显式地回复确认信号后才从内存(或者磁盘)中移除消息(实际上是先打上删除标记,之后在删除)。当 autoAck 参数等于 true 时,RabbitMQ 会自动把发送出去的消息置为确认,然后从内存(或者磁盘)中删除,而不管消费者是否

2021-01-25 16:58:26 35404 18

原创 RabbitMQ重试机制

1、RabbitMQ重试机制的简介RabbitMQ 不会为未确认的消息设置过期时间,它判断此消息是否需要重新投递给消费者的唯一依据是消费该消息连接是否已经断开,这个设置的原因是 RabbitMQ 允许消费者消费一条消息的时间可以很久很久。RabbitMQ 的 Web 管理平台上可以看到当前队列中的 “Ready” 状态和 “Unacknowledged” 状态的消息数,分别对应等待投递给消费者的消息数和已经投递给消费者但是未收到确认信号的消息数。如下图:注意事项:如果在处理消息的过程中

2021-01-23 13:31:09 8450 3

原创 RabbitMQ删除Queue队列的方法

本文将介绍 RabbitMQ 如何删除 Queue 队列和 Exchange 交换器的方法。1、删除 Queue 队列1.1 使用 RabbitMQ 管理页面(1)在浏览器中输入地址:http://localhost:15672/用户名称:guest登录密码:guest(2)进入RabbitMQ 管理页面后选择 “Queues 页签”,然后在队列列表中点击需要删除的 Queue 队列名称。如下图:(3)点击 “删除队列” 按钮,即可删除该队列信息。如下图:1...

2021-01-23 13:28:40 13999 1

原创 RabbitMQ交换器类型(Direct、Topic、Fanout、Headers)与消息的发送/接收模式

1、RabbitMQ 交换器类型RabbitMQ 常用的交换器类型有Direct、Topic、Fanout、Headers 这四种。AMQP 协议里还提到另外两种类型:System 和自定义,这里不予描述。对于这四种类型下面一一阐述。1.1Direct类型Direct类型的交换器由路由规则很简单,它会把消息路由到那些 BindingKey 和 RoutingKey 完全匹配的队列中。Direct Exchange 是 RabbitMQ 默认的交换器模式,也是最简单的模式。它根据Ro...

2021-01-19 17:28:17 5569 2

原创 RabbitMQ实现消息队列延迟功能

要实现延迟功能,一般使用RabbitMQ 的消息队列延迟功能,即采用官方提供的插件 “rabbitmq_delayed_message_exchange” 来实现。但RabbitMQ 版本必须是 3.5.8 以上才支持该插件,否则得用其“死信”功能。1、安装RabbitMQ延迟插件(1)检查插件使用 rabbitmq-plugins list命令用于查看RabbitMQ安装的插件。打开一个新的cmd窗口(按快捷键“Win+R”,输入“cmd”)。运行命令:rabbitmq-plug...

2021-01-16 17:37:24 7708 1

原创 Java使用RabbitMQ发送和接收消息

RabbitMQ 是采用 Erlang 语言实现 AMQP(Advanced Message Queuing Protocol,高级消息队列协议)的消息中间件,它最初起源于金融系统,用于在分布式系统中存储转发消息。RabbitMQ 凭借其高可靠、易扩展、高可用及丰富的功能特性收到越来越多企业的青睐。下面介绍Java中如何使用RabbitMQ生产和消费消息。使用Maven添加依赖文件在pom.xml配置信息文件中,添加 RabbitMQ 客户端依赖:<!-- RabbitMQ客户端 --&

2020-12-31 16:30:44 4590 1

原创 RabbitMQ在Windows系统下的安装

RabbitMQ 是目前非常热门的一款消息中间件,不管是互联网行业还是传统行业都在大量地使用。RabbitMQ 凭借其高可靠、易扩展、高可用及丰富的功能特性收到越来越多企业的青睐。下面将介绍 RabbitMQ 在 Windows 系统下的安装。1、安装ErlangRabbitMQ 是由 Erlang 语言编写的,也正因如此,在安装RabbitMQ 之前需要安装Erlang。建议采用较新版本的Erlang,这样可以获得较多更新和改进。1.1 下载并安装Rrlang官方下载地址:http...

2020-12-31 11:46:22 456

原创 Redis通配符Key的使用并实现字符串(String)和哈希(Hash)的批量删除

1、Redis的通配符在 Redi s中,允许使用模糊查询 key。Redis 支持3种通配符: *、?、[ ]*:通配任意多个字符。?:通配单个字符。[ ]:通配括号内的某1个字符。2、Redis Keys 命令Redis 中的 Keys 命令:用于查找所有符合给定模式 pattern 的 key。返回值:符合给定模式的 key 列表 (Array)。【示例】Redis 中使用 Keys 命令和通配符进行查询。3、Java中使用Redis通配符R..

2020-12-23 17:21:53 8374

原创 SpringBoot整合Redis并实现Redis工具类

Redis 是用 C 语言开发的一款开源的、高性能的键值对存储数据库。它采用 BSD 协议,为了适应不同场景下的存储需求,提供了多种键值对类型,到目前为止 Redis 数据库支持5种数据类型,分别是String(字符串)、Hash(哈希)、List(列表)、Set(集合)、Sorted Set(有序集合)。Redis 是目前使用最广泛的内存数据存储系统之一。它支持更丰富的数据结构,支持数据持久化、事务、HA(高可用 High Available)、双机集群系统、主从库。Redis是一款功能强大的数据库,

2020-12-22 17:37:20 1246

原创 Redis实现秒杀功能

在实际生活中,秒杀功能是比较常见的,如12306抢票、电商系统的秒杀活动等。所谓秒杀,从应用业务角度来看,是指在短时间内多个用户“争抢”某个资源,这里的资源在大部分秒杀场景里是商品;从技术角度来看,就是多个线程对资源进行操作。所以,要实现秒杀功能,就必须控制线程对资源的争夺,既要保证高效、并发,又要保证操作的正确性,符合实际业务需要。对于秒杀的优化思路有:写入内存。 实现多线程异步处理。 实现分布式处理。【实例】使用多线程的方式实现1000人秒杀100部手机的实例。(1)...

2020-12-21 17:27:55 1043

原创 Redis实现排行榜功能

在实际生活中,排行榜的例子随处可见,如考试成绩排名、商品销售排名、游戏等价或积分排名,以及热门文章或帖子的点赞数、访问量等相关的排名等。要实现一个排行榜功能,可以利用 Redis 有序集合(Sorted Set)类型中的相关命令。【示例】使用 Redis 的有序集合(Sorted Set)命令,根据博客积分进行排名,以及按照条件筛选博客。package com.pjb.ranking;import redis.clients.jedis.Jedis;import redis.clients.

2020-12-21 16:50:51 2474 1

原创 Java中BigDecimal的使用:加减乘除、四舍五入、比较大小、资金统计

Java在 java.math 包中提供的API类 BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。float和double只能用来做科学计算或者是工程计算,在商业计算中要用java.math.BigDecimal。BigDecimal所创建的是对象,我们不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是BigDecimal的对象

2020-12-19 17:36:53 3957 1

空空如也

空空如也

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

TA关注的人

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