java基础知识知识点.docx

上传人:b****6 文档编号:15689896 上传时间:2023-07-06 格式:DOCX 页数:228 大小:1MB
下载 相关 举报
java基础知识知识点.docx_第1页
第1页 / 共228页
java基础知识知识点.docx_第2页
第2页 / 共228页
java基础知识知识点.docx_第3页
第3页 / 共228页
java基础知识知识点.docx_第4页
第4页 / 共228页
java基础知识知识点.docx_第5页
第5页 / 共228页
java基础知识知识点.docx_第6页
第6页 / 共228页
java基础知识知识点.docx_第7页
第7页 / 共228页
java基础知识知识点.docx_第8页
第8页 / 共228页
java基础知识知识点.docx_第9页
第9页 / 共228页
java基础知识知识点.docx_第10页
第10页 / 共228页
java基础知识知识点.docx_第11页
第11页 / 共228页
java基础知识知识点.docx_第12页
第12页 / 共228页
java基础知识知识点.docx_第13页
第13页 / 共228页
java基础知识知识点.docx_第14页
第14页 / 共228页
java基础知识知识点.docx_第15页
第15页 / 共228页
java基础知识知识点.docx_第16页
第16页 / 共228页
java基础知识知识点.docx_第17页
第17页 / 共228页
java基础知识知识点.docx_第18页
第18页 / 共228页
java基础知识知识点.docx_第19页
第19页 / 共228页
java基础知识知识点.docx_第20页
第20页 / 共228页
亲,该文档总共228页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

java基础知识知识点.docx

《java基础知识知识点.docx》由会员分享,可在线阅读,更多相关《java基础知识知识点.docx(228页珍藏版)》请在冰点文库上搜索。

java基础知识知识点.docx

java基础知识知识点

1JDK环境变量4

2数据类型4

3面向对象的三大特征4

3.1封装4

3.2继承5

3.3多态5

4关于变量(对方法同)类变量(有static)5

5关于多态的进一步解释5

6关于String的一个陷阱5

7四种访问权限5

8关于枚举5

9关于final6

10关于序列化,反序列化6

11jdk1.5的新特性8

12关系型数据库8

13HTML中的特殊符号8

14Js中的3种获取对象的方法8

15JEE的一些特点以及它是什么8

16接口和抽象类的选择依据8

17关于访问web的“/”8

18两种跳转的不同9

19关于filter的一点叙述9

20struts2的运行过程9

21JDBC举例9

22.四种真实值表现值转换14

22.1枚举14

22.2外键15

22.3日期15

22.4空格,回车的转换16

23关于tomcat的中文问题16

24关于Ajax三个基本应用18

24.1Ajax验证用户输入18

24.2下拉列表联动20

24.2.1第一种写法20

24.2.2第二种写法22

24.3非重要信息延时加载23

24.4ajax实现的不刷新页面的弹出表格从后台获取数据24

25dwr27

25.1dwr的基本实现27

25.1.1基本配置实现27

25.1.2具体流程29

25.2关于怎么在js里面表达一个对象,传给后台。

JSON字符串29

25.2.1由于基本的JSP写法都一样,后面只是简写,此为普通实现31

25.2.2下面为对象实现31

25.2.3下面为集合实现32

25.2.4下面为map实现32

25.2.5下面为session实现33

25.3dwr实现上面ajax的第4个效果33

25.3.1dwr单做,不跟spring集成33

25.3.2跟spring集成36

26JSP隐含变量和5类脚本元素和6个标准动作38

27关于各种XXX.xml的举例38

27.1web.xml38

27.2struts.xml39

27.3dwr.xml40

27.4hibernate.cfg.xml(xxx.cfg.xml)41

27.5AreaModel.hbm.xml(xxx.hbm.xml)41

27.6二级缓存ehcache.xml42

28.关于分页页面的实现42

29关于hibernate的概念的一些说明45

29.1save45

29.2延时加载45

29.3getter&setter45

29.4hibernate对象状态45

29.5补充(access,联合主键,非顶层顶层model)45

