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

