Java

首页 标签 Java
# Java #
关注
267553内容
|
7天前
| |
第025篇 泛型通配符与 PECS:一句话讲清 extends 与 super
泛型通配符与PECS(Producer Extends, Consumer Super)是泛型核心难点。上界`? extends T`用于只读(生产者),下界`? super T`用于只写(消费者)。讲清“为何上界不能add、下界不能get”,结合`Collections.copy`等JDK源码实践,才能体现真理解——而非死记口诀。
|
7天前
| |
第036篇 注解与元注解:Override 背后的机制
注解是附着于程序元素的结构化元数据,本身不执行逻辑,其作用完全取决于`@Retention`(生命周期)与`@Target`(作用位置)。`RUNTIME`级可反射读取,`CLASS`级仅存于字节码,`SOURCE`级编译即弃。元注解如`@Repeatable`(需容器)、`@Inherited`(仅类继承链生效)常被误用。编译期APT处理(如Room、Dagger)比运行时反射更高效。关键:显式声明Retention,勿信默认值;接口注解不被实现类继承;注解仅为意图声明,非功能保证。
|
7天前
| |
第031篇 ConcurrentHashMap:从分段锁到 CAS 加 synchronized
ConcurrentHashMap(JDK8)通过CAS初始化空桶、桶头节点加synchronized锁实现细粒度并发写,get无锁依赖volatile可见性;size采用baseCount+CounterCell分片计数;禁止null键值,复合操作须用compute/merge等原子方法——兼顾高性能与线程安全。
巡检照片与工单附件:jquick-pdf 图片嵌入的业务实战
本文以巡检报告照片嵌入PDF为场景,详解jquick-pdfx 4.0.0在业务中安全、稳定处理图片的实战方案:聚焦路径治理、像素/字节双限、临时文件生命周期、缓存策略与批量低内存导出,强调“模板只管版面,资源必须受控”。
|
7天前
| |
第029篇 HashMap 底层原理:数组、链表与红黑树的演进
HashMap底层是“数组+链表+红黑树”复合结构:键经扰动哈希后,用(n-1)&hash定位桶;链表≥8且容量≥64时树化;负载因子0.75平衡时空开销;线程不安全,自定义key须重写equals与hashCode。
|
7天前
| |
第034篇 Iterator 与 fail-fast:并发修改异常的根源
Iterator 与 fail-fast 是 Java 集合的“防错机制”:通过 modCount 与 expectedModCount 校验,遍历中结构修改即抛 ConcurrentModificationException。它**不是并发安全保证**,仅单线程下尽早暴露错误;删除须用 it.remove(),多线程应选 CopyOnWriteArrayList 或加锁。
文字样式定制:字体、间距与文本渲染模式
本文详解jquick-pdf文字样式定制:涵盖字体(含CJK支持)、字号、颜色、字符/单词间距、文本渲染模式及装饰属性。强调中文疏排须用`characterSpacing`,`wordSpacing`对其无效;指出字体回退、间距副作用与描边取舍等关键细节,助你精准控制PDF文本呈现。
|
7天前
| |
第035篇 反射基础:Class 对象与运行时类型信息
Java反射是运行期类型自省机制,通过Class对象动态获取并操作类成员(Method/Field/Constructor),支撑注解处理、DI、序列化等框架。需注意:`getDeclaredXxx`获取全部成员(含私有),`setAccessible(true)`突破访问限制(JDK9+受模块系统约束),`invoke`返回Object需手动强转,且应缓存Method以避免重复查找开销。
背景色与背景图片:元素级背景的配置与边界
本文详解 jquick-pdf 中 `backgroundColor` 与 `backgroundImage` 元素级背景属性的用法、边界及最佳实践:支持颜色/渐变/本地图片,颜色自动兜底;强调其不等于全局分页背景,需通过复用页面块实现统一底色;涵盖路径、尺寸、打印、多页性能等关键细节。
SVG 矢量图形嵌入:两条绑定路径与兼容边界
本文介绍jquick-pdfx如何将SVG矢量图嵌入PDF,解决缩放模糊与锯齿问题。提供两条路径:变量绑定`${svg}`(适合动态单次生成)和资源引用`&{svg}`(适合复用图表模块)。支持JDK8+、Maven3.6+,仅需少量依赖,兼容基础SVG元素(rect/text等),不支持脚本与外部引用。
免费试用