首页 学生笔记(7--12)

学生笔记(7--12)

举报
开通vip

学生笔记(7--12)null第7章 小应用程序第7章 小应用程序本章总体纲要本章总体纲要编写小应用程序 编写网页 应用程序和小应用程序编写小应用程序编写小应用程序什么是小应用程序? 类的层次结构 JApplet与Applet之间的不同点 小应用程序的生命周期 小应用程序的安全性什么是小应用程序?什么是小应用程序?小应用程序是可以嵌入到网页中运行的Java程序 通过appletviewer或各种浏览器运行 一般是 java.applet.Applet ( 或 javax.swing.JApplet)的子类 javax.swing...

学生笔记(7--12)
null第7章 小应用程序第7章 小应用程序本章总体纲要本章总体纲要编写小应用程序 编写网页 应用程序和小应用程序编写小应用程序编写小应用程序什么是小应用程序? 类的层次结构 JApplet与Applet之间的不同点 小应用程序的生命周期 小应用程序的安全性什么是小应用程序?什么是小应用程序?小应用程序是可以嵌入到网页中运行的Java程序 通过appletviewer或各种浏览器运行 一般是 java.applet.Applet ( 或 javax.swing.JApplet)的子类 javax.swing.JApplet是java.applet.Applet的子类 直接利用第二代图形用户界面Swing的组件及其特性类的层次结构类的层次结构java.lang.Object | +--java.awt.Component | +--java.awt.Container | +--java.awt.Panel | +--java.applet.Applet | +--javax.swing.JAppletJApplet与Applet之间的不同点 (P239)JApplet与Applet之间的不同点 (P239)类JApplet是类 java.applet.Applet的子类 类JApplet 与Swing组件配套 默认的布局方式不同 JApplet  BorderLayout(分成五个区域). Applet  FlowLayout(最基础的). 往容器JApplet中添加组件必须通过contentPane(是一个包含除菜单条外所有框架的可视组件的容器) 例如: 给小应用程序添加组件 使用Applet, 代码如下: applet.add(child); 使用 Japplet,代码如下: japplet.getContentPane().add(child);小应用程序的生命周期小应用程序的生命周期所有的小应用程序具有如下的5个成员方法: public void init(): 用来初始化Java小应用程序。在小应用程序的生命周期中只会被调用一次,而且最先被执行。 public void start(): 当小应用程序在启动或重新启动时,会调用此方法。 public void paint(): 显示小应用程序的内容小应用程序的生命周期小应用程序的生命周期public void stop(): 使小应用程序进入暂停的状态。当小应用程序被图标化或从当前网页转到其它网页时,会调用此方法。主要功能是为了释放所占用的资源。 public void destroy():完成对小应用程序的结束处理。在小应用程序的生命周期中只会被调用一次,而且是在(关闭网页之前)卸载小应用程序时调用。 注:这5个成员方法的执行过程也常常称为类Applet的生命周期。小应用程序的生命周期小应用程序的生命周期 关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf 上例题:第238页,第240页 或P330,331小应用程序的安全性—— 可以做什么?小应用程序的安全性—— 可以做什么?在网页上画图 创建新的窗口,并画该窗口 播放声音 接收键盘或鼠标的输入 进行网络连接小应用程序的安全性—— 不可以做什么?小应用程序的安全性—— 不可以做什么?未经许可,在主机的硬盘上写数据 未经许可,在主机的硬盘上读取数据 未经许可,删除文件 未经许可,直接调用本机的API 读/写内存中未经许可的数据 通过网络连接到未经授权的主机本章总体纲要本章总体纲要编写小应用程序 编写网页 应用程序和小应用程序编 写 网 页编 写 网 页HTML文本文件 HTML文本文件一般以开头,以结尾。 组成部分 头部:以开始,以结尾。 正文部分:以开始,以结尾。 小应用程序嵌入到网页 关键字:APPLET 以开始,以结尾。小应用程序HTML语句小应用程序HTML语句关键字Code 和 codebase 关键字ALT 归档文件:命令JAR和关键字ARCHIVE 给小应用程序传递参数关键字Code 和 Codebase关键字Code 和 CodebaseCODE用来指定需要运行的小应用程序的文件名  注:所指定的文件名必须是编译后生成的文件名,即文件后缀是“.class”文件 CODEBASE用来指定路径,即 “.class”文件所在的路径 注:缺省情况下,则默认“.class”文件和HTML文件在同一目录下。 语句 WIDTH:小应用程序的宽度 HEIGHT :小应用程序的高度关键字Code 和 Codebase关键字Code 和 Codebase实例 1: 实例 2: 关键字ALT关键字ALT HTML语句具有 ALT 属性 当HTML浏览器不支持小应用程序时,可以显示ALT中的文本信息 实例: 命令JAR和关键字ARCHIVE命令JAR和关键字ARCHIVE将小应用程序所需要的所有图像、声音以及“.class”文件压缩成一个JAR归档文件 一般可以大大减少加载小应用程序的时间 每个文件 加载  需要独立的 HTTP 连接 许多文件  许多次连接 许多文件组成一个文件  一次连接 数据被压缩  减少数据本身的传输时间 例题:P245(P349)实例: (ARCHIVE)实例: (ARCHIVE)javac *.java jar -cvf all.jar *.class An applet Example 介于 之间 给小应用程序传递参数,在程序代码中 public String getParameter(String name) 类java.applet.Applet的成员方法书上例题:P248(P352)实例: J_Applet.java实例: J_Applet.javaimport java.awt.*; import javax.swing.*; public class J_Applet extends JApplet { public void paint(Graphics g) { String s= getParameter("TestPara"); g.drawString("Value of \"TestPara\" is " + s + ".", 10, 50); } // End of method: paint } // End of class: J_Applet An applet Example Value of "TestPara" is TestValue.J_Applet.javaAppletExample.html程序输出本章总体纲要本章总体纲要编写小应用程序 编写网页 应用程序和小应用程序应用程序与小应用程序应用程序与小应用程序可以编写一个程序,它既是应用程序,又是小应用程序。 单个“.class”文件既可以按应用程序执行,又可以按小应用程序执行 例:P250 P252(P354) 本章小结本章小结小应用程序 编写网页 应用程序和小应用程序第8章 多线程程序设计 (新书:第11章)第8章 多线程程序设计 (新书:第11章)为什么需要多线程编程?为什么需要多线程编程?一台计算机可以同时执行多个程序,如一边播放音乐,一边进行编辑文字。 一个java程序也可以同时包含多个线程。 合理的进行多线程编程,可以更充分的利用计算机资源,提高程序执行效率。 但进行多线程编程时要慎重,因为理解多线程执行过程的并发性是有一定难度的。本章总体纲要本章总体纲要编写线程程序 线程的生命周期 多线程的同步处理构造线程类的方式构造线程类的方式两种 通过继承类Thread构造线程类 通过继承接口Runnable构造线程类 通过继承类Thread构造线程类通过继承类Thread构造线程类类声明形式 public class A extends Thread { //.... } 线程程序执行代码 public void run( ) 启动线程 public void start( ) 例:P257(P386)通过继承接口Runnable构造线程类通过继承接口Runnable构造线程类类声明形式 public class A extends B implements Runnable { public void run( ) { // ... } }通过继承接口Runnable构造线程类通过继承接口Runnable构造线程类构造和启动线程的方法 A a = new A( ); Thread t = new Thread(a); t.start( ); 例子P261(P389)A为实现接口Runnable的类本章总体纲要本章总体纲要编写线程程序 线程的生命周期 多线程的同步处理线程的生命周期(P262或P397)线程的生命周期(P262或P397)线程的生命周期(P262或P397)线程的生命周期(P262或P397) 给线程设置优先级: public final void setPriority(int newPriority) 获取优先级: public final int getPriority() 进入睡眠状态: public static void sleep(long millis) 注意sleep是static的,是让当前线程进入睡眠状态本章总体纲要本章总体纲要编写线程程序 线程的生命周期 多线程的同步处理多线程的同步处理多线程的同步处理使多个线程协调地并发处理 同步方法:synchronized 同步语句:P271 synchrionized (引用类型的表达式) { //程序块 } 例:P269、P273(P400、P402) 成员方法:wait/notify/notifyAll 死锁问题死锁问题死锁问题死锁问题:资源实际上并不短缺,但由于程序设计不合理而造成程序中所有的线程都陷入等待态或阻塞态。 死锁问题是JAVA虚拟机无法自动处理的,而只能由程序员自己去分析并设计合理的程序,人为的避开这些问题。本章小结本章小结编写线程程序 线程的生命周期 多线程的同步处理第9章 编程规范 (新书:第10章)第9章 编程规范 (新书:第10章)第9章 编程规范第9章 编程规范 在软件的生命周期中,大约80%的时间是用在软件维护上。本章总体纲要本章总体纲要程序编写规范 程序调试 文档注释程序编写规范程序编写规范目标是为了尽量使程序代码的风格保持一致,增强程序的可读性,缩短程序的编写时间和维护时间。 内容 命名规范 排版规范 语句规范 文件组织规范命名规范内容命名规范内容包 文件 类/接口 方法 变量 常量包的命名规范包的命名规范包的名称一般全部采用小写,单词之间用“.”分割开。 包名的前缀一般是域名单词序列的逆序 实例 com.sun.eng com.apple.quicktime edu.cmu.cs.bovik.cheese文件的命名规范文件的命名规范Java源程序文件的命名规范 必须与该文件中public类的类名同名 后缀必须是 .java类/接口的命名规范类/接口的命名规范类名一般是名词/名词词组,类名应当尽量简单,其含义应当能够尽量准确地刻画该类或接口的含义。 每个单词的首字母大写,其它字母小写 一般采用全称—尽量少用缩写词 在类名前加“J_”表示这里构造的是Java类或接口 实例 J_Clock J_Circle Time ImageSprite (图版精灵)方法的命名规范方法的命名规范方法名一般是动词/动词性词组 首字母小写,中间单词的首字母大写,其它字母小写。 实例: run( ); getBackground( ); getTime( ); 常在方法名前面加前缀“mb_”表示成员方法 mb_update( );变量的命名规范变量的命名规范变量名一般是名词或名词性词组 首字母小写,中间单词的首字母大写,其它字母小写 变量名的首字母尽量不要用字符: _ 或 $ 变量名应当简短、有含义、且便于记忆 实例: int i; char c; double widthBox; 类成员域的变量常带前缀“m_” private int m_button;变量的命名规范变量的命名规范变量名常常由表示其所扮演的角色与数据类型组成 实例: Point startingPoint, centerPoint; Name loginName;常量的命名规范常量的命名规范常量名一般全大写,单词之间用下划线分隔 (“_”) 实例: static final int MIN_WIDTH = 4; static final int MAX_WIDTH = 999;排 版 规 范排 版 规 范特殊字符 行数/每行的字符数 缩排方式(Indentation) 空白符/行排 版 规 范排 版 规 范不要含有特殊字符 文件本身长度一般不要超过2000行 文件一般至少含有一个类,其中有且仅有一个public类 每行一般不要超过80个字符,超过80个字符时,要考虑分行 P289(P364) 一般推荐采用4个空格的缩排方式 空白行用来划分程序的层次结构 P289(P365) 语 句语 句编写语句的关键----保证代码的简单性 每行最多只有一条语句 少用复合语句 P290(P366) 适当增加括号“()” P291(P367) 增加必要的注释 程序代码优化:去掉不必要的代码以及错误的注释,简化某些语句等等文件组织文件组织源程序文件一般采用如下的组织顺序: 头部注释 包语句和包导入语句 类和接口的定义本章总体纲要本章总体纲要程序编写规范 程序调试 文档注释assert语句assert语句第一种格式 assert 布尔表达式; 例题:P294(P380) 第二种格式 assert 布尔表达式 : 字符串; 例题:P295(P382) 注意事项 为了使assert语句 起作用,必须在编译选项中加入“-source 1.4”,在执行的时候,加上运行选项“-ea”本章总体纲要本章总体纲要编程规范 程序调试 文档注释文档注释文档注释文档注释:介于 /** 和 */ 之间的内容。它可以是单行,也可以是多行。 实例 /** Sorts integer array using MySort algorithm */ 文档注释是与Java语言的工具Javadoc相关联的。工具Javadoc可把文档注释自动生成HTML在线帮助文件 文档注释可以包含:HTML各种标记、文档标签 文档注释的一般格式文档注释的一般格式实例: /** * This is the description part of a doc comment * * @tag Comment for the tag */ 常用的 文档标签常用的 文档标签@author @param @return @see@throws @deprecated @link @since @version运行 javadoc运行 javadoc在命令行下执行 javadoc options packages sources options : 选项列表 packages : 包列表 sources : 源文件列表 实例:P306 javadoc -d . -author Time3.java本章小结本章小结编程规范 程序调试 文档注释第10章 网络程序设计第10章 网络程序设计第10章 网络程序设计第10章 网络程序设计网络资源定位器 URL:指向网络上的各种资源 最常用的网络通信 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 TCP:传输控制协议 UDP:用户数据报协议 本章总体纲要本章总体纲要URL 基于TCP的网络程序设计 基于UDP的网络程序设计Internet地址Internet地址在Internet上的计算机通过IP (Internet Protocol)地址标识,一般由四个整数组成 实例: 216.239.53.100 域名: www.google.com 类 java.net.InetAddress:可用该类的实例对象来记录网络地址,并获取相关信息创建类InetAddress的实例对象创建类InetAddress的实例对象类 InetAddress 的实例对象可以通过下列方法构造 public static InetAddress getByAddress(byte[] addr) :通过网络地址构造 public static InetAddress getByName(String host) :通过域名构造 实例:P309URLURLURL 是网络资源定位器(Uniform Resource Locator), 指向网页(World Wide Web) 上的一个资源 这里的资源可以是文件/目录,也可以是一些复杂的对象,如数据库或搜索引擎(search engine)URL的组成部分URL的组成部分5个组成部分 协议:获取网络资源的网络传输协议 主机:网络资源所在的主机 端口号:与主机通信的端口号 文件:指广义的文件,包括路径目录 引用:指向文件内部的某一节的指针 排列格式 协议://主机:端口号/文件#引用 Protocol://Host:Port/File#Reference说明说明大多数URL可以分成五个部分: Protocol Host Port File Reference 但并不都是必需的URL的实例URL的实例http://www.ncsa.uiuc.edu:8080/demoweb/urlprimer.html#INSTALL http://www.tsinghua.edu.cn/ http://localhost:8080/index.html#bottom ftp://166.111.233.143/java/ mailto:yongjunhai@tsinghua.org.cn类: java.net.URL类: java.net.URL网络资源定位器(URL)对应于Java的类 java.net.URL 类 java.net.URL 具有五个成员方法,可以用来获取URL的五个部分: public String getProtocol() public String getHost() public int getPort() public String getFile() public String getRef() 例子:P311从URL获取网络资源从URL获取网络资源通过类java.net.URL的成员方法 public final InputStream openStream( ) throws IOException 读取网络资源数据的步骤 P312 实例:P313 本章总体纲要本章总体纲要URL 基于TCP的网络程序设计 基于UDP的网络程序设计传输控制协议TCP传输控制协议TCP传输控制协议TCP (Transfer Control Protocol) 是一种基于连接的协议,可以在计算机之间提供可靠的数据传输 基于连接的协议(类似于电话连接) 服务器端与客户端通过TCP协议进行通讯 套接字(Socket):是指连接通道的两端通过TCP进行网络数据通信的程序模型通过TCP进行网络数据通信的程序模型服务器端 ServerSocket(port#) ServerSocket.accept() OutputStream InputStream Socket.close()客户端 Socket(host, port#) OutputStream InputStream Socket.close()类 java.net.Socket类 java.net.Socket类java.net.Socket允许如下的四种基本操作: 连接到远程的机器 发送数据 接收数据 关闭连接创建类 Socket 的实例对象创建类 Socket 的实例对象构造方法 Socket() Socket(InetAddress address, int port) Socket(InetAddress address, int port, InetAddress localAddr, int localPort) Socket(String host, int port) Socket(String host, int port, InetAddress localAddr, int localPort) 实例: Socket javaSite = new Socket("java.sun.com", 80); 类java.net.Socket中的成员方法类java.net.Socket中的成员方法getInputStream() 返回该socket所对应的输入流 getOutputStream() 返回该socket所对应的输出流 实例:P315(P441)本章总体纲要本章总体纲要URL 基于TCP的网络程序设计 基于UDP的网络程序设计基于UDP的网络程序设计基于UDP的网络程序设计UDP是一种简单的不可靠的无连接的网络数据传输协议 类似于日常生活中的“邮局”基于UDP的网络程序设计基于UDP的网络程序设计DatagramSocket(相当于邮局):表示发送或接收数据包的Socket 类java.net.DatagramPacket:对传输的数据进行封装。数据包就对应于类java.net.DatagramPacket的实例对象java.net.DatagramPacketjava.net.DatagramPacket构造方法 public DatagramPacket(byte[] buf, int offset, int length, InetAddress address, int port) 成员方法 public InetAddress getAddress( ) public int getPort( ) public void send(DatagramPacket p) throws IOException public void receive(DatagramPacket p) throws IOException 实例:P323(P455)本章小结本章小结URL 基于TCP的网络程序设计 基于UDP的网络程序设计第12章 数据库程序设计第12章 数据库程序设计本章总体纲要本章总体纲要基本原理 开发环境的建立 数据库程序设计 JDBC的API简介 性能优化第12章 数据库程序设计第12章 数据库程序设计JDBC(Java Database Connection, Java数据库连接):Java语言通过JDBC统一地处理各种类型的数据库。 JNDI(Java Naming and Directory Interface ,Java 命名和目录接口):获取数据源 API(Application Programming Interface,应用编程接口):提供一套 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 的访问数据库的程序设计接口基本原理基本原理基于JDBC的数据库程序设计方法通常由三个步骤组成 连接数据库 执行SQL语句和处理查询结果 关闭连接JDBC驱动程序类型JDBC驱动程序类型JDBC驱动程序是实现对底层数据库的操作。 JDBC驱动程序负责将这些程序调用转化成为符合底层数据库交互协议的信息,并将这些信息发送给相应的数据库管理系统。 JDBC驱动程序类型JDBC驱动程序类型根据JDBC驱动程序的实现机制,将JDBC分为4类: 第一类JDBC驱动程序 JDBC-ODBC桥 第二类JDBC驱动程序 本地化方法实现JDBC的API 第三类JDBC驱动程序 通过中间件实现JDBC的API 第四类JDBC驱动程序 直接采用Java语言实现与特定数据库交互的协议,直接访问数据库 JDBC驱动程序类型JDBC驱动程序类型第一类JDBC驱动程序(JDBC-ODBC桥) 通过JAVA本地化方法将JDBC的API映射为ODBC的API,然后再通过ODBC来访问数据库 图12.2 P352 (图14.2  P540) 缺点:受到ODBC一些局限性的限制JDBC驱动程序类型JDBC驱动程序类型第二类JDBC驱动程序(本地化方法实现JDBC的API) JDBC驱动程序直接通过本地化方法与数据库交互 图12.3 P352(图14.3  P540) 缺点:其兼容性较差JDBC驱动程序类型JDBC驱动程序类型第三类JDBC驱动程序 通过中间件实现JDBC的API,即访问数据库时要借助中间件 图12.4 P353  (图14.4  P540) 缺点:执行效率往往较低JDBC驱动程序类型JDBC驱动程序类型第四类JDBC驱动程序 直接采用Java语言实现与特定数据库交互的协议,直接访问数据库 图12.5 P353 (图14.5  P541) 优点:执行效率最高 缺点:通用性差JNDI原理(第一版)P600JNDI原理(第一版)P600JNDI(Java Naming and Directory Interface ,Java 命名和目录接口) 管理数据源 数据源:指向指定的数据库。数据源中记录了指定数据库的各种属性(数据库名称、用户名和密码等) 图12.6 P353 “命名/目录”服务器 建立新的数据源需要在“命名/目录”服务器中绑定一个名称 “命名/目录”服务器对数据源的管理是与目录结构相对应的 图12.7 P354本章总体纲要本章总体纲要基本原理 开发环境的建立 数据库程序设计 JDBC的API简介 性能优化开发环境的建立(第一版)开发环境的建立(第一版)安装数据库和建立测试数据 选择、获取和安装JDBC驱动程序 不同的JDBC驱动程序可能会有不同的安装方法 SUN公司在其网站上有一份各种JDBC驱动程序的列表 P357 图12.13 P357 安装与设置JNDI JNDI驱动程序可以在SUN公司网站上找到本章总体纲要本章总体纲要基本原理 开发环境的建立 数据库程序设计 JDBC的API简介 性能优化数据库程序设计数据库程序设计绑定数据源 创建数据源 创建命名服务上下文 在新创建的命名服务上下文中绑定新创建数据源和指定的名称 例题:P359 (P550)数据库程序设计数据库程序设计数据库数据处理 例题: P360 ( P554 ) 关闭连接 调用接口Connection的成员方法close 例题 P363 Statement stmt=con.createStatement(); Con.close(); 本章总体纲要本章总体纲要基本原理 开发环境的建立 数据库程序设计 JDBC的API简介 性能优化JDBC的API简介(第一版)JDBC的API简介(第一版)数据源 数据源在JAVA中对应于接口javax.sql.DataSource的实例对象,是用来获取数据库连接的 javax.sql.DataSource常用的成员方法 P366 数据库连接 数据库连接对应于接口java.sql.Connection的实例对象,用来维护一个到数据库的网络连接 java.sql.Connection中常用的方法 P366JDBC的API简介JDBC的API简介SQL语句执行器 SQL语句执行器对应于接口java.sql.Statement 的实例对象,通过SQL语句执行器可以执行各种SQL语句。 java.sql.Statement中常用的方法 P367 SQL查询结果集 SQL查询结果集对应于接口java.sql.ResultSet的实例对象,它不仅记录了查询结果中的每行数据,同时也记录了各列的类型信息。 java.sql.ResultSet中常用的方法 P368本章总体纲要本章总体纲要基本原理 开发环境的建立 数据库程序设计 JDBC的API简介 性能优化性能优化性能优化预编译语句 SQL语句批处理机制 连接池预编译语句预编译语句对重复执行只有参数值不同的SQL语句而言 预编译语句的机制是先让数据库管理系统在内部通过预先编译,形成带参数的内部指令,并保存起来。 执行时,只需修改该对象中的参数值,再由数据库管理系统直接修改内部指令并执行 例题:P371(P596) SQL语句批处理机制SQL语句批处理机制原理 通过处理一组SQL语句,可以节省一些资源,也可以减少分配和释放资源的时间,从而提高效率 批处理执行SQL语句机制的使用方法 P372(P599)连接池连接池原理 减少重复连接/断开数据库服务器的操作 方法 系统维护一个物理连接缓冲池,即事先建立起一定数量的到数据库的物理连接 与连接池有关的接口 P373本章小结本章小结基本原理 开发环境的建立 数据库程序设计 JDBC的API简介 性能优化
本文档为【学生笔记(7--12)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_591495
暂无简介~
格式:ppt
大小:345KB
软件:PowerPoint
页数:0
分类:其他高等教育
上传时间:2011-12-09
浏览量:15