其他刷题笔记
有关SPRING的事务传播特性
事务 | 特性 |
---|---|
PROPAGATION_REQUIRED | 支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择 |
PROPAGATION_SUPPORTS | 支持当前事务,如果当前没有事务,就以非事务方式执行 |
PROPAGATION_MANDATORY | 支持当前事务,如果当前没有事务,就抛出异常 |
PROPAGATION_REQUIRES_NEW | 新建事务,如果当前存在事务,把当前事务挂起 |
PROPAGATION_NOT_SUPPORTED | 以非事务方式执行操作,如果当前存在事务,就把当前事务挂起 |
PROPAGATION_NEVER | 以非事务方式执行,如果当前存在事务,则抛出异常 |
下面有关servlet和cgi的描述
servlet会对每个请求创建一个线程来处理,cgi则会创建一个进程来处理,用完销毁。显然servlet成本低,效率高。
下面有关servlet service描述
service()是在javax.servlet.Servlet接口中定义的,用于处理任意的协议的请求,所以http的无论是get还是post都是经过service()分发的。由于get,post是http协议的一部分,所以doGet,doPost方法是在HttpServlet类的=里实现的。
有关struts1和struts2的区别
Struts1是单例的,只创建一个action对象,需要注意线程安全。Struts2是多例的,为每一个请求创建一个action对象。
关于AWT和Swing说法
AWT的方法是本地的,不同系统效果不一。swing使用java实现,移植性好。
<jsp:forward page="index.htm"/>
forward是请求转发,url不会变,redirect重定向url会变。
加载驱动程序的方法
- Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
- DriverManager.registerDriver(new com.mysql.jdbc.Driver());
- System.setProperty("jdbc.drivers", "com.mysql.jdbc.Driver");
DriverManager.getConnection方法
是获取connecttion对象的。
关于sleep()和wait()
notify()之后那些被阻塞的线程不是进入运行状态,是进入就绪状态。
关于struts项目中的类与MVC模式的对应关系
Action不是模型的一部分,但也不是控制器。struts项目可以有多个servlet。
下面有关jsp中静态include和动态include的区别
静态include是把文件合并在渲染,因此不可以有相同变量。适用与静态文件。<%@ include file="relativeURI"%>
动态include是先独自渲染再合并,可以有相同变量。<jsp:include page="relativeURI" flush="true" />
JVM内存配置参数
-Xmx10240m -Xms10240m -Xmn5120m -XXSurvivorRatio=3
其最小内存值和Survivor区总大小分别是
- Xmx是堆最大内存
- Xms是堆初始内存
- Xmn是新生代!新生代!新生代!内存
初始堆大小即堆最小内存:10240m。因为XXSurvivorRatio=3,分五分,一份1024m,Survivor占两份,所以Survivor为2048m。