-
- java 中线程和进程的区别?
- Java程序运行时默认创建一个进程,可包含多个线程;线程共享进程资源但栈独立,创建开销小、通信高效,适合并发编程。
- Java面试题 . Java 262 2025-11-29 12:21:39
-
- 什么是 java 序列化?什么情况下需要序列化?
- 需要序列化的场景包括:网络传输对象、持久化存储对象、实现深拷贝、跨JVM通信。当对象需跨越内存边界进行传输或保存时,必须通过实现Serializable接口将其转为字节流,transient可修饰敏感字段,建议显式定义serialVersionUID以确保版本兼容性。
- Java面试题 . Java 108 2025-11-29 11:17:49
-
- rabbitmq 持久化有什么缺点?
- RabbitMQ持久化主要缺点是性能开销大、磁盘消耗高、恢复慢、运维复杂。因消息需写磁盘并fsync,导致I/O延迟增加,吞吐下降;大量消息积压会耗尽磁盘空间;节点重启时需加载海量数据,恢复时间长;集群中镜像队列加重网络与磁盘负担;低价值消息持久化造成资源浪费。适用于高可靠场景,但高吞吐、短生命周期、可重发或测试环境应慎用。
- Java面试题 . Java 479 2025-11-29 10:52:02
-
- Java如何将字符串反转?
- 最推荐使用StringBuilder的reverse()方法,代码简洁且性能好;2.可手动遍历字符数组并用StringBuilder拼接实现反转,适合自定义逻辑;3.StringBuffer也可用于多线程环境下的字符串反转,但性能略低。
- Java面试题 . Java 665 2025-11-28 16:55:02
-
- 说一下 mybatis 的一级缓存和二级缓存?
- 一级缓存失效包括SqlSession关闭、执行更新操作、手动清空缓存或查询条件变化;二级缓存需在全局配置中启用cacheEnabled,在Mapper中添加标签,并确保POJO实现Serializable接口。
- Java面试题 . Java 716 2025-11-28 16:25:19
-
- spring 中的 bean 是线程安全的吗?
- 单例Bean线程安全取决于是否含有可变成员变量,无状态或不可变成员则安全;原型Bean不共享实例,但手动共享仍可能出问题;通过避免可变状态、使用ThreadLocal或同步机制可确保安全。
- Java面试题 . Java 114 2025-11-28 14:40:03
-
- Java中如何避免 sql 注入?
- 防止SQL注入的核心是使用PreparedStatement和参数化查询,避免用户输入拼接SQL。通过预编译将SQL结构与数据分离,确保输入仅作数据处理;动态SQL需用白名单校验表名、字段等;优先使用ORM框架的参数化功能(如MyBatis的#{}),避免${}字符串替换;辅以输入校验(长度、格式、特殊字符过滤)增强安全。关键在于不拼接、全参数化、严校验。
- Java面试题 . Java 746 2025-11-27 12:53:17
-
- java 中创建线程池有哪几种方式?
- 答案:Java中创建线程池主要有六种方式,包括newFixedThreadPool、newCachedThreadPool、newSingleThreadExecutor、newScheduledThreadPool、newSingleThreadScheduledExecutor及直接使用ThreadPoolExecutor。前五种通过Executors工具类创建,底层基于ThreadPoolExecutor;第六种推荐在生产环境中使用,可自定义核心参数如线程数、队列类型和拒绝策略,以避免资源
- Java面试题 . Java 829 2025-11-27 09:33:05
-
-
- java 中哪些集合类是线程安全的?
- 线程安全集合分为同步集合和并发集合两类:Collections.synchronizedList、synchronizedSet、synchronizedMap通过包装实现线程安全,但遍历或复合操作需额外同步;推荐使用java.util.concurrent包中的ConcurrentHashMap(高并发Map)、CopyOnWriteArrayList(读多写少List)、CopyOnWriteArraySet(读多写少Set)、BlockingQueue实现类(生产者-消费者模型)及Conc
- Java面试题 . Java 543 2025-11-26 13:29:13
-
- redis 支持的 java 客户端都有哪些?
- Jedis轻量高效但非线程安全,适合直接操作;Lettuce基于Netty线程安全,支持响应式,为Spring推荐;Redisson提供分布式对象与高级功能;SpringDataRedis是抽象层,集成Jedis或Lettuce,适配Spring生态。
- Java面试题 . Java 164 2025-11-26 10:59:02
-
- 请简述编写Java程序,检查一个字符串是否是回文字符
- 回文串判断核心是双指针法,从两端向中间逐字符比较。先将字符串转为小写并去除非字母数字字符,再用左右指针遍历,若对应字符不等则返回false,否则继续直至指针相遇,最终返回true。示例代码验证了“racecar”为回文串,输出true。该方法逻辑清晰、效率高,适用于忽略大小写和空格的场景。
- Java面试题 . Java 961 2025-11-26 00:05:10
-
- java 中线程有哪些状态?
- Java线程有六种状态:1.NEW,线程创建但未启动;2.RUNNABLE,线程就绪或运行中;3.BLOCKED,等待获取监视器锁;4.WAITING,无限期等待其他线程唤醒;5.TIMED_WAITING,限时等待自动恢复;6.TERMINATED,线程执行完毕或异常终止。
- Java面试题 . Java 895 2025-11-25 11:45:06
-
-
- redis 怎么实现分布式锁?
- Redis实现分布式锁需利用SET命令的NX和PX选项保证原子性,通过唯一值标识锁持有者并用Lua脚本安全释放锁,防止死锁需设置合理过期时间或使用Watchdog续租,避免误删需校验持有者身份,高并发场景可选Redlock或RedisCluster提升可靠性与性能。
- Java面试题 . Java 882 2025-11-25 06:05:17
PHP讨论组
组员:3305人话题:1500
PHP一种被广泛应用的开放源代码的多用途脚本语言,和其他技术相比,php本身开源免费; 可以将程序嵌入于HTML中去执行, 执行效率比完全生成htmL标记的CGI要高许多,它运行在服务器端,消耗的系统资源相当少,具有跨平台强、效率高的特性,而且php支持几乎所有流行的数据库以及操作系统,最重要的是

