JAVA基础知识总结

时间:2024.5.8

object类下的方法:

getClass(),hashCode(),equals(),toString(),clone(),wait(),notify

(),notifyAll(),finaliza()

JSP内置对象:

request表示HttpServletRequest对象,包含浏览器请求的信息,包含get或post请求

参数。

法。

out提供的方法,传送回应的输出。 pageContext:管理网页的属性,用于方便存取各种范围名字 response:表示HttpServletResponse对象,浏览器响应方空间、servlet相关的对象的API、包装通用的servlet相关功能的方法。

session:用于存储用户状态信息。 application:表示servlet正执行的内容,有助于查找servlet引

擎和servlet环境。

config:servlet的构架部件,用于存取servlet实例的初始化参数。

page:JSP网页本身,表示该页面产生一个servlet实例。 exception:针对错误网页,未捕捉的例外。

面向对象:

1、抽象:忽略一个主题中的无关项,以便充分体现有关项。分为:过程抽象和数据抽象。

2、继承:一种联结类的多层次模型,允许重用,提供了一种明确表达共性的方法。

3、封装:把过程和数据包围起来,通过已定义的界面对数据进行访问。把现实世界描绘成封装的对象,通过接口访问其他对象。

4、多态性:允许不同类对同一消息作出响应。包括参数化多态性和包含多态性。解决了应用程序函数同名问题。

内存:

堆:存储new出来的对象

栈:存储所有局部变量

方法区:存放类的信息和方法

变量:

局部变量:

1、定义在方法中

2、没有默认值,必须自己设定初值 3、方法在调用时存在栈中,方法结束时局部变量从栈中清除 成员变量:

1、定义在类中,方法外

2、系统默认初值 3、类在实例化后,存在堆中,对象回收时成员变量失效 抽象类和接口的区别:

1、一个类只能继承一个抽象类,但可以实现多个接口

2、抽象类可以定义自己的成员变量,接口只能有静态常量

3、抽象类可以包含非抽象方法,可以实现部分方法,接口中的方法必须是抽象的,必须实现所有抽象方法

日期操作:

1.获取系统当前日期及时间

Date date=newDate()

2.将时间转换为指定格式

SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss")

String str=sdf.format(date)

3.将指定格式时间转换为系统时间

SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss")

Date date=sdf.parse(str)

4.设置日期及时间变量

Calendar calendar = Calendar.getInstance();//创建出的Calendar表示当前系统时间

//设置年为20xx年

calendar.set(Calendar.YEAR,2008);

//设置月为5月

calendar.set(Calendar.Month,4);//月份从0开始

calendar.set(Calendar.Month,Calendar.MAY);//也可以使用常量来设置

//设置日为30日

caneldar.set(Calendar.DAY_OF_MONTH,30);

5.获取时间分量对应的值

Calendar calendar = Calendar.getInstance();

int year = calendar.get(Calendar.YEAR);

int month = calednar.get(Calendar.Month);

int date = calendar.get(Calendar.DAY_OF_MONTH);

集合:

1.List、Set、Map接口

List、Set继承自Collection接口,List是有序的,元素可以重复,Set是无序的,通过实现类进行排序,元素不可以重复。Map保存key—value值,value可以多值。

2.ArrayList、Vector、LinkedList

ArrayList、Vector都是使用数组方式存储数据,允许直接序号索引元素,插入涉及数组元素移动等内存操作,所以索引快插入慢,Vector是线程安全的,所以性能稍差;LinkedList使用双向链表实现存储,插入速度快。

3.HashMap、Hashtable

共同点:都实现了Map接口,将唯一键映射到特定值上。 不同点:1.HashMap没有排序,允许一个null键和多个null值,Hashtable不允许

2.HashMap把Hashtable的contains方法去掉了,改为containsKey和containsValue

3.HashMap是Map接口的实现,Hashtable是继承Dictionary 4.HashMap不是线程安全的,在多个线程访问时必须提供外同步,Hashtable是线程安全的,不需要提供方法提供同步

字节流:InputStream和OutputStream

文件流:FileInputStream和FileOutStream

缓冲流:BufferedInputStream和BufferedOutputStream

对象流:ObjectInputStream和ObjectOutputStream

instanceOf作用是判断某个引用指向的对象是否为指定类型 indexOf(int char)索引字符串下标

substring(int begin,int end)获取子字符串,含头不含尾,下标从0开始

trim()去除字符串两边的空格

charAt(int index)获取指定位置的字符

startWith(String prefix)以给定的字符串开始

