代码编织梦想

Java知识体系最强(转载)-爱代码爱编程

大家好,我是CSDN的博主ThinkWon,“2020博客之星年度总评选"开始啦,希望大家帮我投票,每天都可以投多票哦,点击下方链接,然后点击"最大”,再点击"投TA一票"就可以啦! 投票链接:https://bss.csdn.net/m/topic/blog_star2020/detail?username=thinkwon 在技术的世界里,ThinkWon将一路与你相

JVM内存模型-爱代码爱编程

     内存模型: JVM的结构包括类装载子系统、运行时数据区、执行引擎、本地方法接口。            一、下面对运行时数据区的结构再进行详细介绍,运行时数据区又可以划分为堆、线程栈、本地方法栈、方法区、程序计数器。      1、线程栈: 它主要用来存储线程执行过程中的局部变量,方法的返回值,以及方法调用上下文。每一次函数调用都对应一个

java异常详解 很全详解-爱代码爱编程

java异常全解 概念: 异常就是异常就是有异于常态,和正常情况不一样,有错误出现。在java中,阻止当前方法或作用域的情况,称之为异常。 那么为什么要用异常机制呢:也就是说异常的好处究竟是什么呢? 好处 好处一:将自己处理不了的异常交给上一级这样做的话,就可以增加代码的稳定性;好处二:降低了代码的复杂度,不用的话你想想每次异常处理你

Java中 i=i++ 问题底层原理解析-爱代码爱编程

有如下代码: public class Main { public static void main(String[] args) { int i = 10; i = i++; System.out.println(i); } } 运行后,发现结果为10,而不是11。这是为什么呢? 首

第三章 运行时数据区概述及线程-爱代码爱编程

3.1概述     Java虚拟机定义了若干种程序运行期间会使用到的运行时数据区,其中有一些会随着虚拟机启动而创建,随着虚拟机退出而销毁。另外一些则是与线程一一对应,这些与先昵称对应的数据区域会随着线程开始和结束而创建和销毁。 灰色的为单独线程私有的,红色的为多个线程共享的。既: 每个线程:独立包括程序计数器、栈、本地栈 线程间共享:

JVM最多支持多少个线程?-爱代码爱编程

来自:脚本之家 链接:https://www.jb51.net/article/49087.htm McGovernTheory在StackOverflow提了这样一个问题: Java虚拟机最多支持多少个线程?跟虚拟机开发商有关么?跟操作系统呢?还有其他的因素吗? Eddie的回答: 这取决于你使用的CPU,操作系统,其他进程正

Integer比较问题和JDK缓存设计-爱代码爱编程

文章目录 Integer比较问题比较对象的值要用equals方法为什么a==1024又是true?总结问题还没结束...一定要用equals吗?JDK缓存机制填坑:为什么IntegerCache类的high不是一开始就赋值了?总结扩展知识:享元设计模式 Integer比较问题 今天旁边搞.net的同事问我,为什么Java中Integer比较得

Spring Boot 打包上传至 Docker 仓库?-爱代码爱编程

重要提示:学习本文之前需要提前了解docker容器相关的知识,了解和熟练运用常用的docker操作命令,如果已经了解了docker容器相关的知识那我们就开搞吧! 以下是完成标题所述功能的大致步骤: 搭建docker镜像仓库修改Spring Boot 配置文件添加docker仓库配置,打包,上传至docker 镜像仓库从自己搭的docker镜像仓库

GC日志-爱代码爱编程

9.2. GC日志 1)特别说明 每种垃圾回收器的日志格式是不同的2)实际生产中日志参数设置 在实际生产中要保存的日志格式如下所示,至少需要包含以下内容: -Xloggc:/opt/xxx/logs/xxx-xxx-gc-%t.log 设置日志的保存位置 -XX:+UseGCLogFileRotation 设置日志循环保存 -XX:NumberOfGCL

执行引擎、JIT、逃逸分析-爱代码爱编程

执行引擎就是 JVM运行Java程序的一套子系统 Java是半编译半解释型语言 如果面试官问你这个问题,要分成两个角度来讲解 ​ 1、javac编译,java运行 ​ 2、运行期即时编译+解释执行(字节码解释器解释执行,模板解释器编译执行) 两种解释器的底层实现 JVM中目前来说有两种解释器 具体细节见课堂上操作实战 1、字节码解释器

作为运维,你需要了解的jvm知识点-爱代码爱编程

作为运维,处理最多的可能就是系统的一些内存报错了,所以整理一下jvm方面的知识点,希望各位读完本篇文章,对jvm能有一个基本的了解   推荐公众号,分享运维知识:龙叔18岁 1·概括 堆是堆(heap),栈是栈(stack),堆栈是栈(这个经常会让新手误会) 1.1·内存结构图 下面几个图是我在网上看到的很棒的jvm内存的概括图

字节码指令(下篇)-爱代码爱编程

上一篇 控制转移指令 程序流程离不开条件控制,为了支持条件跳转,虚拟机提供了大量字节码指令,大体上可以分为 1)比较指令、2)条件跳转指令、3)比较条件跳转指令、4)多条件分支跳转指令、5)无条件跳转指令等。 比较指令 ,比较指令的作用是比较栈顶两个元素的大小,并将比较结果入栈。 ●比较指令有: dcmpg, dcmpl、 fcmpg、fcmpl

扎心了老铁,为什么学那么多还是没进大厂?20个经典又容易疏忽的Java面试题分享-爱代码爱编程

身为一个有梦想的Java程序员,去大厂工作是我们的目标,去大厂面试是一个必要的环节。但是有的人刷了那么多题还是没拿到offer,一次又一次,白白浪费了时间,这次我就准备了一些大家容易忽视的面试题,希望能帮助大家。 点个小赞,好运不断,来个关注,青春常驻 另外本人整理了20年面试题大全,包含spring、并发、数据库、Redis、分布式、

8. Java 基础:异常-爱代码爱编程

目录 一、异常继承体系二、发生异常到时候,程序的执行特征:三、异常与错误的区别四、抛出异常 throw五、声明异常 throws六、捕获异常 try…catch…finally七、try…catch…finally 异常处理的组合方式八、异常在方法重写中细节九、Throwable类中的常用方法十、try和finally中都有return语句,执行哪

查看当前用户启动的 Java 进程:jps-爱代码爱编程

文章目录 用途格式示例 用途 jps 用于显示当前用户所有的 java 进程。 格式 jps [options] [hostid] 参数如下: options:选项hostid:指定主机示例 显示当前所有 java 进程。 root@7e2ee19d74ac:/# jps 192 Jps 1 jar 使用 -q 参数表示只显

Java虚拟机中的内存分配-爱代码爱编程

文章目录 一、堆空间的划分和JVM相关参数的解释二、对象在堆内存的内存分配过程1、对象优先在堆内存的新生代中Eden分配2、(特例)大对象直接进入老年代3、长期存活的对象将进入老年代3、动态年龄判断4、空间分配担保 一、堆空间的划分和JVM相关参数的解释 Java技术体系中所提倡的自动内存管理最终可以归结为自动化的解决下面两个问题: 给对象

7-5 jmu-Java-06异常-02-使用异常机制处理异常输入 (20分)-爱代码爱编程

7-5 jmu-Java-06异常-02-使用异常机制处理异常输入 (20分) 使用异常处理输入机制,让程序变得更健壮。 ###main方法: 输入n,创建大小为n的int数组。 输入n个整数,放入数组。输入时,有可能输入的是非整型字符串,这时候需要输出异常信息,然后重新输入。 使用Arrays.toString输出数组中的内容。 输入样例: 5

7-4 jmu-Java-06异常-01-常见异常 (20分)-爱代码爱编程

7-4 jmu-Java-06异常-01-常见异常 (20分) 自己编码以产生常见异常。 ###main方法: 事先定义好一个大小为5的数组。 根据屏幕输入产生相应异常 提示:可以使用System.out.println(e)打印异常对象的信息,其中e为捕获到的异常对象。 **输入说明: ** arr 代表产生访问数组是产生的异常。然后输入下

JAVA虚拟机相关总结-爱代码爱编程

JAVA虚拟机相关总结 基础知识 详细总结见博文 1. Java 内存区域 Java运行时内存区域分为: 程序计数器(PCR):记录各线程正在执行的虚拟机指令地址。虚拟机栈:线程私有,随线程创建,用栈帧(Frame)的方式储存局部变量表、操作数栈、动态链接方法出口等信息。方法从调用到完成,对应栈帧的入栈和出栈。其中局部变量表包括基本数据类型和引用

JVM-HosSpot和堆-爱代码爱编程

三种JVM: Sun公司 HotSpotBEA公司 JRockitIBM J9VM堆:Heap 一个JVM只有一个堆内存,堆内存的大小是可以调节的。 类加载器读取了类文件后,一般会把类的具体实例、方法、常量、变量放在堆中,保存我们所有引用类型的真实对象; 堆内存中还要细分为三个区域: 新生区(伊甸园区) Young/New养老区 Old永久区 Pe