Java语言的基本特点
1、 简单易学 2、面向对象技术 3、分布式计算 4、健壮性 5、安全性 6、跨平台和可移植性 7、解释执行 8、高效性 9、多线程 10、动态性 11、Applet的特点:嵌入式程序设计
Java语言的实现机制:
1、 jvm(java虚拟机):java编译系统将源文件(.java)编译为字节码文件(.class)然后再由java虚拟机执行字节码文件。虚拟机执行过程有:多线程、动态链接和异常处理
2、 垃圾回收机制
3、 代码的安全检验
一个java源文件中最多只能有一个public类,并且源文件名必须和public类名相同
Java使用的是多线程技术:而不是多线程、进程概念是从操作系统角度考虑程序运行,一个多线程可以有多个线程
多线程是java语言的并发机制
Java程序的编译和执行模式包括2点,是半编译和半解释
Java语言支持TCP/IP协议,从而使得java程序在分布式环境中能够很方便地访问处于不同地点的对象
在java语言中,类按照程序设计时所需要的常用方法和接口封装成包
一个整型的数据到达整型能表示的最大数值后,再加1,则机器产生上溢,结果为整型的最小值,如果该数据达到了整型的最大值。实型变量如果下溢,则计算机设置为0.0,如果上溢,则机器设为+-Infinity(正、负无穷大)
Byte类型的范围应该是从-128~127,char类型的范围应该是0~655535,short类型的范围应该是-32768~32767,boolean类型的范围只有真或假
局部变量在使用之前必须初始化,否则编译错误;类的变量则不一定初始化,系统使用默认的初始值。
Double c = 1.1/0.0,浮点数做除法时,如果分母为0.0,则不会出现溢出,系统默认的结果为NaN特殊值
Float和double属于实型数据
Byte、short、int、long属于整型数据
变量是java程序的基本储存单元之一,变量的主要类型包括2大类:基本类型和复合类型
在java语言的简单数据类型中,占存储空间最少的数据类型是boolean,该类型数据占用的存储空间为1位
-2的补码为11111110.首先求出-2绝对值的补码为00000010,然后再对其取反,得
到11111101,最后再加上1,得到的二进制串11111110
Static不能修饰局部变量
字符串分为两大类,一类是字符串常量,使用String类的对象表示;另一类是字符串变量,使用StringBuffer类的对象表示
变量按作用域分类,有局部变量、类变量、方法参数和异常处理参数
在java中,没有指针变量,NullpointerException异常抛出的条件是调用使用null对象引用的方法
任何没有被程序捕获的异常将最终被java虚拟机标准异常处理程序处理
异常处理主要用于使系统从故障中恢复,主要包括以下三个方面:提示信息、不产生无效的结果和释放资源
Error包括动态链接失败、虚拟机错误、线程死锁和硬件设备出错等
Java的I/O流包括字节流、字符流、文件流、对象流和管道流
流是一个流动的数据缓冲区,数据从数据源流向数据目的地。
FileInputStream实现对磁盘文件的读取操作,在读取字符的时候,它一般与InputStreamReader和BufferReader一起使用
Java通过过滤流对I/O访问提供同步处理机制
BufferInputStream类是FileInputStream类的子类
在java.io中,可以直接访问内存的类有ByteArrayOutputStream、ByteArrayInputStream和StringBufferInputStream
Thread类的方法
(1) sleep(),睡眠
(2) yield(),激活
(3) join(),暂停
(4) interrupt(),中断
(5) currentThread(),用于返回当前线程的引用
(6) stop(),强制终止线程
线程的生命周期主要有:新建、可运行、运行、阻塞、终止状态
Java线程模型的组成部分:虚拟的CPU、虚拟CPU执行的代码、代码所操纵的数据
线程的组成:程序计时器、堆栈、栈指针
进程由:代码、数据、内核状态和一组寄存器组成的
进程是一个内核级的实体,而进程是一个用户级的实体
Java的线程调度策略是基于优先级的抢占式调度
用synchronized标识的共享数据必须是私有的
Java中对象加锁具有可重入性
MouseMotionListener 接口实现对鼠标移动事件的监听,因此包括2个方法:mouseMoved(mouseEvent)和mouseDragged(mouseEvent)
Java.awt包主要包括3个概念:构件、容器、布局管理器
数据库设计的四个阶段是:需求分析、概念设计、逻辑设计、物理设计
J2ME是为嵌入式和移动设备提供的Java平台,它的体系结构由Profiles、configuration和OptionalPackages组成,J2SE是面向企业级应用与服务的综合性标准开发平台,J2EE是面向大型企业级用容器管理专用构件的应用平台
在switch语句中,表达式expression只能返回几个类型的值:int、short、byte、char、枚举
Java语言使用的是Unicode字符集,ASCII是国际上使用最广泛的字符编码;BCD是一种数字压缩存储编码方法
实际上,Serializable接口是一个空接口,它里面既没有定义抽象方法,也没有定义常量。Serializable接口的目的只是简单地标识一个类的对象是可以被串行化的。
自定义表格类中的model部分应实现的接口是TableModel
Float f = 0.0;后面没有f 字母,计算机默认为double,double不能转化为float类型
Applet和java Application ,都用javac编译,但运行凡是不同。Applet的运行环境是Web浏览器,必须建立HTML文件,告诉浏览器如何加载与运行Applet,Applet是不能直接通过java命令行启动运行
Applet概念必须定义CODE、WIDTH和HEIGHT三个属性,CODE属性指定包含Applet字节码的文件名,WIDTH和HEIGHT属性定义了Applet显示区以像素为单位的高度和宽度
DFD数据流图属于需求分析阶段
PAD图、N-S图、程序流程图属于详细设计过程中的图形工具
Swing中的内部框架类是JIternalFrame
接口是不包含成员变量里和方法实现的抽象类,它只包含常量和方法的定义。
AWT构件能直接添加到顶层容器中和AWT构件不同,Swing构件不能直接添加到顶层容器中。它必须添加到一个与Swing顶层容器相关联的内容面板上
J2SDK有如下几个命令
Javah命令:生成C语言头文件盒Stub文件,javah从java类生成C头文件和C源文件
Javap命令:java类文件解析器,用于解析类文件
概念模式是数据库系统中对全局数据逻辑结构的描述,外模式是用户的数据视图。内模式又称物理模式
选择是选择满足条件的元组,投影是满足条件的列。
Applet和Awt的默认布局管理器是FlowLayout,Swing的默认布局管理器是BorderLayout
线程的生命周期:新建状态、可运行状态、阻塞状态、终止状态。
Applet的生命周期:init(),start(),stop(),destroy()
程序流程图的菱形框表示的是逻辑条件、矩形表示加工步骤、箭头表示控制流
软件工程包括3个要素:方法、工具和过程
方法是完成软件工程项目的技术手段;工具支持软件的开发、管理和文档生成;过程支持软件开发的各个环节的控制、管理。
Japplet必须覆盖init()方法
Applet必须覆盖paint()方法
Sleep和Wait都有可能抛出异常