endWith(String suffix)以给定的字符串结束

toLowerCase()转为小写

toUpperCase()转为大写

valueOf(参数)将指定的参数以字符串的形式描述

StringBuilder:

1、append(String str)追加字符串

2、insert(int index,String str)在指定位置添加字符串

3、delete(int start,int end)删除指定范围内的字符串,含头不含尾

4、reverse()字符串反转

StringBuffer是线程安全的,同步处理,性能稍差,StringBuilder是非线程安全的,并发处理,性能稍快

自动装箱Integer a=Integer.valueOf(int)

自动拆箱int b=a.intValue()

int c=Integer.parseInt(String)

XML指可扩展标记语言,常用于简化数据和共享。

SAX解析

优点:解析立即执行,速度快,没有内存压力。

缺点:不能对节点做修改。

DOM解析

优点:可以遍历和修改节点

缺点:文件较大时,内存有压力,解析时间长

线程和进程:

1.一个进程至少有一个线程。进程在执行过程中有独立的内存单元,多个线程共享内存

2.每个线程有一个程序运行的入口,顺序执行序列和程序的出口,线程不能独立执行。

线程的五大状态:

1.new,创建一个线程,没有任何操作。

2.Runnable,新线程调用start方法,从new状态转换到Runnable状态,等待CPU分配时间片。

3.Running,从Runnable状态到Running状态,执行run方法。

4.Dead,从Running状态到Runnable状态,run方法运行完毕后,线程就会被抛弃进入Dead状态。

5.Block,从Running状态到Block状态,阻塞原因:I/O阻塞,调用线程的sleep方法,调用对象的wait方法。

创建线程的方式或多线程的实现方式:

1.使用Thread创建线程,Thread是线程类,每一个实例表示一个可以并发运行的线程。重写run方法是定义该线程要执行的逻辑,启动时先调用start方法把线程纳入线程调度,线程分配时间片后执

行run方法中的逻辑。优点:编写简单,可以直接操纵线程,不能继承其他类。

2.使用Runnable创建线程。实现Runnable接口,并重写run方法定义线程体,创建线程的时候将Runnable的实例传入并启动线程。优点:减少耦合,定义一个类实现Runnable接口,可以继承其他类。

sleep和wait

sleep是线程Thread的方法,暂停执行指定的时间,监控状态依然保持,调用sleep不会释放对象锁。

wait是Object类的方法,对象调用wait方法会放弃对象锁,进入等待池,此对象发出notify方法后,才会进入对象锁定池才会准备获取对象锁进入运行状态。

数据库:

数据定义语言(DDL):创建语句CREATE,修改语句ALTER,删除语句DROP

数据操作语言(DML):插入语句INSERT,更新语句

UPDATE,删除语句DELETE

事物控制语言(TCL):提交COMMIT,回滚ROLLBACK,保存点SAVEPOINT

数据查询语言:SELECT

数据控制语言:GRANT:用于给用户或角色授予权限

REMOVE:用于回收用户或角色已有的权限 CREATE USER:创建用户

创建表:CREATE TABLE 表名

查看表数据结构:DESC 表名

指定默认值:DEFAULT 'M'

非空约束:NOTE NULL

修改表:

1.修改表名:RENAME old_name TO new_name

2.增加列:ALTER TABLE 表名 ADD(列名 数据类型)

3.删除列:ALTER TABLE 表名 DROP(列名)

4.修改列:ALTER TABLE 表名 MODIFY(列名 要改为的数据类型、长度、默认值)

5.增加记录:INSERT INTO 表名(列名) VALUES(值)

6.更新记录:UPDATE 表名 SET 列名=值

7.删除记录:DELETE FROM 表名 WHERE 列名 IS NULL 字符串函数:

1.字符串连接:CONCAT和"||"

SELECT CONCAT(CONCAT(列名,':'),列名) FROM 表名 SELECT 列名|| ':' 列名 FROM 表名

2.字符串长度:LENGTH

SELECT 列名,LENGTH(参数字符串)

3.大小写转换:UPPER、LOWER、INITCAP

SELECT UPPER('hello world') FROM DUAL(全大写)

SELECT LOWER('HELLO WORLD') FROM DUAL(全小写) SELECT INITCAP('hello world') FROM DUAL(首字母大写)

4.截去子字符串:TRIM、LTRIM、RRIM

SELECT TRIM(C2 FROM C1) FROM DUAL从指定字符C1的前后截去C2

SELECT LTRIM(C1[,C2]) FROM DUAL从指定字符C1的左边截去C2

