java基础面试题(二)

java后端面试题大全

  • 3.JVM
    • 3.1 对象实例、类信息、常量、静态变量分别在运行时数据区的哪个位置?
    • 3.2 java类的加载流程
    • 3.3 java内存溢出什么时候会发生以及解决方法

3.JVM

3.1 对象实例、类信息、常量、静态变量分别在运行时数据区的哪个位置?


  • 对象实例、String常量池、基本类型常量池、静态变量
  • 方法区
    类信息、类常量池、运行时常量池
  • 虚拟机栈
    临时变量

3.2 java类的加载流程

java文件到最终运行, 需要经过编译和类加载这两个阶段
编译的过程:把.java文件编译成.class文件
类加载的过程:把.class文件加载到jvm的内存中

  1. 加载
    通过类的全限定名获取类的二进制数据, 这可以通过类加载器完成, 类加载器可以从文件系统、网络、ZIP文件等地方获取类文件的二进制数据
    将获取的二进制数据转换为方法区(或元空间)的运行时数据结构, 这个数据结构存储了类的字段、方法、构造方法等信息,同时也包含了类的常量池,即字面量(如字符串、final常量)和符号引用等。
  2. 验证
    确保被加载的类的正确性. 这个阶段主要包括文件格式验证、元数据验证、字节码验证等,以确保类文件的正确性和安全性。
  3. 准备
    为类的静态变量分配内存并设置初始值, 这里的初始值通常是默认值,比如数值类型的默认值是0,引用类型的默认值是null
  4. 解析
    类、接口、字段和方法的符号引用解析为直接引用
  5. 初始化
    类的初始化方法

3.3 java内存溢出什么时候会发生以及解决方法

一、内存溢出的原因
如果内存泄露的空间足够大,就会导致内存溢出

堆内存中一个对象不再使用时,垃圾回收器却无法从内存中删除他们,导致内存泄露。

二、内存泄露的影响

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/187426.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于gitlab的webhook集成jenkins,并在gitlab流水线中展示jenkins的job状态信息

文章目录 1. 环境信息2. gitlab 部署3. jenkins部署4. gitlab集成jenkins4.1 jenkins的凭据上保存gitlab的账号信息4.2 jenkins中配置gitlab的连接信息4.3 编写jenkins上pipeline文件4.4 jenkins上创建pipeline项目4.5 gitlab上配置webhooks事件4.6 测试 1. 环境信息 gitlab服…

LangChain 16 通过Memory记住历史对话的内容

LangChain系列文章 LangChain 实现给动物取名字,LangChain 2模块化prompt template并用streamlit生成网站 实现给动物取名字LangChain 3使用Agent访问Wikipedia和llm-math计算狗的平均年龄LangChain 4用向量数据库Faiss存储,读取YouTube的视频文本搜索I…

Windows系列:windows2003-建立域

