中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Java > 综合文章
OSS报表系统实训笔记
作者:未知 时间:2005-07-27 22:32 出处:CSDN 责编:chinaitpower
              摘要:OSS报表系统实训笔记

   OSS报表系统 实训笔记

                  实训公司:中科天地 (王海格,老师超好)

                                    Edited by Hen Egg ,Michelangelo

2005-2-21

8:00

JasperReport 开支

面向OO 应用服务器

Java 开源数据库

J2EE 需求分析

 

 

成绩:

课堂表现

项目

 

 

项目:

l         Java平台

(1)       (编程语言)开发环境(编译器)

(2)       部署环境(应用服务器)(JDK提供软件运行服务器及基本运行条件,在此基础上的开发需要配置) 目的是重用 (相关工具类)

(3)      运行环境(操作系统)

--JVM虚拟机是操作系统,即运行环境

--Java 文件性

--垃圾收集 内存管理

--虚拟cpu (优势)

--线程

 

 

(1)+(2)+(3) 统一环境 简单开发

 

 

l         Java语言

1. OO(最重要的特征)——很大的系统

2.  可移植性JVM (并不重要)

3. 分布式 JVMAppServer ——跨平台的系统

充分利用网络资源 跨地域跨国界

4. 安全性

Unix:安全性强类型

JVM内置强安全性 >Unix

关键业务

1.  人命

医疗 检查公安 重型工业 航空

2. 

银行

 

 

小结:

JVM是操作系统

Java是面向对象,分布式,安全的语言

 

 

PS:以上红字粗体部分为java关键技术

 

 

l         Java虚拟机

1.垃圾收集

2.分布式 支持各种协议

3.多线程 线程管理

4.安全性

 

 

概念

模拟了一台计算机

 

 

功能

1.垃圾回收:

(在内存中)new的对象被装载到对象堆中

A = new Air;

new 出一个对象

调用构造函数,分配在对象堆中

返回一个引用

引用计数器++

当计数器减为0,该变量变成垃圾,从名单里除去。

垃圾收集作用:内存泄漏,空指针

垃圾收集机制:

后台精灵线程:当CPU出现闲置,调用该线程(优先级低) 要求CPU很快 有闲置的时候(Java CPU再内存再次网卡

 

 

2.提供运行时环境

操作系统的功能,负责调入代码,监督代码运行,帮助程序做输入输出,给程序提供一系列的支持

提供 CPU 寄存器 网络读写 文件系统 安全性

Class Loader 加载

Byte Code Verifier文件格式 语法 数组越界

校验4

Interpreter: 中间代码

JIT 即时编译 (快)(编译成本地代码)

 

 

安装jdk

配置环境变量

JAVA_HOME c:\j2sdk

Path ;%JAVA_HOME%\bin

CLASSPATH .;%JAVA_HOME%\lib

(ps:dos窗口不能自动刷新,改变环境变量后记得重新开)

14:00

类:

自定义

抽象

 

 

包:

package

功能相近的类组合在一起

包是相对路径,相当于windows里的文件夹

import一个包 就引入了一个命名空间

import不等于include

没写包的话,系统默认一个包

 

 

Java代码三部分

1)        package com.project.src

2)        import java.io.*;

3)       

一个文件里可以有多个类,但是有且只有一个public

 

 

eg1

1. static void main(String []args)

Main method is not public

 

 

2. public void main(String []args)

Exception in thread "main" java.lang.NoSuchMethodError: main

main是整个程序的入口,不能用new出来 由于是static方法所以在载入内存时便直接执行 以此作为其他程序的入口 main不是关键字

 

 

3. public static main(String []args)

TestHelloWorld.java:4: invalid method declaration; return type required

        public static main(String[] args)

java规定必须有范围类型,没有返回值必须定义为void。但是构造函数不允许有返回类型。

 

 

4. public static void main(String []args) == static public void main(String []args)

访问控制符和修饰符位置任意。但习惯把访问控制符放前面

 

 

5.但是返回类型 不能放在上面两者前面

TestHelloWorld.java:4: <identifier> expected

        void static public  main(String[] args)

             ^

TestHelloWorld.java:8: '(' expected         //返回值必须贴紧方法名

}

^

2 errors

main不是关键字,但是自己不要用它。

6. String[] args

arg[0]开始

 

 

注释:

调程序用

//

/*           */

javadoc注释

/**

*/

javadoc变成文档

javadoc HelloWorld.java –d doc

 

 

Java关键字&标识符&保留字

标识符 开头:字母(_, $

编码规范:

1)        有意义的单词组成,第一个单词第一个字母小写,其他单词第一个字母大写

2)        变量名和方法名同等处理。

3)        常量由有意义的单词组成,所有单词全大写,单词之间用下划线分开。

4)        类名第一个字母大写

 

 

Java数据类型

