-
- 线程池中 submit()和 execute()方法有什么区别?
- submit()返回Future可获取结果和状态,execute()无返回值不关心结果。submit支持Callable并能处理异常,execute仅支持Runnable且异常默认被忽略。
- Java面试题 . Java 551 2025-09-17 08:14:01
-
- redis 常见的性能问题有哪些?该如何解决?
- Redis性能问题主要集中在CPU占用高、内存溢出、命令延迟和持久化开销。根本原因包括大Key、热Key、高复杂度命令滥用及配置不当。解决需多管齐下:优化数据结构,避免使用KEYS等阻塞命令,改用SCAN类命令;合理设置maxmemory及淘汰策略如allkeys-lru;开启主动碎片整理activedefrag;采用Pipelining和连接池提升客户端效率;排查网络延迟与系统资源争用;通过SLOWLOG定位慢查询;避免在大内存实例频繁fork导致阻塞;必要时引入RedisCluster实现分
- Java面试题 . Java 797 2025-09-17 08:02:01
-
-
- 怎么判断对象是否可以被回收?
- 对象能否被回收取决于其是否被程序需要,若无引用或仅被可回收对象引用,则可被回收。主流方法有引用计数法和可达性分析法。引用计数法通过计数器记录引用数量,优点是简单高效,但无法解决循环引用问题。可达性分析法从GCRoots出发,沿引用链搜索,不可达对象视为可回收,能解决循环引用,但实现复杂、效率较低。现代JVM如HotSpot采用可达性分析法。GCRoots包括虚拟机栈、方法区静态属性、常量、本地方法栈中的引用对象,是判断可达性的起点。理解回收机制有助于优化性能、避免内存泄漏。
- Java面试题 . Java 253 2025-09-16 08:34:01
-
- spring cloud 的核心组件有哪些?
- SpringCloud核心组件构成微服务生态骨架,包括服务发现(如Nacos)、配置中心、客户端负载均衡(SpringCloudLoadBalancer)、熔断器(Resilience4j)、API网关(SpringCloudGateway)等,各组件协同解决分布式系统中的服务治理难题。
- Java面试题 . Java 329 2025-09-15 08:14:01
-
- synchronized 和 volatile 的区别是什么?
- synchronized保证原子性和可见性,通过锁对象的monitor实现,同一时刻仅一个线程可执行同步代码块;volatile仅保证可见性,禁止指令重排序,适用于状态标志等场景。两者性能与适用场景不同,需根据需求选择。此外,Java还提供Lock、原子类、并发集合等更灵活的同步机制。
- Java面试题 . Java 758 2025-09-15 08:04:01
-
- redis 如何做内存优化?
- Redis内存优化需从数据结构选择、配置调优、持久化策略等多方面入手,通过合理设置maxmemory、使用高效编码、压缩值、监控内存使用及定位大key,避免内存溢出,提升存储效率与性能。
- Java面试题 . Java 756 2025-09-14 08:43:01
-
- float 和 double 的区别是什么?
- float和double都是用于表示浮点数的类型,它们最核心的区别在于精度和存储空间。简单来说,double提供了更高的精度和更大的数值范围,但会占用更多的内存。当你需要进行更精确的计算,或者处理的数值可能非常大或非常小的时候,double是更稳妥的选择。如果内存是关键考量,或者对精度要求不高,float就能胜任。解决方案理解float和double的差异,首先要从它们在内存中的表示方式说起。在多数现代系统中,它们都遵循IEEE754浮点数标准。float是单精度浮点数,通常占
- Java面试题 . Java 759 2025-09-14 08:02:01
-
- 说一下 spring 的事务隔离?
- Spring定义了五种事务隔离级别,用于控制并发事务间的可见性与干扰程度。分别是ISOLATION_DEFAULT(使用数据库默认级别)、ISOLATION_READ_UNCOMMITTED(允许脏读)、ISOLATION_READ_COMMITTED(防止脏读,但存在不可重复读)、ISOLATION_REPEATABLE_READ(防止脏读和不可重复读,但存在幻读)、ISOLATION_SERIALIZABLE(最高级别,串行执行,防止所有并发问题)。这些级别通过TransactionDefi
- Java面试题 . Java 173 2025-09-13 08:00:01
-
- 说一下 hibernate 的缓存机制?
- Hibernate缓存机制通过一级缓存(Session级)和二级缓存(SessionFactory级)减少数据库访问,提升性能。一级缓存默认开启,同一Session内重复查询不触发数据库访问;二级缓存需配置,如使用Ehcache并设置缓存策略(如READ_WRITE),实现跨Session共享;查询缓存则缓存查询结果ID列表,需结合二级缓存生效,三者均需注意数据一致性与失效策略。
- Java面试题 . Java 315 2025-09-12 08:04:01
-
- redis 有哪些功能?
- Redis最常用的数据结构包括字符串、哈希、列表、集合和有序集合。字符串适合缓存和计数器;哈希用于存储对象,如用户信息;列表基于双向链表,适用于消息队列;集合支持去重和交并差运算,适用于关系分析;有序集合通过分数排序,广泛用于排行榜和范围查询。这些结构结合Redis的高性能内存操作,使其在缓存、会话管理、实时统计等场景中表现卓越。
- Java面试题 . Java 800 2025-09-12 08:01:01
-
- 线程池都有哪些状态?
- 线程池状态包括RUNNING、SHUTDOWN、STOP、TIDYING和TERMINATED,决定任务处理方式;通过isShutdown()、isTerminating()、isTerminated()等方法可监控状态;状态转换由ThreadPoolExecutor的ctl变量控制,高3位表示状态,低29位表示线程数,通过原子操作保证线程安全。
- Java面试题 . Java 369 2025-09-11 09:53:01
-
- zookeeper 是什么
- Zookeeper是分布式系统的协调服务,提供配置管理、分布式锁、Leader选举等功能,通过ZNode、Watcher、Session及ZAB协议实现一致性与高可用,适用于Java生态,但性能较低;相比etcd(基于Raft、Go语言、键值模型、高性能),Zookeeper更适合对性能要求不高的Java场景。
- Java面试题 . Java 529 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 599 2025-09-11 08:53:01
-
- @RequestMapping 的作用是什么?
- @RequestMapping的主要作用是将HTTP请求映射到Controller的处理方法,支持URL路径、HTTP方法、参数、请求头等匹配规则,可应用于类或方法级别,并支持路径变量、请求参数、请求体处理及文件上传等功能。
- Java面试题 . Java 811 2025-09-11 08:34:01
PHP讨论组
组员:3305人话题:1500
PHP一种被广泛应用的开放源代码的多用途脚本语言,和其他技术相比,php本身开源免费; 可以将程序嵌入于HTML中去执行, 执行效率比完全生成htmL标记的CGI要高许多,它运行在服务器端,消耗的系统资源相当少,具有跨平台强、效率高的特性,而且php支持几乎所有流行的数据库以及操作系统,最重要的是