windows2003-建立域 Active Directory建立DNS建立域查看日志xp 加入域 Active Directory 活动目录是一个包括文件、打印机、应用程序、服务器、域、用户账户等对象的数据库。 常见概念:对象、属性、容器 域组件(Domain Component,DC&#x…

snat与dnat

一.SNAT的原理介绍 1.应用环境 局域网主机共享单个公网IP地址接入Internet (私有IP不能在Internet中正常路由) 2.SNAT原理 源地址转换,根据指定条件修改数据包的源IP地址,通常被叫做源映谢 数据包从内网发送到公网时&#xf…

Loki安装部署

Loki安装部署 1、Loki介绍 Loki 是受 Prometheus 启发由 Grafana Labs 团队开源的水平可扩展,高度可用的多租户日志聚合系统。开发语 言: Google Go。它的设计具有很高的成本效益,并且易于操作。使用标签来作为索引,而不是对全文进行检索&…

Mongodb使用killOp停止正在执行的操作

与关系型数据库类似, mongodb在执行查询语句,修改数据,建立索引的操作过程中,会占用大量的cpu,内存的资源。mongodb提供了各种各样的监控工具和命令,监控数据库状态和运行效率。当用户提交的查询语句影响数…

<avue-crud/>,二级表头,children下字典项的dicUrl失效问题

目录 1.提出问题&#xff1a; 1.1 代码&#xff1a; 1.2 效果图&#xff1a;会发现处在children下的dicUrl失效了 2. 解决思路 3. 解决代码&#xff08;你要的都在这&#xff0c;看这里&#xff09; 1.提出问题&#xff1a; 在使用<avue-crud/>组件实现二级表头时&…

C++中异常的栈展开概念

C中的异常栈展开是指&#xff0c;当某个函数中有异常产生&#xff08;这里不考虑是主动抛出的还是被动产生的&#xff09;&#xff0c;在异常被捕获之前的函数调用链上&#xff0c;函数不会正常执行返回&#xff0c;即异常产生之后的程序逻辑不会被执行。 &#xff08;注意&…

Kafka的存储机制和可靠性

文章目录 前言一、Kafka 存储选择二、Kafka 存储方案剖析三、Kafka 存储架构设计四、Kafka 日志系统架构设计4.1、Kafka日志目录布局4.2、Kafka磁盘数据存储 五、Kafka 可靠性5.1、Producer的可靠性保证5.1.1、kafka 配置为 CP(Consistency & Partition tolerance)系统5.1.…

建堆的时间复杂度和堆排序

文章目录 建堆的时间复杂度向下调整建堆向上调整建堆 堆排序实现 建堆的时间复杂度 下面都以建大堆演示 向下调整建堆 void Adjustdown(HPDataType* a, int size,int parent) {int child parent * 2 1;while (child < size){if (child1<size&&a[child 1] &…

Pandas进阶:transform 数据转换的常用技巧

引言 本次给大家介绍一个功能超强的数据处理函数transform&#xff0c;相信很多朋友也用过&#xff0c;这里再次进行详细分享下。 transform有4个比较常用的功能&#xff0c;总结如下&#xff1a; 转换数值 合并分组结果 过滤数据 结合分组处理缺失值 一. 转换数值 pd.…

Perplexity 推出全新大型在线语言模型

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

贪心算法的介绍

贪心算法&#xff08;又称贪婪算法&#xff09;是指&#xff0c;在对问题求解时&#xff0c;总是做出在当前看来是最好的选择。也就是说&#xff0c;不从整体最优上加以考虑&#xff0c;他所做出的是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解&#…

Android12 实现人脸识别

在Android 12系统中实现人脸识别,可以使用Android提供的BiometricPrompt API。以下是一个简单的示例: 1. 首先,在AndroidManifest.xml中添加面部识别权限: ```xml <uses-permission android:name="android.permission.USE_BIOMETRIC" /> ``` 2. 在Activ…

Windows 基于 VMware 虚拟机安装银河麒麟高级服务器操作系统

前言 抱着学习的态度研究一下麒麟系统的安装 银河麒麟&#xff08;KylinOS&#xff09;原是在“863计划”和国家核高基科技重大专项支持下&#xff0c;国防科技大学研发的操作系统&#xff0c;后由国防科技大学将品牌授权给天津麒麟&#xff0c;后者在2019年与中标软件合并为…

位运算算法总结

如何求n的二进制表示中第k位是几&#xff1f; 1.先把第k位移到最后一位&#xff1a;n >> k 2.看个位是几&#xff1a;x & 1 综合得到&#xff1a;n >> k & 1返回的是n的二进制表示中第k位 题目链接&#xff1a; https://www.acwing.com/problem/conten…

Git .gitignore 忽略文件不生效解决方法

.gitignore 匹配规则 *.sample    # 忽略所有 .sample 结尾的文件 !lib.sample    # 但 lib.sample 除外 /TODO    # 仅仅忽略项目根目录下的 TODO 文件&#xff0c;不包括 subdir/TODO build/    # 忽略 build/ 目录下的所有文件 doc/*.txt    # 会…

如何选择共模噪声滤波器

在当前电子产品中&#xff0c;绝大多数的高速信号都使用地差分对结构。 差分结构有一个好处就是可以降低外界对信号的干扰&#xff0c;但是由于设计的原因&#xff0c;在传输结构上还会受到共模噪声的影响。 共模噪声滤波器就可以用于抑制不必要的共模噪声&#xff0c;而不会对…

RNN:文本生成

文章目录 一、完整代码二、过程实现2.1 导包2.2 数据准备2.3 字符分词2.4 构建数据集2.5 定义模型2.6 模型训练2.7 模型推理 三、整体总结 采用RNN和unicode分词进行文本生成 一、完整代码 作者在文章开头地址中使用C实现了这一过程&#xff0c;为了便于理解&#xff0c;这里我…

Java将JavaFX程序最小化托盘

Windows最小化拖盘其实就是将程序放到托盘里面,需要的时候再点击托盘里面的应用图标,此时就可以正常使用应用了,托盘如下: 下面是一个简单的Java程序,可以把窗口最小化到系统托盘: import java.awt.*; import java.awt.event.*; import javax.swing.*;public class Tray…