面试--java基础

Java基础

  1. Java 中的几种基本数据类型了解么?
  2. 基本类型和包装类型的区别?
  3. 包装类型的缓存机制了解么?
  4. 成员变量与局部变量的区别?
  5. 静态变量有什么作用?
  6. 静态方法为什么不能调用非静态成员?
  7. 重载和重写有什么区别?
  8. 面向对象和面向过程的区别
  9. 面向对象三大特征
  10. 接口和抽象类有什么共同点和区别?
  11. 深拷贝和浅拷贝区别了解吗?什么是引用拷贝?
  12. == 和 equals() 的区别
  13. String、StringBuffer、StringBuilder 的区别?
  14. Exception 和 Error 有什么区别?
  15. 什么是序列化和反序列化?
  16. 序列化协议对应于 TCP/IP 4 层模型的哪一层?
  17. 谈谈反射机制的优缺点
  18. JDK 动态代理和 CGLIB 动态代理对比
  19. 静态代理和动态代理的对比

集合

  1. ArrayList 与 LinkedList 区别?
  2. 比较 HashSet、LinkedHashSet 和 TreeSet 三者的异同
  3. HashMap 和 Hashtable 的区别
  4. HashMap 和 TreeMap 区别
  5. HashMap 的长度为什么是 2 的幂次方
  6. ConcurrentHashMap 和 Hashtable 的区别
  7. JDK 1.7 和 JDK 1.8 的 ConcurrentHashMap 实现有什么不同?
  8. ConcurrentHashMap 能保证复合操作的原子性吗?

并发/线程

  1. Java 线程和操作系统的线程有啥区别?
  2. 程序计数器为什么是私有的?
  3. 虚拟机栈和本地方法栈为什么是私有的?
  4. 如何创建线程?
  5. 说说线程的生命周期和状态?
  6. 什么是线程上下文切换?
  7. Thread#sleep() 方法和 Object#wait() 方法对比
  8. 可以直接调用 Thread 类的 run 方法吗?
  9. 并发与并行的区别
  10. volatile如何保证变量的可见性?/防止 JVM 的指令重排序/不能保证对变量的操作是原子性的
  11. 乐观锁(实现使用版本号机制或 CAS 算法)和悲观锁
  12. CAS 算法存在哪些问题?/ ABA 问题/循环时间长开销大/只能保证一个共享变量的原子操作
  13. synchronized 底层原理了解吗?/ synchronized 同步语句块的实现使用的是 monitorenter 和
    monitorexit 指令,其中 monitorenter 指令指向同步代码块的开始位置,monitorexit
    指令则指明同步代码块的结束位置。synchronized 修饰的方法并没有 monitorenter 指令和 monitorexit
    指令,取而代之的是 ACC_SYNCHRONIZED 标识,该标识指明了该方法是一个同步方法。不过两者的本质都是对对象监视器
    monitor 的获取。
  14. 公平锁和非公平锁有什么区别?
  15. 可中断锁和不可中断锁有什么区别?
  16. 共享锁和独占锁有什么区别?
  17. ThreadLocal 原理了解吗?
  18. ThreadLocal 内存泄露问题是怎么导致的?
  19. 如何创建线程池?
  20. 线程池常见参数有哪些?如何解释?
  21. 为什么不推荐使用内置线程池?/ Executors 返回线程池对象的弊端
  22. 线程池处理任务的流程了解吗?
  23. AQS 是什么?/抽象队列同步器AbstractQueuedSynchronizer
  24. AQS 的原理是什么?
  25. Semaphore 的原理是什么?
  26. CountDownLatch 的原理是什么?

IO

  1. 字节流InputStream(字节输入流)/ OutputStream(字节输出流)
  2. 字符流Reader(字符输入流)/ Writer(字符输出流)
  3. 字节缓冲流BufferedInputStream(字节缓冲输入流)/ BufferedOutputStream(字节缓冲输出流)
  4. 字符缓冲流BufferedReader (字符缓冲输入流)/BufferedWriter(字符缓冲输出流)
  5. Java IO 设计模式总结/装饰器模式/适配器模式/工厂模式/观察者模式
  6. Java 中 3 种常见 IO 模型/ BIO (Blocking I/O)/ NIO (同步非阻塞 IO/ I/O 多路复用)/
    AIO (Asynchronous I/O)
  7. NIO 核心组件/ Buffer(缓冲区)/ Channel(通道)/ Selector(选择器)
  8. NIO 零拷贝

