基础巩固--概念总结

原文地址:http://liuxi1024.iteye.com/blog/604224

面试时有用

1、JVM简单描述
(1)当运行一个java程序时,就是运行了一个java虚拟机实例;当程序关闭退出,java虚拟机实例也就消亡。
(2)内部两种线程:守护线程(执行垃圾收集任务的线程)、非守护线程。
(3)JVM由四部分组成:class loader、Execution engine、runtime data area、Native interface
(4)Runtime data area 即所谓的JVM内存,包括堆栈(堆--用new建立,垃圾自动回收负责回收;栈--存放基本数据类型,速
度快)

2、JVM的gc
(1)垃圾收集的目的在于清除不再使用的对象。
(2)手工调用垃圾回收System.gc();

3、jdk1.5较1.4新特性
(1)泛型
泛型的本质是参数化类型,Java语言引入泛型的好处是安全简单。
public interface List<E> extends Collection<E>
(2)简化了集合的遍历
for(User user :list){}
(3)装包/拆包
(4)枚举(Enums):使用它为我们规避了很多问题,编码更灵活性。
(5)可变参数(Varargs) 举例:JdbcTemplate.update() 中传入的参数
   public int update(String sql, Object ... args)

4、HashMap与HashTabel区别
(1)HashTable的方法是同步的(线程安全的)java.util.Properties继承Hashtable,HashMap未经同步。
(2)Hashtable不允许null键值,HashMap允许null键值。
(3)Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现


5、Oracle与mysql区别,从结构和用户角度阐述
(1)mysql是开源的关系式数据库
(2)ORACLE项目来说一个项目就应该有一个用户和其对应的表空间,而MYSQL项目中也应该有个用户和一个库。MYSQL并没有
使用表空间来进行管理。

6、JDBC连接数据库步骤
(1)加载驱动程序
Class.forName("com.microsoft.sqlserver.jdbc.SQLserverDriver");
(2)建立连接(通过驱动管理器)
Connection con = DriverManager.getConnection(URL, userName,userPwd);
(3)建立Statement (通过Connection对象进行创建),,
Statement st = con.createStatement();
//建立 Statement 之后,就可以使用Statement的对象 st 来执行sql语句了。。
例如: st.executeUpdate("sql语句")。。。。详情请查阅API
(4)关闭连接
con.close()。

7、jdbc statement种类及之间的区别,哪一个是处理批量数据的
(1)statement、PreparedStatement(是预编译的)、CallableStatement(调用存储过程)
(2)PreparedStatement比statement更有可读性、效率更高,安全性高。
(3)PreparedStatement用于批量处理数据。

8、抽象类与接口区别
(1)抽象类可以用来继承。接口只能用来实现。
(2)抽象类里面可以有实现方法,而接口只能有定义的方法,方法的实现要在实现接口的类里面重新实现。
(3)抽象类的的方法在子类中可以不实现,也可以重写父类的方法。 而接口中的所有方法一定要实现。

你可能感兴趣的:(jvm,oracle,sql,mysql,面试)