您的位置:首页 > 编程语言 > Java开发

Java知识目录

2016-06-17 11:04 295 查看
一、编程语言Java
1.什么是面向对象
       采用对象描述问题,采用类抽象对象,对象之间的联系采用消息传递。具体来说,就是要确定类,类之间的关系,类的属性和方法。特性:封装(把过程和数据隐藏起来)、继承(子类继承父类的属性和方法)、多态(不同类的对象对同一消息的有不同的响应)。例如设计图书管理系统,类:图书、操作人员、界面。
 
2.Java程序怎么运行的
      Java命令启动JVM执行Java程序,JVM实际上是运行在平台上的一个进程。JVM中的heap存放new出来的对象,stack存放局部变量,数据段、代码段。Java的垃圾收集器监视Java程序的运行,对象的生命周期包括创建、应用(至少一个引用)、不可视(超出作用域)、不可到达(无引用)、可收集阶段。
 
3.Java程序的结构
       首先指明包、import包、定义类,类中定义变量和方法,main方法为程序入口。通过类中的if、for、while等语句实现功能。通过传递对象或new使用其他类的对象。
 
4.Java异常处理
尽可能处理异常,比如使用爬虫抓网页,如连不上网页,可再连接一次或忽略。记录可能影响程序的异常并提示,如数组越界。抛出异常,让上一级类处理。
 
5.Java常用类
       字符串类String,方法有equals、length、split、substring;StringBuffer类,方法有append、toString;Collection接口,有List类、Set类、Map类,和其相关的迭代器Iterator。输入输出的File、InputStream、OutputStream,图形的Swing和awt;多线程的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)操作、再依次关闭上述连接
 
2.select语句
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
1.TCP/IP分层
       网络接口层(物理、数据链路),网络互联层(IP),传输层(UDP、TCP),应用层(DNS、FTP、HTTP)。
 
2.Struts2
MVC框架、流程:加载类->读取配置->-调用Action>拦截器->处理业务->返回响应->响应用户。
过滤器:负责过滤客户端的请求,在web.xml中的配置filter
Action类:包含了对用户请求的处理逻辑,也称Action为业务控制器
 
3.Spring3
控制反转IoC:依赖注入是指对象只是提供普通的方法,让容器去决定依赖关系,并且全权负责组件的装配,它会把符合依赖关系的对象通过属性(JavaBean中的getter何setter)或者是构造函数传递给需要的对象。
面向切面编程AOP:将程序分解成横向的各个方面(Aspect)或者说关注点,使得诸如事务管理等这些横切多个对象的关注点可以模块化。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: