Java知识目录
来源:互联网 发布:excel复制整列数据 编辑:程序博客网 时间:2024/06/04 00:25
一、编程语言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)或者说关注点,使得诸如事务管理等这些横切多个对象的关注点可以模块化。
- java知识目录
- Java知识目录
- [Java视频笔记] 知识目录总览
- 知识目录
- C++类知识目录
- 技术知识积累目录
- Flex知识目录
- 知识索引目录
- 前端知识体系目录
- 《Linux目录知识介绍》
- 前端知识体系目录
- Android相关知识目录
- 前端知识体系目录
- 利用IO的知识,实现一个程序列出某个目录下的所有的”.java”文件。
- Java的一些小知识:package,import,不同目录下类的调用
- vbscript知识目录(不断完善中。。。)
- 访问网站目录 小知识
- Oracle Directory目录的知识
- github添加文件错误
- 二分法-派(Pie, NWERC 2006, LA 3635)
- 转 微信转发度最高的十大Android文章
- Struts1入门案例
- Learning:stringBuilder和stringBuffer
- Java知识目录
- iBATIS中使用List做参数生成in语句
- Python单元测试经验总结
- android toolbar 开发总结
- 01..变量和运算
- SIP资料汇总
- C#操作sql通用类 SQLHelper
- Android Studio NDK 编程
- 02..循环与逻辑