1.java虚拟机
2.java垃圾回收
Java的垃圾回收机制是Java虚拟机提供的能力,用于在空闲时间以不定时的方式动态回收无任何引用的对象占据的内存空间。
需要注意的是:垃圾回收回收的是无任何引用的对象占据的内存空间而不是对象本身
System.gc() Runtime.getRuntime().gc() 上面的方法调用时用于显式通知JVM可以进行一次垃圾回收,但真正垃圾回收机制具体在什么时间点开始发生动作这同样是不可预料的
3.反射、枚举、泛型,注解
4.数据库连接池
5.事物
6.拦截器、过滤器、spring的验证框架
7.存储过程、触发器
是在大型中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它
优点:
1.在生产环境下,可以通过直接修改存储过程的方式修改业务逻辑(或bug,而不用重启服务器
2.执行速度快。存储过程经过编译之后会比单独一条一条执行要快
缺点:
1.移植性差
2.不便于调试
-------------创建名为GetUserAccount的存储过程----------------
create Procedure GetUserAccountRe2@UserName nchar(20),@UserID int outputasif(@UserName>5)select @UserID=COUNT(*) from UserAccount where UserID>25elseset @UserID=1000select * from UserAccountreturn @@rowcountgo
-------------执行上面的存储过程----------------
exec GetUserAccountRe2 '7',null
触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,当对一个表进行操作( insert,delete, update)时就会激活它执行
语法:
DELIMITER |
CREATE TRIGGER `<databaseName>`.`<triggerName>`
< [ BEFORE | AFTER ] > < [ INSERT | UPDATE | DELETE ] >
ON [dbo]<tableName> //dbo代表该表的所有者
FOR EACH ROW
BEGIN
--do something
END |
8.ajax跨域
9.http协议
10.socket
11.webService
12.java序列化实现
13.堆(heap),栈(stack)
hibernate与MyBatis的区别
1.针对一些高级查询,MyBatis需要手动编写SQL以及ResultMap,而hibernate有良好的映射机制。