SELECT RTRIM(C1[,C2]) FROM DUAL从指定字符C1的右边截去C2

5.补位:LPAD、RPAD

SELECT LAPD(char1,n,char2) FROM DUAL左补位函数,在char1的左边用char2补足n位

SELECT RAPD(char1,n,char2) FROM DUAL右补位函数,在char1的右边用char2补足n位

6.截取子字符串:SUBSTR

SELECT SUBSTR(char,start,end) FROM DUAL起始位置从零开始

7.子字符串的位置:INSERT

SELECT INSERT(char,指定子字符串,start,end) FROM DUAL 数值函数:

1.四舍五入:ROUND

SELECT ROUND(45.678, 2) FROM DUAL; --45.68

SELECT ROUND(45.678, 0) FROM DUAL;--46

SELECT ROUND(45.678, -1) FROM DUAL;--50

2.截取:TRUNC

SELECT TRUNC(45.678, 2) FROM DUAL; --45.67

SELECT TRUNC(45.678, 0) FROM DUAL;--45

SELECT TRUNC(45.678, -1) FROM DUAL;--40

3.取模(取余):MOD

SELECTename, sal, MOD(sal, 1000) FROM emp

4.向上取整:CEIL,向下取整:FLOOR

SELECT CEIL(45.678) FROM DUAL; --46

SELECT FLOOR(45.678) FROM DUAL;--45

日期操作:

1.按照格式获取系统时间

SELECT TO_CHAR(SYSDATE,'yyyy-mm-dd day hh24:mi:ss') FROM DUAL;

2.转换数据类型

