适用人你还在为写Getter/Setter而烦恼吗?当你写完一个有参构造函数后发现还需要再写一个无参构造函数的时候是否有负面情绪产生?当你要使用日志对象时,发现还没有写很长一段的public static final Logger LOG = ******** 使你感到忧伤吗?那就一起来快乐地使用Lombok吧Lombok基于注解提供多种在编译时生产重复代码的便利服务,包括但不仅限于上文中所提到的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-22 16:42:30
                            
                                47阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            说在前面的话朋友,你经历过部署好的服务突然内存溢出吗?你经历过没有看过Java虚拟机,来解决内存溢出的痛苦吗?你经历过一个BUG,百思不得其解,头发一根一根脱落的烦恼吗?我知道,你有过!但是我还是要来说说我的故事…背景:有一个项目做一个系统,分客户端和服务端,客户端用c++写的,用来收集信息然后传给服务端(客户端的数量还是比较多的,正常的有几千个),服务端用Java写的(带管理页面),属于RPC模            
                
         
            
            
            
            # 溢出问题在Java中的应用
在Java中,long类型的变量有着很大的范围,可以表示的整数范围为-2^63到2^63-1。但是,当我们进行数学计算时,有时可能会遇到long类型的溢出问题。本文将介绍什么是long类型的溢出问题,以及如何避免这种问题的发生。
## 什么是long类型的溢出问题
当一个long类型的变量超过了其表示范围时,就会发生溢出问题。具体来说,当一个long类型的变量            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-03-18 05:02:46
                            
                                191阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # Java中的长整型溢出问题
