面试__八股

Java八股文面试题 Java基础八股文(背诵版) 阅读详情

java

解释执行,即时编译(编译成本地代码,效率高,内存占用多,C1,C2)
编译优化技术:方法内联,复写传播,无用代码删除
字节码就是虚拟机所使用的指令集
类加载:加载(获取类的二进制流文件,方法区的数据结构,内存生成这个类的class对象),链接(验证,准备(类变量初始化),解析(符号引用替换为直接引用)),初始化(常量初始化)

栈帧主要是局部变量区和操作数栈,方法返回地址,对象头的mark word;关系是通常将局部变量区加载到操作数栈,运算结束后放回局部变量区
对象组成:对象头(运行时的数据,即(mark word,hashcode,锁状态,gc分代年龄 ,重量级锁指向的monitor对象的指针 ) ,类型指针(方法区的类信息)),实例数据,填充数据

虚拟机优化:方法内联,逃逸分析(对象被外部访问(标量替换,将对象的创建替换成为多个成员变量的创建)或其他线程访问(同步省略,锁消除)),本地方法调用,代码优化(循环)
动态绑定和静态绑定:编译期和运行期,动态绑定运行时根据具体对象的类型进行绑定,多态继承等使用,用到了方法表
线程 -> 栈帧的局部变量区 -> 指向堆中对象,对象头部的类型指针->指向方法区的class文件
实现线程主要有3种方式:使用内核线程实现(Windows版与Linux版)、使用用户线程实现和使用用户线程加轻量级进程混合实现。
线程池:《corePoolSize,即使有空闲线程也要创建新的,然后再加入队列中,队列满了才会用到maxPoolSize;再满了用拒绝策略,超过corePoolsize的线程空闲超过keepAliveTime被回收
join基于wait实现,作用是等待子线程执行完再执行主线程,yield是放弃当前cpu时间片

方法区:方法区jdk8之前的实现是永久代,8之后迁移到元空间,替换永久代,字符串常量池容易溢出,永久代大小不好确认,gc回收效率低,元空间使用本地内存,存储类信息,常量,静态变量,即时编译器编译后的代码等
线程池:统一管理,线程数量多少,否则数量多了上下文切换慢,有队列等功能;线程占用资源多,重量级的资源,new代价比较大;有更多功能,并发数,单线程,定期执行等功能
问题:1:Executors默认的无界队列,线程饥饿,队列长度不要过长导致资源耗尽,大量使用线程池导致资源不足,且线程长时间等待,要用new threadPoolExecutor
2:拒绝策略:线程丢失,别人的代码拒绝策略改了没抛出异常,导致线程丢失没日志
线程通信:wait/notify,lock/Condition(CountDownLatch,Semaphore都是通过aqs实现的),共享内存(volatile),synchronized
注解:使用,aop,注解不生效;作用方法,生命周期;注解中方法在使用注解出后面的参数

juc 并发的原子类、集合、锁、tool(countdownlatch和CyclicBarrier)、线程池相关(Future,Executor)
高并发的思路:扩容,拆分,熔断,降级,限流(计数器,漏桶,令牌桶,ratelimit,redis),缓存,队列,数据库(主从,分库分表,拆分)
java内存模型:从主内存到工作内存(线程私有)
线程安全性:原子性(atomic包和锁),可见性(锁,volatile,保证读写前后主内存和工作内存的值是新的),有序性(volatile和锁,happens-before,阐述两个线程间的可见性)
方法:final,线程安全的类,并发容器
juc
同步组件:countdownlatch和CyclicBarrier,信号量,锁;
其他组件,fork/join,blockingqueue,线程池

收集器:serial/serial old 单线程,parNew(serial的多线程版本),parallel scavenge/parallel old(类似parNew,注重吞吐量),CMS
G1相对CMS:可预测时间,非连续的空间,小空间,空间整理,并发完成大部分gc
Full GC,清理整个堆的GC事件,包括新生代、老年代、元空间等(老年代标记整理)
触发场景:1,当老年代无法

后端面试八股文骚套路之Java基础 一年一度的秋招大戏又快拉开序幕了,近年来后端岗位越来越卷,毕业生的压力也越来越大。个人感觉目前各个大中厂校招面试不好的地方是,都在朝着背面试八股文的方向发展(曾经面试某二线厂,对着面试官纯背了 40 分钟概念),但不得不承认这也是企业在短时间内筛选面试者的一个重要手段。 为了帮助大家了解后端面试八股文应该怎么背,特此推出面试八股文画重点系列(包含的内容有 Java 基础、JVM、MySQL、Redis、操作系统、计算机网络、设计模式)。希望能帮助到 Java 基础不是很好的同学能快速的准备好面试八股文。. 阅读详情

相关推荐

最新2023整理Java面试八股文,大厂必备神器

