Java总结
第1章 Java概述,认识Java
一.Java的诞生和发展
1、第一代语言(只有机器能读懂,人根本读不懂)
● 纯机器语言
2、第二代语言(机器能读懂,人可以读懂,但是很难懂)
● 汇编语言(符号语言)
3、第三代语言(机器能读懂,也非常便于人类阅读)
● C面向过程的语言
● C++面向过程/对象的语言
● Java跨平台的纯面向对象的语言
二.Java语言的特点和优势
● 面向对象的语言
● 跨平台的语言
● 安全健壮
● 没有指针操作
● 垃圾自动回收机制
● 多线程
● 分布式
三.Java的核心技术
● Java是如何实现跨平台运行的?一次编译,处处运行
● 编译期(Java编译器)
● 把.java源文件编译成.class字节码文件
运行期(Java虚拟机)
● 将.class字节码文件解释成计算机可以读懂的计算机语言
● 实现跨平台,完全得益于Java虚拟机
● 栈:只要解除使用,及时回收 (小而快)
● 堆:当java为空闲状态时,会便利堆内存释放,解除使用的内存空间 (大而慢)
第2章 Java语言基础(应用)
1. 标示符:在java语言中用来给一个类、变量或方法命名的符号
2.运算符
3. 关键字
4.Java语句的执行结构
什么是面向对象
是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
1.值传递
● 值传递、引用传递
封装、继承、多态
● 封装:隐藏对象的属性和实现细节,对外提供公共的访问方式,以防止数据的随意访问和修改。
● 继承:通过扩展一个已有的类,并继承该类的属性和行为,来创建一个新的类。
多态:
三个条件:
1.满足继承关系
2.父类引用变量指向子类对象
3.子类重写父类的方法
● 多态方法、重载、重写的区别
重载是多态的一种形式,是一个类的内部,方法中多个参数,根据入参的个数不同,会返回不同的结果。
● 多态指的是多种形态,比如说同一个变量可以是数组,字符、串整型。
● 重写,是子类继承父类,重写父类的方法。
基本数据类型
8 种基本数据类型:整型、浮点型、布尔型、字符型
● 整型中 byte、short、int、long 的取值范围
String
● 字符串的不可变性
● String 对“+”的重载、字符串拼接的几种方式和区别
IO
:抽象的概念,是对输入输出设备的抽象,输入流可以看作一个输入通道,输出流可以看作一个输出通道。
● 字符流、字节流、输入流、输出流、
● 字节流--传输过程中,传输数据的最基本单位是字节的流。
● 字符流--传输过程中,传输数据的最基本单位是字符的流
异常
(Throwable:所有异常和错误的父类)
● Error:JVM无法解决的严重问题(JVM系统内部错误、资源耗尽等。一般不编写针对性的代码进行处理)
● Exception:编程错误或偶然的外在因素导致的一般性问题,可以使用针对性的代码进行处理
(处理异常的作用:使程序能够继续运行)
● 运行时异常:程序运行时才产生的错误(异常),可以不显示的处理,当发生时才处理
● 编译时异常:编写代码时,就发生的错误(异常),必须显示的处理
抓抛模式——抛出异常
● 代码中抛出异常语法:throw new 异常类型("异常信息")
● 方法体上抛出异常语法:throws 异常类型
●Try中检测到异常会将异常对象传递给catch,catch捕获到异常进行处理。Finally里通常用来关闭资源
什么是线程,与进程的区别
●Thread类也是实现了Runnable接口的,它的run方法就是因此而来的
●停止线程绝对不能使用stop方法
●线程的生命周期的几个状态:
1. 创建状态(New)
2. 可运行状态
3. 运行状态(Running)
4. 阻塞状态(Blocked)
5. 消亡状态 (Dead)
●线程的优先级: 线程能不能被执行,优先级只是一方面,另一方面很大程度上是由操作系统底层决定的
●守护线程:在程序运行在后台的一种特殊线程,为其他的线程服务
● 进程是程序的一次动态执行过程,它经历了从代码加载、执行到执行完毕的一个完整过程,
这个过程也是进程本身从产生、发展到最终消亡的过程。
● 多线程是实现并发机制的一种有效手段。进程和线程一样,都是实现并发的一个基本单位。
监听器模型涉及以下三个对象,模型图如下:
●(1)事件:用户对组件的一个操作,或者说程序执行某个方法,称之为一个事件
(2)事件源:发生事件的组件就是事件源,也就是被监听的对象
(3)事件监听器(处理器):监听并负责处理事件的方法
匿名内部类:匿名内部类也就是没有名字的内部类
● 绝对布局就是硬性指定组件在容器中的位置和大小,可以使用绝对坐标的方式来指定组件的位置。
●流布局管理器
●边界布局管理器
●事件
GUI
Java图形开发有两种可以使用的技术:AWT、Swing
AWT
AWT,抽象窗口工具包。被保存在java.awt包中。
AWT包中提供的所有工具类主要有以下三种:
(1)组件 (2)容器 (3)布局管理器