Q:When a java class is load by classloader, where the constant poll be put?

A:the "Non-Heap Memory".

Non-Heap (http://www.yourkit.com/docs/kb/sizes.jsp)

Also, the JVM has memory other than the heap, referred to as non-heap memory. It is created at the JVM startup and stores per-class structures such as runtime constant pool, field and method data, and the code for methods and constructors, as well as interned Strings.

Unfortunately, the only information JVM provides on non-heap memory is its overall size. No detailed information on non-heap memory content is available.

The abnormal growth of non-heap memory size may indicate a potential problem, in this case you may check up the following:

  • If there are class loading issues such as leaked loaders. In this case, the problem may be solved with the help of Class loaders view.
  • If there are strings being massively interned. For detection of such problem, Object allocation recording may be used.

Shallow and Retained size: http://www.yourkit.com/docs/java/help/sizes.jsp

已编译类和原来的类源码区别在于,已编译类只包含类本身,内部类不会在已编译类中出现,而是生成另外一个已编译类文件;其二,已编译类中没有注释;其三,已编译类没有package和import部分。
这里还得说说已编译类对Java类型的描述,对于原始类型由单个大写字母表示,Z代表boolean、C代表char、B代表byte、S代表short、I代表int、F代表float、J代表long、D代表double;而对类类型的描述使用内部名(internal name)外加前缀L和后面的分号共同表示来表示,所谓内部名就是带全包路径的表示法,例如String的内部名是java/lang/String;对于数组类型,使用单方括号加上数据元素类型的方式描述。最后对于方法的描述,用圆括号来表示,如果返回是void用V表示,具体参考下图。

最新文章

  1. WebViewJavascriptBridge使用说明(iOS)
  2. 安装mysql
  3. jQuery animate动画 stop()方法详解~
  4. HoverTree开发日志之验证码
  5. ubuntu下cacti安装配置
  6. [转载]: delphi中XLSReadWrite控件的使用(1)---简介
  7. Winform开发框架之权限管理系统改进的经验总结(4)-一行代码实现表操作日志记录
  8. CentOS学习笔记—软件管理程序RPM、YUM
  9. iTween基础之Audio(音量和音调的变化)
  10. linux内核--软中断与tasklet
  11. javascript使用for循环批量注册的事件不能正确获取索引值的解决方法
  12. Express路由
  13. Ex3_2 最近点对
  14. 样本失衡会对SVM的影响
  15. oracle query
  16. MyCat读写分离、分库分表
  17. Oracle只读用户角色的建立
  18. Python——dict(自定义类作key)
  19. Extract Dataset
  20. [android] 新闻客户端主界面部分

热门文章

  1. 洛谷P3643 [APIO2016]划艇(组合数学)
  2. CF666E Forensic Examination(后缀自动机+动态线段树)
  3. Tomcat企业级应用
  4. gitlab容器--带https配置
  5. 安装mysqlclient, 链接mysql失败,提示“Library not loaded: @rpath/libmysqlclient.21.dylib”
  6. 主流服务器虚拟化技术简单使用——Hyper-V(二)
  7. Oracle远程数据建物化视图(materialized)创建简单记录,以及DBLINK的创建
  8. bundle 与 package
  9. Java - 冒泡排序的优化算法(尚学堂第七章数组)
  10. Google Map API抓取地图坐标信息小程序