今天看了很多JVM构成和java内存管理、垃圾回收、内存调优方面的知识点,笼统的了解了大部分概念,能总感觉理解不透彻,更不能灵活的运用这些知识到具体的项目中,只是应付考试似的死记硬背一些知识点也没意义,本来想收集总结java内存管理性能优化、JVM原理方面的面试题先等自己足够了解后再说。
要进一步理解并解决下面的问题:
- 给出一段会产生堆内存溢出的代码;
- 给出一段虚拟机栈和本地方法栈溢出的代码:分StackOverflowError和OutOfMemoryError给出程序;
- 给出一段能使运行时常量池溢出的代码;
- 给出一段能使方法区溢出的代码。
今天发现并解决了原系统的两个bug,在hibernate的hql用in查询时判断id是否在一个范围时,传入string型参数ids值,如“1,2",结果在用query.setString设定值时用”1,2“代替了in语句()中的?,导致结果查不出来。