CodeGym
促销
学习
课程
任务
调查 & 测验
游戏
帮助
日程
社区
Users
论坛
聊天
文章
成功故事
动态
评价
订阅
浅色主题

课时

  • 评论
  • 关于我们
开始
开始学习
立即开始学习
  • 我的进度
  • 课程
  • 任务地图
  • 课程
  • 序列化的压缩与性能剖析

    JAVA 25 SELF
    等级 45,课时 4
    如何在 Java 中减小对象序列化的体积并加速:用 transient 排除多余字段,通过 Externalizable 获得完全控制,使用流式压缩( GZIPOutputStream、 ZipOutputStream),通过缓冲( BufferedOutputStream、 BufferedInputStream)加速 I/O,并通过 FileChannel. transferTo 进行快速复制。为评估性能,既使用 System. nanoTime() 做快速测量,也使用 JMH 进行可靠的微基准。最后以一个小实验收尾,并梳理典型错误。
    可用
  • JSON 基础:结构、语法与优势

    JAVA 25 SELF
    等级 46,课时 0
    对数据交换格式 JSON 的简明现代导论:它是什么,以及为什么它成为 REST API 的事实标准;基本结构——object { } 与array [ ];可用类型(字符串 "..."、数字、布尔value true/ false、 null)、嵌套、与 XML 的比较、JSON ↔ Java 的对应关系(集合 Map<K, V>、 HashMap<K, V>)。解析实践示例与常见错误:单引号、尾随逗号、 undefined、带前导零的数字。
    可用
  • Jackson — 读取与写入 JSON,注解

    JAVA 25 SELF
    等级 46,课时 1
    Jackson 是在 Java 中处理 JSON 的事实标准:从通过 ObjectMapper 进行简单的序列化与反序列化,到使用注解 @JsonProperty、 @JsonIgnore、 @JsonInclude、 @JsonFormat 进行精细配置。本讲将讲解依赖引入( jackson-databind)、对象与集合的读写、pretty-printing、日期处理以及常见错误,包括配合 TypeReference 的泛型与对 POJO 的要求(无参构造器、getter/setter)。
    可用
  • Gson — 序列化与反序列化,配置

    JAVA 25 SELF
    等级 46,课时 2
    本讲将讲解 Google 的 Gson 库:使用 toJson/ fromJson 的快速上手,通过 TypeToken<> 反序列化集合,使用 GsonBuilder( setPrettyPrinting、 serializeNulls、 setDateFormat)进行灵活配置。我们会讲解注解 @SerializedName、 @Expose,版本控制注解 @Since/ @Until,自定义适配器 TypeAdapter 与 registerTypeAdapter 的用法,最后与 Jackson 对比并分析常见错误。
    可用
  • 处理动态数据结构:Map、List、JsonNode

    JAVA 25 SELF
    等级 46,课时 3
    当 JSON 结构事先未知或经常变化时,与其使用固定的 Java 类,不如使用通用容器: Map、 List 和 JSON 树。 本讲将讲解如何通过 ObjectMapper 将数据读取到 Map<String, Object> 和 List 中,如何通过 JsonNode 及其方法 get/ path/ asText() 安全遍历树,以及使用 Gson 的替代方案: JsonElement、 JsonObject、 JsonArray。最后以提取配置的实战和对常见错误的分析收尾。
    可用
  • JSON 验证:JSON Schema,与验证错误

    JAVA 25 SELF
    等级 46,课时 4
    在反序列化之前,为什么以及如何验证 JSON 格式的输入数据:通过 JSON Schema 约定数据契约(键 type、 properties、 required、 format),在 Java 中使用 everit-org/json-schema 库进行校验(将模式加载到 Schema,调用 validate),正确处理 ValidationException,并为用户与 API 生成清晰的错误消息。
    可用
  • XML 与命名空间基础

    JAVA 25 SELF
    等级 47,课时 0
    对 XML 的简短且实用的入门介绍:基本结构(元素、属性、文本节点、注释、 CDATA)、序言的构成,尤其是——为何需要命名空间以及如何通过 xmlns 与 xmlns:prefix 属性来声明与应用它们。我们将讲解前缀、默认命名空间( xmlns= "URI")、在同一文档中混用不同“词汇表”,以及常见的解析错误。
    可用
  • 使用 DOM、SAX:解析 XML

    JAVA 25 SELF
    等级 47,课时 1
    在本讲中,我们将讲解两种经典的 XML 解析方式:基于树的 DOM 与基于事件的 SAX。你将学习通过树结构( Document、 Element、 NodeList)读取和修改文档,并使用事件处理器( SAXParser、 DefaultHandler、 startElement/ characters/ endElement)以流式方式处理大型文件。我们会展示每种方式的优缺点、实用示例,并拆解常见错误(内存问题、 characters 中的文本分割、在 SAX 中尝试修改 XML 等)。
    可用
  • StAX (Streaming API for XML) — 流式解析

    JAVA 25 SELF
    等级 47,课时 2
    通过 StAX 解析 XML 的流式处理:pull 模型与 SAX 的 push 方式有何不同,如何通过 XMLInputFactory 创建解析器并用 XMLStreamReader 的循环调用 reader. next() 读取事件;有哪些事件类型( START_ELEMENT、 CHARACTERS、 END_ELEMENT、 END_DOCUMENT),以及在何种情况下 StAX 比 DOM/ SAX 更可取。另附:方法对比表、Mermaid 图,以及常见错误分析(流/资源泄漏、元素嵌套、 XMLStreamException、 IOException 等异常)。
    可用
  • 通过 JAXB 处理 XML:基础与注解

    JAVA 25 SELF
    等级 47,课时 3
    如何使用 JAXB(Jakarta XML Binding)将 Java 对象与 XML 相互转换:关键注解 @XmlRootElement、 @XmlElement、 @XmlAttribute、 @XmlType、 @XmlTransient;基础类 JAXBContext、 Marshaller、 Unmarshaller;通过属性 Marshaller.JAXB_FORMATTED_OUTPUT 配置格式化输出。讲解适用于 Java 11+ 的 Maven 依赖( jakarta.xml.bind-api、 jaxb-runtime)、处理集合与嵌套对象、控制元素顺序( propOrder)、字段排除以及常见错误。
    可用
  • 配置 XML 序列化:自定义适配器

    JAVA 25 SELF
    等级 47,课时 4
    如何让 JAXB 序列化“非标准”类型并以所需格式呈现数据:使用注解 @XmlJavaTypeAdapter,并基于 XmlAdapter<ValueType, BoundType> 编写自定义适配器。我们将讲解日期格式化( LocalDate → "dd.MM.yyyy")、数字( BigDecimal)、与集合的配合、通过 @XmlAttribute 将值放到属性、通过 @XmlElement 作为元素,以及用 @XmlTransient 排除字段。还将练习通过 Marshaller/ Unmarshaller 进行序列化/反序列化,并分析常见错误。
    可用
  • Lambda 表达式:语法与作用域

    JAVA 25 SELF
    等级 48,课时 0
    复习并深入理解 Java 中的 Lambda 表达式:语法(参数、箭头 ->、主体),省略括号与 return 的简写形式,与函数式接口( Comparator、 Runnable、 Consumer)的关系,以及关于列表、流和 Stream API 的日常示例。讲解作用域与“有效 final”规则,Lambda 与匿名类中 this 的差异,以及常见错误与规避方法。
    可用
  • 1
  • ...
  • 20
  • 21
  • 22
  • 23
  • 24
  • ...
  • 30
Learn
  • 注册
  • Java 课程
  • 任务帮助
  • 定价
  • 游戏项目
  • Java 语法
社区
  • 用户
  • 文章
  • 论坛
  • 聊天
  • 成功故事
  • 动态
  • 联盟计划
Company
  • 关于我们
  • 联系方式
  • 评价
  • 媒体中心
  • CodeGym for EDU
  • 常见问题
  • 支持
CodeGymCodeGym 是一个从零开始学习 Java 编程的在线课程。该课程是初学者掌握 Java 的完美方式。它包含 1200+ 个带即时验证的任务,以及必要的 Java 基础理论。为了帮助你在学习中取得成功,我们实现了一系列激励功能:测验、编码项目、关于高效学习的内容,以及 Java 开发者职业相关内容。
关注我们
界面语言
English Deutsch Español हिन्दी Français Português Polski বাংলা
简体中文
मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
“程序员是培养出来的,不是天生的” © 2026 CodeGym
MastercardVisa
“程序员是培养出来的,不是天生的” © 2026 CodeGym