JVM

  1. 线程私有的:程序计数器/虚拟机栈(栈帧:局部变量表、操作数栈、动态链接、方法返回地址)/本地方法栈
  2. 线程共享的:堆(新生代内存(Young Generation: Eden 区、两个 Survivor 区 S0 和
    S1)/老生代(Old Generation)/永久代(Permanent Generation)
    Metaspace(元空间))/方法区/直接内存 (非运行时数据区的一部分)
  3. 对象的创建过程
  4. 对象的内存布局(对象头(Header)、实例数据(Instance Data)和对齐填充(Padding))
  5. 对象的访问定位(使用句柄、直接指针)
  6. 死亡对象判断方法(引用计数法/可达性分析算法)
  7. 引用类型总结(强引用/软引用/弱引用/虚引用)
  8. 垃圾收集算法(标记-清除算法/复制算法/标记-整理算法/分代收集算法)
  9. 垃圾收集器(Serial 收集器/ ParNew 收集器/ Parallel Scavenge 收集器/ Serial Old 收集器/
    Parallel Old 收集器/ CMS 收集器/ G1 收集器/ ZGC 收集器)
  10. 类的生命周期(加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸载(Unloading))
  11. 双亲委派模型
  12. JVM参数

网络

  1. OSI 七层模型是什么?每一层的作用是什么?
  2. TCP/IP 四层模型是什么?每一层的作用是什么?
  3. 应用层有哪些常见的协议?
  4. 传输层有哪些常见的协议?
  5. 网络层有哪些常见的协议?
  6. 从输入 URL 到页面展示到底发生了什么?
  7. HTTP 和 HTTPS 有什么区别?
  8. HTTP 是不保存状态的协议, 如何保存用户状态?
  9. Cookie 和 Session 有什么区别?
  10. WebSocket 和 HTTP 有什么区别?
  11. WebSocket 的工作过程是什么样的?
  12. TCP 与 UDP 的区别
  13. TCP 三次握手和四次挥手

操作系统

  1. 什么是用户态和内核态?
  2. 为什么要有用户态和内核态?只有一个内核态不行么?
  3. 用户态切换到内核态的 3 种方式/系统调用/中断/异常
  4. 系统调用的过程了解吗?
  5. 什么是进程和线程?
  6. 进程和线程的区别是什么?
  7. 线程间的同步的方式有哪些?
  8. PCB 是什么?包含哪些信息?
  9. 进程有哪几种状态?
  10. 进程间的通信方式有哪些?
  11. 进程的调度算法有哪些?
  12. 什么是僵尸进程和孤儿进程?
  13. 什么是死锁?
  14. 产生死锁的四个必要条件是什么?
  15. 解决死锁的方法
  16. 内存管理主要做了什么?
  17. 什么是内存碎片?
  18. 常见的内存管理方式有哪些?
  19. 什么是虚拟内存?有什么用?
  20. 什么是虚拟地址和物理地址?
  21. 虚拟地址与物理内存地址是如何映射的?
  22. 文件系统主要做了什么?
  23. 常见的磁盘调度算法有哪些?

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

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

相关文章

LabVIEW回转支承间隙自动化检测系统

开发了一种基于LabVIEW软件的回转支承间隙检测系统,通过高精度传感器和数据采集卡,自动化、高效地测量回转支承的轴向间隙和径向间隙,提高了检测精度和生产质量。以下是对系统的详细描述与应用案例分析,希望能为有类似需求的开发者…

linux如何与网络时间对齐(雪花算法ID重复)

文章目录 前言一、可能引发什么问题?二、调整步骤1.查看当前系统时间2.修改为中国时区3.同步网络时间4. 雪花id重复 总结 前言 linux服务器是部署服务的不二之选,有个小问题不可忽略: 会发现默认的服务器时间并非中国时区,时间也是相差八小时,中国时区…

踩坑NVTX

最开始在 【简说】NVTX Nsight Nvidia性能分析利器 看到NVTX的时候,我觉得这是一个好东西啊,可以详细说明每一段时间对应的是哪一段程序。 看了一下github,他的文章已经过时,现在已经不需要链接动态库了,直接includ…

2024_10_8 系统进展