1.  基本数据类型(不是对象)

8种:

int, long, short, byte, float, double, char, bool.

2.  引用类型

对象只能通过引用访问

实际上是安全的指针

数组是引用类型(因为他在C语言里是指针类型)

默认:

Char ‘\u0000’

bool false

引用 null

数组 null

 

 

表达式和流程控制

不要用++ --,容易引起误读 除了在循环里面

=== ==只能用于基本类型,不要用于引用类型。equals

短路运算符: if (lasting!=null)&&||

把概率最高的判断放在前面,节省程序执行的时间

 

 

类型转换

高位转低位,必须进行强制类型转化 ,shortchar的转换总要

 

 

传参和传值

基本类型传值

引用类型传引用

传的是变量的副本

 

 

控制流程,循环

最好不要用switch (破坏封装,消耗性能,破坏流程)

分支尽量用if else

循环尽量用for

while(true)在服务器中,做死循环用

别用do-while

 

 

练习1

强制类型转换

 

 

练习2

传参

 

 

 

 

2005-2-22

8:00

l         Java OO

最早的面向对象Smalltalk, 后来的C++, Java, Phyon, .NET

Smalltalk纯的 Java不纯(基本类型等)

Java是对面向对象的一个实现

 

 

对象   -> 数据 <-     操作

 

 

对象之间的关系 –> 消息

 

 

OO: 按符合人的思维习惯的逻辑来分析设计,形成了一套模式,即面向对象体系。

 

 

注意:

1. 不要去继承有代码的类。有代码的类请用对象的组合.

2. 继承抽象基类或接口(n个)。接口设计完,不能减少和修改,只能增加.

3. 多重继承本身没错,必不可少,但要限制多重或单继承,破坏封装性.

 

 

多态:

技术实现:

1.  编译时:SRC 检查形式类型(声明)

2.  运行时:JVM 检查实际类型

 

 

重载:

(编译时)

处理相同的方法名,不同的参数列表

在编译器里用方法签名区别。(method signature,由方法名+参数列表组成)

不要用运算符重载

 

 

 

 

14:00

类(实用类):

1.  类头

只有public 默认的,没有私有类

2.  属性

static 只保留一份拷贝。与类代码保存在一起

静态属性的构造方法: static {}块。

non-static

3.  方法

4.  构造方法(不是类的基本结构)

5.  static

 

 

l         类的定义

[权限][修饰] class 类名 [extends 父类名][implements 接口列表]

{

       类体;

}

 

 

权限: public —— 公有类

          public —— 同包类

修饰: abstract 抽象类,只能被继承(如果一个类里面有一个抽象方法,则这个类必须是抽象类。反之,抽象类不一定包含抽象方法)不能实例化

       final    终极类,完美类,不能被继承。只能实例化

 

 

ps:

1:一般静态变量被定义成常量

2:用静态方法不能访问实例变量,static

3:native java中调用本地c代码

4:构着方法:选择native(高级)

5:接口作为引用类型来使用,任何实现该接口的实例都可以存在该接口类型的变量中.

 

 

数据成员:

[权限][修饰] 类型 变量名[= 初值];

修饰: static —— 类变量(类名点取)

       static —— 实例变量 (对象名点取)

       final 用于修饰常量

                     static final int N=5; 90%以上用到static,就加final把它变成常量。光static破坏封装性)

 

 

方法成员:

[权限][修饰] 返回值类型 方法名(行参列表) (传值不传参)

{

方法体;

}

 

 

修饰: static  (静态方法不能访问实例对象)

          final  (不允许重载) (用不到)

       abstract (该类必须声明为抽象类)

       native 本地方法。可以调用本地代码,比如调用C代码。

 

 

成员权限

public > protected > (default) > private

default 同包类

protected 同包+子类

 

 

接口里的方法默认为: public abstract

 

 

构造方法:(仅能初始化非静态属性,静态方法不能操作非静态属性,反之可以)

方法名=类名

一般不是public访问权限

不能有任何修饰

无返回值类型

如果不提供构造方法,则系统提供一个无参的构造方法。但是存在任何自己写的构造方法,缺省的构造方法立即失效。

类继承的时候,不继承构造方法。

初始化父类super() 如果父类是抽象基类,就不用加了。

 

 

super()

this()

 

 

接口定义

[权限] interface 接口名 [extends 接口列表]

{

       接口体;

}

可以继承多个接口。称为接口的拼装

接口一般声明为public

接口作为引用类型来使用。通过这些变量,可以访问所有实现该接口的方法。

 

 

练习:

1mod02/exercise3

类的公有方法被称为类的接口。

写一个Account 放在包banking

并用TestBanking测试

 

 

2.在banking中添加类Customer.

3.修改TestBanking。用Customer操作Account

 

 

2005-2-23

8:00

1.  需求分析(top n