【面试题】Java面试题汇总(无解答)
此内容会持续补充。。。
基础
- short s1 = 1; s1 = s1 + 1;有错吗? short s1 = 1; s1 += 1; 有错吗?
- String str=”aaa”,与 String str=new String(“aaa”)一样吗?
- String 和 StringBuilder、StringBuffer 的区别?
- Sring最大能存多大内容?
- 重载和重写的区别
- 构造方法能不能重写?能不能重载?
- 数组实例化有几种方式?
- Java 中各种数据默认值
- Object 类常用方法有那些?
- java 中是值传递还是引用传递?
- 形参与实参区别
- 内部类与静态内部类的区别?
- Static 关键字有什么作用?
- final 在 java 中的作用,有哪些用法?
- Char 类型能不能转成 int 类型?能不能转化成 string 类型,能不能转成 double 类型
- 讲下 java 中的 math 类有那些常用方法?
- 什么是拆装箱?
- 一个 java 类中包含那些内容?
- 针对浮点型数据运算出现的误差的问题,你怎么解决?
- 面向对象的特征有哪些方面?
- 普通类与抽象类有什么区别?
- 什么是接口?接口有什么特点?为什么需要接口?
- 抽象类和接口的区别?
- 接口是否可继承(extends)接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concreteclass)?
- 访问修饰符 public,private,protected,以及不写(默认friendly) 时的区别?
- Hashcode 的作用
- 深拷贝和浅拷贝的区别是什么?
- JDBC 操作的步骤
- 什么时候用 assert
- 数组有没有 length()这个方法? String 有没有 length()这个方法
- 用最有效率的方法算出 2 乘以 8 等于几?
- 一个".java"源文件中是否可以包含多个类(不是内部类)?有什么限制?
集合
- ArrayList 和 linkedList 的区别
- HashMap 排序
- Collection 包结构,与 Collections 的区别
- 说说 List,Set,Map 三者的区别
- 并发集合和普通集合如何区别?
- Map 有什么特点
- 集合类存放于 Java.util 包中, 主要有几 种接口
- 什么是 list 接口
- 说说 ArrayList(数组)
- Vector( 数组实现、 线程同步)
- 说说 LinkList(链表)
- 什么 Set 集合
- HashSet( Hash 表)
- 什么是 TreeSet(二叉树)
- List 和 Map、Set 的区别?
- 数组和链表分别比较适合用于什么场景,为什么?
- 说说 ConcurrentHashMap
- Java 中 ArrayList 和 LinkedList 区别?
- TreeMap(可排序)
- 请用两个队列模拟堆栈结构?
- Map 中的 key 和 value 可以为 null?
- 数据结构基础之双向链表
- HashMap 的底层实现
- ConcurrentHashMap 和 Hashtable 的区别
- 说出 ArrayList,Vector,LinkedList 的存储性能和特性
- 你所知道的集合类都有哪些?主要方法?
- HashMap 原理,java8 做了什么改变
- poll()方法和 remove()方法的区别?
- 写一段代码在遍历 ArrayList 时移除一个元素
异常
- Java 中异常分为哪两种?
- 异常的处理机制有几种?
- 如何自定义一个异常
- try catch fifinally,try 里有 return,finally 还执行么?
- Excption 与 Error 包结构及区别
- Thow 与 thorws 区别
- final、finally、finalize 的区别?
- 说出最常见的 5 个 RuntimeException?
- 在 Java 异常处理的过程中,你遵循的那些最好的实践是什么?
- 你遇到过 OutOfMemoryError 错误嘛?你是怎么搞定的?
IO
- Java 中 IO 流?
- 字节流如何转为字符流?
- 常用 io 类有那些
- IO模型有哪些
- 阻塞 IO 模型
a. 读取数据时一直等待数据准备完毕 - 字节流和字符流的区别?
- 多路复用 IO 模型
- 如何实现对象克隆?
- 异步 IO 模型
- 什么是 java 序列化,如何实现 java 序列化?
- NIO 的缓冲区
- 面向 Stream 和面向 Buffer
- Channel
- NIO 和 IO 对应用的设计有何影响
- Selector
- Java IO 与 NIO 的区别
- 字节流与字符流的区别
- 非阻塞 IO 模型
- 信号驱动 IO 模型
- NIO 的非阻塞
- Buffer
反射
- 什么是反射?
- Java 反射创建对象效率高还是通过 new 创建对象的效率高?
- 哪里会用到反射机制?
- 反射机制的优缺点?
- 实现 Java 反射的类:
- 动态代理是什么?有哪些应用?
- Java 反射 API
- 获取 Class 对象有几种方法
- 反射的实现方式
- 反射使用步骤(获取 Class 对象、调用对象方法)
序列化
- 什么是 java 序列化?
- Serializable 实现序列化
- 如何实现 java 序列化?
- 哪些变量不会被序列化?
- 序列化作用
- 序列化场景
注解
- 4 种标准元注解是哪四种?
- 什么是注解?他们的典型用例是什么?
- 从标准库中描述一些有用的注解。
- 注解原理
- 可以从注解方法声明返回哪些对象类型?
- 哪些程序元素可以注解?
- 什么是重复注解?
- 怎么能检索注解?这与保留政策有何关系?
- 是否可以扩展注解?
并发
- 什么是线程?
- 继承 Thread 类
- 如何在 java 中实现线程
- ExecutorService、 Callable、 Future 有返回值线程
- 实现多线程 Thread 和 Runnable 区别?
- 4 种线程池:单线程,计划线程,固定线程,可缓存线程
- 解释 java 中的 volatile 变量:直接操作内存,数据立刻展示
- notify()和 notifyAll()有什么区别?:通知一个线程,通知全部全程
- sleep()和 wait() 有什么区别?:睡眠一定实践自动唤醒;等待需要其他线程通知唤醒。
- volatile 是什么?可以保证有序性吗?只保证可见性,不保证有序性
- Thread 类中的 start() 和 run() 方法有什么区别?开始进入准备实践,运行即刻执行。
- 为什么 wait, notify 和 notifyAll 这些方法不在 thread 类里面?
- 共享锁和独占锁
- Java 中 interrupted 和 isInterruptedd 方法的区别?
- Java 中 synchronized 和 ReentrantLock 有什么不同?
- 有三个线程 T1,T2,T3,如何保证顺序执行?
- SynchronizedMap 和 ConcurrentHashMap 有什么区别?
- 什么是线程安全
- 重量级锁(Mutex Lock)
- Java 线程池中 submit() 和 execute()方法有什么区别?
- 偏向锁
- 说说自己是怎么使用 synchronized 关键字,在项目中用到了吗 synchronized 关键字最主要的三种使用方式
- 什么是线程安全?Vector 是一个线程安全类吗?
- Java 中实现多线程有几种方法
- 实现 Runnable 接口。
- 如何停止一个正在运行的线程
- 线程基本方法
- 线程让步(yield)
- 线程唤醒(notify)
锁
- 锁有哪些分类
- Java 中 synchronized 和 ReentrantLock 有什么不同?
- 共享锁和独占锁
- 自旋锁和自适应自旋
- 偏向锁 轻量级锁 重量级锁(Mutex Lock)
JVM
- JVM 运行时内存模型
- 64 位 JVM 中,int 的长度是多数?
- 新生代、老年代、永久代
- 32 位和 64 位的 JVM,int 类型变量的长度是多数?
- JAVA8 与元数据
- 分代收集算法
- 怎样通过 Java 程序来判断 JVM 是 32 位 还是 64 位?
- 分代收集算法
- JRE、JDK、JVM 及 JIT 之间有什么不同?
- 解释 Java 堆空间及 GC?
- JVM 内存区域
- JAVA 强引用、软引用、弱引用、虚引用
- 虚拟机栈(线程私有)
- 分代收集算法
- 你能保证 GC 执行吗?
- 怎么获取 Java 程序使用的内存?堆使用的百分比?
- 在老年代-标记整理算法
- 描述一下 JVM 加载 class 文件的原理机制
- Serial Old 收集器(单线程标记整理算法)
- 堆(Heap-线程共享) -运行时数据区
- G1 收集器
- JVM 类加载机制
- 堆和栈的区别
- 什么是 Java 虚拟机?为什么 Java 被称作是“平台无关的编程语言”?
- Parallel Old 收集器(多线程标记整理算法)
- 垃圾收集算法
- Minor GC 与 Full GC 分别在什么时候发生?
- 你知道哪些 JVM 性能调优
- 说一下 JVM 的主要组成部分及其作用?
- 队列和栈是什么?有什么区别?
网络
- HTTP 响应码 301 和 302 代表的是什么?有什么区别?
- 简单说一下http协议?
- HTTP与HTTPS的区别?
- HTTP协议下客户端请求报文是什么?
- HTTP协议服务器响应报文有哪些?
- HTTP协议中的请求方法有哪些?
- 常见的HTTP状态码有哪些?
- forward 和 redirect 的区别?
- 简述 tcp 和 udp的区别?
- TCP 为什么要三次握手,两次不行吗?为什么?
- 说一下 TCP 粘包是怎么产生的?
- OSI 的七层模型都有哪些?
- GET和POST的区别?
- 如何实现跨域?
- 什么是WebSocket?
- WebSocket与HTTP的关系
- WebSocket与Socket的关系
- WebSocket示例
相关文章:
【面试题】Java面试题汇总(无解答)
此内容会持续补充。。。 基础 short s1 1; s1 s1 1;有错吗? short s1 1; s1 1; 有错吗?String str”aaa”,与 String strnew String(“aaa”)一样吗?String 和 StringBuilder、StringBuffer 的区别?Sring最大能存多大内容?…...
C++---背包模型---收服精灵(每日一道算法2023.3.11)
注意事项: 本题是"动态规划—01背包"的扩展题,优化的思路不多赘述,dp思路会稍有不同,下面详细讲解。 本题偏向阅读理解,给每种变量归类起名字很有帮助哦。 切记先看思路,再看代码。(大…...

day30_JS
今日内容 上课同步视频:CuteN饕餮的个人空间_哔哩哔哩_bilibili 同步笔记沐沐霸的博客_CSDN博客-Java2301 零、 复习昨日 一、作业 二、BOM 三、定时器 四、正则表达式 零、 复习昨日 事件 事件绑定方式鼠标事件 onmouseoveronmouseoutonmousemove 键盘事件 onkeydownonkeyupon…...
【Java学习笔记】19.Java 正则表达式(2)
前言 本章继续介绍Java的正则表达式。 Matcher 类的方法 索引方法 索引方法提供了有用的索引值,精确表明输入字符串中在哪能找到匹配: 序号方法及说明1public int start()返回以前匹配的初始索引。2public int start(int group)返回在以前的匹配操作…...
华为云arm架构轻松安装kubeedge
先安装k8s 华为云arm架构安装k8s(kubernetes) 下载kubeedge需要的软件 官方github下载kubeedge地址 cloudcore.service文件下载地址 注意:下载对应的版本和arm架构 keadm-v1.6.1-linux-arm64.tar.gz 下面的2个文件可以不用下载,安装kubeedge时也会自动去下载到/etc/kubee…...

33--Vue-前端开发-使用Vue脚手架快速搭建项目
一、vue脚手架搭建项目 node的安装: 官方下载,一路下一步 node命令类似于python npm命令类似于pip 使用npm安装第三方模块,速度慢一些,需换成淘宝镜像 以后用cmpm代替npm的使用 npm install -g cnpm --registry=https://registry.npm.taobao.org安装脚手架: cnpm inst…...
TMS WEB Core开发Web应用优势说明
一、Delphi开发Web应用的三大框架如下: IntraWEB适合于WEB前、后端的开发,其自带的网络服务器非常强大、稳定,笔者使用Cesium框架开发的WEB GIS地理信息系统前端不需要Apache Tomcat或Nginx即可稳定运行; uniGUI是对JavaScript库Sencha ExtJS的封装,它带有两套VCL组件包,…...

人工智能简单应用1-OCR分栏识别:两栏识别三栏识别都可以,本地部署完美拼接
大家好,我是微学AI,今天给大家带来OCR的分栏识别。 一、文本分栏的问题 在OCR识别过程中,遇到文字是两个分栏的情况确实是一个比较常见的问题。通常情况下,OCR引擎会将文本按照从左到右,从上到下的顺序一行一行地识别…...
Gin框架路由拆分与注册详解析
Gin框架路由拆分与注册详解析1.基本的路由注册2.路由拆分成单独文件或包3.路由拆分成多个文件4.路由拆分到不同的APP1.基本的路由注册 下面最基础的gin路由注册方式,适用于路由条目比较少的简单项目或者项目demo // StatCost 是一个统计耗时请求耗时的中间件 func…...

2020蓝桥杯真题凯撒加密 C语言/C++
题目描述 给定一个单词,请使用凯撒密码将这个单词加密。 凯撒密码是一种替换加密的技术,单词中的所有字母都在字母表上向后偏移 3 位后被替换成密文。即 a 变为 d,b 变为 e,⋯,w 变为z,x 变为 a࿰…...
taro+vue3小程序使用v-html渲染的内容为class写了样式无效
taro小程序如果是直接引入的一个less文件是包含scoped,只是当前页面采用。<script setup>import ./index.less</script><view v-html"itehtml" class"article-content"></view>let itehtml"<p class"line…...

MASK-RCNN网络介绍
目录前言一.MASK R-CNN网络1.1.RoIPool和RoIAlign1.2.MASK分支二.损失函数三.Mask分支预测前言 在介绍MASK R-CNN之前,建议先看下FPN网络,Faster-CNN和FCN的介绍:下面附上链接: R-CNN、Fast RCNN和Faster RCNN网络介绍FCN网络介绍…...

导航技术调研(CSDN_0023_20221217)
文章编号:CSDN_0023_20221217 目录 1. 惯性导航 2. 组合导航技术 3. 卡尔曼滤波 1. 惯性导航 惯性导航系统(INS-Inertial Navigation System)是上个世纪初发展起来的。惯性导航是一种先进的导航方法,但实现导航定位的原理却非常简单,它是…...

买卖股票的最佳时机 I II III IV
121. 买卖股票的最佳时机 自己的思路:采用求最长连续子串和题目的思路 class Solution {public int maxProfit(int[] prices) {if(prices.length 1) return 0;int[] nums new int[prices.length - 1];for(int i 0;i < prices.length - 1;i){nums[i] prices[…...

STM32—LCD1602
LCD1602(Liquid Crystal Display)是一种工业字符型液晶,能够同时显示 1602 即 32 字符(16列两行) 第 1 脚: VSS 为电源地 第 2 脚: VDD 接 5V 正电源 第 3 脚: VL 为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最…...

英雄算法学习路线
文章目录零、自我介绍一、关于拜师二、关于编程语言三、算法学习路线1、算法集训1)九日集训2)每月算法集训2、算法专栏3、算法总包四、英雄算法联盟1、英雄算法联盟是什么?2、如何加入英雄算法联盟?3、为何会有英雄算法联盟&#…...

【设计模式】备忘录模式和迭代器模式
备忘录模式和迭代器模式备忘录模式代码示例迭代器模式代码示例使用迭代器遍历集合的同时不能删除/增加元素总结备忘录模式 备忘录模式,也叫快照(Snapshot)模式。 在 GoF的《设计模式》⼀书中,备忘录模式是这么定义的:…...

rapidcsv 写csv文件实例
csv实质是一个文本文件,可以使用rapidcsv写文件操作,如下实例: 第一行实质是从-1行开始,列是从0开始 #include "rapidcsv.h" #include <string> using namespace std; void CMFCApplication1Dlg::OnBnClickedBu…...

数据库--进阶篇--9--存储引擎
MySQL体系结构 索引是在引擎层,所以不同的存储引擎,它的索引结构不同。 存储引擎简介 存储引擎就是存储数据、建立所以、更新/查询数据等技术的实现方式。存储引擎是基于表的,而不是基于库的,所以存储引擎也可以被称为表类型。 …...
物品的管理的隐私政策
本应用尊重并保护所有使用服务用户的个人隐私权。为了给您提供更准确、更有个性化的服务,本应用会按照本隐私权政策的规定使用和披露您的个人信息。但本应用将以高度的勤勉、审慎义务对待这些信息。除本隐私权政策另有规定外,在未征得您事先许可的情况下…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别
【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而,传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案,能够实现大范围覆盖并远程采集数据。尽管具备这些优势…...
【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error
在前端开发中,JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作(如 Promise、async/await 等),开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝(r…...
Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?
Pod IP 的本质与特性 Pod IP 的定位 纯端点地址:Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址(如 10.244.1.2)无特殊名称:在 Kubernetes 中,它通常被称为 “Pod IP” 或 “容器 IP”生命周期:与 Pod …...