- C和Java的区别;答 面向过程与面向对象;内存释放与垃圾回收;C语言更加底层,因此速度快,Java中的native方法有一些是C实现的;
- Java为什么能跨平台;答 不同的操作系统环境对应有不同的JVM,而这多个版本的JVM可以运行同一个class文件;
- Cookie与Session的区别; 答 Session将信息保存在服务器上,而Cookie保存在客户端上
Session比Cookie更安全,Session比Cookie更占资源
开发原则:Session要尽量少用,尽量少向Session中保存信息
session使用了Cookie的机制,如果Cookie被禁用,则Session也无法使用,因为客户端的session ID以Cookie的形式,保存在了客户端的内存当中,这个时候我们可以通过url重写,来保证session的有效性。session可以存储Java对象,cookie只可以存储String - 创建线程的方式 答 俩种;继承Thread,或者实现runnable接口
- 线程状态; 答 新建(刚刚new出来的),就绪(调用start()方法,已达到运行所需要的所有条件),运行,超时等待(sleep()进入,到时则进入就绪,会释放CPU),阻塞(Sychronized代码块中),等待(调用wait()方***释放锁资源,可调用notify()使其进入锁争用)
- HashMap相关;数据结构(8:数组、链表、红黑树;<=7:数组、链表) 数据结构变更理由:发生大量哈希冲突时,会导致链表长度过长,查找效率变低,改用红黑树(自平衡二叉排序树,提高查询效率,阙值为8); HashMap的扩容触发,装载因子0.75*数组容量=扩容触发阙值,步骤创建新数组,容量是原数组俩倍,遍历原数组所有元素对其以新的容量进行再一次的哈希计数下标;
- HashSet相关;答 底层是HashMap的key数组
- ArrayList与LinkedList区别;答 底层数据结构,前者为数组后者为链表;适用情况:前者适合用于检索和排序,后者适合用于增删;
- ArrayList的扩容;答 若是空参构造方法,则第一次扩容为10(默认),其他情况扩容为1.5倍,扩容操作均是创建新数组并赋值
- spring的好处;答 IOC:无需理会业务对象的创建过程(可能创建过程很复杂),只需注意业务对象的功能即可,业务对象的创建由spring完成;
- 数据库事务概念和特点;答 一系列数据库操作的集合;特点:原子性(原子不可分割,要么都发生,要么都不发生)、一致性(事务执行前后,数据库一致符合约束)、隔离性(并发执行的事务间不会相互影响)、持久性(已提交的事务对数据库的影响是永久性的);
- 什么是线程安全;答 多线程访问某个方法时,无论线程以何种方式被调用或是交替执行,都不需要对其做任何的同步运行结果与设想一致即为线程安全;
- 还问了分布式和线程池、多线程编程的,这些都不了解;有一些忘记了,就先记这么多;
全部评论
(1) 回帖