写点什么

Java 开发必须要会!java 微服务技术栈,菜鸟教程 linux 教程

用户头像
极客good
关注
发布于: 刚刚

[](


)2、线程运行




JVM 中一个应用是可以有多个线程并行执行,线程被一对一映射为服务所在操作系统线程,调度在可用的 CPU 上执行,启动时会创建一个操作系统线程;当该线程终止时,这个操作系统线程也会被回收。



在虚拟机启动运行时,会创建多个线程,数据区中有的模块是线程共享的,


【一线大厂Java面试题解析+核心总结学习笔记+最新架构讲解视频+实战项目源码讲义】
浏览器打开:qq.cn.hn/FTf 免费领取
复制代码


有的是线程私有的:



线程共享:元数据区、堆 Heap;


线程私有:虚拟机栈、本地方法栈、程序计数器;


单个 CPU 在特定时刻只能执行一个线程,所以多线程通过几块空间的使用,然后不断的争抢 CPU 的执行时间段。


[](


)二、元数据空间


======================================================================


基本描述


方法元空间(方法区)在 JVM 启动的时候被创建,是被各个线程共享的内存空间,用于存放类和方法的元数据以及常量池,比如 Class 和 Method。


在实际的开发中,经常因为加载的类太多,进而导致内存溢出问题,这样可以对元空间的大小进行扩展。


与堆的关系



元空间存放加载的类信息,当类被实例化时,堆中存储实例化的对象信息,并且通过对象类型数据的指针找到类。


[](


)三、堆空间


====================================================================


基本描述


JVM 启动时创建堆区,是内存管理的核心区,通常情况下也是最大的内存空间,是被所有线程共享的,几乎所有的对象实例都要在堆中分配内存,所以这里也是垃圾回收的重点空间。


堆栈关系



栈是 JVM 运行时的单位,堆是存储单位,当栈中方法结束,相关对象失去所有引用后,不会马上被移除堆空间,要等到垃圾收集器运行的时候。


[](


)最后的内容


====================================================================


在开头跟大家分享的时候我就说,面试我是没有做好准备的,全靠平时的积累,确实有点临时抱佛脚了,以至于我自己还是挺懊恼的。(准备好了或许可以拿个 40k,没做准备只有 30k+,你们懂那种感觉吗)


如何准备面试?


1、前期铺垫(技术沉积)


程序员面试其实是对于技术的一次摸底考试,你的技术牛逼,那你就是大爷。大厂对于技术的要求主要体现在:基础,原理,深入研究源码,广度,实战五个方面,也只有将原理理论结合实战才能把技术点吃透。


下面是我会看的一些资料笔记,希望能帮助大家由浅入深,由点到面的学习 Java,应对大厂面试官的灵魂追问,**有需要的话就戳这里:[蓝色传送门](


)打包带走吧。**


这部分内容过多,小编只贴出部分内容展示给大家了,见谅见谅!


  • Java 程序员必看《Java 开发核心笔记(华山版)》



  • Redis 学习笔记



  • Java 并发编程学习笔记


四部分,详细拆分并发编程——并发编程+模式篇+应用篇+原理篇



  • Java 程序员必看书籍《深入理解 ava 虚拟机第 3 版》(pdf 版)

用户头像

极客good

关注

还未添加个人签名 2021.03.18 加入

还未添加个人简介

评论

发布
暂无评论
Java开发必须要会!java微服务技术栈,菜鸟教程linux教程