
Java常见面试题
文章平均质量分 86
泰勒疯狂展开
这个作者很懒,什么都没留下…
展开
-
Java-常见面试题收集(二十)
CAP 定理是由加州⼤学伯克利分校 Eric Brewer 教授提出来的,他指出 WEB 服务⽆法同时满⾜⼀下 3 个属性:⼀致性(Consistency) : 客户端知道⼀系列的操作都会同时发⽣(⽣效)可⽤性(Availability) : 每个操作都必须以可预期的响应结束分区容错性(Partition tolerance) : 即使出现单个组件⽆法可⽤,操作依然可以完成在分布式系统中,⼀个 Web 应⽤⾄多只能同时⽀持上⾯的两个属性。因此,设计⼈员必须在⼀致性与可⽤性之间做出选择。原创 2024-09-27 16:28:55 · 652 阅读 · 0 评论 -
Java-常见面试题收集(十九)
在MySQL查询优化中,最左匹配原则(Most Left Prefix Rule)是一个重要的概念,特别是在使用复合索引(即包含多个列的索引)时。它指的是在MySQL利用复合索引进行查询时,会按照索引中列的顺序从左到右进行匹配,直到遇到范围查询(如>、<、BETWEEN、LIKE 'pattern%'等)为止,之后的列将不会被索引继续利用。复合索引示例。原创 2024-07-11 16:06:44 · 847 阅读 · 0 评论 -
Java-常见面试题收集(十八)
查看当前进程:ps执行退出:exit查看当前路径:pwd。原创 2024-06-27 08:55:08 · 821 阅读 · 0 评论 -
Java-常见面试题收集(十七)
spring cloud 是一系列框架的有序集合。它利用 spring boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 spring boot 的开发风格做到一键启动和部署。原创 2024-05-23 19:15:40 · 612 阅读 · 0 评论 -
Java-常见面试题收集(十六)
消息队列,简称 MQ(Message Queue),它其实就指消息中间件,当前业界比较流行的开源消息中间件包括:RabbitMQ、RocketMQ、Kafka。(一个使用队列来通信的组件)它的本质,就是个转发器,包含发消息、存消息、消费消息的过程。原创 2024-05-23 15:46:08 · 842 阅读 · 0 评论 -
Java-常见面试题收集(十五)
Elasticsearch中的字典树(Trie Tree)或称为前缀树(Prefix Tree)是一种用于处理字符串数据的高效数据结构。特别是在其倒排索引的构建中,字典树发挥了重要作用。其核心思想是空间换时间,利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。它有 3 个基本性质:① 根节点不包含字符,除根节点外每一个节点都只包含一个字符。② 从根节点到某一节点,路径上经过的字符连接起来,为该节点对应的字符串。③ 每个节点的所有子节点包含的字符都不相同。或者用数组来模拟动态。原创 2024-05-22 19:07:03 · 597 阅读 · 0 评论 -
Java-常见面试题收集(十四)
MongoDB 是一款高性能的 NoSql 数据库,是基于文件存储的数据库,采用BSON 格式来存储数据。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库中功能最丰富、最像关系数据库的。(在高负载的情况下,通过添加更多的节点,可以保证服务器性能)原创 2024-05-22 15:08:48 · 721 阅读 · 0 评论 -
Java-常见面试题收集(十三)
Redis,全称Remote Dictionary Server,即远程字典服务,是一个开源的使用ANSI C语言编写的、支持网络的、基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它主要用于缓存数据的计算结果、页面内容、数据库查询结果等,以提高数据访问速度和响应速度,从而提升系统性能和用户体验。Redis具有多种应用场景,包括但不限于:缓存:通过缓存热点数据,减少数据库查询次数,提高访问速度。消息队列:实现异步处理和解耦,提高系统的可扩展性和灵活性。原创 2024-04-14 19:45:46 · 668 阅读 · 0 评论 -
Java-常见面试题收集(十二)
Git、GitHub、Gitee和GitLab都是与版本控制和代码托管相关的工具,但它们在功能和使用上有所不同。Git是一个开源的分布式版本控制系统,主要用于敏捷高效地处理任何或小或大的项目版本管理。它是Linus Torvalds为了帮助管理Linux内核开发而开发的,目的是有效、高速地处理从很小到非常大的项目版本管理。GitHub是一个基于web的版本控制和协作平台,主要用于存储、管理和分享开源代码和项目。原创 2024-04-12 09:17:03 · 1042 阅读 · 0 评论 -
Java-常见面试题收集(十一)
Activiti是一个开源的工作流引擎,主要用于管理和执行各种业务流程。它提供了一套强大的工具和API,使得设计、部署和执行工作流变得简单高效。Activiti支持各种工作流模式,如串行、并行和条件分支等,可以满足复杂的业务流程需求。Activiti的主要特性包括流程定义和设计、流程部署和管理以及任务分配和执行。它提供了一个图形化的流程设计器,用户可以使用该设计器来创建和定义工作流程。流程定义完成后,可以将其部署到工作流引擎中,并通过Activiti提供的API进行流程的启动、暂停、恢复、终止等操作。原创 2024-04-11 19:09:56 · 1019 阅读 · 0 评论 -
Java-常见面试题收集(十)
Spring Profiles是Spring框架中的一个核心功能,它允许开发者根据不同的环境(如开发、测试和生产环境)注册和激活不同的bean。通过使用@Profile注解,开发者可以将bean映射到特定的Profile,然后在不同的环境中激活不同的Profiles,从而仅加载和引导所需的bean。原创 2024-04-10 19:33:37 · 718 阅读 · 0 评论 -
Java-常见面试题收集(九)
IoC,DI 和 AOP。依赖注入(Dependency Injection, DI):这是Spring框架的核心特性之一。它允许在运行时,由外部源(如配置文件、注解或环境变量)决定一个对象所依赖的其他对象。这样,代码与具体的实现解耦,提高了代码的可维护性、可测试性和松耦合性。依赖注入的主要方式有构造函数注入、Setter方法注入和接口注入。控制反转(Inversion of Control, IOC):这是Spring框架的另一大核心思想。它意味着将创建对象的控制权转移给Spring框架进行管理。原创 2024-03-31 18:32:28 · 1176 阅读 · 0 评论 -
Java-常见面试题收集(八)
加载驱动,通过 DriverManager 对象获取连接对象 Connection,通过连接对象获取会话,通过会话进行数据的增删改查封装对象,关闭资源。原创 2024-03-30 20:37:35 · 1010 阅读 · 0 评论 -
Java-常见面试题收集(七)
事务(Transaction)是数据库管理系统执行过程中的一个逻辑单位,它由一个或多个SQL语句组成,这些语句要么全部执行,要么全部不执行。事务是一个不可分割的工作单位,它确保数据库从一种一致性状态转变到另一种一致性状态。如果在执行事务的过程中发生错误,则可以利用事务管理(Transaction Management)机制将数据库恢复到事务执行前的状态。事务有四个基本特性,通常简称为ACID:原子性(Atomicity):事务是一个原子操作单元,其对数据的修改要么全部执行,要么全都不执行。原创 2024-03-29 19:30:02 · 983 阅读 · 0 评论 -
Java-常见面试题收集(五)
同步阻塞 I/O(BIO):同步阻塞 I/O,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,可以通过线程池机制来改善。BIO 方式适用于连接数目比较小且固定的架构,这种方式对服务端资源要求比较高,并发局限于应用中,在 jdk1.4以前是唯一的 io 现在,但程序直观简单易理解。原创 2024-03-28 19:02:10 · 1063 阅读 · 0 评论 -
Java-常见面试题收集(四)
线程死锁是指两个或两个以上的线程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞现象。具体表现为,这些线程相互等待对方释放资源,但由于它们都持有对方所需的资源并不愿释放,导致了一个无解的循环等待状态。在这种情况下,若无外力作用,它们都将无法继续执行,系统因此处于死锁状态。死锁是多线程开发中应该坚决避免和杜绝的问题,因为它会导致程序无法正常终止,严重影响系统的性能和稳定性。线程死锁通常由以下四个必要条件造成:互斥条件:一个资源每次只能被一个线程使用。原创 2024-03-24 14:08:28 · 687 阅读 · 0 评论 -
Java-常见面试题收集(三)
List,Set 接口继承于 Collection 接口Map 没有继承于 Collection 接口。原创 2024-03-21 19:50:07 · 933 阅读 · 0 评论 -
Java-常见面试题收集(二)
堆。堆是 Java 对象的存储区域,任何用 new 字段分配的 Java 对象实例和数组,都被分配在堆上,Java 堆可使用-Xms -Xmx 进行内存控制,值得一提的是从JDK1.7 版本之后,运行时常量池从方法区移到了堆上。方法区。它用于存储已被虚拟机加载的类信息,常量,静态变量,即时编译器编译后的代码等数据,方法区在 JDK1.7 版本及以前被称为永久代,从 JDK1.8 永久代被移除。虚拟机栈。虚拟机栈中执行每个方法的时候,都会创建一个栈帧用于存储局部变量表,操作数栈,动态链接,方法出口等信息。原创 2024-03-14 18:41:40 · 916 阅读 · 0 评论 -
Java-常见面试题收集(一)
String 类中使用 final 关键字修饰字符数组来保存字符串,private final char[] value,所以 String 对象是不可变的。原创 2024-03-06 20:20:48 · 879 阅读 · 0 评论