掌握这些知识点再也不怕面试通不过!涨姿势!_普通网友的博客-程序员宅基地

技术标签: 程序员  经验分享  面试  java  

前言

受到疫情影响我从过完年一直呆在家里,索性学点知识方便以后跳槽涨薪,于是从二月份开始学习阿里P8架构师纯手打的一份Java面经手册,没想到5月初我成功从我们三线的一个小公司跳槽进了腾讯,虽然等级不高,但是涨薪还是涨了8K,而且去一个大公司多学点东西,对自己的成长还是有好处的。

虽然说是面经手册,但是里面的涵盖的知识点还是很全面、很细的,一共分了一下十几个大部分:java基础、集合类Set、锁volatile synchronized Lock ReentrantLock AQS C、java多线程:、Java进阶ssh/ssm框架、Java内存模型和垃圾回收、 juc包、设计模式、算法、海量数据、数据结构与算法、数据库、网络、操作系统、Linux命令、安全加密、代码、面经、项目等。

三、堆空间

基本描述

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

堆栈关系

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

四、虚拟机栈

虚拟机栈(Java栈)在每个线程创建时都会生成一个虚拟机栈,栈的内部是一个个栈帧单元,对应Java方法的调用,其生命周期和线程周期保持一致。用来存储方法的局部遍历,部分执行结果,方法的调用和返回。

栈帧是方法执行的数据集,维持执行过程中的各种数据信息,执行的方法依次入栈,栈顶存放当前要执行的方法,执行结束后出栈,对于栈没有垃圾回收问题。

五、程序计数器

基本描述

JVM中程序计数寄存器用来存储下一条将要执行指令的地址,执行引擎获取到指令后进行执行,是线程私有的。它可以看作是当前线程所执行的字节码的行号指示器。

前后关系

线程在获取CPU的时间段内执行代码,但是线程随时可能没有执行完就被挂起,等到线程A再次获取CPU执行时,CPU 得知道执行到线程A的哪一个指令,程序计数器会存储该动作。

六、本地方法栈

本地方法栈与虚拟机栈所起到的作用是类似的,虚拟机栈为虚拟机执行Java方法,本地方法栈管理虚拟机使用到的 本地方法,在虚拟机规范中对本地方法栈中方法使用的语言、使用方式与数据结构并没有强制规定,因此具体的虚拟机可以自由实现它。HotSpot虚拟机直接就把本地方法栈和虚拟机栈合二为一。

最后

针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。

最新整理面试题
在这里插入图片描述

上述的面试题答案都整理成文档笔记。
也还整理了一些面试资料&最新2021收集的一些大厂的面试真题,有需要的可以点击这里,免费获取

最新整理电子书

在这里插入图片描述

最新整理大厂面试文档

在这里插入图片描述

]

最新整理大厂面试文档

[外链图片转存中…(img-vicI8tZl-1623049305067)]

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_56604447/article/details/117662012

智能推荐

Import [your_module] could not be resolved Pylance(reportMissingImports)出现这种问题应该怎么处理,这里说说我自己的情况_haohaoxuexi111a的博客-程序员宅基地

以下我的电脑配置系统编辑器环境管理方式出现的问题情况描述问题猜测问题解决第一次尝试第二次尝试总结我的电脑配置系统64位win10系统,编辑器Vscode环境管理方式annaconda出现的问题Import [your_module] could not be resolved Pylance(reportMissingImports)情况描述今天上午我的电脑还能正常运行代码,下午再用的时候,模块名字就不能识别出来了,搞的我很着急。就来搜索一下是否有和我一样情况的大佬,但是我发现和我报错

linux+cp+no+match,ngrep - 适用于Linux的网络数据包分析器_weixin_39626131的博客-程序员宅基地

Ngrep ( 网络grep )是一个简单但功能强大的网络数据包分析器。 它是一种应用于网络层的类似grep的工具 - 它匹配通过网络接口传递的流量。 它允许您指定扩展的常规或十六进制表达式,以匹配数据包的数据有效负载(传输数据中的实际信息或消息,但不包括自动生成的元数据)。此工具适用于各种类型的协议,包括IPv4 / 6,TCP,UDP,ICMPv4 / 6,IGMP以及许多接口上的Raw。可以...

字符串输入方法_Fly_with_dream的博客-程序员宅基地

