- Java 中文官方教程 2022 版
- 教程:入门指南
- 课程:Java 技术现象
- 关于 Java 技术
- Java 技术能做什么?
- Java 技术将如何改变我的生活?
- 课程: “Hello World!” 应用程序
- “Hello World!” 适用于 NetBeans IDE
- “Hello World!” for Microsoft Windows
- “Hello World!”适用于 Solaris OS、Linux 和 Mac OS X
- 教程:深入了解 “Hello World!” 应用程序
- 问题和练习:入门指南
- 教训:常见问题(及其解决方法)
- 教程:学习 Java 语言
- 课程:面向对象编程概念
- 什么是对象?
- 什么是类?
- 什么是继承?
- 什么是接口?
- 什么是包?
- 问题和练习:面向对象编程概念
- 课程:语言基础
- 变量
- 原始数据类型
- 数组
- 变量总结
- 问题和练习:变量
- 运算符
- 赋值、算术和一元运算符
- 相等、关系和条件运算符
- 位与位移操作符
- 运算符概要
- 问题和练习:运算符
- 表达式、语句和块
- 问题和练习:表达式、语句和块
- 控制流语句
if-then
和if-then-else
语句- switch 语句
- while 和 do-while 语句
- for 语句
- 分支语句
- 控制流语句总结
- 问题和练习:控制流语句
- 课程:类和对象
- 类
- 声明类
- 声明成员变量
- 定义方法
- 为你的类提供构造函数
- 向方法或构造函数传递信息
- 对象
- 创建对象
- 使用对象
- 类的更多内容
- 从方法返回一个值
- 使用 this 关键字
- 控制类的成员的访问
- 理解类成员
- 初始化字段
- 创建和使用类和对象摘要
- 问题和练习:类
- 问题和练习:对象
- 嵌套类
- 内部类示例
- 本地类
- 匿名类
- Lambda 表达式
- 方法引用
- 何时使用嵌套类、局部类、匿名类和 Lambda 表达式
- 问题和练习:嵌套类
- 枚举类型
- 问题和练习:枚举类型
- 课程:注解
- 注解基础知识
- 声明注解类型
- 预定义的注解类型
- 类型注解和可插拔类型系统
- 可重复注解
- 问题和练习:注解
- 课程:接口和继承
- 接口
- 定义一个接口
- 实现一个接口
- 使用接口作为类型
- 接口的演变
- 默认方法
- 接口概要
- 问题和练习:接口
- 继承
- 状态、实现和类型的多重继承
- 覆盖和隐藏方法
- 多态性
- 隐藏字段
- 使用关键字 super
- 作为超类的对象
- 编写最终类和方法
- 抽象方法和类
- 继承摘要
- 问题和练习:继承
- 课程:数字和字符串
- 数字
- 数字类
- 格式化数字打印输出
- 超出基本算术
- 数字总结
- 问题和练习:数字
- 字符
- 字符串
- 在数字和字符串之间进行转换
- 操作字符串中的字符
- 比较字符串和字符串部分
- StringBuilder 类
- 字符和字符串总结
- 自动装箱和拆箱
- 问题和练习:字符和字符串
- Lesson: 泛型(更新)
- 为什么使用泛型?
- 泛型类型
- 原始类型
- 泛型方法
- 有界类型参数
- 泛型方法和有界类型参数
- 泛型、继承和子类型
- 类型推断
- 通配符
- 上界通配符
- 无界通配符
- 下界通配符
- 通配符和子类型
- 通配符捕获和辅助方法
- 通配符使用准则
- 类型擦除
- 泛型类型的擦除
- 擦除通用方法
- 类型擦除和桥接方法的影响
- 非可实例化类型
- 泛型的限制。
- 问题和练习:泛型
- 课程:包(Packages)
- 创建和使用包
- 创建一个包
- 包命名
- 使用包成员
- 管理源文件和类文件
- 创建和使用包的总结
- 问题和练习:创建和使用包
- Trail: Java 基础类
- 课程:异常
- 什么是异常?
- 捕获或指定要求
- 捕获和处理异常
- try 块
- 异常处理块
- finally 块
try
-with-resources 语句- 将所有内容整合在一起
- 指定方法抛出的异常
- 如何抛出异常
- 链式异常
- 创建异常类
- 未检查异常 — 争议
- 异常的优点
- 摘要
- 问题和练习
- 课程:基本 I/O
- I/O 流
- 字节流
- 字符流
- 缓冲流
- 扫描和格式化
- 扫描
- 格式化
- 命令行 I/O
- 数据流
- 对象流
- 文件 I/O(具有 NIO.2 功能)
- 什么是路径?(以及其他文件系统事实)
- Path 类
- Path 操作
- 文件操作
- 检查文件或目录
- 删除文件或目录
- 复制文件或目录
- 移动文件或目录
- 管理元数据(文件和文件存储属性)
- 读取、写入和创建文件
- 随机访问文件
- 创建和读取目录
- 链接,符号或其他
- 遍历文件树
- 查找文件
- 监视目录更改
- 其他有用的方法
- 传统文件 I/O 代码
- 摘要
- 问题和练习:基本 I/O
- 课程:并发编程
- 进程和线程
- 线程对象
- 定义和启动线程
- 暂停执行与睡眠
- 中断
- 加入
- 简单线程示例
- 同步
- 线程干扰
- 内存一致性错误
- 同步方法
- 内在锁和同步
- 原子访问
- 活跃性
- 死锁
- 饥饿和活锁
- 保护块
- 不可变对象
- 一个同步类的示例
- 定义不可变对象的策略
- 高级并发对象
- 锁对象
- Executors
- 执行器接口
- 线程池
- 分叉/合并
- 并发集合
- 原子变量
- 并发随机数
- 进一步阅读
- 问题和练习:并发
- 课程:平台环境
- 配置实用程序
- 属性
- 命令行参数
- 环境变量
- 其他配置实用程序
- 系统工具
- 命令行 I/O 对象
- 系统属性
- 安全管理器
- System 中的其他方法
- PATH 和 CLASSPATH
- 平台环境的问题和练习
- 课程:正则表达式
- 介绍
- 测试工具
- 字符串字面值
- 字符类
- 预定义字符类
- 量词
- 捕获组
- 边界匹配器
- 模式类的方法
- Matcher 类的方法
- PatternSyntaxException 类的方法
- Unicode 支持
- 其他资源
- 问题和练习:正则表达式
- 路径:部署
- 课程:Java 小程序
- 开始使用小程序
- 定义一个小程序子类
- 里程碑方法
- 小程序的生命周期
- Applet 的执行环境
- 开发 Applet
- 部署一个 Applet
- 使用 Applet 标签部署
- 进一步使用小程序
- 查找和加载数据文件
- 定义和使用 Applet 参数
- 显示短状态字符串
- 在浏览器中显示文档
- 从小程序调用 JavaScript 代码
- 从 JavaScript 代码调用 Applet 方法
- 使用事件处理程序处理初始化状态
- 操作小程序网页的 DOM
- 将诊断信息写入标准输出和错误流
- 开发可拖动的小程序
- 与其他小程序通信
- 与服务器端应用程序一起工作
- 网络客户端小程序示例
- 小程序可以和不能做什么
- 解决常见小程序问题
- 问题和练习:Applets
- 教程:Java Web Start
- 开发 Java Web Start 应用程序
- 检索资源
- 部署 Java Web Start 应用程序
- 设置 Web 服务器
- 运行 Java Web Start 应用程序
- Java Web Start 和安全性
- 常见的 Java Web 启动问题
- 问题和练习:Java Web Start
- 课程:使用 Java 丰富的互联网应用程序做更多事情
- 设置可信参数和安全属性
- 系统属性
- JNLP API
- 使用 JNLP API 访问客户端
- Cookie
- 访问 Cookies
- 丰富互联网应用程序中的安全性
- 保护富互联网应用程序的指南
- 问题和练习:更多关于富互联网应用程序的内容
- 课程:深入部署
- 用户接受 RIA
- 部署工具包
- 部署小程序
- 在小程序标签中嵌入 JNLP 文件
- 部署 Java Web Start 应用程序
- 更改启动按钮
- 在没有 Codebase 的情况下部署
- 检查客户端 JRE 软件版本
- Java 网络启动协议
- JNLP 文件的结构
- 部署最佳实践
- 减少下载时间
- 避免不必要的更新检查
- 确保 JRE 软件的存在
- 问题和练习:深入部署
- 教程:部署自包含应用程序
- 打包自包含应用程序的先决条件
- 转换现有应用程序
- 使用文件关联
- 添加外部库
- 提供默认参数
- 使用一个通用的构建文件适用于所有平台
- 使用多个入口点
- 问题和练习:自包含应用程序
- 教程:在 JAR 文件中打包程序
- 使用 JAR 文件:基础知识
- 创建 JAR 文件
- 查看 JAR 文件的内容
- 提取 JAR 文件内容
- 更新 JAR 文件
- 运行 JAR 打包的软件
- 与清单文件一起工作:基础知识
- 理解默认清单
- 修改清单文件
- 设置应用程序的入口点
- 将类添加到 JAR 文件的类路径中
- 设置包版本信息
- 在 JAR 文件中封装包
- 使用清单属性增强安全性
- 签署和验证 JAR 文件
- 理解签署和验证
- 签署 JAR 文件
- 验证已签名的 JAR 文件
- 使用与 JAR 相关的 API
JarClassLoader
类JarRunner
类- 问题和练习:JAR
- 教程:使用 Swing 创建 GUI
- 课程:开始使用 Swing
- 关于 JFC 和 Swing
- 编译和运行 Swing 程序
- 课程:使用 NetBeans IDE 学习 Swing
- 设置 CelsiusConverter 项目
- NetBeans IDE 基础知识
- 创建 CelsiusConverter GUI
- 调整 CelsiusConverter GUI
- 添加应用程序逻辑
- 问题和练习:使用 NetBeans IDE 学习 Swing
- 教程:使用 Swing 组件
- 使用顶级容器
- JComponent 类
- 使用文本组件
- 文本组件功能
- 文本组件 API
- 如何使用各种组件
- 如何制作 Applets
- 如何使用按钮、复选框和单选按钮
- 如何使用 ButtonGroup 组件
- 如何使用颜色选择器
- 如何使用组合框
- 如何制作对话框
- 如何使用编辑窗格和文本窗格
- 如何使用文件选择器
- 如何使用格式化文本字段
- 如何制作窗口(主窗口)
- 如何使用内部窗体
- 如何使用标签
- 如何使用分层窗格
- 如何使用列表
- 如何使用菜单
- 如何使用面板
- 如何使用密码字段
- 如何使用进度条
- 如何使用根窗格
- 如何使用滚动窗格
- 如何使用分隔符
- 如何使用滑块
- 如何使用旋转器
- 如何使用分割窗格
- 如何使用选项卡窗格
- 如何使用表格
- 如何使用文本区域
- 如何使用文本字段
- 如何使用工具栏
- 如何使用工具提示
- 如何使用树
- 如何在 Swing 组件中使用 HTML
- 如何使用模型
- 如何使用图标
- 如何使用边框
- 解决常见组件问题
- 问题和练习:使用 Swing 组件
- 课程:Swing 中的并发
- 初始线程
- 事件分发线程
- Worker Threads 和 SwingWorker
- 简单的后台任务
- 具有中间结果的任务
- 取消后台任务
- 绑定属性和状态方法
- 问题和练习:Swing 中的并发
- 课程:使用其他 Swing 功能
- 如何与 Desktop 类集成
- 如何创建半透明和形状窗口
- 如何使用
JLayer
类装饰组件 - 如何使用动作
- 如何使用 Swing 计时器
- 如何支持辅助技术
- 如何使用焦点子系统
- 如何使用键绑定
- 如何在对话框中使用模态
- 如何打印表格
- 如何打印文本
- 如何创建启动画面
- 如何使用系统托盘
- 使用其他 Swing 功能解决常见问题
- 课程:在容器内布置组件
- 布局管理器的可视化指南
- 使用布局管理器
- 布局管理的工作原理
- 如何使用各种布局管理器
- 如何使用 BorderLayout
- 如何使用 BoxLayout
- 如何使用 CardLayout
- 如何使用流式布局
- 如何使用 GridBagLayout
- 如何使用 GridLayout
- 如何使用 GroupLayout
- 一个 GroupLayout 示例
- 如何使用 SpringLayout
- 创建自定义布局管理器
- 不使用布局管理器(绝对定位)
- 解决常见布局问题
- 问题和练习:在容器内布置组件
- 课程:修改外观和感觉
- 如何设置外观和感觉
- 合成外观
- Synth 示例
- Nimbus 外观
- 修改 Nimbus 的外观
- 调整组件大小
- 更改颜色主题
- 教程:拖放和数据传输
- DnD 简介
- 默认的拖放支持
- 演示 - BasicDnD
- TransferHandler 类
- 导出方法
- 导入方法
- TransferSupport 类
- 设置拖放模式
- 演示 - DropDemo
- 选择放置操作
- 演示 - 选择放置操作
- 显示放置位置
- 位置敏感的拖放
- 演示 - LocationSensitiveDemo
- 空表格拖放
- 放置位置渲染
- 顶层拖放
- 添加剪切、复制和粘贴(CCP)
- 在文本组件中进行 CCP
- 非文本组件中的 CCP
- 使用和创建 DataFlavor
- 将所有内容整合在一起 - 拖放和剪切复制粘贴
- 解决常见数据传输问题
- 课程:编写事件监听器
- 事件监听器简介
- 编写事件监听器的一般信息
- Swing 组件支持的监听器
- 实现常见事件的监听器
- 如何编写一个动作监听器
- 如何编写插入符监听器
- 如何编写更改监听器
- 如何编写组件监听器
- 如何编写容器侦听器
- 如何编写文档监听器
- 如何编写焦点监听器
- 如何编写内部框架监听器
- 如何编写项目监听器
- 如何编写键盘监听器
- 如何编写列表数据监听器
- 如何编写列表选择监听器
- 如何编写鼠标监听器
- 如何编写鼠标移动监听器
- 如何编写鼠标滚轮监听器
- 如何编写属性更改侦听器
- 如何编写表模型监听器
- 如何编写树展开监听器
- 如何编写树模型监听器
- 如何编写树选择监听器
- 如何编写树展开监听器
- 如何编写可撤销编辑监听器
- 如何编写窗口监听器
- 监听器 API 表
- 解决常见事件处理问题
- 问题和练习:编写事件监听器
- 课程:执行自定义绘制
- 创建演示应用程序(第 1 步)
- 创建演示应用程序(第 2 步)
- 创建演示应用程序(第 3 步)
- 优化设计
- 细看绘制机制
- 概要
- 解决常见绘制问题
- 问题和练习:执行自定义绘图
- Trail: 集合
- 课程:集合简介
- 课程:接口
- 集合接口
- 集合接口
- 列表接口
- 队列接口
Deque
接口- Map 接口
- 对象排序
- SortedSet 接口
- 排序地图接口
- 接口总结
- 问题和练习:接口
- 课程:聚合操作
- 缩减
- 并行性
- 问题和练习:聚合操作
- 教训:实现
- 集合实现
- 列表实现
- Map 实现
- 队列实现
- Deque 实现
- 包装器实现
- 便利实现
- 实现摘要
- 问题和练习:实现方式
- 教训:算法
- 教训:自定义集合实现
- 课程:互操作性
- 兼容性
- API 设计
- 教程:日期时间
- 教训:日期时间概述
- 日期时间设计原则
- 日期时间包
- 方法命名约定
- 课程:标准日历
- 概述
- DayOfWeek 和 Month 枚举
- 日期类
- 日期和时间类
- 时区和偏移类
- Instant 类
- 解析和格式化
- 时间包
- 时间调整器
- 时间查询
- Period 和 Duration
- 时钟
- 非 ISO 日期转换
- 传统日期时间代码
- 摘要
- 问题和练习:日期时间 API
- Trail: 国际化
- 教训:介绍
- 一个快速示例
- 在国际化之前
- 国际化后
- 运行示例程序
- 国际化示例程序
- 检查表
- 课程:设置区域设置
- 创建 Locale
- BCP 47 扩展
- 可用区域设置的识别
- 语言标签过滤和查找
- 区域的范围
- 区域敏感服务 SPI
- 课程:隔离特定于区域设置的数据
- 关于 ResourceBundle 类
- 准备使用 ResourceBundle
- 使用属性文件支持 ResourceBundle
- 使用 ListResourceBundle
- 自定义资源包加载
- 教训:格式化
- 数字和货币
- 使用预定义格式
- 自定义格式
- 日期和时间
- 使用预定义格式
- 自定义格式
- 更改日期格式符号
- 消息
- 处理复合消息
- 处理复数形式
- 教程:处理文本
- 检查字符属性
- 比较字符串
- 执行与 Locale 无关的比较
- 定制整理规则
- 提高排序性能
- Unicode
- 术语
- 补充字符作为代理
- 字符和字符串 API
- 示例用法
- 设计考虑事项
- 更多信息
- 检测文本边界
- 关于 BreakIterator 类
- 字符边界
- 单词边界
- 句子边界
- 行边界
- 将拉丁数字转换为其他 Unicode 数字
- 转换非 Unicode 文本
- 字节编码和字符串
- 字符流和字节流
- 规范化文本
- 使用 JTextComponent 类处理双向文本
- 课程:网络资源的国际化
- 国际化域名
- 教程:国际化的服务提供者
- 安装自定义资源包作为扩展
- 教程:2D 图形
- 课程:Java 2D API 概念概述
- 坐标
- Java 2D 渲染
- 几何基元
- 文本
- 图像
- 打印
- 教程:开始使用图形
- 教程:与几何形状一起工作
- 绘制几何图元
- 绘制任意形状
- 描边和填充图形原语
- 课程:使用文本 APIs
- 字体概念
- 文本布局概念
- 物理和逻辑字体
- 测量文本
- 高级文本显示
- 使用渲染提示显示抗锯齿文本
- 使用文本属性来设置文本样式
- 绘制多行文本
- 处理双向文本
- 教程:处理图像
- 读取/加载图像
- 绘制图像
- 创建和绘制图像
- 写入/保存图像
- 课程:打印
- 一个基本的打印程序
- 使用打印设置对话框
- 打印多页文档
- 使用打印服务和属性
- 打印用户界面的内容
- Swing 组件中的打印支持
- 课程:Java2D 高级主题
- 变换形状、文本和图像
- 绘制区域剪切
- 合成图形
- 控制渲染质量
- 从几何原语构建复杂形状
- 支持用户交互
- 路径:声音
- 采样包概述
- 访问音频系统资源
- 播放音频
- 音频捕获
- 使用控件处理音频
- 使用文件和格式转换器
- MIDI 包概述
- 访问 MIDI 系统资源
- 传输和接收 MIDI 消息
- 介绍 Sequencers
- 使用
Sequencer
方法 - 使用高级音序器功能
- 合成声音
- 服务提供者接口简介
- 提供采样音频服务
- 提供 MIDI 服务
- Trail: JavaBeans™
- 课程:快速入门
- 创建一个项目
- 一个按钮是一个 Bean
- 连接应用程序
- 使用第三方 Bean
- Lesson: 编写 JavaBeans 组件
- 属性
- 方法
- 事件
- 使用 BeanInfo
- 课程:高级 JavaBeans 主题
- Bean 持久性
- 长期持久性
- Bean 自定义
- 教程:JDBC 数据库访问
- 教程:JDBC 简介
- JDBC 架构
- 关系数据库概述
- 课程:JDBC 基础知识
- 入门指南
- 使用 JDBC 处理 SQL 语句
- 建立连接
- 使用 DataSource 对象进行连接
- 处理 SQLException
- 设置表
- 从结果集中检索和修改值
- 使用预编译语句
- 使用事务
- 使用 RowSet 对象
- 使用 JdbcRowSet 对象
- 使用 CachedRowSetObjects
- 使用 JoinRowSet 对象
- 使用 FilteredRowSet 对象
- 使用 WebRowSet 对象
- 使用高级数据类型
- 使用大对象
- 使用 SQLXML 对象
- 使用数组对象
- 使用 DISTINCT 数据类型
- 使用结构化对象
- 使用自定义类型映射
- 使用 Datalink 对象
- 使用 RowId 对象
- 使用存储过程
- 使用 GUI API 的 JDBC
- 路线:Java 管理扩展(JMX)
- 教训:JMX 技术概述
- 为什么使用 JMX 技术?
- JMX 技术的架构
- 监控和管理 Java 虚拟机
- 教程:介绍 MBeans
- 标准 MBeans
- MXBeans
- 教训:通知
- 课程:远程管理
- 通过 JConsole 将资源暴露给远程管理
- 创建自定义 JMX 客户端
- 教程:Java API for XML Processing (JAXP)
- 教程:JAXP 简介
- 包概述
- 简单的 XML API
- 文档对象模型 API
- 可扩展样式表语言转换 APIs
- XML 的流 API
- 查找 JAXP 示例程序
- 您接下来该怎么办?
- 课程:Simple API for XML
- 何时使用 SAX
- 使用 SAX 解析 XML 文件
- 实现 SAX 验证
- 处理词法事件
- 使用 DTDHandler 和 EntityResolver
- 更多信息
- 课程:文档对象模型
- 何时使用 DOM
- 将 XML 数据读入 DOM
- 使用 XML Schema 进行验证
- 更多信息
- 教程:可扩展样式表语言转换
- 介绍 XSL、XSLT 和 XPath
- XPath 如何工作
- 将 DOM 写出为 XML 文件
- 从任意数据结构生成 XML
- 使用 XSLT 转换 XML 数据
- 课程:XML 的流式 API
- 为什么选择 StAX?
- StAX API
- 使用 StAX
- Oracle 的流式 XML 解析器实现
- 示例代码
- 更多信息
- 课程:JAXP 1.5 和新属性
- 背景
- 外部资源
- 新属性
- 范围和顺序
- 与安全管理器的关系
- JDK 中的属性设置
- 使用属性
- 错误处理
- StAX
- 结论
- 参考资料
- Lesson: 处理限制
- 处理限制定义
- 范围和顺序
- 使用限制
- 错误处理
- StAX
- Samples
- Trail: RMI
- RMI 应用概述
- 编写一个 RMI 服务器
- 设计远程接口
- 实现远程接口。
- 创建客户端程序
- 编译和运行示例
- 编译示例程序
- 运行示例程序
- 教程:Java SE 中的安全功能
- 教训:安全功能概述
- 课程:创建策略文件
- 设置策略文件以授予所需权限
- 启动 Policy Tool
- 授予所需权限
- 保存策略文件
- 课程:快速浏览控制应用程序
- 观察应用程序自由
- 查看如何限制应用程序
- 设置策略文件以授予所需的权限
- 打开策略文件
- 授予所需权限
- 保存策略文件
- 查看策略文件效果
- 课程:用于安全代码和文件交换的 API 和工具使用
- 课程:签署代码并授予权限
- Code Signer 的步骤
- 下载并尝试示例应用程序
- 创建一个包含类文件的 JAR 文件
- 生成密钥
- 签署 JAR 文件
- 导出公钥证书
- 代码接收者的步骤
- 观察受限应用程序
- 将证书导入为受信任的证书
- 设置策略文件以授予所需的权限。
- 启动策略工具
- 指定密钥库
- 添加带有 SignedBy 别名的策略条目
- 保存策略文件
- 查看策略文件效果
- 课程:文件交换
- 合同发送方的步骤
- 创建包含合同的 JAR 文件
- 生成密钥
- 签署 JAR 文件
- 导出公钥证书
- 合同接收方的步骤
- 将证书导入为受信任的证书
- 验证 JAR 文件签名。
- 课程:生成和验证签名
- 生成数字签名
- 准备初始程序结构
- 生成公钥和私钥
- 对数据进行签名
- 将签名和公钥保存在文件中
- 编译并运行程序
- 验证数字签名
- 准备初始程序结构
- 输入并转换编码的公钥字节
- 输入签名字节
- 验证签名
- 编译并运行程序
- 弱点和替代方案
- 课程:实现您自己的权限
- ExampleGame
- 高分类
- HighScorePermission 类
- 一个示例策略文件
- 将所有内容整合在一起
- 高分开发者(克里斯)的步骤
- 示例游戏开发者(Terry)的步骤
- 运行 ExampleGame(Kim)的用户步骤
- 教程:扩展机制
- 教程:创建和使用扩展
- 已安装的扩展
- 下载扩展
- 理解扩展类加载
- 创建可扩展应用程序
- 课程:使扩展安全
- 为扩展设置权限
- 在扩展中封存包
- 路径:反射 API
- 课程:类
- 检索类对象
- 检查类的修饰符和类型
- 发现类成员
- 故障排除
- 课程:成员
- 字段
- 获取字段类型
- 检索和解析字段修饰符
- 获取和设置字段值
- 故障排除
- 方法
- 获取方法类型信息
- 获取方法参数的名称
- 检索和解析方法修饰符
- 调用方法
- 故障排除
- 构造函数
- 查找构造函数
- 检索和解析构造函数修饰符
- 创建新的类实例
- 故障排除
- 课程:数组和枚举类型
- 数组
- 识别数组类型
- 创建新数组
- 获取和设置数组及其组件
- 故障排除
- 枚举类型
- 检查枚举
- 使用枚举类型获取和设置字段
- 故障排除
- 教程:自定义网络
- 课程:网络概述
- 你可能已经了解的关于 Java 网络的知识
- 网络基础知识
- 教程:使用 URL
- 什么是 URL?
- 创建 URL
- 解析 URL
- 直接从 URL 读取
- 连接到 URL
- 从 URLConnection 读取和写入
- 教程:关于套接字的一切
- 什么是套接字?
- 从套接字读取和写入
- 编写套接字的服务器端
- 教训:关于数据报的一切
- 什么是数据报?
- 编写数据报客户端和服务器
- 向多个接收者广播
- 课程:程序化访问网络参数
- 什么是网络接口?
- 检索网络接口
- 列出网络接口地址
- 网络接口参数
- 课程:处理 Cookies
- 使用 Cookies 进行 HTTP 状态管理
- CookieHandler 回调机制
- 默认 CookieManager
- 自定义 CookieManager
- Trail: Bonus
- 课程:泛型
- 介绍
- 定义简单的通用类型
- 泛型和子类型
- 通配符
- 通用方法
- 与遗留代码互操作
- 细则
- 类字面量作为运行时类型标记
- 通配符更有趣
- 将遗留代码转换为使用泛型
- 致谢
- 教程:全屏独占模式 API
- 全屏独占模式
- 显示模式
- 被动渲染 vs. 主动渲染
- 双缓冲和页面翻转
- BufferStrategy 和 BufferCapabilities
- 示例
- 课程:准备 Java 程序员语言认证
- 教程:Java 命名和目录接口
- 教训:命名和目录概念
- 目录概念
- 课程:JNDI 概述
- 命名包
- 目录和 LDAP 包
- 事件和服务提供者包
- 课程:软件设置
- LDAP 设置
- Java 应用程序设置
- 课程:命名和目录操作
- 命名异常
- 查找一个对象
- 列出上下文
- 添加、替换或移除绑定
- 重命名
- 创建和销毁子上下文
- 属性名称
- 读取属性
- 修改属性
- 添加、替换具有属性的绑定
- 搜索
- 基本搜索
- 过滤器
- 范围
- 结果计数
- 时间限制
- 故障排除提示
- 课程:LDAP 用户的高级主题
- LDAP v3
- JNDI 作为 LDAP API
- LDAP 操作如何映射到 JNDI API
- LDAP 错误代码与 JNDI 异常的映射方式
- 安全性
- LDAP 的认证方式
- 身份验证机制
- 匿名
- 简单
- SASL
- Digest-MD5
- SSL 和自定义套接字
- 更多 LDAP 操作
- LDAP 比较
- 搜索结果
- LDAP 非请求通知
- 连接管理
- 创建
- 关闭
- 连接池
- 配置
- 常见问题
- 课程:目录中的 Java 对象
- 存储和读取对象
- 可序列化对象
- 课程:JDK 5.0 和 JDK 6 中的新功能
- 检索 Distinguished Name
- 标准 LDAP 控件
- 分页结果控件
- 排序控制
- 管理引荐控件
- 操作 LdapName(专有名称)
- 操作相对独立名称(RDN)
- 设置 LDAP 操作的超时时间
- Trail: Sockets Direct Protocol
- 课程:理解套接字直接协议
- 概述
- 创建一个 SDP 配置文件
- 启用 SDP 协议
- 调试 SDP
- SDP 的技术问题
- Solaris 和 Linux 支持
- 支持的 Java API
- 更多信息请参考
- 教程:Java Architecture for XML Binding
- 课程:JAXB 简介
- JAXB 架构
- 表示 XML 内容
- 绑定 XML 模式
- 自定义生成的类和 Java 程序元素
- JAXB 示例
- 基本示例
- 自定义 JAXB 绑定
- Java-to-Schema 示例
- 更多信息