30.一级缓存46

30.1save-load46

30.2load-load46

31二级缓存47

32级联操作(关系映射)49

32frameSet51

33集合类的简述和排序问题51

33.1集合类简述51

33.2集合排序问题52

34异常53

34.1异常的分类53

34.2.自定义异常54

35反射和注解(待研究,需要研究的很多,只是举个例子)55

34.1反射的基础55

34.2反射实现ToString56

34.3自定义注解(待研究,只是举例子)56

36hibernate的写法57

37自定义标签taglib60

38弹出式参照63

39登录的做法(使用Interceptor拦截器)65

40Spring69

40.1基本的SpringSpring的helloWorld69

40.2FileSystemResource和ClasspathResource71

40.3多配置文件重要71

40.4Bean命名的约定重要bean的别名71

40.5静态工厂方法--实例工厂方法72

40.6DIsetter注入最重要构造方法注入重要72

40.6.1setter注入(不能接受第二个字母为大写字母)72

40.6.2构造方法注入74

40.7、idref74

40.8匿名内部bean74

40.9注入集合值bean的继承重要74

40.10新建顺序重要76

40.11延迟初始化非常重要77

40.12自动装配(就是把小对象放到大对象里)非常重要77

40.13依赖检查重要78

40.14scope非常非常重要如果不明白这个,没法做SSH融合78

40.15国际化79

40.16生命周期80

41AOP80

41.1java动态代理InvocationHandler80

41.2AOP的一些概念及其八大概念82

41.3helloWorld配置83

41.4切入点表达式84

41.5注解方式的配置84

41.6springaop的两种不同实现86

42Spring连用到JDBCORM相当重要86

42.1JDBC86

42.2ORM90

43.uuid的自动生成94

44.Spring的声明性事务97

45Spring和Struts2融合100

46树101

47MVC107

48Struts2流程图,重要108

49Struts2需要做什么110

50struts2其他补充113

51Spring概念的一些汇总113

52SSH集成重要115

53工作流121

54动态表129

55java跟oracle调用(存储过程,函数等)132

55.1Java调用无参的函数132

55.2Java调用无参但有返回值的存储过程132

55.3Java调用有参的(传入)函数133

55.4Java调用有参的(传入传出)存储过程134

55.5Java向存储过程传入传出对象的数组135

1JDK环境变量

配置PATHE:

\Java\jdk1.6\bin;(安装路径)若配了JAVA_HOME则为%JAVA_HOME%\bin;提供操作系统寻找Java命令工具的路径,操作系统运行环境的路径。

配置CLASSPATH.;提供程序在运行期所需要的资源的路径

配置JAVA_HOMEE:

\Java\jdk1.6使JAVA程序可以找到JDK的位置

2数据类型

Bit

1位

1/8字节

Byte

8位

1字节

short

16位

2字节

Int

32位

4字节

Long

64位

8字节

Char

16位

2字节

float

32位

4字节

double

64位

8字节

3面向对象的三大特征

3.1封装

广义:

将属性和方法写在一个类中狭义:

属性私有方法公有

3.2继承

代码复用

3.3多态

父类引用指向子类对象

4关于变量(对方法同)类变量(有static)

成员变量(类中定义)实例变量(无static)

局部变量(方法中定义)

类方法中不能调用实例方法,反之则可以

5关于多态的进一步解释

多态:

Parentp=newSon();

编译时会看Parent(数据类型)中有没有方法和属性,运行时会看实际对象类型new谁调谁

多态必须满足三个条件:

1.有继承2.有重写3.父类引用指向子类对象

6关于String的一个陷阱

1:

Stringstr1=“12”;Stringstr2=“12”;str1==str2//true;“12”在栈里,为一份对象

2:

Stringstr1=newString(“12”);Stringstr2=newString(“12”);str1==str2//false;3个对象,一个在栈里,两个在堆里第一种情况,String对象可能未被创建,可能指向一个已经存在的对象。

只有new的时候才能指向一个新的对象

7四种访问权限

同一个类中

