《Java 应用与开发》课程讲义 - 王晓东类时,编译后会生成多个字节码文件,即每个类都会 生成一个单独的“.class”文件,且文件名与类名相同。 1.6 课后习题 1. 安装配置 Eclipse Java 开发环境。 2. 使用一个文本编辑器(记事本等)编写一个简单的 Java 程序,并从命令行编译执 行该程序。 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 实验名称: Eclipse 集成开发环境配置及 Java 语言基础编程练习 上机时间: 第一周 实验手册: 无(参照实验内容完成) 实验内容: 本次实验需要完成以下内容: 1. 使用文本编辑器完成 Java Hello World 程序编写,使用 javac 和 java 编译运 行该程序; 2. 熟悉 Eclipse 集成开发环境,学习创建 Java 工程,使用 Maven 创建 Java T y) { 8 this .x = x; 9 this .y = y; 10 } 11 ... 12 } 类型参数不能为基本数据类型,而 java.lang.Number 是所有数值型封装类(如 Integer、Float、Double 等)的父类型,于是限制泛型类 Point 的类型参数必须为 Number 或其子类类型,并使用 extends 关键字来标明这种继承层次上限制。0 码力 | 330 页 | 6.54 MB | 1 年前3
Apache Shiro 1.2.x Reference Manual 中文翻译际和安 全相关的数据如用户执行身份认证(登录)的帐号和授权(访问控制)进行交互,Shiro 从一个或多个程序配置的 Realm 中查找这些东西。 Realm 本质上是一个特定的安全 DAO:它封装与数据源连接的细节,得到Shiro 所需的相关的数据。在配置 Shiro 的时 候,你必须指定至少一个Realm 来实现认证(authentication)和/或授权 (authorization)。SecurityManager 管模块化, SecurityManager(包括它的继承类)并没有做到,相反地,SecurityManager实现更像一个 轻量级的‘容器(container)’,代表几乎所有嵌套/封装组件的行为,这种‘封装(wrapper)’设 计在上面的架构图表中已有反映。 Apache Shiro 1.2.x Reference Manual 中文翻译 22 3. Architecture 架构 principal (信息),在数据源中查找对应的用户数据; 3.确定令牌支持的 credentials (凭证数据)和存储的数据相符; 4.如果凭证相符,返回一个AuthenticationInfo实例,里面封装了 Shiro 可以理解的用户数据。 5.如果证据不符,抛出 AuthenticationException异常。 这是所有Realm getAuthenticationInfo 实现的最高级别工作流,Realm0 码力 | 196 页 | 2.34 MB | 1 年前3
Linux Docker Mess殊,软链接有着自己的 inode 号以及用户数据块。 Architecture Applications 标准的Linux系统(Linux发行版)一般都有一套称为应用程序集,它包括文本 编辑器、编程语言、X Window、办公套件、Internet工具和数据库等。 知乎:Vim 和 Emacs 到底哪个更牛逼一点? http://www.zhihu.com/question/20846396 Docker Docker Container和普通的虚拟机Image相比,最大的区别是它并不包含操作系统内核。 Docker vs. LXC 基本上可以认为目前的Docker是LXC的一个高级封装,提供了各种辅助工具和标准接口 方便使用LXC,你可以依靠LXC和各种脚本实现与Docker类似的功能,就像你不使用 APT/yum等工具也可以安装软件包一样,使用他们的关键原因是方便易用! 实际0 码力 | 77 页 | 7.40 MB | 1 年前3
Java 应用与开发 - 线程编程线程基础 线程控制 线程的同步 线程的概念模型 Java 线程的概念模型 在 Java 语言中,多线程的机制通过虚拟 CPU 来实现。 1. 虚拟的 CPU,由 java.lang.Thread 类封装和虚拟; 2. CPU 所执行的代码和数据,传递给 Thread 类对象。 代码 数据 虚拟CPU 大纲 线程基础 线程控制 线程的同步 创建线程 ���� 线程基础 相关知识回顾 称为线程体。 1. 定义一个类实现 Runable 接口,重写其中的 run() 方法,加 入所需的处理逻辑; 2. 创建 Runable 接口实现类的对象; 3. 创建 Thread 类的对象(封装 Runable 接口实现类型对象); 4. 调用 Thread 对象的 start() 方法,启动线程。 课程配套代码 ± sample.thread.FirstThreadSample.java 称为线程体。 1. 定义一个类实现 Runable 接口,重写其中的 run() 方法,加 入所需的处理逻辑; 2. 创建 Runable 接口实现类的对象; 3. 创建 Thread 类的对象(封装 Runable 接口实现类型对象); 4. 调用 Thread 对象的 start() 方法,启动线程。 课程配套代码 ± sample.thread.FirstThreadSample.java0 码力 | 82 页 | 1010.73 KB | 1 年前3
Java 应用与开发 - Java GUI 编程GUI 窗口类,无布局管理器 大纲 GUI 组件及布局 GUI 事件处理 Applet Swing Swing 典型组件(课后自学) Frame 类 Frame 类的显示效果是一个标准的图形窗口,它封装了 GUI 组 件的各种属性信息,如尺寸、可见性等。 1. Frame 对象的显示效果是一个可自由停泊的顶级“窗口”, 带有标题和尺寸重置角标。 2. Frame 默认初始化为不可见的,可以调用 FrameSample.java 大纲 GUI 组件及布局 GUI 事件处理 Applet Swing Swing 典型组件(课后自学) Frame 类 Frame 类的显示效果是一个标准的图形窗口,它封装了 GUI 组 件的各种属性信息,如尺寸、可见性等。 1. Frame 对象的显示效果是一个可自由停泊的顶级“窗口”, 带有标题和尺寸重置角标。 2. Frame 默认初始化为不可见的,可以调用 ContainerAdapter 容器事件适配器 大纲 GUI 组件及布局 GUI 事件处理 Applet Swing Swing 典型组件(课后自学) 内部类和匿名类在 GUI 事件处理中的应用 监听器类中封装的业务逻辑具有非常强的针对性,一般没有重用 价值,因此经常采用内部类或匿名类的形式来实现。 一起改一改 课程配套代码 ± sample.awt.event.ActionEventSample0 码力 | 73 页 | 876.31 KB | 1 年前3
Java 应用与开发 - 高级 I/O 编程根据数据流所关联的是数据源还是其他数据流 可分为节点流(Node Stream)和处理流(Processing Stream)。 ▶ 节点流直接连接到数据源; ▶ 处理流是对一个已存在的流的连接和封装,通过所封装的流 的功能调用实现增强的数据读/写功能,处理流并不直接连 到数据源。 Howareyou? Imissyou. h o w 文件 read() 节点流FileReader 处理流BufferedReader 常用 I/O 流类型 I/O 应用 BufferedReader/BufferedWriter ▶ BufferedReader 用于缓冲读取字符、字符数组或行,采用缓 冲处理能够提高效率,该类所封装的字节输入流对象需要在 构造方法中指定。 ▶ public BufferedReader(Reader in) ▶ public BufferedReader(Reader in, int size)0 码力 | 27 页 | 609.17 KB | 1 年前3
Java 应用与开发 - MVC 和框架初步需要一些必须的元素(如果没有这些元素,或许我还真不知道这 个程序会写成什么样子): 1. 数据 在用户登录实例中就是 name 和 password。他们共同 构成了程序数据的核心载体。事实上,我们往往会有一个 User 类来封装 name 和 password,这样会使得我们的程序 更加 OO。无论怎么说,数据会穿插在这个程序的各处,成 为程序运行的核心。 2. 页面展示 3. 处理具体业务的场所 大纲 Java Web struts2/src/ouc/java/app/action/LoginAction.java 1 public class LoginAction extends ActionSupport { 2 // 定义封装请求参数的 username 和 password �性 3 private String username; 4 private String password; 5 public String 框架控制器实际上由两个部分组成: 1. 拦截所有用户请求,处理请求的通用代码由核心控制器完成; 2. 实际业务控制则有 Action 处理。 注意:核心过滤器接收到用户请求后,通常会对用户请求进行简单预处理(例如解析、 封装参数),然后通过反射来创建 Action 实例,并调用 Action 的指定方法(Struts 1 通常是 execute,Struts 2 可以是任意方法)来处理用户请求。 大纲 Java Web0 码力 | 51 页 | 837.26 KB | 1 年前3
Java 应用与开发 - Java 技术概述及开发环境名与类名相同。 大纲 Java 技术概述 Java 平台核心机制 Java 开发环境 Java 基本开发流程 本节习题 1. 安装配置 Eclipse Java 开发环境 2. 使用一个文本编辑器(记事本等)编写一个简单的 Java 程 序,并从命令行编译执行该程序 大纲 Java 技术概述 Java 平台核心机制 Java 开发环境 Java 基本开发流程 THE END wangxiaodong@ouc0 码力 | 33 页 | 1.17 MB | 1 年前3
Hello 算法 1.0.0b1 Java版public TreeNode(int x) { val = x; } } 「结点高度」是最远叶结点到该结点的距离,即走过的「边」的数量。需要特别注意,叶结点的高度为 0 ,空结 点的高度为 ‑1。我们封装两个工具函数,分别用于获取与更新结点的高度。 // === File: avl_tree.java === /* 获取结点高度 */ int height(TreeNode node) { // right)) + 1; } 结点平衡因子 结点的「平衡因子 Balance Factor」是 结点的左子树高度减去右子树高度,并定义空结点的平衡因子为 0 。 同样地,我们将获取结点平衡因子封装成函数,以便后续使用。 // === File: avl_tree.java === /* 获取平衡因子 */ int balanceFactor(TreeNode node) { // 空结点平衡因子为 应采用的旋转方法 > 0 (即左偏树) ≥ 0 右旋 > 0 (即左偏树) < 0 先左旋后右旋 < 0 (即右偏树) ≤ 0 左旋 < 0 (即右偏树) > 0 先右旋后左旋 为方便使用,我们将旋转操作封装成一个函数。至此,我们可以使用此函数来旋转各种失衡情况,使失衡结点 重新恢复平衡。 // === File: avl_tree.java === /* 执行旋转操作,使该子树重新恢复平衡 */0 码力 | 186 页 | 14.71 MB | 1 年前3
基于 Java EE 的企业应用系统设计 - Spring MVC 01Spring MVC,我们至少 都需要一些必须的元素: 1. 数据在这个例子中,就是 name 和 password。他们共同构成 了程序数据的核心载体。事实上,我们往往会有一个 User 类 来封装 name 和 password,这样会使得我们的程序更加 OO。 无论怎么说,数据会穿插在这个程序的各处,成为程序运行 的核心。 2. 页面展示 3. 处理具体业务的场所 大纲 Java Web 保存产品并返回完成页面,对应的 URI 包含字符串 prod- uct_save。 O 应用所包含的组件构成 ▶ 一个 Product 类,作为 product 的领域对象; ▶ 一个 ProductForm 类,封装了 HTML 表单的输入项; ▶ 一个 ControllerServlet 类,本示例应用的控制器; ▶ 一个 SaveProductAction 类; ▶ 两个 JSP 视图页面(ProductForm0 码力 | 67 页 | 792.43 KB | 1 年前3
共 22 条
- 1
- 2
- 3













