
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
说明:做java开发的几乎都知道jvm这个名词,但是由于jvm对实际的简单开发的来说关联的还是不多,一般工作个一两年(当然不包括爱学习的及专门做性能优化的什么的),很少有人能很好的去学习及理解什么是jvm,以及弄清楚jvm的工作原理,个人认为这块还是非常有必要去认真了解及学习的,特别是刚入门或入门不久的java开发来说,这是java的基石。JVM(Java Virtual Machine,Java
第一部分:面试题本次分享我们将尝试回答以下问题:GC 是什么? 为什么要有 GC?简单说一下java的垃圾回收机制。JVM的常见垃圾回收算法有哪些?为什么要使用分代回收机制?如何判断一个对象是否存活?如果对象的引用被置为 null,垃圾收集器是否会立即释放对象占用的内存?第二部分:深入原理好,让我们开始吧。还是那句话,如果时间不够可以直接拉到最后看答案。jav...
Java基础知识篇面向对象和面向过程的区别面向过程: 优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。缺点:没有面向对象易维护、易复用、易扩展面向对象: 优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加...
1、为什么使用消息队列?消息队列使用的场景和中间件有很多,但解决的核心问题主要是:异步、解耦、消峰填谷。2、消息队列的优缺点异步、解耦、消峰填谷这是消息队列最大的优点,除了这些消息队列还可以会解决一些我们特殊业务场景的问题。但是缺点主要在于系统的可用性、复杂性、一致性问题,引入消息队列后,需要考虑MQ的可用性,万一MQ崩溃了岂不是要爆炸?而且复杂性明显提高了,需要考虑一些消息队列的常见...
搜集整理了一份最新最全的头歌(EduCoder)Java实训作业答案,分享给大家~(EduCoder)是信息技术类实践教学平台。(EduCoder)涵盖了计算机、大数据、云计算、人工智能、软件工程、物联网等专业课程。超60000个实训案例,建立学、练、评、测一体化实验环境。

前言总结了JVM一些经典面试题,分享出我自己的解题思路,希望对大家有帮助,有哪里你觉得不正确的话,欢迎指出,后续有空会更新。1.什么情况下会发生栈内存溢出。思路: 描述栈定义,再描述为什么会溢出,再说明一下相关配置参数,OK的话可以给面试官手写是一个栈溢出的demo。我的答案:栈是线程私有的,他的生命周期与线程相同,每个方法在执行的时候都会创建一个栈帧,用来存储局部变量表,操作...
最近一个月几乎每天都在面试,最终皇天不负有心人,终于拿到offer了。整理了一些2022年最新的Spring Cloud面试题及答案,分享给大家~

什么是JVM内存区域分区事实上,这个问题很简单。当JVM运行我们编写的代码时,它必须使用多个内存空间、不同的内存空间来放置不同的数据,然后与我们编写的代码流协作,这样我们的系统才能运行。例如,我们现在知道JVM将类加载到内存中以进行后续操作。所以我问你,这些类在被加载到内存之后会去哪里?你想过这个问题吗?所以在JVM中必须有一个内存区域来存储我们编写的类。包括我们定义的成员变量、类...
面向对象的三个特征封装,继承,多态.这个应该是人人皆知.有时候也会加上抽象.多态的好处允许不同类对象对同一消息做出响应,即同一消息可以根据发送对象的不同而采用多种不同的行为方式(发送消息就是函数调用).主要有以下优点:可替换性:多态对已存在代码具有可替换性.可扩充性:增加新的子类不影响已经存在的类结构.接口性:多态是超类通过方法签名,向子类提供一个公共接口,由子类来完善或者...
像很多人一样,我第一次接触Java虚拟机只是因为它需要面试,所以我不得不认真地看一看。很多人回答了为什么他们要学习虚拟机的问题:因为面试。但经过多年的学习和实践,我发现学习虚拟机不仅仅是关于面试,而且是对Java语言的深入理解,并为未来的在线问题奠定基础。首先,让我来谈谈我的第一点:学习Java虚拟机对Java语言的深入理解。对于刚工作了一两年的朋友来说,每个API都不熟悉,自然不会深入到Ja..