改进位置 发现是label_api里藏了我需要改进的东西 settings.py 数据库 我这边电脑上使用的是windows 192 vue.config.js 陈家强是这样设置的 module.exports {publicPath: process.env.NODE_ENV production? /: /,assetsDir: static,// css: {// extract: false// },…

问:LINUXWINDOWS线程CPU时间如何排序?

Linux 在Linux上,你可以使用ps命令结合sort命令来查看和排序进程或线程的CPU使用时间。 查看进程的CPU使用时间并按时间排序 使用ps命令的-o选项可以自定义输出格式,-e选项表示显示所有进程,--sort选项用于排序。 ps -e -o pid,tid,comm,…

使用YOLO11实例分割模型进行人物分割【附完整源码】

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…

D31【python 接口自动化学习】- python基础之输入输出与文件操作

day31 文件的打开 学习日期:20241008 学习目标:输入输出与文件操作﹣-43 常见常新:文件的打开 学习笔记: 文件的概念 使用open()函数打开文件 文件路径处理 文件打开模式 总结 文件操作包括:打开&#…

VM虚拟机安装 CentOS 7.6 部署宝塔面板实操

一、centos下载 进入centos官网下载页面,选择7.6版本,依次点击 tree-》isos-》x86_64/-》CentOS-7-x86_64-DVD-1810.iso 进行下载。 centos官网下载页面: https://wiki.centos.org/Download.html1、打开下载页面 二、配置CentOS 7的网络 1、…

秋季猫咪掉毛严重怎么办?宠物空气净化器到底有没有用?

告别炎热的夏天,秋意随着家里猫咪新一轮的掉毛一起到来。我家两只布偶齐齐发力,疯狂掉毛,家里每个角落无一幸免。衣服上、地板上,肉眼可见家里的毛发量在不断增多,又陷入了日复一日的清理大战。除此之外,对…

『网络游戏』Tips弹窗队列【10】

修改脚本:DynamicWnd.cs 修改脚本:GameRoot.cs 运行项目 - Tips提示消息按顺序依次弹出显示 修改代码:GameRoot.cs 修改代码:LoginSys.cs 运行项目 设置初始化函数 将CreateWnd设置为隐藏 运行项目 本章结束

【C++ 11】for 基于范围的循环

文章目录 【 1. 基本用法 】【 2. for 新格式的应用 】2.1 for 遍历字符串2.2 for 遍历列表2.3 for 遍历的同时修改元素 问题背景 C 11标准之前(C 98/03 标准),如果要用 for 循环语句遍历一个数组或者容器,只能套用如下结构&#…

k8s 中的金丝雀发布(灰度发布)

目录 1 什么是金丝雀发布 2 Canary 发布方式 3 Canary 两种发布方式实操 3.1 准备工作 3.1.1 将 nginx 命名两个版本 v1 与 v2 3.1.2 暴露端口并指定微服务类型 3.1.3 进入 pod 修改默认发布文件 3.1.4 测试 service 是否正常 3.2 基于权重的灰度发布 3.2.1 创建 Igress 资源类…

macOS编译和运行prometheus2.54

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文详述了在macOS(M2芯片)上编译和运行prometheus2.54版本的过程,以及安装node_exporter和grafana并使用prometheus指标进行展示 本地…

关闭IDM自动更新

关闭IDM自动更新 1 打开注册表2 找到IDM注册表路径 1 打开注册表 winR regedit 2 找到IDM注册表路径 计算机\HKEY_CURRENT_USER\Software\DownloadManager 双击LstCheck,把数值数据改为0 完成 感谢阅读

微信小程序hbuilderx+uniapp+Android 新农村综合风貌旅游展示平台

目录 项目介绍支持以下技术栈:具体实现截图HBuilderXuniappmysql数据库与主流编程语言java类核心代码部分展示登录的业务流程的顺序是:数据库设计性能分析操作可行性技术可行性系统安全性数据完整性软件测试详细视频演示源码获取方式 项目介绍 小程序端…

力扣之603.连续空余座位

文章目录 1. 603.连续空余座位1.1 题干1.2 准备数据1.3 思路分析1.4 解法1.5 结果截图 1. 603.连续空余座位 1.1 题干 表: Cinema ----------------- | Column Name | Type | ----------------- | seat_id | int | | free | bool | ----------------- Seat_id 是该表的自动递…

2024年最新版本神马TV8.5影视APP源码 293TV影视点播系统源码搭建教程 神马TV8.2加强版反编译教程 保姆级小白可搭建 完整版本视频教程

2024年最新版的神马TV影视APP源码,版本号8.5,提供了前所未有的定制化选项和高级功能。用户可以轻松更换应用的包名和名称,确保品牌个性化。此外,该应用采用了动态域名加密技术,增强了数据传输的安全性。它支持自动切换…

多级代理与提权维权

目录 代理构建FRP介绍下载配置⽂件: sock5代理Venom介绍下载配置 icmpsh介绍下载配置 pingtunnel介绍下载配置 EarthWorm介绍下载使用 权限提升win权限提升常⻅利⽤⼯具 Linux权限提升SUID提权 权限维持win权限维持系统服务后⻔⾃启动⽬录注册表后⻔其他类似隐藏⽤户…

【Python】干货分享丨从入门到编写POC之常用的标准库

Python从入门到编写POC系列文章原创的一套完整教程,想系统学习Python技能的小伙伴,不要错过哦! 常用的标准库 安装完Python之后,我们也同时获得了强大的Python标准库,通过使用这些标准库可以为我们节省大量的时间&a…

5.k8s:helm包管理器,prometheus监控,elk,k8s可视化

目录 一、Helm 包管理器 1.什么是 Helm 2.安装Helm (3)Helm常用命令 (4)目录结构 (5)使用Helm完成redis主从搭建 二、Prometheus集群监控 1.监控方案 2.Prometheus监控k8s 三、ELK日志搜集 1.el…