同一个包中

不同包中子类对象

任何地方

Private

Yes

Default

Yes

Yes

Protected

Yes

Yes

Yes

Public

Yes

Yes

Yes

Yes

8关于枚举

枚举使程序具有防御性,若不是,则是在运行期错误,而非编译期错误

8.1所有对象都是自己这个类的publicstaticfinal

8.2构造方法只能是私有,枚举在此类外部不能新建

8.3toString()如果不重写,就是变量名

8.4values()枚举类静态方法,可以列举出所有这个枚举类型的对象

8.5枚举也是一个类,只能实现接口,不能集成别的类,也有自己的属性和方法

8.6枚举是一个特殊的类,自己的属性一定出现在GOOD/BAD/NORMAL之后

枚举举例:

publicenumStudentConditionEnum{

//命名方式遵从常量

GOOD(1,"好学生"),

BAD(2,"坏学生"),

NORMAL(3,"中等学生");

privatefinalintcondition;

privatefinalStringname;

privateStudentConditionEnum(intcondition,Stringname){

this.condition=condition;

this.name=name;

}

publicintgetCondition(){

returncondition;

}

publicStringgetName(){

returnname;

}

//8.3toString()如果不重写,就是变量名,如不写,打印GOOD的时候会直接显示GOOD

//publicStringtoString(){

//return"12345"+name;

//}

publicstaticStringgetNameByCondition(intcondition){

//8.4values()枚举类静态方法,可以列举出所有这个枚举类型的对象

for(StudentConditionEnumenum1:

values()){

if(condition==enum1.getCondition()){

returnenum1.getName();

}

}

thrownewIllegalArgumentException("Nosuchcondtion:

"+condition+",inStudentConditionEnum");

}

publicstaticvoidmain(String[]args){

System.out.println(getNameByCondition

(1));

System.out.println(getNameByCondition

(2));

System.out.println(getNameByCondition(3));

//System.out.println(getNameByCondition(4));//为抛出上面的异常

System.out.println(GOOD);

}

}

9关于final

9.1加于类,方法前面的话,作用为限制继承

9.2加于属性前面,不可变,初始化时机只有两个,其一,在定义的时候;其二,在构造方法里面初始化

9.3加于本地变量,方法参数前面

9.3.1不能再被赋值(变量,私有类型)

9.3.2不能被整体替换为另一个内存,但里面的属性可以修改(类)

9.3.3不可变类(String,BigDecimal)虽为类,但无整体部分可言,所以不能再被赋值

10关于序列化,反序列化

把数据跨越JVM生命周期保存下来

transient可以控制序列化反序列化的时候不去管

序列化,反序列化举例:

/**

*序列化

*/

privatevoidwrite(Listlist){

ObjectOutputStreamoutput=null;

try{

output=newObjectOutputStream(newBufferedOutputStream(newFileOutputStream(file)));

output.writeObject(list);

}catch(FileNotFoundExceptione){

e.printStackTrace();

}catch(IOExceptione){

e.printStackTrace();

}finally{

try{

output.close();

}catch(IOExceptione){

e.printStackTrace();

}

}

}

/**

*反序列化

*/

@SuppressWarnings("unchecked")

privateListread(){

if(!

file.exists()){

returnnewArrayList();

}

Listlist=null;

ObjectInputStreaminput=null;

try{

input=newObjectInputStream(newBufferedInputStream(newFileInputStream(file)));

list=(List)input.readObject();

}catch(FileNotFoundExceptione){

e.printStackTrace();

}catch(IOExceptione){

e.printStackTrace();

}catch(ClassNotFoundExceptione){

e.printStackTrace();

}finally{

try{

input.close();

}catch(IOExceptione){

e.printStackTrace();

}

}

returnlist;

11jdk1.5的新特性

11.1自动装箱/拆箱11.2泛型11.3枚举11.4静态导入(必须为静态的)

11.5可变参数(String…arr不可以混放)11.6自定义注解

12关系型数据库

1NF:

所有属性都是原子属性无重复的列

2NF:

非主属性无局部依赖属性完全依赖于主键举例:

员工表中每个员工会有个员工号,编号唯一,所以可以被唯一区分

3NF:

非主属性无传递依赖属性不依赖于其他非主属性举例:

部门表中有部门编号,部门名称,部门简介等,在员工表中列出的部门编号后则不可再有部门名称、简介等

13HTML中的特殊符号

大于号:

[>]>小于号:

[<]<空格:

[] 单引号:

[‘]'xml中:

'

双引号:

[“]"连接号:

[&]&注册商标:

[®]®版权符号:

[©]©

英镑:

[£]£日元:

[¥]¥欧元[€]€

14Js中的3种获取对象的方法

document.getElementById(“id”)

object.getElementsByTagName(“标记名称”)

document.getElementsByName(“name”)

15JEE的一些特点以及它是什么

可维护性:

系统能够很方便的进行修改可扩展性:

系统能够很方便的扩展新的功能可重用性

可配置性:

系统可以通过配置来选择实现不同的功能可伸缩性:

性能指标:

硬件和可并发人数的关系

JEE是:

1规范集2技术集3框架集和API集(框架:

能够完成一定功能的半成品软件)

16接口和抽象类的选择依据

优先选用接口当既要约束子类行为,又要为子类提供公共的功能的时候选用抽象类

17关于访问web的“/”

如果功能访问到web应用的外部,“/”就代表Tomcat的根如果功能访问到本应用,“/”代表本应用的根

18两种跳转的不同

Response.sendRedirect

request.getRequestDispatcher(…).forward(req,resp)

不同1

随便跳

只能在内部跳

不同2

全新请求(不同请求不同数据)

保持同一个请求(同一数据)

19关于filter的一点叙述

在web.xml中,关于struts2要在最下面会先执行最上面的filter之前的,然后依次向下,最先执行的filter的后办部分最后执行

20struts2的运行过程

 

 

params

 

在action的execute方法运行之前,需要把request里面的东西取出来,放到action的属性里面

 

 

action

 

在action的execute方法运行之后,需要按照属性的名字,把属性放到req.setAttribute里面,等着下个jsp去取

 

 

 

params

 

 

 

jsp

 

 

 

params

另:

一次web调用:

一个request到一个response

在struts.xml中的中配的时候,对应的参数在Action类中要声明get、set方法

21JDBC举例

首先跟数据库建立连接:

privateConnectiongetConn(){

Connectionconn=null;

try{

Class.forName("oracle.jdbc.driver.OracleDriver");

conn=DriverManager.getConnection("jdbc:

oracle:

thin:

@localhost:

1521:

ORACLE9","tech28","tech28");

}catch(ClassNotFoundExceptione){

e.printStackTrace();

}catch(SQLExceptione){

e.printStackTrace();

}

returnconn;}

另一种方式,配置数据源:

1:

在tomcat的server.xml中(蓝色部分是需要按自己的配置来配置的)

factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"

url="jdbc:

oracle:

thin:

@127.0.0.1:

1521:

ORACLE9"

driverClassName="oracle.jdbc.driver.OracleDriver"

username="tech28"

password="tech28"

maxActive="50"

maxIdle="10"

maxWait="-1"

/>

2:

在Tomcat的conf/Catalina/localhost/web应用.xml中

3:

在web应用的web.xml中

jdbc/MyDs

javax.sql.DataSource

Container

配置完上述三步后,可以在jdbc实现中这样来引用:

try{

InitialContextctx=newInitialContext();

DataSourceds=(DataSource)ctx.lookup("java:

comp/env/jdbc/myDs");

conn=ds.getConnection();

}catch(NamingExceptione){

e.printStackTrace();

}catch(SQLExceptione){

e.printStackTrace();

}

returnconn;}

另外一种方式:

importjavax.sql.DataSource;

importmons.dbcp.BasicDataSource;

publicclassDBHandler{

privateDBHandler(){

}

publicstaticDataSourcegetDs(){

BasicDataSourceds=newBasicDataSource();

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2