当你发现普及组也不简单的时候,已经晚了……我们今天来见证一道大NAN题,可以说是前无古人后无来者。先来讲个故事:从前有一个长度只有八的字符串,他很孤独,体内只有0 和 1,所以他是一个非黑即白的字符串……在他孤独的时间,他有事没事会读《三体》,并学习到了次声波核弹这个概念。他突然意识到,要找到自己体内“1”的个数才能变得强大,像三体一样征服人类……(鬼知道我是怎么想出来的……)然后这就是题目啦,统计一个长度为八的“01”串中“1”的个数。你会发现这似乎很简单,所以看到题目的你就知道这篇博客不会wa

萌新代码审计(一)_LJ会发光的博客-程序员宅基地

由于本大大太菜只能走别人的路了本次审计参照了freebuff的文章实验环境phpstudy+emlog_6.0.0漏洞1(sql注入)在comment.php中可以看到传入了IP可控参数并且调用了delCommentByIp函数,接下来全局搜索delCommentByIp函数,看看这个函数是干啥的。很明显了,接下来我们去测试一下,需要管理员登录。抓包看一下漏洞2(任意文件上传)在plugin.php中可以上传插件,插件格式为zip压缩包,之后会对上传的文件进行解压,这里有问题的哦。

回传值_sunyushen01的博客-程序员宅基地

//回传   huichuan.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {String backStr="亲,我是回传值喔";Intent intent=getIntent();intent.putExtra("HUI", backStr);

wget不起作用_haohaounique的博客-程序员宅基地_wget没反应

解决方法:1. 理解NAT,桥接,仅主机 三种模式 参考文章https://blog.csdn.net/zkuncn/article/details/78452098ping各自ip看是否联通 ping外网地址看是否联通2.设置镜像源 下载镜像源文件--->替换 yum clean all yum makecache3.yu...

随便推点

程序猿的520悲情告白_UlricaQ的博客-程序员宅基地

发展线男对女说:int main(){ while(1) { printf("I love you!\n"); } return 0;}女对男说:int main(){ while(1); { printf("I love you too!\n"); } return 0;}悲情1.int无法转换为boolean,报错...

selenium webdriver驱动_佡鹿的博客-程序员宅基地_webdriver驱动

selenium是什么?用于测试web应用程序的自动化测试框架自动化测试概念自动化测试技术,是以程序测试程序,以代码代替思维,以脚本的运行代替手工测试什么是框架?:框架(framework)是一个框子——指其约束性,也是一个架子——指其支撑性。是一个基本概念上的结构,用于去解决或者处理复杂的问题优势回归测试更方便可靠 可运行更多更繁琐的测试,且快速高效 可执行相对于手工来说相当困难或跟本做不到的测试 更好的利用资源,使资源的使用更有价值 自动化脚本完全具有复用性 ...

云计算、虚拟化 未来技术的商业智慧_H_MZ的博客-程序员宅基地

本文讲的是云计算、虚拟化 未来技术的商业智慧,【IT168 资讯】从云计算、虚拟化、到随时随地上网等,未来技术不再仅仅是工程师驾驭的产物,而是创新精神与商业智慧的巧妙结合  “如果您的孩子需要零花钱,您可以从电脑钱包中给他转账5美元。此外,当您驾车驶过机场大门时,电脑钱包将会与机场购票系统连接,检验您是否购买了机票。  “您可以亲自进入地图之中,方便的找...

Ubuntu下OpenCV编程[2]-cv::Mat类_huizhang0110的博客-程序员宅基地

cv::Mat类介绍遍历cv::Mat图像矩阵使用at函数进行遍历使用迭代器进行遍历使用指针进行遍历由于像素点的数据类型不同,将这几种方式遍历的测试函数,封装成模板函数,如下所示:namespace Hui { // 1. 使用 for循环 + at函数 遍历图像矩阵 template <typename T> void travelMatByAt(cv::Mat &

ImportError: cannot import name ‘_validate_lengths‘解决方法_陈慕冕下的博客-程序员宅基地

1.问题描述在进行python开发时遇到的这个问题错误是这个:from numpy.lib.arraypad import _validate_lengths推测应该是numpy更新过之后_validate_lengths被移除或者改名了通过查资料证实了这个猜想2.问题解决将numpy版本降级,执行在相应python环境下面操作:...

推荐文章

热门文章

相关标签