SELEC 列名 FROM 表名 WHERE 查询条件> TO_DATE(‘2002-01-01','YYYY-MM-DD');

日期函数:

1.返回最后一天

SELECT LAST_DAY(SYSDATE) FROM DUAL;--查询当月的最后一天

SELECT LAST_DAY('20-2月-09') FROM DUAL;--查询09年2月的最后一天

2.追加月

SELEC 列名 ADD_MONTHS(列名, 20 * 12) "20周年" FROM 表名;

3.日期范围

SELEC 列名 MONTHS_BETWEEN(SYSDATE, 列名) 列名 FROM 表名;

4.下一天

SELECT NEXT_DAY(SYSDATE,4) next_wedn FROM DUAL

5.最大值、最小值

SELECT LEAST(SYSDATE, '10-10月 -08') FROM DUAL;//--最小值

SELECT GREATEST(SYSDATE, '10-10月 -08') FROM DUAL;//--最大值

6.获取指定的数据

SELECT EXTRACT(YEAR FROM SYSDATE) current_year FROM DUAL

聚合函数:

MAX、MIN、AVG、SUM、COUNT

SELECT MAX(sal) max_sal, MIN(sal) min_sal FROM emp; SELECT AVG(sal) avg_sal, SUM(sal) sum_sal FROM emp; SELECT COUNT(*) total_num FROM emp;

使用别名若区分大小写用双引号引起来

SELECT empno AS id ,ename "Name", sal * 12 "Annual Salary" FROM emp;

查询语句的执行顺序:

1.FROM:执行书序为从后往前、从右往左。数据较少的表尽量放在后面

2.WHERE子句:执行顺序为自下而上、从右到左。将能过滤掉最大数量记录的条件写在WHERE子句的最右

3.GROUP BY:执行顺序从左往右分组,最好在GROUP BY前使用WHERE将不需要的记录在GROUP BY之前过滤掉

4.HAVING 子句:消耗资源。尽量避免使用,HAVING 会在检索出所有记录之后才对结果集进行过滤,需要排序等操作

5.SELECT子句:少用*号,尽量取字段名称。ORACLE 在解析的过程中, 通过查询数据字典将*号依次转换成所有的列名, 消耗时间

6.ORDER BY子句:执行顺序为从左到右排序,消耗资源

关联查询:

1.内连接:返回两个关联表中所有满足连接条件的记录。

2.外连接:返回两个表中不满足连接条件的记录。

视图:也被称为虚表,本质是一条SELECT语句的结果集被赋予一个名字。视图本身数据不会改变,基表改变时,视图也发生改变。作用是基于复杂查询建立,简化查询。

序列:(SEQUENCE)是一种用来生成唯一数字值的数据库对象。序列的值由Oracle程序按递增或递减顺序自动生成,通常用来自动产生表的主键值,是一种高效率获得唯一键值的途径。序列是独立的数据库对象,和表是独立的对象,序列并不依附于表。

索引:是一种允许直接访问数据表中某一数据行的树型结构,为了提高查询效率而引入,是独立于表的对象,可以存放在与表不同的表空间(TABLESPACE)中。索引记录中存有索引关键字和指向表中数据的指针(地址)。对索引进行的I/O操作比对表进行操作要少很多。

Oracle分页查询:

1.确定查询的数据,并且排序(第一次子查询)

2.对数据进行编号(第二次查询)

3.根据行号取范围

SELECT * FROM(

SELECT ROWNUM rn,t.* FROM(

SELECT ename,sal,job,deptno FROM emp

ORDER BY sal DESC) t)

WHERE rn >=6 AND rn <=10

JDBC实现Oracle分页:

String sql = "select * from (select rownum rn, empno, ename, job,mgr, hiredate, sal, comm, deptno from (select * from emp order by empno) ) where rn between ? and ?";

两个占位符分别是结果集的起点和终点,计算后,替代SQL中的占位符:

int begin = (page - 1) * pageSize + 1;

int end = begin + pageSize - 1;

其中:

page:返回第几页

pageSize:每页多少条

stmt = con.prepareStatement(sql);

stmt.setInt(1, begin);

stmt.setInt(2, end);

rs = stmt.executeQuery();

JDBC实现MySQL分页查询:

select * from 表名 limit begin,pageSize

其中:

begin: 从第几条开始显示

pageSize:每页多少条

Web是基于Internet的一个多媒体信息服务系统,整个系统由Web服务器、浏览器和通信协议组成。

从一次点击到浏览器获得一张网页的过程如下:

1. 浏览器用URL查询DNS,DNS返回IP地址

2. 浏览器用这个IP地址与服务器建立连接

3. 浏览器通过连接向服务器发送一个HTTP请求

4. 根据请求内容,服务器找到响应的文件,根据文件的扩展名形成一个MIME类型的HTTP回答消息,发送给浏览器,关闭连接

5. 根据消息头,浏览器按照某种方式显示文件内容或者执行其他命令

HTML(HyperText Markup Language,超文本标记语言)是编写Web页面的语言。

id属性:定义元素的唯一标识

title属性:定义元素标题信息

class属性:定义样式

style属性:定义内连样式

表单:

action属性:发送表单数据的路径

method属性:发送表单的方式

type属性:值为text,则可以创建单行文本输入控件

value属性:为文本输入控件提供一个初始值,在表单初次加载时会显示该属性的值;

maxlength属性:用于规定输入字段的最大长度,以字符个数计; disabled属性:禁用控件,该属性的值为“disabled”;

readonly属性:规定文本框为只读,该属性的值为“readonly”。 单选框:<input type="radio"/>

复选框:<input type="checkbox"/>

提交按钮:<input type="submit"/>

重置按钮:<input type="reset"/>

标准按钮:<input type="button"/>

隐藏域:<input type="hidden"/>

文本选择框:<input type="file"/>

name属性:设置控件的名称,用于提供“名/值”对,以发送给服务器。

value属性:用于记载用户选择的上传文件的路径,以发送给服务器。

size属性:size属性用于规定文本上传控件的宽度,单位为字符。

accept属性:用于指示上传的文件的MIME类型。

disabled属性:禁用控件。

<select name=”选择框的命名” size=”不写或者值为1时是下拉框,大于1时是滚动框”>

<option value="java">Java</option>

. . .

</select>

<textarea>元素:用于创建多行的文本输入控件,可以规定输入文本的行和列

控件分组:

<fieldset>:将有关的项放在一起,并在周边创建一个框 <legend>用户信息</legend>:分组标题

用户名:<input type="text" /><br />

密码:<input type="password" />

</fieldset>

JavaScript常用内置对象:

简单对象:String、Number、Boolean

组合对象:Array、Math、Date

复杂对象:Function、Regex、Object

其他对象:window、document

String对象:定义的方法不能改变字符串的内容,返回的是全新的字符串。

String 对象的常用方法有:

?

? x.toLowerCase()、x.toUpperCase():大小写转换方法; x.charAt(index):返回指定位置的字符;

? x.charCodeAt(index):返回指定位置字符的Unicode编

码;

? x.indexOf(findstr,index)、x.lastIndexOf(findstr,index):获

取指定字符;

?

?

? x.substring(start, end): 获取子字符串; x.replace(findstr,tostr):替换子字符串; x.split(bystr): 拆分子字符串。

Array对象:如果调用构造函数 Array() 时没有使用参数,那么返回的数组为空,length 字段为 0。

Array对象的常用方法:

?

? join():用于把数组中的所有元素放入一个字符串 toString():把数组转换为字符串,与没有参数的join()

方法返回相同的字符串

?

? concat():用于连接两个或多个数组 slice():从已有的数组中返回选定的元素,传入起始和结束位置下标,含头不含尾

?

? reverse() :用于颠倒数组中元素的顺序 sort() 方法用于对数组的元素进行排序

Math对象:数学函数

Number对象:是原始数值的包装对象

toString() :用于把一个 Number 对象转换为一个字符串,并返回结果。语法为:

NumberObject.toString(radix)

其中,参数 radix 可选,规定表示数字的基数,使 2 ~ 36 之间的整数。若省略该参数,则使用基数 10。

toFixed():可把 Number 四舍五入为指定小数位数的数字。语法为:

NumberObject.toFixed(num)

其中,参数 num 必须,表示规定小数的位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将用 0 代替。

更多相关推荐:
C#基础知识总结

C#编程基础知识(来自一书知识总结)1。类与实例(面向对象编程--Object-OrientedProgramming)对象是一个自包含的实体,用一组可识别的特性和行为来表示。类就是具有相同的属性和功能的对象的…

C基础知识总结

总体上必须清楚的:1)计算机的数据在电脑中保存是以二进制的形式.数据存放的位置就是他的地址.2)bit是位是指为0或者1。byte是指字节,一个字节=八个位.第一章C语言的基础知识第一节、对C语言的基础认识1、…

