自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 问答 (2)
  • 收藏
  • 关注

原创 trim去除空格失败

1、背景一个小功能需要填写数据并上传excel文件,因此点击保存后在后台对文件中的数据进行常规校验,其中就包括使用 trim 方法去除首位空格的操作。2、问题填完信息、上传好文件后,保存失败了,发现错误(模拟示例):java.lang.NumberFormatException: For input string: " 123 "仔细看可以发现多了空格所以转换失败。查看代码,发现已经做了trim操作(以下为简单示例):{ // str为文件中某列的一格数据 String str = "

2021-08-25 21:32:18 2307

原创 关于boolean类型

阿里开发规范:POJO 类中的任何布尔类型的变量,都不要加 is,否则部分框架解析会引起序列化错误。反例:定义为基本数据类型 boolean isSuccess;的属性,它的方法也是 isSuccess(),RPC 框架在反向解析的时候, “以为”对应的属性名称是 success,导致属性获取不到,进而抛出异常。1、常见写法 boolean success; boolean isSuccess; Boolean success; //推荐写法 Boolean isSuc

2021-08-25 15:51:01 1568

原创 方法区 JVM第七章

七、方法区1、栈、堆、方法区的交互关系从线程共享与否的角度来看ThreadLocal:如何保证多个线程在并发环境下的安全性?典型应用就是数据库连接管理,以及独立会话管理栈、堆、方法区的交互关系下面就涉及了对象的访问定位Person 类的 .class 信息存放在方法区中person 变量存放在 Java 栈的局部变量表中真正的 person 对象存放在 Java 堆中在 person 对象中,有个指针指向方法区中的 person 类型数据,表明这个 person 对象是用方法区

2021-03-08 15:54:42 308

原创

六、堆1、堆的核心概述1.1 堆内存一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域。Java堆区在JVM启动的时候即被创建,其空间大小也就确定了,堆是JVM管理的最大一块内存空间,并且堆内存的大小是可以调节的。-Xms10m -Xmx20m: 堆内存10m,最大堆内存20m《Java虚拟机规范》规定,堆可以处于物理上不连续的内存空间中,但在逻辑上它应该被视为连续的。所有的线程共享Java堆,在这里还可以划分线程私有的缓冲区(Thread Local Alloc

2021-01-11 15:06:32 1162

原创 idea配置LeetCode插件

首先在idea的File -> Settings -> Plugins种下好leetcode editor插件;然后idea的右下角可以看到leetcode的标志(如箭头1),点击;点击 箭头2 所指的设置按钮,会出现左边的leetcode plugin设置页面;在箭头3处输入leetcode账号,密码在同一行,这里看不到;在箭头4处指定项目存放的路径;箭头5处是生成的java文件的文件名,参考设置P$!{question.frontendQuestionId}_$!veloci.

2021-01-11 13:46:15 715

原创 本地方法栈

五、本地方法栈1、本地方法接口1.1 什么是本地方法?简单地讲,一个Native Method是一个Java调用非Java代码的接囗。一个Native Method是这样一个Java方法:该方法的实现由非Java语言实现,比如C。这个特征并非Java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern 告知C++编译器去调用一个C的函数。“A native method is a Java method whose implementation is provided b

2020-12-17 17:11:48 137

原创 虚拟机栈

目录四、虚拟机栈1、虚拟机栈的基本内容1.1 Java虚拟机栈是什么1.2 虚拟机栈的生命周期1.3 作用1.4 栈的优点1.5 虚拟机栈的异常2、栈的存储单位-栈帧2.1 栈存储什么?2.2 栈的运行原理2.3 栈帧的内部结构3、栈帧__局部变量表3.1 局部变量表3.2 关于Slot的理解3.3、Slot 的重复利用4、栈帧__操作数栈4.1 操作数栈特点4.2 ++i 与 i++ 的区别4.3 栈顶缓存技术5、栈帧__动态链接6、方法的调用6.1 静态链接与动态链接6.2 早期绑定与晚期绑定6.3

2020-12-03 14:30:23 304

原创 程序计数器

目录三、程序计数器1、PC寄存器概述2、代码示例3、两个面试题4、CPU时间片三、程序计数器Program Counter Register1、PC寄存器概述java虚拟机规范网址:https://docs.oracle.com/javase/specs/jvms/se8/html/index.htmlJVM中的程序计数寄存器(Program Counter Register)中,Register的命名源于CPU的寄存器,寄存器存储指令相关的现场信息。CPU只有把数据装载到寄存器才能够运

2020-12-03 14:00:55 182

原创 运行时数据区

目录二、运行时数据区1、运行时数据区结构1.1 内存与运行时数据区1.2 线程的内存空间2、线程2.1 线程2.2 JVM 系统线程二、运行时数据区1、运行时数据区结构1.1 内存与运行时数据区内存内存是非常重要的系统资源,是硬盘和CPU的中间仓库及桥梁,承载着操作系统和应用程序的实时运行。JVM内存布局规定了Java在运行过程中内存申请、分配、管理的策略,保证了JVM的高效稳定运行。不同的JVM对于内存的划分方式和管理机制存在着部分差异。结合JVM虚拟机规范,来探讨一下经典的JVM内存布

2020-12-01 16:41:38 109

原创 类加载子系统

一、类加载子系统1、内存结构1.1 JVM架构图:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HK3AMMW6-1606188154188)(image/第02章_JVM架构-简图.jpg)]OutOfMemoryErrorStackOverflowErrorGC(垃圾回收)程序计数器×××虚拟机栈√(栈可扩展时)√×本地方法栈√(栈可扩展时)√×堆√×√方法区√×√1.2 完整框图

2020-11-28 14:12:43 162 2

原创 前言 JVM 架构

目录前言1、JVM架构模型1.1 基于栈的指令集架构1.2 基于寄存器的指令级架构1.3 两种架构的举例1.4 JVM 架构总结2、JVM 生命周期1、虚拟机的启动2、虚拟机的执行3、虚拟机的退出前言1、JVM架构模型​ Java编译器输入的指令流基本上是一种基于栈的指令集架构,另外一种指令集架构则是基于寄存器的指令集架构。具体来说:这两种架构之间的区别:1.1 基于栈的指令集架构基于栈式架构的特点:设计和实现更简单,适用于资源受限的系统;避开了寄存器的分配难题:使用零地址指令方式分

2020-11-23 16:42:27 97

原创 关于getResource()方法和getResourceAsStream()方法

1 对于getResource()方法·class.getClassLoader().getResource("") --- class.getResource("/") 是从项目的ClassPath根下获取资源 classes·SourceTest.class.getResource("") 是从此类所在的包下取资源 classes/com.xxx./(最后的"/"下的文件是类名.class)2 对于getResourceAsStream()方法同理其中class.getClassLo.

2020-06-01 21:09:50 304

空空如也

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

TA关注的人

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