Java知识目录

来源:互联网 发布:excel复制整列数据 编辑:程序博客网 时间:2024/06/04 00:25

一、编程语言Java

1.什么是面向对象

       采用对象描述问题,采用类抽象对象,对象之间的联系采用消息传递。具体来说,就是要确定类,类之间的关系,类的属性和方法。特性:封装(把过程和数据隐藏起来)、继承(子类继承父类的属性和方法)、多态(不同类的对象对同一消息的有不同的响应)。例如设计图书管理系统,类:图书、操作人员、界面。

 

2Java程序怎么运行的

      Java命令启动JVM执行Java程序,JVM实际上是运行在平台上的一个进程。JVM中的heap存放new出来的对象,stack存放局部变量,数据段、代码段。Java的垃圾收集器监视Java程序的运行,对象的生命周期包括创建、应用(至少一个引用)、不可视(超出作用域)、不可到达(无引用)、可收集阶段。

 

3Java程序的结构

       首先指明包、import包、定义类,类中定义变量和方法,main方法为程序入口。通过类中的ifforwhile等语句实现功能。通过传递对象或new使用其他类的对象。

 

4Java异常处理

尽可能处理异常,比如使用爬虫抓网页,如连不上网页,可再连接一次或忽略。记录可能影响程序的异常并提示,如数组越界。抛出异常,让上一级类处理。

 

5Java常用类

       字符串类String,方法有equalslengthsplitsubstringStringBuffer类,方法有appendtoStringCollection接口,有List类、Set类、Map类,和其相关的迭代器Iterator。输入输出的FileInputStreamOutputStream,图形的Swingawt;多线程的Thread,网络的Socket

输入输出:new一个流、操作流、close

图形:在容器上添加控件,控件采用事件监听传递消息,即实现监听接口的actionPerformed

多线程:继承Thread类重写run方法;实现Runable接口实现run方法

线程同步采用synchronized加锁(定义方法时或加锁某一块区域)

Socket:服务器端ServerSocket循环监听,客服端Socket连接,最后关闭

URL:创建URL对象、获取输入流、操作流

二、设计模式

1.什么事设计模式

       设计模式是代码设计经验的总结,让代码更容易理解、保证代码可靠性。原则:对扩展开放对修改关闭,所有父类的性质在子类中也成立,少用继承多用合成,细节依赖于抽象。创建型用于创建对象,结构型用于组合对象,行为型用来实现对象间的通信。

 

2.创建型设计模式

工厂模式:包括抽象工厂、具体工厂、抽象产品、具体产品,简单工厂是一个工厂生产一个产品,工厂方法是一个工厂生产一系列产品,抽象工厂是多个工厂生产多个产品。

单例:确保一个类只有一个实例。如加载配置文件、数据库连接。Runtime#getRuntime()

 

3.结构型设计模式

适配器:将某个接口转换成另一个接口表示。InputStreamReader(InputStream)

组合:把多个对象组合成一个整体使用。List#addAll(Collection)

修饰:向某个对象动态地添加更多的功能。BufferedInputStream(InputStream)

 

4.行为型设计模式

观察者:允许对象向所有侦听自己的对象广播消息。EventListener

策略:定义一组算法,并把其封装到一个对象中。Filter#doFilter()

 

 

三、算法

1.常见数据结构

       线性表、链表、栈、队列、二叉树、图

 

2.常见排序算法

       冒泡(两两比较)、快速(使用基准元素)、选择(选最小)、堆(建立堆)、插入(插入有序序列)、归并(两两合并)。O(nlogn)的有快速logn、堆1、归并n

 

3.词典查询算法

使用hash方法,关键在于hash函数的设计,控制分配的均匀性。字典树算法:该算法的思想是以空间来换取时间,匹配之前预处理单词,以字符为单位,将单词遍历在树上,然后再取文本进行匹配。

 

3.常用分词算法

1)正向最大匹配法

2)逆向最大匹配法(由右到左的方向)

3)最少切分(使每一句中切出的词数最小)

切词:取出文本剩下的M个字,进行加减1的匹配

 

四、关系数据库

1. 连接

1)使用DriverManager.getConnection获取数据库连接

2)使用PreparedStatement处理SQL语句

3)使用ResultSet获取结果集

4)操作、再依次关闭上述连接

 

2select语句

select * from tablewhere ?=(select max(?) from table);

select @set=max(num)from table;

 

3.存储过程

       将多个语句组合成一个语句,创建createprocedure name() begin … end ,调用call

 

4.事务

       作为一个单元的一组数据库操作,如成功则提交,否则回滚,

       开始:starttransaction; 提交commit; 回滚rollback;

 

5.触发器

      create trigger name after inset on table begin end;

 

五、J2EE

1TCP/IP分层

       网络接口层(物理、数据链路),网络互联层(IP),传输层(UDPTCP),应用层(DNSFTPHTTP)。

 

2Struts2

MVC框架、流程:加载类->读取配置->-调用Action>拦截器->处理业务->返回响应->响应用户。

过滤器:负责过滤客户端的请求,在web.xml中的配置filter

Action类:包含了对用户请求的处理逻辑,也称Action为业务控制器

 

3Spring3

控制反转IoC:依赖注入是指对象只是提供普通的方法,让容器去决定依赖关系,并且全权负责组件的装配,它会把符合依赖关系的对象通过属性(JavaBean中的gettersetter)或者是构造函数传递给需要的对象。

面向切面编程AOP:将程序分解成横向的各个方面(Aspect)或者说关注点,使得诸如事务管理等这些横切多个对象的关注点可以模块化。

0 0
原创粉丝点击