那么,为什么在计算机技术相关岗位面试中,存在“八股文”内容的测评呢?国内的互联网面试,恐怕是现存的、最接近科举考试的制度。我国的八股文确实是独树一帜。以美国为例,北美工程师面试比较重视算法(Coding),近几年也会加入Design轮(系统设计和面向对象设计OOD)和BQ轮(Behavioral question,作为面试问题)。

Java架构师之路的博客 2516

2025 Java 面试八股文(20w 字)

(3)@EnableConfigutarion:最关键的一个注解,他拥有两个子注解,其中@AutoConfigurationpackageu会将启动类所在包下的所有组件到容器中,@Import会导入一个自动配置文件选择器,他会去加载META_INF目录下的spring.factories文件,这个文件中存放很大自动配置类的全类名,这些类会根据元注解的装配条件生效,生效的类就会被实例化,加载到ioc容器中。(3)分片集群:主从模式和哨兵模式解决了并发读的问题,但没有解决并发写的问题,因此有了分片集群。

tangjieqing的博客 2252

Java面试八股文真的有必要去背吗?

前言 2022春招即将来临,很多同学会问Java面试八股文有必要背吗? 我的回答是:很有必要。你可以讨厌这种模式,但你一定要去背,因为不背你就进不了大厂。 国内的互联网面试,恐怕是现存的、最接近科举考试的制度。 而且,我国的八股文确实是独树一帜。以美国为例,北美工程师面试比较重视算法(Coding),近几年也会加入Design轮(系统设计和面向对象设计OOD)和BQ轮(Behavioral question,行为面试问题)。 那么为什么国内面试不采取这样的考察方式呢?简单来说,互联网IT行业的求职者太多了,

spring_cgmx9880的博客 2172

阿里云百炼平台创建智能体-上传文档

阿里云百炼智能体-上传文档文件

weixin_43930851的博客 1355

ESP32拓展板DIY全攻略:从零打造你的传感器控制中心(附PCB设计文件)

本文详细介绍了如何从零开始DIY ESP32拓展板,打造多功能传感器控制中心。内容涵盖项目规划、硬件设计、PCB布局、制作测试全流程,并提供进阶优化建议和实战案例。特别适合嵌入式硬件爱好者学习ESP32拓展板开发,实现各类传感器的高效集成与控制。

blockchain9miner的博客 1077

SAP Workflow 工作流开发步骤总结

SAP WORKFLOW

qq_36952606的博客 5091

常规波束形成——时域波束形成、频域波束形成

本文介绍了波束成形,包括时域波束成形和频域波束成形,并解释了在实现过程可能存在疑惑的相位补偿。

Candy_Editor的博客 3657

利用Cesium引擎实现大疆智图B3DM三维模型的高效加载与可视化

本文详细介绍了如何利用Cesium引擎高效加载与可视化大疆智图B3DM三维模型。通过性能优化实战和典型应用场景分析,帮助开发者掌握模型预处理、渲染参数调优及高级功能实现技巧,提升大规模倾斜摄影数据的网页端展示效率。

weixin_29231725的博客 218

手把手教你修改miniwiggler配置信息,解决UDE连接问题(附FT_PROG工具下载)

本文详细介绍了如何使用FT_PROG工具修改miniwiggler配置信息,解决UDE连接问题。通过分析FT2232芯片的EEPROM结构,提供从驱动安装到配置烧写的完整流程,帮助开发者实现无缝连接英飞凌TriBoard开发板。文章还包含常见错误解决方案和高级批量配置技巧。

weixin_30919429的博客 373

基于Matlab模拟六自由度Stewart并联机器人运动学逆解

在现代工业和科学领域中,机器人技术的发展已经取得了巨大的进步,为生产和研究提供了许多便利。其中,六自由度Stewart并联机器人是一种广泛应用于各种领域的机器人系统。它具有高精度、高刚度和高可靠性的特点,被广泛应用于飞行模拟器、手术机器人和运动仿真等领域。然而,要使Stewart并联机器人能够实现复杂的运动任务,我们需要了解其运动学逆解。运动学逆解是指根据机器人末端执行器的位置和姿态,计算出各个关节的角度和长度。这对于控制机器人的运动非常重要,因为它可以帮助我们确定机器人各个关节的运动范围和工作空间。

qq_59747472的博客 1127

【3天快速入门WPF】1-从最简单的xaml开始

首先我们要知道xaml语法中声明即定义,意思就是“见到元素就相当于创建实例”,MainWindow.xaml的主干是一个元素里包含着一个 元素。这段程序就是在定义一个Window类的实例,这个实例的一个组成部分是一个Grid类的实例。

Zy100Papa的博客 1623

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

上一篇: docker和虚拟机对比
下一篇: 面试__编程
big muscle
博客等级 码龄11年 145粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值