-
-
- java 中说一下 HashMap 的实现原理?
- HashMap基于数组+链表/红黑树实现,通过哈希计算与扰动减少冲突,(n-1)&hash确定索引,扩容时rehash,非线程安全,put/get操作平均O(1)时间复杂度。
- Java面试题 . Java 957 2025-09-29 08:28:02
-
- 在 hibernate 中使用 Integer 和 int 做映射有什么区别?
- 推荐使用Integer因其可为null,能正确映射数据库中的NULL值,避免异常,支持延迟加载与缓存;而int虽性能优但无法表示null,易引发错误。
- Java面试题 . Java 583 2025-09-29 08:23:01
-
- redis 和 memcache 有什么区别?
- Redis功能更丰富,支持多种数据结构、持久化和高可用集群,适合复杂场景;Memcached则简单高效,专用于纯缓存,适用于轻量级、易失性数据加速。
- Java面试题 . Java 969 2025-09-28 08:15:02
-
- mysql 索引是怎么实现的?
- 索引通过B-Tree等数据结构加速数据查找,避免全表扫描。MySQL中InnoDB常用B-Tree索引,以页为单位存储,通过根节点、中间节点和叶子节点实现高效查找;Memory引擎支持Hash索引,基于哈希表实现等值查询;MyISAM和InnoDB支持全文索引,采用倒排索引实现关键词搜索;MyISAM还支持R-Tree空间索引,用于地理数据查询。索引需根据查询需求合理创建,过多索引会增加存储开销并降低写入性能。常见索引失效原因包括:未用索引列查询、在索引列使用函数、类型不匹配、LIKE以%开头、
- Java面试题 . Java 370 2025-09-28 08:05:02
-
- http 响应码 301 和 302 代表的是什么?有什么区别?
- 301表示资源永久迁移,浏览器和搜索引擎会更新为新地址并传递SEO权重;302表示临时转移,原地址仍有效,不传递权重也不缓存重定向;两者语义不同,误用可能导致SEO错误。
- Java面试题 . Java 909 2025-09-27 08:26:01
-
- java 中如何决定使用 HashMap 还是 TreeMap?
- 需要有序遍历和范围查询选TreeMap,追求高性能和灵活性选HashMap;TreeMap基于红黑树实现,键需实现Comparable或传入Comparator,操作复杂度O(logn);HashMap基于哈希表,键需正确实现hashCode和equals,操作复杂度接近O(1),但不保证顺序。
- Java面试题 . Java 890 2025-09-27 08:11:01
-
- MySql数据库的三范式是什么?
- 第一范式要求字段原子性,第二范式消除部分依赖,第三范式消除传递依赖。1NF确保每列不可分且行可区分;2NF要求非主键字段完全依赖整个主键,避免部分依赖;3NF要求非主键字段直接依赖主键,避免通过其他非主键字段间接依赖。遵循三范式可减少冗余、提升一致性,但实际中可能为性能适度反范式化。
- Java面试题 . Java 836 2025-09-26 08:13:02
-
- rabbitmq 节点的类型有哪些?
- RabbitMQ节点类型的选择取决于速度与可靠性的权衡:内存节点速度快但可靠性低,适用于可容忍消息丢失的高性能场景;磁盘节点将消息持久化到磁盘,保障可靠性但性能较慢;镜像队列节点通过在多个节点间复制队列实现高可用,主节点负责消息收发,故障时自动切换从节点,提升容灾能力,但带来一定性能开销;配置节点类型需在rabbitmq.config中设置cluster_nodes,指定各节点为disc或ram类型,修改后重启服务生效,操作前应备份配置并评估影响。
- Java面试题 . Java 250 2025-09-25 08:06:01
-
- 什么情况会导致 kafka 运行变慢?
- Kafka性能瓶颈最常见的原因是磁盘I/O和网络带宽不足。磁盘I/O方面,Kafka依赖高吞吐的顺序写入,使用HDD或配置不当的RAID易成为瓶颈,SSD虽有改善但仍受队列深度和其他I/O进程影响;网络带宽方面,生产者、消费者与Broker间大量数据传输依赖稳定高速的网络,带宽不足或延迟、丢包会直接导致吞吐下降和超时,两者常被忽视却直接影响整体性能。
- Java面试题 . Java 869 2025-09-25 08:03:02
-
- 说一下jsp的4种作用域?
- JSP四种作用域区别在于数据存活范围:page仅限当前页面,request在一次请求内有效,session在用户会话期间有效,application在整个应用生命周期内全局共享。
- Java面试题 . Java 888 2025-09-24 08:56:01
-
- 内存溢出、内存泄露、GC的基本概念
- 内存溢出是程序申请内存失败时的崩溃信号,内存泄露是无用对象因被引用无法回收导致的内存浪费,GC通过标记-清除机制自动回收不可达对象,但无法解决逻辑上的内存泄露;二者需结合工具分析和代码优化来预防与排查。
- Java面试题 . Java 818 2025-09-24 08:54:01
-
- java 中怎么确保一个集合不能被修改?
- 答案是使用Collections.unmodifiableXxx、Java9的List.of()或Guava的Immutable集合来创建不可变集合,其中List.of()更简洁安全,Collections需注意原始集合暴露问题,Guava提供更丰富功能。
- Java面试题 . Java 570 2025-09-23 08:17:01
-
- spring 自动装配 bean 有哪些方式?
- Spring自动装配主要有三种方式:基于XML配置、基于注解和基于Java配置。基于XML的方式通过autowire属性实现按名称(byName)、按类型(byType)或构造器(constructor)装配,适用于早期项目或第三方类库配置;基于注解的方式(如@Autowired、@Resource、@Qualifier)将配置嵌入代码,简洁高效,是现代Spring开发的主流选择;基于Java配置则通过@Configuration和@Bean注解以编程方式定义Bean及其依赖,类型安全且灵活,适
- Java面试题 . Java 203 2025-09-23 08:10:02
-
- spring 中的bean 是线程安全的吗?
- SpringBean的线程安全性取决于其作用域和状态,singleton作用域下的无状态Bean是线程安全的,而有状态Bean需通过ThreadLocal、同步机制、原子类或并发集合等手段保障线程安全。
- Java面试题 . Java 295 2025-09-22 08:01:01
PHP讨论组
组员:3305人话题:1500
PHP一种被广泛应用的开放源代码的多用途脚本语言,和其他技术相比,php本身开源免费; 可以将程序嵌入于HTML中去执行, 执行效率比完全生成htmL标记的CGI要高许多,它运行在服务器端,消耗的系统资源相当少,具有跨平台强、效率高的特性,而且php支持几乎所有流行的数据库以及操作系统,最重要的是

