java教程技术文章
-
根本原因是TreeSet默认依赖自然排序,要求元素实现Comparable接口;解决方案是显式提供Comparator或让类实现Comparable,二者必选其一,且需注意空值处理、类型匹配及首次add的测试覆盖。364 收藏 -
零基础入门Java首选菜鸟教程与how2j.cn搭配使用:前者提供免配置在线运行环境快速上手,后者补足原理与错误调试;LintCodeJava入门路径清晰、题库分层实用;官方教程应重点研读练习题与Why?解析;自学精灵补齐工程部署与简历表达短板。364 收藏 -
必须加-XX:+UseContainerSupport,否则-XX:MaxRAMPercentage等参数全失效;JDK8u191+默认未启用,不加则JVM按宿主机内存估算堆大小,极易OOMKilled。364 收藏 -
ThreadLocal的key设为弱引用是为了避免阻断GC回收ThreadLocal实例,防止因线程长期存活导致内存泄漏;value保持强引用以保障语义一致性,其清理依赖ThreadLocalMap的探测式清理机制和显式remove()调用。364 收藏 -
JVM类加载核心是“先到先得”机制,即按classpath中jar顺序扫描,同名类首次加载成功后,后续版本被忽略;冲突本质是加载顺序而非优先级强弱。364 收藏 -
ZGC只负责单JVM内堆内存对象的低延迟回收,不参与跨节点“大变量分发”;后者属Spark/Flink等框架的广播机制,涉及序列化、网络传输与本地缓存,与垃圾回收器无关。364 收藏 -
Maven需配置镜像源加速依赖下载,应修改用户级~/.m2/settings.xml(推荐)或全局conf/settings.xml,镜像配置须置于<mirrors>标签内,使用<mirrorOf>*</mirrorOf>拦截全部请求,推荐阿里云https://maven.aliyun.com/repository/public,并验证URL可用性及IDE设置。364 收藏 -
Field.getType()返回字段声明时的原始类型(如List.class),不包含泛型信息,也不反映运行时实际对象类型;需用getGenericType()获取泛型参数,用value.getClass()获取运行时类型。363 收藏 -
groupingBy默认返回HashMap无序,因HashMap不保证遍历顺序;需插入顺序用LinkedHashMap::new,需key排序用TreeMap并指定Comparator。363 收藏 -
ConcurrentHashMap比Hashtable和synchronizedMap更快,因其采用分段锁(JDK7)或CAS+synchronized锁单个Node(JDK8+),读操作无锁、写操作仅局部加锁;而后者均使用全局锁,高并发下严重串行化。363 收藏 -
本文介绍如何在Java中安全计算超大组合数(如C(334,179)),避免MathArithmeticException,并通过迭代乘除法实现高精度双精度近似值计算,兼顾性能与数值稳定性。363 收藏 -
不建议重写finalize方法处理线程池回收,因其不可靠、已废弃且被JDK18彻底移除;应使用shutdown()、shutdownNow()和awaitTermination()显式管理生命周期。363 收藏 -
JavaBean必须有public无参构造函数、所有字段private且仅通过publicgetter/setter访问、建议实现Serializable接口;否则Spring等框架反射创建对象或序列化时会失败。363 收藏 -
文章 · java教程 | 1个月前 | 微服务 · 生产实践 · Java教程 · Spring Cloud · OpenFeign · java 微服务 Spring Cloud 超时重试 OpenFeign
一篇 Java/Spring Cloud OpenFeign 生产复盘:从慢下游拖垮订单服务出发,讲清 connectTimeout/readTimeout、重试幂等性、CircuitBreaker、fallback、连接池和坏天气压测。363 收藏 -
静态方法中使用this会编译失败,因this指向实例而静态方法属于类本身;其字节码无this参数,调用不依赖对象实例,访问实例成员必须显式传入对象引用。362 收藏