-
- zookeeper 是什么
- Zookeeper是分布式系统的协调服务,提供配置管理、分布式锁、Leader选举等功能,通过ZNode、Watcher、Session及ZAB协议实现一致性与高可用,适用于Java生态,但性能较低;相比etcd(基于Raft、Go语言、键值模型、高性能),Zookeeper更适合对性能要求不高的Java场景。
- Java面试题 . Java 525 2025-09-11 09:27:01
-
- 常用的jvm 调优的参数都有哪些?
- JVM调优需先明确性能瓶颈,再结合应用场景选择合适参数。-XX:+UseG1GC适用于大堆内存与低停顿需求;-Xms与-Xmx应设为相同值以避免动态调整开销;堆大小建议设为物理内存的50%~80%,并根据GC日志调整;Metaspace替代PermGen,使用本地内存存储类元数据,需通过-XX:MetaspaceSize和-XX:MaxMetaspaceSize合理设置大小以防OOM;GC日志通过-XX:+PrintGCDetails、-Xloggc等参数开启,结合GCEasy等工具分析GC频率
- Java面试题 . Java 593 2025-09-11 08:53:01
-
- @RequestMapping 的作用是什么?
- @RequestMapping的主要作用是将HTTP请求映射到Controller的处理方法,支持URL路径、HTTP方法、参数、请求头等匹配规则,可应用于类或方法级别,并支持路径变量、请求参数、请求体处理及文件上传等功能。
- Java面试题 . Java 807 2025-09-11 08:34:01
-
- 说一下类加载的执行过程?
- 类加载过程分为加载、验证、准备、解析和初始化五个阶段。加载阶段通过类的全限定名获取二进制字节流,并在内存中生成Class对象;验证阶段确保字节码安全合规;准备阶段为静态变量分配内存并设零值(finalstatic常量除外);解析阶段将符号引用转为直接引用;初始化阶段执行()方法,真正运行Java代码。该机制实现按需加载、动态扩展、安全验证和内存隔离,支撑Java“一次编译,到处运行”的特性。双亲委派模型确保类加载的优先级和安全性,避免核心类被篡改。常见问题包括ClassNotFoundExcep
- Java面试题 . Java 908 2025-09-10 08:15:01
-
- 说一下 ACID 是什么?
- ACID是数据库事务的四大核心特性,原子性确保事务全有或全无,一致性保证数据符合业务规则,隔离性防止并发干扰,持久性确保提交后数据不丢失。它们共同构建了数据可靠性的基石,通过日志、锁、MVCC等机制实现。在高并发分布式场景下,虽有系统为性能牺牲部分ACID特性以换取扩展性,但在强一致性要求的场景中,ACID仍是不可替代的选择。
- Java面试题 . Java 469 2025-09-10 08:00:01
-
- 在 hibernate 中 getCurrentSession 和 openSession 的区别是什么?
- getCurrentSession用于与事务绑定的场景,由框架管理会话生命周期,适合集成Spring等环境;openSession需手动管理会话,适用于需要细粒度控制的场景。选择取决于应用架构:若使用Spring并追求简化管理,应选getCurrentSession;若需多连接或批量处理,则选openSession,并注意资源释放与事务控制。
- Java面试题 . Java 946 2025-09-09 08:05:02
-
-
- 什么是 spring boot?
- SpringBoot通过自动配置、起步依赖和内嵌服务器简化Spring应用开发。它根据引入的依赖自动配置Bean,如引入spring-boot-starter-web时自动配置Web组件;起步依赖将常用依赖打包,避免版本冲突;内置Tomcat等服务器,支持java-jar直接运行。开发者可使用SpringInitializr快速生成项目,编写REST接口并运行。尽管存在自动配置难排查、依赖冗余等问题,但其优势显著。
- Java面试题 . Java 295 2025-09-08 08:18:01
-
- spring 事务实现方式有哪些?
- Spring事务主要分为编程式和声明式两大类,前者通过PlatformTransactionManager或TransactionTemplate在代码中手动控制事务,后者通过@Transactional注解结合AOP实现事务管理,具有低侵入性和高可维护性,是现代Spring应用的首选方式。
- Java面试题 . Java 341 2025-09-08 08:00:06
-
- 什么是缓存穿透?怎么解决?
- 缓存穿透指查询不存在的数据导致请求直达存储层,解决方案包括缓存空对象和布隆过滤器:缓存空对象适用于空数据较少场景,布隆过滤器适合空数据较多场景,可结合使用。
- Java面试题 . Java 356 2025-09-07 08:17:01
-
- 详细介绍一下 CMS 垃圾回收器?
- CMS垃圾回收器旨在减少停顿时间,通过并发标记清除实现低延迟,但会占用更多CPU、产生内存碎片,并可能因浮动垃圾或内存泄漏导致OOM,适用于对响应时间敏感的应用。
- Java面试题 . Java 924 2025-09-07 08:09:01
-
- 为什么要用 spring boot?
- SpringBoot的核心优势在于其“开箱即用”和“约定优于配置”,通过自动配置、StarterPOMs、嵌入式服务器等机制大幅提升开发效率,简化项目搭建与部署,尤其适合微服务架构,支持独立运行的FatJAR、无缝集成SpringCloud与Actuator监控,结合DevTools热部署和外部化配置等特性,显著降低开发与运维成本,提升生产力。
- Java面试题 . Java 615 2025-09-06 08:04:02
-
- redis 分布式锁有什么缺陷?
- Redis分布式锁因原子性、单点故障和超时问题存在缺陷,如误释放、死锁和数据不一致。SETNX非原子操作易致死锁,需用SET命令的NX/EX选项解决;锁超时导致客户端误删他人锁,须通过唯一标识加Lua脚本保证释放原子性;主从切换可能引发锁失效或脑裂,RedLock试图缓解但争议大;建议在高一致性场景选用ZooKeeper或Etcd等专业协调服务。
- Java面试题 . Java 753 2025-09-06 08:03:02
-
- kafka 有几种数据保留的策略?
- Kafka数据保留策略基于时间(log.retention.ms)和大小(log.retention.bytes),可单独或组合使用,配合log.cleanup.policy设置delete或compact策略,实现过期数据清理。
- Java面试题 . Java 700 2025-09-05 08:41:02
-
- hibernate 有几种查询方式?
- Hibernate支持HQL、Criteria、NativeSQL和JPACriteriaAPI四种查询方式。HQL面向对象、数据库无关,适合简单到中等复杂度查询;CriteriaAPI支持动态构建查询,类型安全但代码量多;NativeSQL提供最大灵活性和性能,但依赖具体数据库;JPACriteriaAPI标准化,可跨JPA实现使用。应根据查询复杂度、可移植性、安全性及性能需求选择合适方式,必要时可组合使用多种方式以达到最佳效果。
- Java面试题 . Java 488 2025-09-05 08:24:02

PHP讨论组
组员:3305人话题:1500
PHP一种被广泛应用的开放源代码的多用途脚本语言,和其他技术相比,php本身开源免费; 可以将程序嵌入于HTML中去执行, 执行效率比完全生成htmL标记的CGI要高许多,它运行在服务器端,消耗的系统资源相当少,具有跨平台强、效率高的特性,而且php支持几乎所有流行的数据库以及操作系统,最重要的是