-
- Java中深拷贝和浅拷贝区别是什么?
- 深拷贝创建完全独立的对象,包括引用对象都新建;浅拷贝仅复制基本类型值,引用类型共用同一实例。
- Java面试题 . Java 817 2025-11-02 08:09:26
-
- String str="i"与 String str=new String(“i”)一样吗?
- Stringstr="i";从常量池获取或创建对象,而Stringstr=newString("i");总在堆中新建对象;2.前者高效节省内存,后者可能重复创建浪费资源;3.前者相同值引用相等,后者不相等;4.推荐优先使用字面量方式创建字符串。
- Java面试题 . Java 806 2025-11-02 04:37:24
-
- 请简述如何在Quarkus中实现非阻塞I/O?
- Quarkus通过Vert.x和Mutiny实现非阻塞I/O,推荐使用Uni/Multi处理异步操作,结合响应式数据库客户端如HibernateReactive,确保REST端点返回响应式类型,全程保持异步链以实现高效非阻塞。
- Java面试题 . Java 127 2025-11-02 01:21:20
-
- jsp 和 servlet 有什么区别?
- JSP和Servlet分工明确,Servlet处理请求与业务逻辑,JSP负责数据展示,二者协同实现MVC模式,是JavaWeb开发的基石。
- Java面试题 . Java 963 2025-11-01 01:27:34
-
- jpa 和 hibernate 有什么区别?
- JPA是Java持久化API规范,Hibernate是其具体实现,提供额外功能;选择时可根据项目需求、团队熟悉度及是否需可移植性决定,SpringDataJPA简化了使用;Hibernate二级缓存提升性能但需谨慎管理;N+1查询问题可通过JoinFetch、EntityGraph或BatchFetch解决;JPA适合快速开发,MyBatis适合精细控制SQL,可混合使用兼顾效率与性能。
- Java面试题 . Java 580 2025-11-01 01:09:32
-
- 在 java 程序中怎么保证多线程的运行安全?
- 保证多线程安全需防止共享资源竞争,1.用synchronized确保方法或代码块互斥执行;2.使用ReentrantLock实现更灵活的显式加锁;3.volatile保证变量可见性但不保证原子性;4.优先采用ConcurrentHashMap、AtomicInteger等线程安全类;5.核心是根据场景选择合适机制并减少共享。
- Java面试题 . Java 535 2025-11-01 00:41:09
-
- 说一下jvm 运行时数据区域?
- JVM运行时数据区域分为程序计数器、Java虚拟机栈、本地方法栈、堆和方法区。程序计数器记录线程执行的字节码地址,是线程私有且唯一不抛出OutOfMemoryError的区域。Java虚拟机栈存储栈帧,用于方法调用,每个栈帧包含局部变量表、操作数栈等,线程私有,可能抛出StackOverflowError或OutOfMemoryError。本地方法栈类似Java虚拟机栈,为Native方法服务,部分虚拟机与其合并。堆是线程共享的最大内存区域,存放对象实例,分为新生代(Eden、FromSurvi
- Java面试题 . Java 513 2025-10-31 09:39:02
-
- Java中synchronized 和 ReentrantLock 区别是什么?
- synchronized是关键字,使用简单但功能单一;ReentrantLock是类,需手动加锁释放,支持公平锁、可中断、超时获取等高级特性,灵活性更高。JDK优化后synchronized性能接近ReentrantLock,一般场景推荐synchronized,复杂需求选用ReentrantLock。
- Java面试题 . Java 887 2025-10-31 09:32:02
-
- 说一下jvm 有哪些垃圾回收算法?
- JVM垃圾回收算法主要有标记-清除、复制和标记-整理三种,分别适用于不同内存区域。标记-清除易产生碎片,复制算法以空间换时间,适合新生代,标记-整理则解决碎片问题,适合老年代。JVM结合多种算法,基于对象生命周期差异实现分代回收,提升性能。现代GC器如G1、ZGC、Shenandoah通过区域化管理、并发处理和读屏障等技术,在大堆场景下实现低延迟与高吞吐的平衡。选择合适的GC器需根据应用类型、堆大小、对象分配速率和硬件资源综合考量,并通过日志分析与调优持续优化。
- Java面试题 . Java 747 2025-10-31 01:01:24
-
-
- 如何做mysql 的性能优化?
- 答案:MySQL性能优化需从慢查询日志分析入手,结合索引优化、SQL语句优化、数据库结构优化、配置参数调整及硬件升级等手段,通过监控QPS、TPS等指标评估效果,并根据实际场景选择合适的存储引擎与主从复制、读写分离方案以提升整体性能。
- Java面试题 . Java 353 2025-10-30 10:55:01
-
- rabbitmq 有哪些重要的角色?
- 生产者通过publisherconfirms机制确保消息可靠发送,交换机类型包括Direct、Fanout、Topic和Headers,分别用于精确匹配、广播、模式匹配和头部匹配路由,保证消息顺序需将相关消息发送至同一队列并由同一消费者处理。
- Java面试题 . Java 762 2025-10-30 10:28:02
-
- java 中.Iterator 和 ListIterator 有什么区别?
- ListIterator是Iterator的增强版,支持双向遍历、元素增删改及索引获取,仅适用于List集合;Iterator为单向遍历,通用性强,适用于所有Collection集合。
- Java面试题 . Java 155 2025-10-29 10:29:02
-
- 创建线程有哪几种方式?
- 创建线程主要有三种方式:继承Thread类、实现Runnable接口、使用Callable与ExecutorService线程池。继承Thread类简单但受限于单继承,不利于扩展;实现Runnable接口更灵活,实现任务与线程分离,推荐使用;Callable配合ExecutorService可获取返回值和异常处理,结合线程池提升系统性能与稳定性,适用于高并发场景。线程池通过复用线程降低开销,提高响应速度和资源管理能力,是现代Java并发编程的首选方案。
- Java面试题 . Java 604 2025-10-29 09:29:02
-
- 什么是 spring boot?
- SpringBoot通过自动配置、内嵌服务器、起步依赖和生产就绪特性实现开箱即用,1.根据依赖智能配置组件,2.内置Tomcat等服务器直接运行jar,3.提供starter简化依赖管理,4.通过Actuator支持监控与运维,提升开发效率。
- Java面试题 . Java 301 2025-10-29 08:24:02
PHP讨论组
组员:3305人话题:1500
PHP一种被广泛应用的开放源代码的多用途脚本语言,和其他技术相比,php本身开源免费; 可以将程序嵌入于HTML中去执行, 执行效率比完全生成htmL标记的CGI要高许多,它运行在服务器端,消耗的系统资源相当少,具有跨平台强、效率高的特性,而且php支持几乎所有流行的数据库以及操作系统,最重要的是


