Java面试

第5章 Java程序设计基本概念
5.1 JVM
ClassLoader
1.基本概念
与C、C++程序不同,Java程序并不是一个可执行文件;
独立类文件组成;
这些类文件并非全部装入内存,而是根据程序需要逐渐载入;


ClassLoader包括bootstrap classloader(启动类加载器);
ClassLoader就是在JVM运行时加载Java核心的API,以满足Java程序最基本的需求;
其中包括用户定义的ClassLoader;


两个ClassLoader:
一个是ExtClassLoader,来加载Java的扩展API;/lib/ext中的类;
AppClassLoader,它是用来加载用户机器上的CLASSPATH设置目录中的Class;


没有指定ClassLoader的情况下,自定义的类就由ClassLoader进行加载;


2.加载流程
run--JVM start--run bootstrap classloader;
该ClassLoader加载Java核心API;
最后,AppClassLoader加载CLASSPATH目录下定义的Class;


3.Method
1)loadClass(String name,boolean resolve);


2)defineClass()


3)findSystemClass()


4)resolveClass()


5)findLoadedClass()


6)findClass()


7)getSystemClassLoader()


8)forName()


5.2 i++


5.3 类型转换


5.4 程序结构


5.5 运算符


5.6 异常
throw--Throwable
Error/Exception


分析产生异常的代码,不把大量代码块丢进try


设置多个异常抛出点;


成员
变量
全局变量 
局部变量
final、finally、finalize
1.final
修饰符
成员   值/引用
方法



2.finally
异常处理模型的补充


3.finalize()
在垃圾收集器将对象从内存中清除出去之前必要的清理工作;


5.7 反射(Reflection)
反射是一种能力;
指程序访问、检测和修改它本身的状态或行为的一种能力;
操作本身的能力;


计算机中的反射;
光学中的反射;


自描述与自控制;


第6章 传递与引用
Java不用关心如何操作这个“指针”;


传递的一定是值或引用的副本;


第8章 Java内存管理
Java不要求程序员显示的分配内存和释放内存;
垃圾收集器的技术;
gc();


Java内存管理就是对象的分配和释放问题;
new申请内存;
对象在堆(Heap)


第9章 面向对象
如果说传统的过程式编程语言是以过程为中心、以算法为驱动的话,面向对象的编程语言则是以对象为中心,以消息为驱动;
过程式:程序=算法+数据;
面向对象:程序=对象+消息;


对象=属性+行为;


类--模板;
对象--实例;
分类;


第13章 设计模式
Singleton模式的主要作用是保证在Java应用程序中,一个类Class只有一个实例存在;


MVC模式
Model是应用对象;
View屏幕上的表示;
Controller定义用户界面对用户输入的响应方式;


13.3 软件工程
先进行;
开放性,依从主流技术标准;
安全性;
与现有系统的兼容性,异种系统之间的互连;
技术的成长性;
应用系统开发工具;


三层次/多层
二层


第14章 操作系统
多用户:容许在同一时间有很多人使用同一部机器,只要使用者都有自己的终端(terminal);


多任务:为了使更多程序可以一同运行,这个特点叫做多任务;


第15章 数据库和SQL语言
第一范式:原子最小,不可再分;
第二范式:非key属性依赖key;
第三范式:非key属性不传递依赖key;


transaction


第16章 计算机网络及分布式系统


第17章 J2EE技术
Spring
(Inverse of Control,IOC)控制反转
(Dependency Injection,DI)依赖注入
控制反转是对组件对象控制权的转移,从程序代码本身转移到了外部容器,通过容器来实现对象组件的装配和管理;
注入类型:接口注入、设置注入、构造子注入;
Sping是IOC的容器;


依赖注入,在运行期由容器将依赖关系注入到组件中,就是在运行期间,由Spring根据配置文件,将其他对象的引用通过组件提供的setter方法进行设定;
Sping是一个DI容器,其设计哲学是提供一种无侵入式的高扩展性框架;


Spring大量引入了Java的Reflection机制,通过动态调用的方式避免硬编码方式的约束,并在此基础上建立了核心组件BeanFactory,以作为其依赖注入机制的实现基础;


org.Springframework.beans包括了核心组件的实现类,
核心中的核心为BeanWrapper和BeanFactory类;
对于Spring而言,是关键所在;
通过在配置文件中加以设定,就可以在运行期动态的创建对象并设定其属性;


1)提供的是管理业务对象的方法;






17.2 Hibernate
理解为一个中间件;
负责把Java的SQL语句接收并发送到数据库;
数据库返回来的信息由Hibernate接收后直接生成一个对象传给Java;


.cfg.xml文件
.hbm.xml文件


1.cfg.xml
作用,连接数据库;
驱动:driver
数据库url
username
password




...
...
...
...
...







2.hbm.xml









Hibernate缓存机制


1.DataSource
2.Connection pooling
3.transation
4.result


第18章 Java中的Web设计
18.1 JSP
1.forward和redirect


18.2 Servlet
init()
service()
destroy()


XML

DOM与SAX解析XML技术

 

 

DedoChen

仰望星空

砥砺前行

如需转载,请注明出处,谢谢!

 

 

 

 

 

 

 

你可能感兴趣的:(Theory)