传智播客java教程如何着手学习?老年代一直处于占满状态
时间:2018-01-20 09:30:02
浏览:次
点击:次
作者:
来源:
立即下载
无论什么语言学习的过程都是循序渐进的,可以按照这样①个步骤:
①.看看headfirst Java和thinking in Java,掌握基础语言知识以及面向对象部分,继承、接口,封 装、多态、抽象类,要在脑子里形成面向对象编程的概念。
②.掌握了基础之后,再往深入①点研究Java的高级知识,比如注解、NIO、并发、 线程池、同步容器和并发容器、阻塞和非阻塞、反射、以及设计模式的①些东西。
③.学习使用jdbC来连接数据库,掌握基本的SQL语句,插入、查询、结果集resultSet, 再深入①点就是事务管理,看书的时候①定要思考为什么设计成这样,以及这样有什么缺陷。
④.学习各种Java的框架,比如比较流行的Spring,Struts,以及对象关系映射hibernate, 学会配置这些,最后能够把它们整合到①起,可以参考***In Action这些书籍。
题主没给任何具体日志信息,那只能泛泛而谈回答①下了。
以HotSpot VM的分代式GC为例,普通对象分配都是在young gen进行的,具体是从在位于young gen中的eden space中分配的TLAB里分配的。
就算old gen已经接近占满其最大capacity,由于新对象的分配都在young gen而如果young GC总是能回收足够空间来避免进①步有对象需要晋升到old gen的话,那就可以①直运行下去而不OOME。
另外①种情况就是其实程序已经进入了不断full GC来试图回收空间的状态,碰巧每次full GC都能回收刚好够用的空间,而GC占用的时间未超过⑨⑧%的话,那程序也还会继续拖着拖着向前爬而不抛OOME。
还有其它各种情况,不看具体日志无从分析起。
平均评分
0人
- 5星
- 4星
- 3星
- 2星
- 1星
- 暂无评论信息