Java学习笔记(自用)
前两个月一直在学习Java,由于进度比较赶所以一直没有写学习笔记,现在有几个小的概念题,就当是复习巩固一下,所以写了下来:
原题:
1.理解抽象,一定要与它对应的“具体”一起理解,它们之间的关系就像“形状”与“圆”“正方形”,像“生物”与“鸟”,“狼”之间的关系。在Java中有一种抽象类,它就像这里的“生物”,“形状一样”是许多具体事物的一个总的概念。它的特点是只能作为父类被具体实现的子类继承,自己本身不能用new创建实例,就像没有生物这一种单独的个体存在一样;子类是实现抽象类含义功能的具体类,只有它们才能创建实例,就像“狼”“鸟”“圆”一样,是抽象概念的具体事物。
2.重载是同一个类中的同名方法,重写是子类继承父类的。
3.(1)this总是指向调用该方法的对象
(2)this在构造器中代表该构造器正在初始化的对象
(3)在子类方法中调用父类被覆盖的方法用super
(4)在子类构造器中调用父类构造器也用super
4.String对象是不可变的,StringBffer和StringBulider对象都是可变的
String对象时字符串常量,是线程安全的
StringBuffer对方法加了同步锁也是线程安全的,但StringBulider没有,它是线程不安全的。
5.异常分为两大类:Checked异常(编译时异常)和运行时异常RuntimeException
<1>对Checked异常的处理方法有两种:
(1)当前方法知道如何处理该异常,则用try…catch块来处理
(2)当前方法不知道如何处理,则在定义该方法声明时用throws抛出异常,交给JVM处理
常见的Checked异常如FileNotFoundException
<2>Runtime异常无须显示声明抛出,一般直接由虚拟机接管,如果程序需要捕获Runtime也可以用try…catch实现
常见的Runtime异常如:NullpointerException
6.继承Thread类,实现Runnable,Callable
7.输入流,输出流,字节流,字符流,节点流,处理流
8.ArrayList采用的是数组形式保存对象,插入时很麻烦,Vector用数组存储数据,允许直接用序号索引元素,索引数据快而插入慢;Vector是同步的,也就是线程安全的,而ArrayList不是;LinkedList采用链表存储数据,查找每次要从第一个对象开始而插入时只需要记录前后像即可,所以查找慢而插入快。
9.数据库的增加和删除:增(创建):create database + 数据库名
删除:drop database + 数据库名
表: 增:create table 表名
删:drop table 表名
删除表内全部数据但保留表结构:truncate + 表名
改:alter table 表名
rename to 新表名
查:show tables :查看该数据库里包括多少个数据表
desc + 表名:可查看指定数据表的表结构
列: 增:alter table 表名
+add(列定义)
删:alter table 表名
+drop 列名
改:alter table 表名
+modify 列名 + 修改的数据类型
查:select 列名
from 表名
+where 条件
实际向表里插入数据:insert into +表名+(列名)
values(数据)
实际修改表中的数据:update +表名
set +列名
where+条件
删除指定记录: delete from 表名
where +条件
10:
(下面内容是百度的…)
(1) JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是在传统的网页HTML文件中插入Java程序段和JSP标记,从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
它实现了Html语法中的java扩展(以 <%, %>形式)。JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
(2)简单理解,Servlet就是一个java程序,它会监听/检测某个地址+端口访问:如http://192.168.1.1 : 80,经过一系列的计算,返回HTML脚本,显示在用户的浏览器。
借用一张图,它显示了 Servlet 在 Web 应用程序中的位置。
常见的Servlet容器:Tomcat