
java基础面试题
文章平均质量分 73
chenzm666666
每天进步一点,未来很强大
展开
-
JVM常见面试题
1.JVM有哪些内存区域?虚拟机栈:在jvm运行过程中存储当前线程运行方法所需的数据、指令、返回地址;栈的生命周期跟随线程的生命周期;每一个栈包含多个方法,每个方法占用一块空间,称为栈帧;它的结构是栈,是先进后出的;本地方法栈:本地方法栈和虚拟机栈的作用、实现类似,它服务的对象是native方法;程序计数器:主要用来记录各个线程执行的字节码的地址;方法区:jdk1.7之前叫永久代,是在堆里面,jdk1.8之后叫元空间,另起一块空间,不放在堆里面了;主要存放静态信息,比如类的信息、常量池、方法数据原创 2022-05-15 21:48:32 · 830 阅读 · 0 评论 -
为什么重写equals()方法还要重写hashCode()方法
重写equals方法时要重写hashCode方法原创 2022-02-20 16:33:29 · 943 阅读 · 0 评论 -
String、StringBuffer和StringBuilder的区别
String、StringBuffer和StringBuilder的区别原创 2021-03-23 11:40:08 · 394 阅读 · 0 评论 -
redis面试题(以自己的话总结)
redis1.redis5中基础类型StringHash:类似mapList:有序列表Set:无序集合,自动去重Sorted Set:排序的Set缓存穿透:缓存穿透:产生这个问题的原因可能是外部的恶意攻击,例如,对用户信息进行了缓存,但恶意攻击者使用不存在的用户id频繁请求接口,导致查询缓存不命中,然后穿透 DB 查询依然不命中。这时会有大量请求穿透缓存访问到 DB。解决的办法如下:1.对不存在的用户,在缓存中保存一个空对象进行标记,防止相同 ID 再次访问 DB。不过有时这个方法并不能原创 2021-03-22 13:55:01 · 1665 阅读 · 0 评论 -
springboot面试题(以自己的话总结)
1.springboot的核心注解是哪个?它主要由哪几个注解组成的?启动类上的注解@SpringBootApplication,是核心注解,主要包含了以下3个注解:@SpringBootConfiguration:包含了@Configuration,实现配置文件的功能;@EnableAutoConfiguration:打开自动配置的功能;@ComponentScan:Spring组件扫描2.SpringBoot需要独立的容器运行吗?可以不需要,内置了Tomcat/Jetty等容器,默认Tomca原创 2021-03-21 00:59:48 · 1629 阅读 · 7 评论 -
java 网络编程面试题(以自己的话总结)
1.TCP、UDP的区别TCP(transfer control protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。特点:1.面向连接2.点到点的通信3.高可靠性:三次握手4.占用系统资源多、效率低生活案例:打电话UDP(User DatagramProtocol)是一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。特点:1.非面向连接,传输不可靠,可能丢失2.发送不管对方是否准备好,接收方收到也不确认3.可以广播发送4.开销小生活案例:发短信原创 2021-03-09 23:26:01 · 282 阅读 · 0 评论 -
java集合面试题(以自己的话总结)
1.集合和数组的区别1.数组长度必须在初始化时指定,且固定不变;集合的长度是可变的2.数组可以存储基本数据类型、引用数据类型;集合只能存储引用数据类型3.数组存储的元素必须是同一个数据类型;集合存储的对象可以是不同数据类型。2.常用的集合类Collection接口和Map接口是所有集合框架的父接口:1.Collection接口的子接口:Set接口、List接口List:一个有序(元素存入集合的顺序和取出的顺序一致)容器,元素可以重复,元素都有索引。常见的实现类有ArrayList、Linked原创 2021-03-09 21:01:50 · 203 阅读 · 0 评论 -
MyBatis面试题(以自己的话总结)
1.什么是MyBatis1.MyBatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,加载驱动、创建连接、创建statement等繁杂的过程,开发者开发时只需要关注如何编写sql语句。2.MyBatis可以使用xml或注解来配置和映射原生信息,将POJO映射成数据库中的记录。3.通过xml文件或注解的方式将要执行的各种statement配置起来,并通过java对象和statement中sql的动态参数进行映射生成最终执行的sql语句,最后由MyBatis框架执行sql并将结果映射为jav原创 2021-03-09 14:38:18 · 500 阅读 · 0 评论 -
SpringMVC面试题(以自己的话总结)
1.三层架构1.表现成:负责数据展示(Servlet、HTML、spring、SpringMVC)2.业务层:负责业务处理(Spring)3.数据库:负责数据操作(JDBC、MyBatis、Spring)2.SpringMVC简介SpringMVC是一种基于java实现MVC模型的轻量级Web框架。3.SpringMVC工作原理1.客户端发送请求到DispatcherServlet2.DispatcherServlet查询handlerMapping找到处理请求的Controller3.C原创 2021-03-08 11:10:13 · 272 阅读 · 0 评论 -
spring面试题(以自己的话总结)
1.Spring是什么Spring是分层的javaSE/EE应用一站式(full-stack)轻量级开源框架。2.Spring的体系结构底层是核心容器(Core Container)Beans,Core,Context,SpringEL表达式中间层技术AOP,Aspects应用层技术数据访问与数据集成,Web集成,Web实现基于Test测试3.IoC、DI简介IoC(Inversion Of Conttrol)控制反转,Spring反向控制应用程序所需要使用的外部资源,Spring控制原创 2021-03-07 22:40:51 · 225 阅读 · 0 评论 -
Mysql面试题(以自己的话总结)
Mysql存储引擎1.Innodb(mysql默认引擎):Innodb提供了对数据库ACID事务的支持,并且提供了行级锁和外键的约束。它的设计目标就是处理大数据容量的数据库系统2.MyIsam:不提供事务的支持,也不支持行级锁和外键3.Memery:所有的数据都在内存中,数据的处理速度快,但是安全性不高。...原创 2021-03-07 12:00:24 · 189 阅读 · 1 评论 -
多线程面试题(以自己简单易懂的话总结)
1.多线程有什么用1.提高运行效率,减少程序的响应时间,提高CPU的利用率2.防止阻塞,减少开销3.便于建模2.创建多线程的方式1.继承Thread类,并覆盖run()方法2.实现Runnable接口,并覆盖run()方法3.实现Callable接口新建的线程不会自动开始运行,必须通过调用Thread的start( )方法启动3.进程和线程进程:进程是指一种正在运行的程序,有自己的地址空间线程:线程是进程内部的一个执行单元,也被称为轻量级进程,它是程序执行的最小单元,在一个进程中同时运原创 2021-03-06 20:45:52 · 200 阅读 · 0 评论 -
java基础面试题(以自己简单易懂的话总结)
Spring框架 简介框架就是经过验证的,具有一定功能的半成品软件。spring框架是分层的JavaSE/EE应用full-stack轻量级开源框架你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全原创 2021-03-05 23:26:56 · 258 阅读 · 0 评论