-
应安装java-17-openjdk-devel包,它包含javac、javadoc、jar和头文件;仅装java-17-openjdk运行时会导致javac命令未找到。
-
@ControllerAdvice不生效需检查三处:未被组件扫描、优先级冲突、SpringBoot默认错误页启用;异常应分层处理,区分业务异常与系统异常;@ExceptionHandler参数类型须具体,返回值推荐ResponseEntity<Result>。
-
finally中的return会覆盖try/catch的返回值,包括正常值、异常和对象引用;IDE警告但编译通过;应将return移至finally外,用try-with-resources或手动关闭资源确保不干扰返回。
-
百度翻译API需实名认证后在fanyi-api.baidu.com创建“通用”类型应用获取APP_ID和SECRET_KEY;签名须用MD5(APP_ID+q+salt+SECRET_KEY)生成,q要URL编码,salt每次随机;请求用POST、设UTF-8头,语言代码如"jp";注意52001超时、54000缺参、空q导致trans_result为空;限流2QPS,密钥勿硬编码。
-
首先安装JProfiler并配置-agentpath参数加载Agent,然后通过GUI连接指定端口监控应用性能,远程环境建议使用SSH隧道安全连接。
-
Fastjson1.2.68+默认禁用autoType引发拒绝或ClassNotFoundException,需显式白名单开启;Jackson静默失败因字段不可见或无参构造器缺失;日期格式、并发性能差异需统一配置与复用实例。
-
可用removeAll和retainAll提取增删元素:新增为newArrayList(listB).removeAll(listA),删除为newArrayList(listA).removeAll(listB);需注意保序、避副作用、处理重复元素及类型可比性。
-
实现支付宝支付接口的核心步骤包括:1.引入SDK并配置依赖;2.在支付宝开放平台创建应用获取密钥;3.初始化AlipayClient配置通信参数;4.构造不同类型的支付请求并设置业务参数;5.发送请求并处理返回结果;6.重点处理异步通知需验签、校验订单信息并确保幂等性。常见安全风险及应对措施包括:1.参数篡改,应以服务器端数据为准;2.重复通知导致重复处理,需基于交易号做幂等判断;3.伪造通知,必须严格验签;4.密钥泄露,应妥善管理不硬编码。异步通知处理易忽视的细节包括:1.返回“success”应在业务
-
编译器优先选择非varargs的精确匹配方法,其次选更具体类型的重载,varargs仅作最后备选;多个等效varargs或数组与varargs重载共存时将导致编译错误。
-
本文介绍如何在Java应用不重启、不修改启动参数的前提下,通过JVM内置诊断接口(DiagnosticCommandMBean)动态开启/关闭垃圾回收日志,支持输出到控制台或指定文件,适用于生产环境紧急排查场景。
-
Java中if语句无唯一写法,核心是正确使用布尔条件、避免=与==混淆、始终加{}、字符串用.equals()、多分支依场景选if-elseif或switch、注意null与边界处理。
-
charAt()越界会抛StringIndexOutOfBoundsException;String底层是char[]但不暴露,取字符必须用charAt(),调用前需检查index>=0&&index<length()。
-
字符串比较应使用equals而非==,因==比较引用地址;循环中修改ArrayList需用迭代器remove或延迟删除;Integer等包装类比较须用equals且注意缓存范围与空指针;异常不可裸吞,须记录日志;日期处理优先用Java8+时间API;HashMap应预设初始容量;SimpleDateFormat不可共享;异步任务须处理异常并等待完成;浮点数比较应使用误差范围判断。
-
finally块确保资源释放,无论异常是否发生;推荐优先使用try-with-resources自动管理实现AutoCloseable的资源,代码更安全简洁。
-
Java反射调用方法的核心是通过Class获取Method对象后调用invoke(),需注意:1.用getMethod()查public方法(含父类),getDeclaredMethod()查本类所有方法(含private);2.参数类型必须精确匹配;3.private方法需setAccessible(true);4.invoke()第一个参数为对象实例(静态方法传null),异常被包装为InvocationTargetException。