在Java编程中,我们经常需要处理数字数据,其中包括整型数据和长整型数据。然而,在使用长整型数据时,我们可能会遇到一个潜在的问题,即长整型溢出。
## 什么是溢出?
在计算机中,每个数据类型都有一定的范围,超出这个范围就会发生溢出。当一个数超过了数据类型的最大值,它的值将会变为负数或者最小值。对于长整型数据类型,其最大值为2^63-1,最小值为-2^63。            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-10-21 13:07:17
                            
                                78阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            long longlong\ longlong long的加法溢出情况:long longlong\ longlong long能储存的数据范围:[−263,263−1][-2^{63},2^{63}-1][−263,263−1]。1.当a,b>0,a+b≥263a,b>0,a+b\geq2^{63}a,b>0,a+b≥263a+b∈[263,264−2]a+b\in[2^{63},2^{64}-2]a+b∈[263,264−2]。根据计算机            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-08-10 09:48:57
                            
                                465阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            long longlong\ longlong long的加法溢出情况:long longlong\ longlong long能储存的数据范围:[−263,263−1][-2^{63},2^{63}-1][−263,263−1]。1.当a,b>0,a+b≥263a,b>0,a+b\geq2^{63}a,b>0,a+b≥263a+b∈[26            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-01-22 09:22:18
                            
                                274阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            package myJavaNotes;
/**
* 类型自动转化
*@author 康爸爸
*@date:   2020年1月21日 上午3:32:08
*
*/
/**
* 强制类型转换
*@author 康爸爸
*@date:   2020年1月21日 下午9:04:41
*
*/
/**
* 溢出
*@author 123
*@date:   2020年1月21日 下午9:58:50
*            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-01 16:34:43
                            
                                348阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1)概念:  内存溢出:指在指定大小的内存空间,写入了超出大小的数据,从而导致了内存溢出。 内存溢出:指程序运行过程中无法申请到足够的内存而导致的一种错误。          内存溢出通常发生于OLD段或Perm段垃圾回收后,仍然无内存空间容纳新的Java对象的情况。 比方说,定义了20个字节大小的内存空间,却写入了21个字节的数据。通俗的说,就是内存不            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-16 11:44:34
                            
                                99阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前言java操作Excel常用的两种方式,分别为:jxl和poi。今天记录一下我在使用poi写Excel时遇到的内存溢出问题,以及poi是如何提供的解决方法。  先附上各版本poi官网下载链接https://archive.apache.org/dist/poi/release/bin/具体实现poi提供了两种创建Excel的类:  一种是2003版本的HSSF(文件扩展名为xls),一张shee            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2018-01-03 11:41:55
                            
                                159阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            jvm管理的内存大致包括三种不同类型的内存区域:Permanent Generation space(永久保存区域)、Heap space(堆区域)、Java Stacks(Java栈)。其中永久保存区域主要存放Class(类)和Meta的信息,Class第一次被Load的时候被放入PermGen space区域,Class需要存储的内容主要包括方法和静态属性。堆区域用来存放Class的实例(即对            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-01 17:29:27
                            
                                81阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在讲解基本类型数据运算之前我们首先来了解各种基本数据类型:Java中一共有8中基本数据类型,并且每种数据类型所占的存储空间是固定的,这种特性也增加了java的可移植性,这一点和c语言c++是不同的,因为java是在虚拟机上运行的,数据类型和操作系统以及硬件间的适配是通过虚拟机来实现的。基本介绍Java中的8中基本数据类型:byte  short  int  long&            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-16 11:41:53
                            
                                104阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            package test.leecode.math;import java.math.BigInteger;/** * int*int,long*long,都可能溢出 * @author wen.lei@brgroup.com * * 2022-3-18 */public class IntMultiplyIntTest {    public static void main(String[]            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-02-14 13:49:33
                            
                                90阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在Java编程领域中,我们时常会碰到一个看似不易察觉却足以影响业务的潜在问题——`long`数据类型的溢出。即使`long`可以存储很大的整数,但在一些极端情况下,如果不小心使用,仍然可能会导致溢出。这篇博文将通过剖析这个问题的背景、错误现象、根因分析、解决方案、验证测试、以及预防和优化手段,帮助大家更好地理解和解决此类问题。
### 问题背景
在某项基于Java的金融应用系统中,我们进行了一            
                
         
            
            
            
            第四章  Spring Boot 基础4.1 了解Spring Boot项目结构src/main/java             //入口类,等
src/main/resources       //静态文件和配置文件
src/test/java             //测试入口类@SpringBootApplication热部署更好的支持调试,可以不必重启让代码的改动生效。自定义ban            
                
         
            
            
            
             1. Java 堆空间2. GC 开销超过限制3. 请求的数组大小超过虚拟机限制4. Perm gen 空间5. Metaspace6. 无法新建本机线程7. 杀死进程或子进程8. 发生 stack_trace_with_native_method1. Java 堆空间发生频率:5颗星造成原因无法在 Java 堆中分配对象吞吐量增加应用程序无意中保存了对象引用,对象无法被 GC 回收应用程序过度            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-11 16:36:09
                            
                                60阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、jmap 的使用首先,需要使用 jmap 工具生成 dump 文件。jmap是java自带的工具 1. 查看整个JVM内存状态 jmap -heap [pid]pid 为 java 进程号,可使用jps 或者 linux 命令行查看, 通过 ps -ef | grep java  得到如上线程将某线程终止时用 kill -9 XXXX            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-01 11:18:41
                            
                                57阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
              内存溢出虽然很棘手,但也有相应的解决办法,可以按照从易到难,一步步的解决。  第一步,就是修改JVM启动参数,直接增加内存。这一点看上去似乎很简单,但很容易被忽略。JVM默认可以使用的内存为64M,Tomcat默认可以使用的内存为128MB,对于稍复杂一点的系统就会不够用。在某项目中,就因为启动参数使用的默认值,经常报"OutOfMemory"错误。因此,-Xms,-Xmx参数一定不要忘记加。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-06 18:47:26
                            
                                12阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            八大数据类型基本类型位数范围默认值byte(字节)8-128至1270shot(短整型)16-32768至327670int(整形)32-2^31至2^31-10long(长整型)64-2^63至2^63-10boolean1true/falsefalsechar160至2^16-10float32double64数据溢出的处理01:public class demo3 {
	public sta            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-21 17:51:17
                            
                                113阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            背景为了更好地实现对项目的管理,我们将组内一个项目迁移到MDP框架(基于Spring Boot),随后我们就发现系统会频繁报出Swap区域使用量过高的异常。笔者被叫去帮忙查看原因,发现配置了4G堆内内存,但是实际使用的物理内存竟然高达7G,确实不正常。JVM参数配置是“-XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256M -XX:+AlwaysPreTo            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-18 20:13:03
                            
                                419阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            # 如何避免Java中long相减溢出的问题
在Java中,当我们进行long类型的减法操作时,有可能会出现溢出的问题,这是因为long类型的取值范围较大,当相减的两个数值之差超出了long类型的表示范围时,就会发生溢出。为了避免这种情况的发生,我们可以通过一些方法来处理。
## 解决方案
### 1. 使用BigInteger类
BigInteger类是Java中提供的用于表示任意精度整            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-03-26 04:59:00
                            
                                108阅读