Java面试题(牛客)
来源:互联网 发布:淘宝的惠威喇叭怎么样 编辑:程序博客网 时间:2024/05/09 12:11
1.
HashMap不能保证元素的顺序,HashMap能够将键设为null,也可以将值设为null,与之对应的是Hashtable,(注意大小写:不是HashTable),Hashtable不能将键和值设为null,否则运行时会报空指针异常错误;
HashMap线程不安全,Hashtable线程安全。
2.
静态块:用static申明,JVM加载类时执行,仅执行一次。
构造块:类中直接用{}定义,每一次创建对象时执行。
执行顺序优先级:静态块>main()>构造块>构造方法,静态块按照申明顺序执行。
3.
方法是static静态方法,直接使用"类.方法"就行了,因为静态方法在对象创建前就存在了,他的使用不依赖对象是否被创建.。
非静态的方法用"对象.方法"的方式,因为他在对象创建前不存在,必须依赖对象的创建后,才能使用。
4.
notify()就是对对象锁的唤醒操作。但有一点需要注意的是notify()调用后,并不是马上就释放对象锁的,而是在相应的synchronized(){}语句块执行结束,自动释放锁后,JVM会在wait()对象锁的线程中随机选取一线程,赋予其对象锁,唤醒线程,继续执行。这样就提供了在线程间同步、唤醒的操作。
5.堆区:只存放类对象,线程共享;
方法区:又叫静态存储区,存放class文件和静态数据,线程共享;
栈区:存放方法局部变量,基本类型变量区、执行环境上下文、操作指令区,线程不共享;
6.
1:创建时的区别:
由上可以看出,PreparedStatement有预编译的过程,已经绑定sql,之后无论执行多少遍,都不会再去进行编译,
而 statement 不同,如果执行多变,则相应的就要编译多少遍sql,所以从这点看,preStatement 的效率会比Statement要高一些
2>安全性问题
这个就不多说了,preStatement是预编译的,所以可以有效的防止 SQL注入等问题
所以 preStatement 的安全性 比 Statement 高
3>代码的可读性 和 可维护性
这点也不用多说了,你看老代码的时候
preStatement更胜一筹
0 0
- Java面试题(牛客)
- Java面试题(牛客)
- Java面试题(牛客)
- Java面试题(牛客)
- Java面试题(牛客)
- Java面试题(牛客)
- Java面试题(牛客)
- 面试题(Java)
- Java面试题集--Java面试题(答案)
- Java面试题(答案)-
- 面试题(三)Java
- 面试题(四)Java
- 面试题(六)Java
- 面试题(七)JAVA
- 面试题(九)JAVA
- JAVA面试题(一)
- Java面试题(一)
- Java面试题(2)
- JavaScript之DOM
- 模仿斗鱼弹幕
- SQL操作
- Java面试题(牛客)
- SQL操作
- Java面试题(牛客)
- Java面试题(牛客)
- javaSQL字符与字符串
- Java面试题(牛客)
- 红黑树
- Java面试题(牛客)
- Java之数组
- Java面试题(牛客)
- 十年架构经验老司机带你领略Maven企业级开发框架