c语言基础知识总结

C语言基础知识要点C语言知识要点复习资料总体上必须清楚的1程序结构是三种分支结构2读程序都要从main入口然后从最上面顺序往下读碰到循环做循环碰到选择做选择有且只有一个main函数3计算机的数据在电脑中保存是以...

C语言基础知识总结

C语言基础知识总结主要内容1C数据类型2简单的算术运算和表达式3键盘输入和屏幕输出4选择控制结构总结风格分条罗列主要是知识点有例题不多5循环控制结构一C数据类型1C语言处理两种数据常量和变量2常量整形常量实型常...

C语言基础知识总结

总体上必须清楚的1程序结构是三种顺序结构循环结构三个循环结构选择结构if和switch2读程序都要从main入口然后从最上面顺序往下读碰到循环做循环碰到选择做选择3计算机的数据在电脑中保存是以二进制的形式数据存...

c语言基础知识总结

C语言最重要的知识点复习资料1程序结构是三种分支结构2读程序都要从main入口然后从最上面顺序往下读碰到循环做循环碰到选择做选择有且只有一个main函数3计算机的数据在电脑中保存是以二进制的形式数据存放的位置就...

C语言基础知识总结

1和自增运算符和自减运算符前缀和后缀两种情况1表达式n先将n的值递增1然后再使用变量n的值如果n的值为5xn执行后的结果x的值置为5n62表达式n先使用变量n的值然后再将n的值递增1如果n的值为5xn执行后的结...

全国计算机等级考试二级c语言公共基础知识总结

全国计算机等级考试二级c语言公共基础知识总结第一章数据结构与算法11算法算法是指解题方案的准确而完整的描述算法不等于程序也不等计算机方法程序的编制不可能优于算法的设计算法的基本特征是一组严谨地定义运算顺序的规则...

计算机二级c语言知识点总结(OK)[1]

二级C语言基础知识点总结第一章1函数是从主函数main开始执行回到主函数main结束2一个程序的编译是从第一个函数语句开始到最后一个函数语句结束3算法的特性有穷性确定性有一个或者0个输入有一个或者多个输出有效性...

全国计算机等级考试二级c语言公共基础知识总结

全国计算机等级考试二级c语言公共基础知识总结第一章数据结构与算法11算法算法是指解题方案的准确而完整的描述算法不等于程序也不等计算机方法程序的编制不可能优于算法的设计算法的基本特征是一组严谨地定义运算顺序的规则...

国二c语言公共基础知识总结

第一章数据结构与算法11算法算法是指解题方案的准确而完整的描述算法不等于程序也不等计算机方法程序的编制不可能优于算法的设计算法的基本特征是一组严谨地定义运算顺序的规则每一个规则都是有效的是明确的此顺序将在有限的...

c语言课本知识点总结(到循环)

C语言复习资料到循环总体上必须清楚的1程序结构是三种三个循环结构择结构if和switch2读程序都要从main入口然后从最上面顺序往下读碰到循环做循环碰到选择做选择3计算机的数据在电脑中保存是以二进制的形式数据...

c基础知识总结(19篇)