《Java 应用与开发》课程讲义 - 王晓东. . . . . 97 9.4 标准输入/输出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 9.4.1 标准输入/输出概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 9.4.2 标准输入/输出的分类 . . . . . . . . . . . . 140 11.5.2 Swing 按钮、菜单和工具条 . . . . . . . . . . . . . . . . . . . . . . 142 11.5.3 标准对话框 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 11.5.4 表格和树 . . . . . . . . 1.1.2 Java 技术的特点 Java 具备以下技术特点: 面向对象 Java 是一种以对象为中心,以消息为驱动的面向对象的编程语言。 平台无关性 分为源代码级(需重新编译源代码,如 C/C++)和目标代码级 (Java) 平台 无关。 分布式 可支持分布式技术及平台开发。 可靠性 不支持直接操作指针,避免了对内存的非法访问;自动单元回收功能防止内存 丢失等动态内存分配导致的问题;0 码力 | 330 页 | 6.54 MB | 1 年前3
Hello 算法 1.0.0 Java版本项目旨在创建一本开源、免费、对新手友好的数据结构与算法入门教程。 ‧ 全书采用动画图解,结构化地讲解数据结构与算法知识,内容清晰易懂,学习曲线平滑。 ‧ 算法源代码皆可一键运行,支持 Python、C++、Java、C#、Go、Swift、JavaScript、TypeScript、Dart、 Rust、C 和 Zig 等语言。 ‧ 鼓励读者在线上章节评论区互帮互助、共同进步,提问与评论通常可在两日内得到回复。 均时间复杂度为 Θ(?/2) = Θ(?) 。 但对于较为复杂的算法,计算平均时间复杂度往往比较困难,因为很难分析出在数据分布下的整体数学期望。 在这种情况下,我们通常使用最差时间复杂度作为算法效率的评判标准。 � 为什么很少看到 Θ 符号? 可能由于 ? 符号过于朗朗上口,因此我们常常使用它来表示平均时间复杂度。但从严格意义 上讲,这种做法并不规范。在本书和其他资料中,若遇到类似“平均时间复杂度 2) 和 ?(2?) 等。 2. Q & A Q:尾递归的空间复杂度是 ?(1) 吗? 理论上,尾递归函数的空间复杂度可以优化至 ?(1) 。不过绝大多数编程语言(例如 Java、Python、C++、 Go、C# 等)不支持自动优化尾递归,因此通常认为空间复杂度是 ?(?) 。 Q:函数和方法这两个术语的区别是什么? 「函数 function」可以被独立执行,所有参数都以显式传递。「方法0 码力 | 376 页 | 17.59 MB | 1 年前3
Hello 算法 1.0.0b4 Java版本项目旨在创建一本开源免费、新手友好的数据结构与算法入门教程。 ‧ 全书采用动画图解,结构化地讲解数据结构与算法知识,内容清晰易懂、学习曲线平滑。 ‧ 算法源代码皆可一键运行,支持 Java, C++, Python, Go, JS, TS, C#, Swift, Zig 等语言。 ‧ 鼓励读者在章节讨论区互帮互助、共同进步,提问与评论通常可在两日内得到回复。 0.1.1. 读者对象 若您 ‧ 时间效率,即算法运行速度的快慢。 ‧ 空间效率,即算法占用内存空间的大小。 简而言之,我们的目标是设计“既快又省”的数据结构与算法。掌握评估算法效率的方法则至关重要,因为 只有了解评价标准,我们才能进行算法之间的对比分析,从而指导算法设计与优化过程。 2.1.2. 效率评估方法 实际测试 假设我们现在有算法 A 和算法 B,它们都能解决同一问题,现在需要对比这两个算法的效率。我们最直接的 2) = Θ(?) 。 但在实际应用中,尤其是较为复杂的算法,计算平均时间复杂度比较困难,因为很难简便地分析出在数据分 布下的整体数学期望。在这种情况下,我们通常使用最差时间复杂度作为算法效率的评判标准。 � 为什么很少看到 Θ 符号? 可能由于 ? 符号过于朗朗上口,我们常常使用它来表示「平均复杂度」,但从严格意义上看, 这种做法并不规范。在本书和其他资料中,若遇到类似“平均时间复杂度0 码力 | 342 页 | 27.39 MB | 1 年前3
Hello 算法 1.1.0 Java版本项目旨在创建一本开源、免费、对新手友好的数据结构与算法入门教程。 ‧ 全书采用动画图解,结构化地讲解数据结构与算法知识,内容清晰易懂,学习曲线平滑。 ‧ 算法源代码皆可一键运行,支持 Python、C++、Java、C#、Go、Swift、JavaScript、TypeScript、Dart、 Rust、C 和 Zig 等语言。 ‧ 鼓励读者在线上章节评论区互帮互助、共同进步,提问与评论通常可在两日内得到回复。 均时间复杂度为 Θ(?/2) = Θ(?) 。 但对于较为复杂的算法,计算平均时间复杂度往往比较困难,因为很难分析出在数据分布下的整体数学期望。 在这种情况下,我们通常使用最差时间复杂度作为算法效率的评判标准。 为什么很少看到 Θ 符号? 可能由于 ? 符号过于朗朗上口,因此我们常常使用它来表示平均时间复杂度。但从严格意义上讲,这 种做法并不规范。在本书和其他资料中,若遇到类似“平均时间复杂度 ?( 2) 和 ?(2?) 等。 2. Q & A Q:尾递归的空间复杂度是 ?(1) 吗? 理论上,尾递归函数的空间复杂度可以优化至 ?(1) 。不过绝大多数编程语言(例如 Java、Python、C++、 Go、C# 等)不支持自动优化尾递归,因此通常认为空间复杂度是 ?(?) 。 Q:函数和方法这两个术语的区别是什么? 函数(function)可以被独立执行,所有参数都以显式传递。方法(m0 码力 | 378 页 | 18.47 MB | 1 年前3
Hello 算法 1.0.0b5 Java版本项目旨在创建一本开源免费、新手友好的数据结构与算法入门教程。 ‧ 全书采用动画图解,结构化地讲解数据结构与算法知识,内容清晰易懂、学习曲线平滑。 ‧ 算法源代码皆可一键运行,支持 Java、C++、Python、Go、JS、TS、C#、Swift、Rust、Dart、Zig 等 语言。 ‧ 鼓励读者在章节讨论区互帮互助、共同进步,提问与评论通常可在两日内得到回复。 0.1.1 读者对象 均时间复杂度为 Θ(?/2) = Θ(?) 。 但对于较为复杂的算法,计算平均时间复杂度往往是比较困难的,因为很难分析出在数据分布下的整体数学 期望。在这种情况下,我们通常使用最差时间复杂度作为算法效率的评判标准。 � 为什么很少看到 Θ 符号? 可能由于 ? 符号过于朗朗上口,我们常常使用它来表示平均时间复杂度。但从严格意义上看, 这种做法并不规范。在本书和其他资料中,若遇到类似“平均时间复杂度 (2?) 等。 2. Q & A � 尾递归的空间复杂度是 ?(1) 吗? 理论上,尾递归函数的空间复杂度可以被优化至 ?(1) 。不过绝大多数编程语言(例如 Java、 Python、C++、Go、C# 等)都不支持自动优化尾递归,因此通常认为空间复杂度是 ?(?) 。 � 函数和方法这两个术语的区别是什么? 函数(function)可以被独立执行,所有参数都以显式传递。方法(method)与一个对象关0 码力 | 376 页 | 30.69 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Java 版均时间复杂度为 Θ(?/2) = Θ(?) 。 但对于较为复杂的算法,计算平均时间复杂度往往比较困难,因为很难分析出在数据分布下的整体数学期望。 在这种情况下,我们通常使用最差时间复杂度作为算法效率的评判标准。 为什么很少看到 Θ 符号? 可能由于 ? 符号过于朗朗上口,因此我们常常使用它来表示平均时间复杂度。但从严格意义上讲,这 种做法并不规范。在本书和其他资料中,若遇到类似“平均时间复杂度 ?( 2) 和 ?(2?) 等。 2. Q & A Q:尾递归的空间复杂度是 ?(1) 吗? 理论上,尾递归函数的空间复杂度可以优化至 ?(1) 。不过绝大多数编程语言(例如 Java、Python、C++、 Go、C# 等)不支持自动优化尾递归,因此通常认为空间复杂度是 ?(?) 。 Q:函数和方法这两个术语的区别是什么? 函数(function)可以被独立执行,所有参数都以显式传递。方法(m 当于其他编程语言中的方法。 ‧ Java 和 C# 是面向对象的编程语言,代码块(方法)通常作为某个类的一部分。静态方法的行为类似于 函数,因为它被绑定在类上,不能访问特定的实例变量。 ‧ C++ 和 Python 既支持过程式编程(函数),也支持面向对象编程(方法)。 Q:图解“常见的空间复杂度类型”反映的是否是占用空间的绝对大小? 不是,该图展示的是空间复杂度,其反映的是增长趋势,而不是占用空间的绝对大小。0 码力 | 379 页 | 18.48 MB | 10 月前3
Nacos架构&原理
生了巨大的影响力,在互联网行业广泛使用,但是这⼀阶段的开源除了情怀和展示技术影响力之后 很难量化对公司的价值,因此也比较难以持续发展。第二个阶段是 2018 年开始,随着云计算发展, 开源作为⼀种标准加速云计算发展,尤其 K8s 迅速崛起给我们很多启示,作为⼀家云计算公司,阿 里巴巴也在 2018 年制定了⼀个全面开源,加速企业数字化转型,影响 100w 开发者的战略目标, 这个阶段的开源发 多好,你们哪里哪里不行,如果我们不开源去打⼀ 打,怎么更好的证明我们更好,还有⼀个点是当时我们有商业化产品的,虽然我们知道我们更好, 但是奈何用户选择的是 Eureka,我们只能兼容,而且我们不出去,不成为默认标准,不知道未来还 要被迫兼容更多不如我们的产品,这对我们来说是⼀个灾难。因此我们决定开源。 迎面而来的是第二个问题,开源的定位和竞争力是什么? 内部三个产品的开源策略是什么? 由于当时 Spring-cloud 建云原生应用的动态服务发现、配置管理和服务管理平台。 官网:https://nacos.io/ 仓库:https://github.com/alibaba/nacos Nacos 优势 易⽤:简单的数据模型,标准的 restfulAPI,易用的控制台,丰富的使用文档。 稳定:99.9% 高可用,脱胎于历经阿里巴巴 10 年生产验证的内部产品,支持具有数百万服务的大 规模场景,具备企业级 SLA 的开源产品。0 码力 | 326 页 | 12.83 MB | 10 月前3
Java 应用与开发 - 异常处理Java 异常处理机制 大纲 异常的概念及分类 Java 异常处理机制 大纲 异常的概念及分类 Java 异常处理机制 大纲 异常的概念及分类 Java 异常处理机制 C++ 中的异常处理 O 《The C++ Programming Language》 ▶ 一个库的作者可以检测出发生了运行时错误,但一般不知道 怎样去处理它们(因为和用户具体的应用有关); ▶ 另一方面,库的用户知道怎样处理这些错误,但却无法检查 异常,然后它的(直接或者间接)调用者能够处理这个问题。 O 《C++ primer》 将问题检测和问题处理相分离。 (Exceptions let us separate problem detection from problem resolution.) 大纲 异常的概念及分类 Java 异常处理机制 C++ 中的异常处理 O 《The C++ Programming Language》 ▶ 异常,然后它的(直接或者间接)调用者能够处理这个问题。 O 《C++ primer》 将问题检测和问题处理相分离。 (Exceptions let us separate problem detection from problem resolution.) 大纲 异常的概念及分类 Java 异常处理机制 C++ 中的异常处理 O 《The C++ Programming Language》 ▶0 码力 | 33 页 | 626.40 KB | 1 年前3
Java 应用与开发 - Java EE 体系结构组件 组件间通信协议 软件开发现状 面向 Internet 开发企业级 Web 应用 面向对象 OOA/OOD/OOP,Java、C# 面向组件 软件系统是由许多小的组件构建和装配起来的 采用标准规范开发 J2EE, MS.NET 全面采用框架技术 Struts、Spring、Hibernate、AJAX、 WebWork 软件系统采用分层结构和设计模式 MVC 工厂化流水线开发模式 CVS 组件 组件间通信协议 软件开发现状 面向 Internet 开发企业级 Web 应用 面向对象 OOA/OOD/OOP,Java、C# 面向组件 软件系统是由许多小的组件构建和装配起来的 采用标准规范开发 J2EE, MS.NET 全面采用框架技术 Struts、Spring、Hibernate、AJAX、 WebWork 软件系统采用分层结构和设计模式 MVC 工厂化流水线开发模式 CVS 组件 组件间通信协议 软件开发现状 面向 Internet 开发企业级 Web 应用 面向对象 OOA/OOD/OOP,Java、C# 面向组件 软件系统是由许多小的组件构建和装配起来的 采用标准规范开发 J2EE, MS.NET 全面采用框架技术 Struts、Spring、Hibernate、AJAX、 WebWork 软件系统采用分层结构和设计模式 MVC 工厂化流水线开发模式 CVS0 码力 | 40 页 | 1.89 MB | 1 年前3
Hello 算法 1.0.0b1 Java版本项目致力于构建一本开源免费、新手友好的数据结构与算法入门书。 ‧ 全书采用动画图解,结构化地讲解数据结构与算法知识,内容清晰易懂、学习曲线平滑; ‧ 算法源代码皆可一键运行,支持 Java, C++, Python, Go, JS, TS, C#, Swift, Zig 等语言; ‧ 鼓励读者在章节讨论区互帮互助、共同进步,提问与评论一般能在两日内得到回复; 0.1.1. 读者对象 如果 2) = Θ(?) 。 但在实际应用中,尤其是较为复杂的算法,计算平均时间复杂度比较困难,因为很难简便地分析出在数据分布 下的整体数学期望。这种情况下,我们一般使用最差时间复杂度来作为算法效率的评判标准。 2. 复杂度分析 hello‑algo.com 27 � 为什么很少看到 Θ 符号? 实际中我们经常使用「大 ? 符号」来表示「平均复杂度」,这样严格意义上来说是不规范的。这 可能是因为 bytes ,但为什么 float 的取值范围远大于 int ?按说 float 需要表示小数,取值范围应该变小才对。 其实,这是因为浮点数 float 采用了不同的表示方式。IEEE 754 标准规定,32‑bit 长度的 float 由以下部分构 成: ‧ 符号位 S :占 1 bit ; ‧ 指数位 E :占 8 bits ; ‧ 分数位 N :占 24 bits ,其中 23 位显式存储;0 码力 | 186 页 | 14.71 MB | 1 年前3
共 68 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7













