-
@CrossOrigin未生效的根本原因是注解未正确加载,常见于加在非Controller类、被AOP拦截、或SpringMVC未扫描到该类;需确保加在@RestController/@Controller上,且注意与全局配置、SpringSecurity的协同关系。
-
LinkedList默认实现Deque接口,天然支持双端队列操作;addFirst/offerFirst等方法区别在于异常策略与返回值;空时调用removeFirst会抛NoSuchElementException,应优先用pollFirst;纯双端队列场景下ArrayDeque性能更优但不支持null。
-
SonarQube报告“未在finally中关闭ObjectInputStream”并非误报:当外层流(如FileInputStream)关闭时抛出异常,内层流(ObjectInputStream)将被跳过关闭,导致资源泄漏。本文详解兼容旧Java版本的安全关闭模式。
-
JavaAgent必须通过-javaagent参数加载,MANIFEST.MF需正确配置Premain-Class或Agent-Class;ByteBuddy拦截受限于方法可见性、JDK类权限及匹配精度;耗时监控应使用System.nanoTime()并异步采集;retransform需JVM支持且避开核心类。
-
答案是掌握JavaIO流需区分字节流和字符流:字节流以byte为单位,适用于图片、音频等二进制文件,使用FileInputStream和FileOutputStream进行读写;字符流以char为单位,专用于文本处理,通过FileReader和FileWriter自动处理编码,避免乱码;为提升性能,应使用BufferedInputStream、BufferedOutputStream及BufferedReader、BufferedWriter等缓冲流,其中BufferedReader的readLine()
-
IntStream是Java8提供的高效整数流工具,通过range、of等方式创建,支持filter、map等链式操作,结合sum、max等终端操作实现简洁高效的整数处理,适用于大数据量场景,提升代码可读性与性能。