重点积累知识

1、java反射    

      JAVA反射机制是在运行状态中, 对于任意一个类, 都能够知道这个类的所有属性和方法; 对于任意一个对象, 都能够调用它的任意一个方法和属性; 这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制.

主要作用有三:
1. 运行时取得类的方法和字段的相关信息。
2. 创建某个类的新实例(.newInstance())
3. 取得字段引用直接获取和设置对象字段,无论访问修饰符是什么。
用处如下:
1. 观察或操作应用程序的运行时行为。
2. 调试或测试程序,因为可以直接访问方法、构造函数和成员字段。
3. 通过名字调用不知道的方法并使用该信息来创建对象和调用方法。

2、Path 与 Classpath?

      (1)、Path 定义了系统可以在哪里找到可执行文件(.exe)

       (2)、classpath 定义了 .class 文件的位置.

3、一个 .java 源文件是否可以包含多个类

可以得
但只能有一个是 public 的类 而且这个 public 类必须与文件名一样

4、字节流与字符流

字节流继承于InputStream OutputStream
字符流继承于InputStreamReader OutputStreamWriter

字符流使用了缓冲区 (buffer),而字节流没有使用缓冲区
底层设备永远只接受字节数据
字符是字节通过不同的编码的包装
字符向字节转换时,要注意编码的问题

5、什么是事务 - transaction

事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所做的所
有更改都会被撤消。例如,将资金从支票帐户转到储蓄帐户中是一项事务,按步骤如下进
行:
检查支票帐户是否有足够的资金来支付此转帐操作。
如果支票帐户中有足够的资金,则将该笔资金记入此帐户的借方。
将这些资金记入储蓄帐户的贷方。
将此次转帐记录到支票帐户日志中。
将此次转帐记录到储蓄帐户日志中。

6、什么是 servlet?

Servlets 是服务器端的部件
是纯的 java 对象
设计用于多种协议 特别是HTTP

7、servlet 生命周期?

1. 读取 Servlet 类
2. 创建 Servlet 实例
3. Web 容器调用 Servlet 的 init() 方法
4. 响应客户端请求通过Servlet中service()方法中相应的doXXX()方法

5. 调用 Servlet 的 destroy()

8、jsp语法

< jsp : include / >
< jsp : forward / >
< jsp : plugin / >
< jsp : usebean / >
< jsp : setProperty / >
< jsp : getProperty / >

9、什么是 Spring?

Spring 是 Java EE 的是一个轻量级的开源框架.
使 J2EE 开发更容易
通过实现基于POJO的编程模型
Spring 的核心 design pattern 是 IOC

10、什么是 Spring 的配置文件?

Spring 的配置文件是一个 XML 文件.
这个文件包含类的或者说 bean 的信息以及它们是如何配置的

11、IoC 有什么好处?

减少代码
是应用更容易测试
松耦合 (Loose coupling) 和最小的侵入性

12、IoC container 是什么?

管理 bean 的生命周期 (从创建,配置等等再到摧毁)
通过 dependency injection (DI) 管理构成一个应用各个部件

13、都有哪些 bean scope?

singleton:每个SpringIOC容器返回一个bean实例

原型:每次请求时返回一个新的bean实例

请求:每个HTTP请求返回一个bean实例

会话:每个HTTP会话返回一个bean实例

全局会话:每个全局HTTP会话返回一个bean实例

14、Singleton bean 是线程安全的吗?

不是
PS 什么叫线程安全
一段代码,同时几个线程同时使用,结果都是正确的,就叫线程安全.
比如我们打开百度知道的首页,全世界很多人都在打开,都是正确的,证明百度知道首页的那段代码是线程安全的.

15、说下bean的生命周期

. Instantiate - 容器在 XML 文件里找到定义并实例化它们
2. Populate properties - 使用 DI 填充属性
3. Set Bean Name - If the bean implements BeanNameAware interface, spring passes the
bean's id to setBeanName() method.
4. Set Bean factory - If Bean implements BeanFactoryAware interface, spring passes the
beanfactory to setBeanFactory() method.
5. Pre Initialization - 也叫 postprocess. Spring 调用 postProcesserBeforeInitialization() 方
法.
6. Initialize beans - If the bean implements IntializingBean,its afterPropertySet() method is
called. If the bean has init method declaration, the specified initialization method is
called.
7. Post Initialization - 调用 postProcessAfterInitialization() 方法
8. Ready to use - 现在可以用它们了.
9. Destroy - If the bean implements DisposableBean , it will call the destroy() method .

16、什么是自动装配

Spring 自动解决 bean 之间的关系. 通过检查 BeanFactory 中的内容, 而无需使
用 <constructor-arg> 和 <property> 元素

17、什么是 AOP?

面向方面的编程 (Aspect-oriented programming),
它可以运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术. 比
如检测某个模块的运行时间. 加入额外的功能 (introduce)
下面是专业的所法 :
利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降
低,提高程序的可重用性,同时提高了开发的效率
主要的功能是:日志记录,性能统计,安全控制,事务处理,异常处理等等。

posted @ 2019-05-07 10:52  zty_2018  阅读(116)  评论(0编辑  收藏  举报