和openjdk在一起的第一天-第一次接触有些生疏,就先熟悉一下吧

暂时搞到了openjdk7,就将就着看吧,(为什么csdn全部都是收费啊,llllj),但是还是决定先读这个openjdk7

还有,不知道怎么的就想试试markdown,也不知道好用不

hello world

挺有意思啊,哈哈哈哈

分割线


http://blog.csdn.net/laoj1228/article/details/53869340

这是一个作为新手指引的博客,就决定是它了

openjdk下一级目录有| corba | hotspot | jaxp | jaxws | jdk | langtools | make

  • jdk

首先肯定是jdk目录,这里是类库存放的地方,大部分都是java实现,有少部分是c/c++,深入学习openjdk就从这里开始,类的目录:jdk/src/share/classes

  • hotspot

HotSpot虚拟机——这里面是C/C++和汇编代码(还有一些基于Java的虚拟机开发工具)。这些内容非常高级,如果你并不是一个专业的C/C++开发人员那么这些内容会让人有一点难以入手。稍后我们会更加详细地讨论一些入门的好方法。

  • langtools

对于那些对编译器和工具开发感兴趣的人而言,可以从这里找到语言和平台工具。大部分是Java和C代码——学习这些内容比学习JDK代码要难,但是对于大多数开发者而言还是可以接受的。

  • 还有一些其他的仓库,但是它们可能没有那么重要或者对大多数开发者而言没什么吸引力,这些仓库包括corba、jaxp和jaxws等内容。

Object类的本地源码包含在jdk/src/share/native/java/lang/Object.c文件中,它有六个方法。

Java本地接口(JNI)通常会要求本地方法的C实现按照一种非常特别的方式命名

堆中的任何Java对象都是由一个普通的对象指针(OOP)表示的,HotSpot源中相关的OOP类型层次非常复杂。这些类型被保存在hotspot/src/share/vm/oops中

Klass字是OOP头中最重要的部分之一。它是指向这个类元数据的指针(它由一个称为KlassOOP的C++类型表示)。在这些元数据当中最重要的是这个类的方法,它们被表示为一个C++虚拟方法表(一个“vtable”)。

对于新手开发者而言,对OpenJDK所提供的运行时环境有一个基础的理解是非常必要的:

  • 环境中的大部分都是使用Java编写的
  • 通过本地方法实现操作系统的可移植性
  • 堆中的Java对象由OOP表示
  • JVM中的类元数据用KlassOOP表示
  • 有一个先进的高性能模板解释器,哪怕是解释执行模式下的性能

下面就是该去看jdk的java源码了,希望这次可以坚持下去

原文地址:https://www.cnblogs.com/qjx-2016/p/7800294.html