JAVA虚拟机体系结构
JAVA虚拟机的生命周期
一个运行时的Java虚拟机实例的天职是:负责运行一个java程序。当启动一个Java程序时,一个虚拟机实例也就诞生了。当该程序关闭退出,这个虚拟机实例也就随之消亡。如果同一台计算机上同时运行三个Java程序,将得到三个Java虚拟机实例。每个Java程序都运行于它自己的Java虚拟机实例中。
Java虚拟机实例通过调用某个初始类的main()方法来运行一个Java程序。而这个main()方法必须是共有的(public)、静态的(static)、返回值为void,并且接受一个字符串数组作为参数。任何拥有这样一个main()方法的类都可以作为Java程序运行的起点。
public class Test { public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Hello World");
} }
在上面的例子中,Java程序初始类中的main()方法,将作为该程序初始线程的起点,任何其他的线程都是由这个初始线程启动的。
在Java虚拟机内部有两种线程:守护线程和非守护线程。守护线程通常是由虚拟机自己使用的,比如执行垃圾收集任务的线程。但是,Java程序也可以把它创建的任何线程标记为守护线程。而Java程序中的初始线程——就是开始于main()的那个,是非守护线程。
只要还有任何非守护线程在运行,那么这个Java程序也在继续运行。当该程序中所有的非守护线程都终止时,虚拟机实例将自动退出。假若安全管理器允许,程序本身也能够通过调用Runtime类或者System类的exit()方法来退出。
JAVA虚拟机的体系结构
下图是JAVA虚拟机的结构图,每个Java虚拟机都有一个类装载子系统,它根据给定的全限定名来装入类型(类或接口)。同样,每个Java虚拟机都有一个执行引擎,它负责执行那些包含在被装载类的方法中的指令。
aaarticlea/png;base64,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" alt="" />
当JAVA虚拟机运行一个程序时,它需要内存来存储许多东西,例如:字节码、从已装载的class文件中得到的其他信息、程序创建的对象、传递给方法的参数,返回值、局部变量等等。Java虚拟机把这些东西都组织到几个“运行时数据区”中,以便于管理。
某些运行时数据区是由程序中所有线程共享的,还有一些则只能由一个线程拥有。每个Java虚拟机实例都有一个方法区以及一个堆,它们是由该虚拟机实例中所有的线程共享的。当虚拟机装载一个class文件时,它会从这个class文件包含的二进制数据中解析类型信息。然后把这些类型信息放到方法区中。当程序运行时,虚拟机会把所有该程序在运行时创建的对象都放到堆中。
aaarticlea/png;base64,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*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" alt="" />
当每一个新线程被创建时,它都将得到它自己的PC寄存器(程序计数器)以及一个Java栈,如果线程正在执行的是一个Java方法(非本地方法),那么PC寄存器的值将总是指向下一条将被执行的指令,而它的Java栈则总是存储该线程中Java方法调用的状态——包括它的局部变量,被调用时传进来的参数、返回值,以及运算的中间结果等等。而本地方法调用的状态,则是以某种依赖于具体实现的方法存储在本地方法栈中,也可能是在寄存器或者其他某些与特定实现相关的内存区中。
Java栈是由许多栈帧(stack frame)组成的,一个栈帧包含一个Java方法调用的状态。当线程调用一个Java方法时,虚拟机压入一个新的栈帧到该线程的Java栈中,当该方法返回时,这个栈帧被从Java栈中弹出并抛弃。
Java虚拟机没有寄存器,其指令集使用Java栈来存储中间数据。这样设计的原因是为了保持Java虚拟机的指令集尽量紧凑、同时也便于Java虚拟机在那些只有很少通用寄存器的平台上实现。另外,Java虚拟机这种基于栈的体系结构,也有助于运行时某些虚拟机实现的动态编译器和即时编译器的代码优化。
下图描绘了Java虚拟机为每一个线程创建的内存区,这些内存区域是私有的,任何线程都不能访问另一个线程的PC寄存器或者Java栈。
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAt8AAAF4CAIAAAADmQJYAAAgAElEQVR4nO2dPY/cRra/+3t02ozGn6DNoCOPIQwkEFKgyG6jFUnJCKCU2iOAwJUWWAkSQ68m4Fob2LDA+zaSfPcyuFhtQmAAYx0QBtZyQg0gDfDf5d470n3jPziYumW+DbuHrFNk/Z5gMM0h2acP2aceVhU5kxwAAAAAQCcm3AEA0DtZlkVRxB3F/5FlWZIkmuytYdsOg9yMLMuUvVccx+1XDsOwcvlaZ5rKTwfA4ICdgPGQpqlt2+XmIY7jyWTiOM5aLRARRZHjOK7r0u8NLUpdi1W5T8uyVqvVusFU4vu+ZVkU4QZ4nmdZVhAE5T+tVqvKfJap3PycpGlqWVb7rJ4Ty7Icx2n4sPKht21bHMEsy8SfoiiaTCYtj6zneYX0ep6XpmnD+pXLNzDvIAj6OGQAdAjsBIwH3/cnk8lkMimUeLITy7KSJKFG6MzSHMex67qWZU1OiaKIGnK7ClqzZTvheR7Z0safVMa27clkYtt2nXs1X6PT5pUNKn0o27bbxGDbdsu+FsrtmautVis6ag0NtlizruVuD33Yhv04jiOy5LruZDLxfZ9+FxZFy+lMO/MdxWkpPiCdSJUnmDjK5f3Ytu04jtcaEeQGsg6AMmAnYDxQBac2Q4aaAarscRxTO1QpB3Q5a50ymUxc142iKI7jJEmEVZQrPq3c8nqUmofKhvDMlri8frMY0Sdq2AM1hxvsWYb6DOSujiAI6lrHNrkSOxQtqOu6DV44mUwKvSzlQZbmDgM64meGRLmiM4Fiow1pz3QGtjwN5NOSoI8TVxEEQZ1EUjANWlOH4zgYXQLaAjsBI4Eaj0rnKDQDJCiVTVGSJKI5pJZGvr6kZqDSKs5s22Roz4W2M8syx3EqRSHLsrqW3nEcapkq/0rdDw39H6QgIhLZjagjqv3wE0UiJ/nMa/rmFJUv7j3PC4KgsvEmfZRXFj0Tct8D6WblO7Y5gvQZfd8XdkK/iASudRrU2UnDypVJazgtC8BFwICAnYCRQC0xtRNRFMkjHeVmIAgCx3Gau987sRMaSypAzWR5OVEpWNRzUNcP4bpugwQQha4FEhraLbXupCPiup9aSjlFWZbZtl3nK3Rxv/H0F5nVaiV6IzYefRAHXegLpbduh/IRrOvBos9IY3z0C8VJZx39tXx61HWlyKclbdW3ndi23ckBAkABsBMwBqjjRFRe0aNAF4tlOzmzrcp/aSe0nw3sJM/zNE0L77LWFXYD1BxuNn9FzCkpDJFQ0sTASqVXlcfOiLrla0HKRRmjrp3NGtTyQW9Ou/grZbUgc/IIC82boTNBdFAFQUBSFYah3KMj/kr7ofFBQsz/oHVoDnLhoMjUyZ98WtLE8Ertps/V4YQnAHoFdgLGAJVv+l20rDRZUm4GZGiThpELYSdBEMizDda1kwLlVnMzsiyjN6270G+ewlIOmD4dtcqkd4Wxp64iJ4IgKLe1lGrRuFKzbddP+JWpnApdthNbmldUFi95idzGk3nIGlfWiILwCdujl+IjrFYr6usSp6XcE2ZJ806CIPB9X553UjdZSj4tgyCwqu51ovPZajdjFwB2YCdg8FDLQY/9iOOYWlZq/KgZoB74umtKgehQqWyuyHXqRmRoeZto24yAxHF85lxUarnrJnZQ69iwkzo7obeulLBmO0nTlD5UGIZnDjNRw1yeQCoHLCyzzUxhOgfkNevspO7xMO39UhYR7/QeYDrH5D2cOeBy5rwTeXCq4ak25Teic0zOrTh1cZ8OGAqwEzBsRH+1LArlHpHKtqfccohZseKOlfbzTgrNNu2qDFmF53l1szvp+SXN17g0R8Sqv02jLg8NCRF24jhOm8nF+ek4QqHngKanFIKpC7XhthH79P6XMAwrjbCskvYvB+82G9lphsImuxKdH2EYrlargiGtayc0WarSTppDqnwjeVKzOJnxjBMwIGAnYPBQI0ePSqPGo7xOue2hpqWu9AvpkQt6GIZ19T1N00JfOnWwl1tlqzTho446t4hPb4puaLfs0pTeMxNCjZyYJ9t8Y7acE8/zqKeqbkoK9WatNX2E9iYkiW7qlhHuUlhejlb8SXxkmhNdsKI2diLOLmFy4kZf6qmSOyfkadqViAiTJCEjLMRQSDi5YPmY1mmQmM5C+e/q6X8AqAF2AgaPaGaokZDLN3VgkChQoRdX28IAKp9GSgWdrozp7p7mAQvREpwZbfsRhEqolbXrn81FbGwnQgis0tNsaYW6N/WkR4DIlJ9cciZCDRta9zM/YFx1R7H4yHbpjuXm45IkCUkwvZQ/LM2HpVzZti38rH2ElmXRVtbpEGGhT0h+Wc5kQyfNmbeUA6AtsBMwEuSxdjEJgBonepon9cDTcMmZ/5vGkp7xJbalRk6eOVGe9tH8SAn5iV4bQGpCj+Sf1D/mxDu90/hMO5E3ISETm5Qf/7WZnRQ84MxJJPQZSTQbdKFl2183siOcSZwGDW9Hdiu0o3AnEfXY0e/y82Sb46f/kFCwDTpdRWcPHQJ5CVE4dRvspE03GwB6AjsBY6D8/01835c7RQqNGflKXdtGMz/EJnQBWhiziOufP9GAmHRS99eGmQGi2c6rOgYqx4/OYyf5qaKJ3ovmiRSVdkILRero6S8NSaMbkegz9monYg9yX1Hd2xX6b8SkHzEfVv68tBMymEonoPuSaA9yhBSwPP51nnkn8meEoIAhAjsBg0fIBI2w2Kf/rESu13IzGYYh9YvUTcmkER/R/tF4f2GdDewkTdNCR32B8kwX+e3kdv3MdmvjkR15E/uX/xlgXTuRdUpAya975IY826ZvOyk8fa7h7eSHlIh+KbqHi7rQRMz0pkmS1N2ZRX5GmxQ60igeOb2Fj1D3YeuOi7h5jZwPggKGBewEDJ7CHJHK1l10roi+7ro5IrQmzTNoaP8KdkL98GeGSnMU4irEP72rbNLsX/4zWzV24vu+/BZr2UmlmhDiKSaF5WEYyt1dfdtJ/svHxzW/neu6NIpHvW5igK/w/H7aj+u6DVNiaU5uOUKaFUsDiPLooejiqstn5XEpPAWOzuoGLwRAN2AnYPDQLJPVatXm+WPWL2+tjKKosJWYOlBo/8T/wSnMspRHUion2LZBzDBo+V8Au5p3Ii+pmzhSWKGNndARmVQ9r0zuJWp+tqwCO2n/dgKaECNmftCHko+auPXmzL0VIrROJ51UHllxi1m5t698XApqIq9W50wA6AbsBIyBykY9TVN5uX36f+Dkqk398+IlNau0Vbn9k//vbuWs2DMf5V45Fbehm6EOze0kl7ItehrEY0/z0+az+R7jTuxETtH57YTGZWhWsvjIhU8hbjiqS1QhQrIT6tugFFV2LDWMJBaOi7i9ubwmJe3MwADQAdgJGBX0H9rEZbpoOcSFY6EFsqR7MfI8t21b9H+sNbLTEhoXoDkHtESeB9oeNSM7BcR/6C0sp8d10A5F908Yhq7r1t0YRRZ45m1TfdhJXe9USzuRz65J1f29NH3kzJ6h/JcHkRKY1x/ZlnZCTzep+4zkQOg7AYMAdgKGDbWChQZDbhfFDBKacSmX/iRJ5BaOukbEnvuwk/y0LZ+c/icgu/F//dTRn500zJ6p3Cf5lph9SQeik38H2NPITp0StRzZIcQt6yQi4l3ECB39qTkPIkK6wYfOpfPYSVz1DL0C+Cc7YCjATsCwEdP9ClKS53mapuKxGaKsC1Oh6+CGFm5dO4njuP3jUOmx5WKi4rptRid2MindPVT4RKRr9DxW8dwX+bpczC8pDJYJ9/I8r/yYV8L3fc/z6Fq/LsKyP4nNzxy6onXkI1IWL7FDGrJpaSdiUI/+mbNItfx8W3kWaqGvIooiSql4ogxJqgh7UvWME1q5zchOG+I4xvRYoDmwEzB4ys97TZJE/FPZ8tWkmNDa3MKJVifLsvLEjvK8k3I7fSbyeFPL+bBEpZ3Ep4+RFR+wYQ91fSdyIyf0bnJK5TV92cnoUWPyhnUU7kVqjrC8z3P2BIhPJ342rJymKR1lefiPEL13cvbI58ofUzyHjaDOJ/FBxICUXWJSc6OZffrglrpJSHXTkvBse6AzsBMwNtI0dRzH9/2G9l4U6IaLTrn7ge4Ebln614pWdD+sdb9PXd8J+YS4am/Yg2VZhRWoJ6OcNNFRUZ5j0UyaptT7Qn0DlTQco7rODPEBu2pchSPWmWUYhiRG8oQheXOr5pYxGlWkoa7CvTbiv/TZti2/b/PITuUxpV3Rv+Nel+ZHGwPACOwEGApdCjdM+2h+cmu3kTTMZKwkSRLXdes2KdyIVMlankGPF2u//vkhzar7gK7rdhuP67oNc0XDMKxMF82zaTgQRF2qqb+k8L5xHJf7ZvLTCbl1b7HWyQPAIICdAAAAAEAvYCcAAAAA0AvYCQAAAAD0AnYCAAAAAL2AnQAAAABAL2AnAAAAANAL2AkAAAAA9AJ2AgAAAAC9gJ0AAAAAQC9gJwAAAADQC9gJAAAAAPQCdgIAAAAAvYCdAAAAAEAvYCcAAAAA0AvYCQAAAAD0AnYCAAAAAL2AnQAAAABAL2AnAAAAANAL2AkAAAAA9AJ2AgAAAAC96MBOrl27tgD9c+3atfMfLBxrAIBi2GsXCpcauj3QHdjJYrE4/07AmeiQZx1iAAAMC/a6wR6AIXSb587s5M2bNynok8Vikabpmzdvzn/IcKwBAMpgr10oXGro9kB3Zidpmp5/V6ABHfKsQwwAgGHBXjfYAzCEbvMMOxkMOuRZhxgAAMOCvW6wB2AIsBND0SHPOsQAABgW7HWDPQBDgJ0Yig551iEGAMCwYK8b7AEYAuzEUHTIsw4xAACGBXvdYA/AEGAnhqJDnnWIAQAwLNjrBnsAhgA7MRQd8qxDDACAYcFeN9gDMATYiaHokGcdYgAADAv2usEegCHATgxFhzzrEAMAYFiw1w32AAwBdmIoOuRZhxgAAMOCvW6wB2AIsBND0SHPOsQAABgW7HWDPQBDgJ0Yig551iEGAMCwYK8b7AEYAuzEUHTIsw4xAACGBXvdYA/AEGAnhqJDnnWIAQAwLNjrBnsAhgA7MRQd8qxDDACAYcFeN9gDMATYiaHokGcdYgAADAv2usEegCHATgxFhzzrEAMAYFiw1w32AAwBdmIoOuRZhxgAAMOCvW6wB2AIsBND0SHPOsQAABgW7HWDPQBDgJ0Yig551iEGAMCwYK8b7AEYAuzEUHTIsw4xAACGBXvdYA/AEGAnbcmyjDuELtEhzzrEAAAYFux1gz0AQ4Cd1BJFkeu64qXjOEmSRFFUt7LjOGEYRlEUSwRBoCjcNdEhzzrEkOe553lhGIqXtm0nSZIkSXnNNE2DILBtO03TMAwHcaD1AXlWzyhzzl432AMwBNhJLavVKo5j8dJxnDzP6QssFmZZFoah7/tioed5QRCILzZ92xVH3gYd8qxDDPnpkS28XK1WspsmSRKGoed5YqHjOHIFl88KUAnyrJ5R5py9brAHYAiwk2rSNF2tVnmee55HYzriex4EQfniQ/zV87yy0wiSJHEch/3T5XrkWYcYgiCgS0PP82iJfCgLK8dxXF6t8mUYhoUlhtNHnumqwHGcuh5NwxlrztnrBnsAhgA7qcZ13SzL0jS1bTuKoiiKbNsOwzAIAtd1fd8vrE/jPkmSNNiJ53m2bU8mE3kFLnTIsw4xkIMGQUBHMAxDOtC+7xd6xfPTCk4LGyr4arWybduyLCWfYBh0nmfP86h3c7VaWZbFXjE0pI+cu65LazLmnL1usAdgCLCTCqjw0eVvkiSFvpNcmiFLM1FouCeOY7IT6lwhCnaSZZllWbATTWJwHIcqsnyYKvs8aDqR67pUnbMso95vOsrURtKaSZLQ0B7sRNBHnmUsyypfMBiOgpxz1TH2usEegCHATipIkiRN0yiK5JInxmLpWkT+ZlKnCHV1Fm7toS+5vAR2ok8MdMg8z5OPEc0cpKPvOI58QG3bXq1WFHAh7PKVKOxE0F+eCcuyMLhToNec0+mNvhOuAAwBdlJNlmU0R4xGc+jagqyi7BaO49i27Xme7/tRFNHVs+u6dOUBO9E5BuGgNEifJImYA1g+THSUhacmSeK6Lm1FF51iTdhJgZ7ynJ/OhFDzKYZFHzmnWmdZFuONPOx1gz0AQ4CdVEAjMr7vi2ll+ek3nGaiyN9tGs2hLlNxASdPMSsAO9EnBur3pgMtjh1dQdIgvdwQ0mp0MSqWF6YZCfSxkyzLFovFDz/8wBhD33nWoeNEhzzL9JRzkhXf9y3LquzHUgB73WAPwBBgJxVkWbZarQp9HqQshTGd/HT2uxjQpRlnruvSuC/NXJHXh53oE0MURZ7nFQLwfZ8OX2FlKtZ0uLMs8zyPjq/rukJPBfrYyevXrxeLxeHhIWMMPeWZkqzJ0zh0yLNMf+c24bouV5cVe91gD8AQYCdN0OwTuvKgUiguF8g5xF/LjRP6TgYRA0F3NNAxpetCuoIUF52+72dZVj6s+vedaNVqdphnmmCuiZrkmuVZpsOcy19Vx3EqZ8sqgL1usAdgCLCTCsR1g/gC01089EBYeqgifW9Fv0iDnRSGbCeTCT0wQM1nqUOHPLPHQJ1hYkYR9ZnRXVdUeUX9pSDbVHAa3RcHmquCC3RoNfvIs+M4lmXZpyDPBXrKuW3b1GtiWVblM2cVwF432AMwBNhJBfKILD0eQMRDT04sTD3JT+3E9/0wDGkT13VpRq2oAvEvUfVpqtEhz+wxyOVVnmOUnz4UuND/QRU8y7IgCOhA08Nv6FGborjLR5mrggt0aDX7yDNNgECe6+j73FbzKSphrxvsARgC7GQT5IlmBNcEsY3RIc86xNBAmqbU6S2WZFnG3gqui26tZhnkWT2Dzjl73WAPwBBgJ4aiQ551iGH0DKvVHC7IszLY6wZ7AIYAOzEUHfKsQwyjB62mGpBnZbDXDfYADAF2Yig65FmHGEYPWk01IM/KYK8b7AEYAuzEUHTIsw4xjB60mmpAnpXBXjfYAzAE2Imh6JBnHWIYPWg11YA8K4O9brAHYAiwE0PRIc86xDB60GqqAXlWBnvdYA/AEEZlJ9euXVuYxLVr11jy3BV9xHD16lXuw9KK8xw73UDO1YA8Ewvu2sUegCF0m2dmO1ksFv9rEpQr9Xnuij5iWCwW/zoEznPsdAM5VwPyLPKQw04MAHYyYBaLRZqmb968UZznrjDcTjY+drqBnKsBeRZ5yGEnBjA2O/kfk6AqsHGuNs5zV8BOxlHgkHM1IM8iDznsxABgJwMGdlK5T+7i3Iqht5QyyLkakGeRhxx2YgBjs5P/NgnYSeU+fz8ElLWUWZbt7++/fv26v7dAznPkWQJ2AjoBdjJgYCeV++Quzq1QZicK7nRFznPkWQJ2AjphbHbyXyYBO6ncJ3dxbgXsRD2wEzXATkAnwE4GDOykcp/cxbkVsBP1wE7UADsBnTA2O/lPk4CdVO7zX4bAyOyEO52tGIGdcKewFbAT0AmwkwEDO6ncJ3dxbgXsRD2wEzXATkAnjM1O3psE7KRyn9zFuRWwE/XATtQAOwGdADsZMLCTyn1+NwRGZifc6WzFCOyEO4WtgJ2AThibnbwzCdhJ5T65i3MrYCfqgZ2oAXYCOgF2MmBgJ5X75C7OrYCdqAd2ogbYCegE2MmAgZ1U7pO7OLcCdqIe2IkaYCegE2AnAwZ2UrnPF0NAmZ0cHx/v7u7++OOP/b0Fcp4jzxKwE9AJsJMBAzup3Cd3cW6FMjtRAHKuBuRZ5CGHnRjA2OzkxCRgJ5X75C7OrRh6SymDnKsBeRZ5yGEnBgA7GTCwk8p9Ph8CQ28pZZBzNSDPIg857MQAxmYn/2ESsJPKfXIX51YMvaWUQc7VgDyLPOSwEwOAnQwY2EnlPteqpL/5zW+Wy6V4uVwuf/e739Wt/PHHH8t/LWy7FkNvKWWQczUgzyIPOezEAMZmJ/9uErCTyn2uVUl9359Op+LlBx988PHHHy+Xy0KxJqbT6a9+9St52w8++IB+l5frUMEFWZbt7++/fv26v7dAznPkWVWecw1qF3sAhgA7GTCwk8p9PluHR48ebW1tiZfb29vL5VL+hXj69OmzZ8+m0+mjR4+ePHkitp1Op1euXLly5crW1tYXX3zR/n1H9rwT5Bx5VpPnXIPaxR6AIYzNTv5mErCTyn22rKFPnz599OjR7du3t7a2bty4ce/evWfPni2XSyrcT58+3d7efvToEa28tbW1vb09mUzo5+3bt+XqT/V9Lcy0kxHnHHlWk+dcg9rFHoAhwE4GDOykcp8ta+iTJ0+Wy+X29vZ0OqXCPZ/Pt7a2ptMpXVwul0u5gtPVJP2cz+fz+Xx7e3s+n9PF5ZUrV7Sq4AKtWs0R5xx5VpPnXIPaxR6AIYzNTjKTgJ1U7nOtSnrlypXpdCo6tG/cuCE6w+Xe7HIFXy6XT58+patS+qtWFVygVas54pwjz2rynGtQu9gDMATYyYCBnVTuc61KOp1O6Zryxo0bjx49unHjhrh83NraEsPzlRWcNn/y5ImGFVygYas5ypwjz2rynGtQu9gDMISx2clfTQJ2UrnP9mX03r17olIvl8sbN2588cUX0+n0WWlGYWUFf/LkCa2sYQUX6NZqjjXnyLOaPOca1C72AAwBdjJgYCeV+2xfRufz+b179+RK/ezZs+l0Sgvl4XZRwam3nAbvRZWXr0Q1qeAC3VrNseYceVaT51yD2sUeAJFlmfw7ezydMzY7+YtJwE4q93nQjrt3716/fv3hw4dbW1vycppLePny5YODgy+//FIs/Oqrr6bT6fXr1y9fvvzpp59++umnt27dms/nBwcHW1tb169fb/m+xMjsBDlHntXkOdegdrEHQNi2LWKI49h13SiKgiAorJYkied5juO4rpskieu63imu65bX1wfYyYCBnVTus30FPzg4KFRwejmdTh8+fHhwcEAFWiCWf/vtt1S4b926dfnyZSr3WlVwgW6t5lhzjjyryXOuQe1iDyDP8yiKPM8TL+M4pper1cr3fbE8SZI4jh3HKaxGeJ4Xx7GqkNdmVHays7OzMIkLFy7ATsr7XKuSyhX8+vXr8/n8yy+/vHXr1nQ6vXXrVuHSU1Twg4OD7e3t7e1t+p0G+LWq4AKtWs0R5xx5VpPnXIPaxR5AnuckHFEUrVar/Jfa4bpu5cp5o52EYWjbtmVZtm2HYdh3/G3oNs/MdkKk5sGS5/Ojj53cvXt3e3v71q1bYvnnn39OF5rlCn737t35fP7555+L5d9+++10Ov3qq6/0qeCC4+Pj3d3dH3/8sb+3QM5z5FlVnnMNahd7AEEQkEA4juN5XhiGnuetVqswDH3fj+NYTEmJ4zhJEhIO13VpACg5hZbQmrQ8z3Pf9y3L4vpoMiO0k6OjI9V2wMrR0RFLns9PT3byz2vy29/+tu5PDx8+LL9sWL89yuxEAci5GpBnkYfcYDvJssyyLN/3Pc8Tgzhyp0iSJCK2NE1pfbGaPO4TBIE8tVasAzuphv3MMwQd8qyJnbAw9JZSBjlXA/Is8pAbbCf56d06NKaT53kcx0EQOI5DfSeEWDmKIsuyPM/Lskz0mlCfShRF5WGg1WolRoJ4gZ0Yig55hp2M4zxHztWAPIs85GbbSZ7nruuSo0RRRJGQUmRZVrgNx3Vd27aTJHEcR/SUlP0jTVPLsmjeSRRFCj7CmcBODEWHPMNOxnGeI+dqQJ5FHnKz7cRxnNVq5bpuGIYF4XAcR+44yfPcdV36kxxwQ+9IEASTyUQHQYGdGIoOee7JTv5pCAy9pZRBztWAPIs85GbbiegvkaERGeo4ofmteZ6TqQgXCYLAdV3XdS3LImspqAxh27Z8aw8XsBND0SHPsBMF+c+ybH9///Xr1/29BXKeI88SsBM10BRXmtmapqnjOLZt05/IOdI0Fbf2FLYtLxHjQTQrFn0nFWhy4EePDnmGnSjIv5rncHCnsxUjeN4JdwpbATvpFboHZ7VayR0kruumaRoEwWq1yrKsIB8NdiIsxHEcmnRC3Sr9foZ2wE4MRYc892Qn/zgERmYn3OlsxQjshDuFrYCdKCOO4zAM5UjooWqiE4UgF6GnpBD0lBT6pXxTsSbATgxFhzzDTmAnKoGdqAF2wk7h+fQ6h9oA7MRQdMgz7AR2ohLYiRpgJ6ATYCeGokOeYSewE5XATtQAOwGdADsxFB3y3JOd/MMQGJmdcKezFSOwE+4UtgJ2AjoBdmIoOuQZdgI7UQnsRA2wE9AJsBND0SHPsBPYiUpgJ2qAnYBOgJ0Yig557slO/n4IjMxOuNPZihHYCXcKWwE7AZ0AOzEUHfIMO4GdqAR2ogbYCegE2Imh6JBn2ImC/B8fH+/u7v7444/9vQVyniPPErAT0AmwE0PRIc+wk3Gc58i5GpBnkYccdmIAsBND0SHPPdlJOASG3lLKIOdqQJ5FHnLYiQHATgxFhzzDTsZxniPnakCeRR5y2IkBwE4MRYc8w07GcZ4j52pAnkUectiJAcBODEWHPMNOxnGeI+dqQJ5FHnLYiQHATgxFhzz3EcPOzs5iCFy4cGE09+wg5znyLNH3ub3grl1qArh27Rr3kazl2rVrvX52YgE7MRMd8txfDGmnLE6vBfug889eQMFzOIhu0zK4nCPPZXrKAHvtUhMAvYueqIkNdmIoOuS5vxiOjo46LLL9VfCjo6POP3sBZa2m4TlHngv0d26z1y7YCZ02b9686ftdctiJgeiQZx1iaIPOZeJMlLWa3TK4nCPPymCvG8rs5H91ZaFkChfspC1ZlnGH0CU65FmHGNowxAouQKupBuRZGex1A3YCO2EmiiLXdcVLx3GSJImiqG5lx3HCMIyiKJYIgkBRuGuiQ551iKENQ6zgArSaakCelcFeN2AnsBNmVqtVHMfipeM4eZ4HQWDbtliYZVkYhr7vi4We5wVBIOzEtm0dPksZHfKsQwxtGHzJQIYAACAASURBVGIFF6DVVAPyrAz2ugE7gZ1wkqbparXK89zzPBrTITvJ8zwIgiRJCuuLv3qeV3YasaHjOLZt69ChokOedYihDUOs4AK0mmpAnpXBXjdgJ7ATTlzXzbIsTVPbtqMoiqLItu0wDIMgcF3X9/3C+jTukyRJnZ3Ecew4ThRFnudNJhN2QdEhzzrE0IYhVnABWk01IM/KYK8bsBPYCRue561WqzAMyTkKfSe5NEOWZqLQcE8cx2Qn1LlCyFsJbNuuXK4SHfKsQwxtGGIFF6DVVAPyrAz2ugE7gZ2wkSRJmqZRFMl9JI7jiImu9Lv4k+d51MWSl27tIWUp7N+2bXm+LQs65FmHGNowxAouQKupBuRZGex1A3YCO+EkyzISCBrNiePYdV0yEtlLCJpN4nme7/tRFCVJQgNASZKU7SRJEsuy2D+gDnnWIYY2DLGCCxQ8Yb0PBpdz5FkZ7HVDmZ38j67ATtigERnf94MgEBNE6HeaiSILCo3m0EiNuN84jmPP8yp3Th7T7wdogQ551iGGNgyxgg8d5FwNQ8wze92AncBO2MiybLValfs8HMcpjOnkeU6qIeaR+L7veZ7ruo7jkLXI+7Ftm24FYkeHPOsQQxuGWMGHDnKuhiHmmb1uwE5gJ/zQ7BPqEYnj2LKsMAzpT+Qc4q+FWa6VfSeO42iiJrkeedYhhjYMsYIPHeRcDUPMM3vdgJ3ATtigPg/XdcVIDd3FQw+ETdOUZqLkp46SN9oJzZP1fX8ymdin4J4dTWJowxAr+NBBztUwxDyz1w3YCeyEDfm+G3oUrIiHHv9amHqSn9qJ7/thGNImruvSjFrqL8myLP4lCj9QBTrkWYcY2jDECj50kHM1DDHP7HUDdgI70ZcgCAr/cEeM+AwFHfKsQwxtGGIFF+BeEjUgz8pgrxuwE9gJ6BEd8qxDDJUcHx/LLwsV/P3792rDORdDeQ7H0HOOPCuDvW7ATmAnoEd0yLMOMVRyfHx89erVX//614eHh4eHh4vF4ocffjg8PNzf3//kk08K9V1zBtRqDjrnyLMy2OuGMjv5b12BnYAe0SHPOsRQh+/7iyrK/2JJc4bSauYDzznyrAz2ugE7gZ2AHtEhzzrEUMfx8fFHH31UKN8fffTRIC4uZQbUag4658izMtjrBuwEdgJ6RIc86xBDA+VLzKFcXMoMqNXMh5xz5FkZ7HUDdgI7AT2iQ551iKGBwiXmgC4uZYbVag4358izMtjrBuwEdrI2165dW5jEtWvXWPLcFTrE0Ix8iTmgi0uZYbWa+WBzjjwrg71uqAlgATsZk50sNP6X032wOMezCti/4ZrE0Iy4xBzWxaXM4FrNgeYceVYGe92AncBONtmWWxiUQqfImzdvFOe5K3SI4UzoEnNYF5cyg2s182HmHHlWBnvdUGYn/6UrsJNNtuV+So1SznOKsH/DNYnhTI6Pj3d2doZ1cSkzxFZziDlHnpXBXjdgJ7CTTbblFgalwE7KXL16daM5PKo5z5yhtciybH9///Xr1/29xVDme/WacwV5xrlNLLhrl5oAFrCTkdkJ93icUs5zirB/w3uKYbFY/OsQWAzw/5vUsRjIiOrQc45zW+Qhh52wAjvZZFtuYVAK7KRyn9zFuRWLc8wZ0o0B2cmgc45zW+Qhh52wAjvZZFvuo6YU2EnlPrmLcyvUfL3VMCw7GW7OcW6LPOSwE1ZgJ5tsy33UlAI7qdwnd3FuxdBbShnYiRpwbos85LATVmAnm2z7nyYBO6nc5++HwNBbSpnFQGajDz3nOLdFHnLYCSuwk0225RYGpcBOKvfJXZxboaylPD4+3t3d/fHHH/t7C9hJrirP3KdtK2AnXb0LdwtTC+xkk23fmwTspHKf3MW5FcrsRMFzOGAnuao8c5+2rYCddPUu3BJSC+xkk225hUEpsJPKfXIX51bATtQDO1ED7KSrd+GWkFpgJ5ts+84kYCeV+/yXITAyO+G+ub4VI7AT7tO2FbCTrt6FW0JqgZ1ssi23MCgFdlK5T+7i3ArYiXpgJ2qAnXT1LtwSUgvsZJNtuYVBKbCTyn1yF+dWwE7UAztRA+ykq3fhlpBaYCebbMstDEqBnVTu87shMDI74b7DsRUjsBPu07YVsJOu3oVbQmqBnWyyLbcwKAV2UrlP7uLcCtiJemAnaoCddPUu3Pdd1AI72WTbE5OAnVTuk7s4twJ2oh7YiRpgJ129C7eE1AI72WRbbmFQCuykcp/cxbkVsBP1wE7UADvp6l24JaQW2Mkm2/6HScBOKvf5YgiMzE64x8FbMQI74T5tWwE76epduCWkFtjJJttyC4NSYCeV++Quzq1QZidZlu3v779+/bq/t4Cd5KryzH3atgJ20tW7cEtILbCTTbb9d5OAnVTuk7s4t0KZnSgAdqIGnNsiDznshBXYySbbcguDUmAnlft8PgSG3lLK6FxGZYaec5zbIg857IQV2Mkm2/7NJGAnlfvkLs6tGHpLKaNzGZUZes5xbos85LATVmAnm2zLLQxKgZ1U7nOtSvqb3/xmuVyKl8vl8ne/+13dyh9//LH818K2azH0llJm3TL6pz/96c6dO+LlnTt3fv7557qVP/vsM/mvhW3XYug5x7kt8pCbYSfcT9SqBXayybaZScBOKve5ViX1fX86nYqXH3zwwccff7xcLgvFmphOp7/61a/kbT/44AP6XV6uQwVXybp28sc//nE2m4mXH3744WeffXbnzp2CiBCz2ey7776Tt/3www/pd3k57MScc5u9dsFOYCebbMstDEqBnVTu89k6PHr0aGtrS7zc3t5eLpfyL8TTp0+fPXs2nU4fPXr05MkTse10Or1y5cqVK1e2tra++OKL9u+rrKU8Pj7e3d398ccf+3uLdcvoy5cv5/O5eLlcLvf29uRfiLdv37579242m718+fLVq1di29lsdvPmzZs3b87n82+++UaTkqomzzi3cw1qF+wEdrLJtn81CdhJ5T5b1tCnT58+evTo9u3bW1tbN27cuHfv3rNnz5bLJRXup0+fbm9vP3r0iFbe2tra3t6eTCb08/bt23L1p/q+FsrsRM1zOFoWtbdv3758+XJ/f38+nz948ODFixfv3r3b29sjKXn79u1yuXz58iWtPJ/Pl8vlZDKhn/v7++8ksyF30aekqskzzu1cg9oFO4GdbLIttzAoBXZSuc+WNfTJkyfL5XJ7e3s6nVLhns/nW1tb0+mULi6Xy6Vcwelqkn7O5/P5fL69vT2fz+ni8sqVK1pVcIFWdvLq1au9vb3lcjmbzUhKLl26NJ/PZ7MZdZzs7e3JdkI9JfTz0qVLly5dWi6Xly5doo6Tmzdv6lNStbKTcZ/b7LULdgI72WTbv5gE7KRyn2tV0itXrkynU9GhfePGDdEZLvdmlyv4crl8+vQpXZXSX7Wq4AKt7IS4efPmbDYTgzUPHjwQAz3ySE3ZTvb29t6+fUs9LvRXfUqqVnYy7nObvXbBTmAnm2zLLQxKgZ1U7nOtSjqdTuma8saNG48ePbpx44a4fNza2hLD85UVnDZ/8uSJhhVcoKGdzGYz6i958ODBy5cvHzx4ILpG5vO5mHpSaSe0+atXr2Anxp7b7LWrqwB+/vnn5ndZ6/RWCexkbXZ2dhYmceHCBdhJeZ/ty+i9e/dEpV4ulzdu3Pjiiy+m0+mz0ozCygr+5MkTWlnDCi7QzU5evHghLGRvb+/BgwfffPPNbDZ7V5otW2knr169opVhJ8ae2+y1q6sAvvrqq6tXrx4cHNS9y1qnt0rUlK9uDzSznRCpebDk+fyw28l8Pr93755cqZ89ezadTmmhPNwuKjj1ltPgvajy8pWoJhVcoJudXLp06cWLF7KFvHv3bjab0UJ5KomwExoJookpwmDkXhYdSqpudjLic5u9dnUVwPHxMV1nVjoK7GSEdnJ0dKTSDNg5OjpiyfP56clODtpx9+7d69evP3z4cGtrS15OcwkvX758cHDw5ZdfioVfffXVdDq9fv365cuXP/30008//fTWrVvz+fzg4GBra+v69est35cYmZ2ctOP58+f3798nw5CX0zzZ3d3dk5OT77//Xiz86aefZrPZ/fv3d3d3qa/l8ePHFy9ePDk5mc/n9+/fb/m+xAjsBOd2rkHt6jCATz75RPSFFxwFdjJCOwFt0CHP7HZycHBQqOD0cjqdPnz48ODggAq0QCz/9ttvqXDfunXr8uXLVO61quAC3ezk5OSkYCf0kkZwTk5OSD4EYvmbN29ISh4/fry7u0sqAzsx8Nxmr10dBnD79u3CeL1wFNgJ7MRQdMgzr53IJZt+v379+nw+//LLL2/dujWdTm/dulW49BQV/ODgYHt7e3t7m36nAX6tKrhAKzuRdYR+v3///sWLF7///vvHjx/PZrPHjx8XulWEnZycnNAUCvr94sWLhTVhJ/qc2+CcXL16dQE7gZ2YiQ557iOGxUYV/O7du9vb27du3RLLP//8c7rQLFfwu3fvzufzzz//XCz/9ttvp9PpV199tVYFN9xOnj9/vlwuHz9+LJZ//fXX1IlStpPnz59fvHjx66+/FsvfvHkzm81++ukn2Ilp5zZ77eowgDt37pTV5O/+7u/odOKWkFpgJ6BHdMhzT3byz2vy29/+tu5PDx8+LL9sWL89yuwky7L9/f3Xr1/39xaLxeI/1uTPf/5z3Z/+8Ic/lF82rN+eXnOuJs/rnmajPLfZa1eHAVy/fr3sJeJduCWkFtgJ6BEd8qyJnbCgzE4UsIGdsDD0nOPcFnnIR2En79+//+ijj8peIt6FW0JqgZ2AHtEhz7CTcZznsBM14NwWechHYSe///3vK71EvMtaA6YqgZ2AHtEhz7CTcZznsBM14NwWechHYSf/9m//1jAUCDuBnRiKDnnuyU7+aQgMvaWUWSwW/z4Ehp5znNsiD/ko7OTMd+GWkFpgJ6BHdMgz7GQc5znsRA04t0UectgJK7AT0CM65Bl2oiD/au505RaPVvSaczV55j5tWwE76epduCWkFtgJ6BEd8tyTnfzjEBiZnfxtCIzATrhP21bATrp6F24JqQV2AnpEhzzDTmAnKoGdqAF20tW7cEtILbAT0CM65Bl2AjtRCexEDbCTrt6FW0JqgZ2AHtEhz7AT2IlKYCdqgJ109S7c9+DXAjsBPaJDnnuyk38YAiOzk2wIjMBOuE/bVsBOunoXbgmpBXYCekSHPMNOYCcqgZ2oAXbS1btwS0gtsBPQIzrkGXYCO1EJ7EQNsJOu3oVbQmqBnYAe0SHPPdnJ3w+BkdnJX4fACOyE+7RtBeykq3fhlpBaYCegR3TIM+wEdqIS2IkaYCddvQu3hNQCOwE9okOeYSewE5XATtQAO+nqXbglpBbYCegRHfIMO1GQ/yzL9vf3G/4V6vmBneSq8sx92rYCdtLVu3BLSC2wE9AjOuS5JzsJh4AyO1HAYrH4yxAYes5xbos85GbYCfd/pqoFdgJ6RIc8w07GcZ7DTtSAc1vkIYedsAI7YSbLMjkMz/OyLGtYP47j/oPqDB3yDDvR4Tw/P7ATNeDcFnnIYSeswE6Y8X3fdV3x0nGcPM9Xq1UYhvJqcRx7nmfbtuu6URR5nrdardxTbNvW01p0yDPsRIfz/PzATtSAc1vkIYedsAI7YYZ0RPSX0Ms8z23brls5z3PP82QdEcuJJEk0kRUd8txHDDs7O4shcOHChUG3lDLIuRqQZ2LBXbvUBLCAncBOKgmCIAzDPM9F54fwjEKfCnGmnaRpatu2bduWZdm2zf4BdchzfzGknSK+in3Q+WcvoOBOV6K/FHVOHx8feS7TUwbYaxfsBHbCRhzH5B8kImQqpClJksixJUkShmEQBLZte57n+z79FJ2coqMly7IkSeh3Wln955LRIc/9xXB0dNRhke3PTo6Ojjr/7AWUtZrd5rw/eso58lygv3ObvXbBTmAnbNDckSiKVquVWCiP0RT6TshO6PcwDOXJs1EUlfcPO9EnhjZQnANFWatpOMizMtjrhjI7+ZuuwE6YcV2XDoDoBaFOkSAI4jiWFWS1WtGs2DRNqaMlDENambpSaLU0TcUUWvYPqEOedYihDbATcCbIszLY6wbsBHbCSRAEQRDkUueHmFCyWq3EGA2xWq0cx6EbdmgJWUhhn3QLj23bjuMU9qAeHfKsQwxtgJ2AM0GelcFeN2AnsBM2oiiyLIsGd8RCEg7f9+XhnjzPqSulcG+OsJPKkR3qa+kj8vbokGcdYmgD7AScCfKsDPa6ATuBnXBSGQApS2EFshD5jh7P81zXdRzH8zzP88rdJGQ/fYXeDh3yrEMMbYCdgDNBnpXBXjdgJ7ATNmiCCHlGEARJkmRZRsM3NIlEPLYkPH0yW13fiYCGitI0TZKEBndUfZpqdMizDjG0AXYCzgR5VgZ73YCdwE7YoM4PEUMQBOKleA5s4aFqdXaSZRn9kiSJ4zg076QwNsSCDnnWIYY2wE7AmSDPymCvG7AT2IkWlCeO+L5v2zbNmRWQnVBHC0EPR9Hn4bAFdMizDjG0AXYCzgR5VgZ73YCdwE5Aj+iQZx1iaAPsBJwJ8qwM9rqhzE4yXYGdgB7RIc86xNCGQdvJ+/fvDw8Ps8Z/rw3OD/KsDPa6ATuBnYAe0SHPOsTQhkHbCQAjg71uwE5gJ6BHdMizDjG0AXYCgD6w1w3YCewE9IgOedYhhjbATgDQB/a6ATuBnYAe0SHPOsTQBtgJAPrAXjdgJ7AT0CM65FmHGNoAOwFAH9jrBuwEdgJ6RIc86xBDJcfHx/LLgp28f/9ebTjnAne6qgF5VgZ73VBmJ3/VFdgJ6BEd8qxDDJUcHx9fvXr117/+9eHh4eHh4WKx+OGHHw4PD/f39z/55JOCu2gOWk01IM/KYK8bsBPYydpcvXp1YRLXrl1jyXNX6BBDHb7vV+ac/tHSgECrqQbkWRnsdUNNAAvYyZjsZLFY/KtJLM4xH4L9G65JDHUcHx9/9NFHBTX56KOPhtVxkqPVVAXyrAz2ugE7gZ1ssi23MCiFTpE3b94oznNX6BBDA+Xuk8F1nORoNVWBPCuDvW7ATmAnm2z7e5M4zynC/g3XJIYGCt0nQ+w4ydFqqgJ5VgZ73YCdwE422ZZbGJQCO+kbuftkiB0nOVpNVSDPymCvG7AT2Mkm2/6LScBO+kZ0nwy04yRHq6kK5FkZ7HUDdgI72WRbbmFQCuxEAdR9MtCOkxytpiqQZ2Ww1w1ldvIXXYGdbLLtdyYBO1HA8fHxzs7OQDtOcrSaqkCelcFeN2AnsJNNtuUWBqXATspcu3ZtMQTO86yatUCrqQbkWRkL7tqlJoAF7GRkdvLCJM5zirB/w3uKYbFY/O8QWKj63z3v378/PDzMskzN2xkL8qwM9toFO4GdbLIttzAoBXZSuU9u8WjF4hzPqgHAZNhrF+wEdrLJts9NAnZSuU9u8WiFmq83AOODvXbBTmAnm2zLLQxKgZ1U7pNbPFoBOwFgM9hrF+wEdrLJts9MAnZSuc//GQKwEwA2g712wU5gJ5tsyy0MSoGdVO6TWzxaATsBYDPYa5cyO/l/ugI72WRbbmFQCuykcp/c4tEKZXaCO13VgDwrg712wU5gJ5tsyy0MSoGdVO6TWzxaATsZGcizMthrl5oAdnZ26p+XxMyFCxdgJ2tvyy0MSlnATqr2+d9D4DzHbi3QaqoBeVYGe+1SGUCqN71+9rHZyYFJwE4q98ktHq2AnYwM5FkZ7LVLZQBHR0cc1tGKo6OjXj877GTAwE4q98ktHq2AnYwM5FkZ7LWLPQBDGJud/LNJwE4q9/lfQwB2MjKQZ2Ww1y72AAwBdjJgYCeV++QWj1bATkYG8qwM9trFHoAhjM1O/skkYCeV++QWj1bATkYG8qwM9trFHoAhwE4GDOykcp/c4tEK2MnIQJ6VwV672AMwhLHZyT+aBOykcp//OQRgJyMDeVYGe+1iD8AQYCcDBnZSuU9u8WgF7GRkIM/KYK9d7AEYwtjs5B9MAnZSuU9u8WiFMjt5//794eFhlmV9v5HhIM/KYK9d7AEYAuxkwMBOKvf5fggosxMARgZ77WIPwBDGZid/bxKwk8p9cotHK2AnAGwGe+1iD8AQYCcDBnZSuc+1LOFPf/rTnTt3xMs7d+78/PPPdSt/9tln8l8L264F7ASAzWCvXewBGMLY7CQ0CdhJ5T7XsoQ//vGPs9lMvPzwww8/++yzO3fuFESEmM1m3333nbzthx9+SL/Ly2EnAPQHe+1iD8AQYCcDBnZSuc936/Dy5cv5fC5eLpfLvb09+Rfi7du37969m81mL1++fPXqldh2NpvdvHnz5s2b8/n8m2++af++mBU7MpBnZbDXLvYADGFUdrKzs7MwiQsXLsBOyvts6Qdv3759+fLl/v7+fD5/8ODBixcv3r17t7e3R1Ly9u3b5XL58uVLWnk+ny+Xy8lkQj/39/dlsyF3WYsF7igeF8izMthrF3sAhtBtnpnthEjNgyXP54fXTl69erW3t7dcLmezGUnJpUuX5vP5bDajjpO9vT3ZTqinhH5eunTp0qVLy+Xy0qVL1HFy8+ZN2InJIM/KYK9d7AEYwgjt5OjoiMsSWDg6OmLJ8/nhtRPi5s2bs9lMDNY8ePBADPTIIzVlO9nb23v79i31uNBfYScmgzwrg712sQdgCCO0E9AGHfKsg53MZjPqL3nw4MHLly8fPHggukbm87mYelJpJ7T5q1evYCcAeVYGe+1iD8AQYCeGokOe2e3kxYsXwkL29vYePHjwzTffzGazd6XZspV28urVK1oZdgKQZ2Ww1y72AAwBdmIoOuSZ3U4uXbr04sUL2ULevXs3m81ooTyVRNgJjQTRxBRhMHIvC+zETJBnZbDXLvYADAF2Yig65LknOzlpx/Pnz+/fv0+GIS+nebK7u7snJyfff/+9WPjTTz/NZrP79+/v7u5SX8vjx48vXrx4cnIyn8/v37/f8n0J2MnIQJ6VwV672AMwBNiJoeiQZ3Y7OTk5KdgJvaQRnJOTE5IPgVj+5s0bkpLHjx/v7u6SysBOTAZ5VgZ77WIPwBBgJ4aiQ5557UTWEfr9/v37Fy9e/P777x8/fjybzR4/flzoVhF2cnJyslwul8sl/X7x4sXCmrAT00CelcFeu9gDMATYiaHokGd97OT58+fL5fLx48di+ddff02dKGU7ef78+cWLF7/++mux/M2bN7PZ7KeffoKdGAvyrAz22sUegCHATgxFhzz3ZCf/sSZ//vOf6/70hz/8ofyyYf32wE5GBvKsDPbaxR6AIcBODEWHPGtiJywosxMARgZ77WIPwBBgJ4aiQ55hJzjPAVgX9trFHoAhwE4MRYc8w05wngOwLuy1iz0AQ4CdGIoOee7JTv59CMBOANgM9trFHoAhwE4MRYc8w05wngOwLuy1iz0AQ4CdGIoOeYadKMj/+/fvDw8Psyzr+40MB3lWBnvtYg/AEGAnhqJDnnuyk78NAdxRPDKQZ2Ww1y72AAwBdmIoOuQZdgI7GQ3IszLYaxd7AIYAOzEUHfIMO4GdjAbkWRnstYs9AEOAnRiKDnmGncBORgPyrAz22sUegCHATgxFhzz3ZCfZEICdjAzkWRnstYs9AEOAnRiKDnmGncBORgPyrAz22sUegCHATgxFhzzDTmAnowF5VgZ77WIPwBBgJ4aiQ557spO/DgHYychAnpXBXrvYAzAE2Imh6JBn2AnsZDQgz8pgr13sARgC7MRQdMgz7AR2MhqQZ2Ww1y72AAwBdmIoOuQZdgI7GQ3IszLYaxd7AIYAOzEUHfLck538ZQjgvwACsBnstYs9AEOAnRiKDnmGneA8B2Bd2GsXewCGADsxFB3yDDvBeQ7AurDXLvYADAF2Yig65Bl2gvMcgHVhr13sARgC7MRQdMhzHzHs7OwshsCFCxdgJwBswIK7drEHYAjd5hl2Mhh0yHN/MaTDofPPXuD9+/eHh4dZlvX9RoaDPCuDvXaxB2AIsBND0SHP/cVwdHTEaRytOTo66vyzF8CdrmpAnpXBXrvYAzAE2Imh6JBnHWIYPWg11YA8K4O9brAHYAiwE0PRIc86xDB60GqqAXlWBnvdYA/AEGAnhqJDnnWIYfSg1VQD8qwM9rrBHoAhwE4MRYc86xDD6EGrqQbkWRnsdYM9AEOAnRiKDnnWIYbRg1ZTDcizMtjrBnsAhgA7MRQd8qxDDKMHraYakGdlsNcN9gAMAXZiKDrkWYcYRg9aTTUgz8pgrxvsARgC7MRQdMizDjGMHrSaakCelcFeN9gDMATYiaHokGcdYhg9aDXVgDwrg71usAdgCLATQ9EhzzrEMHqOj4/RaioAeVYGe91gD8AQYCeGokOedYjBBA4PD9+/f88dxfhBntXAXjfYAzAE2Imh6JBnHWIAAAwL9rrBHoAhwE4MRYc86xADAGBYsNcN9gAMAXZiKDrkWYcYAADDgr1usAdgCLATQ9EhzzrEAAAYFux1gz0AQ4CdGIoOedYhBgDAsGCvG+wBGALsxFB0yLMOMQAAhgV73WAPwBBgJ4aiQ551iAEAMCzY6wZ7AIYAOzEUHfKsQwwAgGHBXjfYAzAE2Imh6JBnHWIAAAwL9rrBHoAhwE4MRYc86xADGBNRFBVOpyRJuIIBPcFeN9gDMATYyRo4jrNusVutVuf/LFmWnXMPZXTIsw4xgDHheZ5lWXEciyW2bdu2HUVRFEV8cYEuYa8bHQbQpoGorP+e57UMwPf9M9ep21VzeEEQBEFQWNLhcYGdNFE4Laj2Na8jk6apZVmu6xaWFwplHMeO43ie53nearVarVZ5njuO47qu53mu61qW1fkloA551iEGMCbK31Dbtj3Po18sy8LJNgLY60aHAViWRQW/Adu2y40IaXebt/B937KsZjv3fd9xnPInqmy/BPR1k9smiioIAtd1z99mwU6acF2Xl7Xu0QAACZdJREFUFIFwXZeKXWGJWN/3ffmvq9WKjm5h4WQykZUzjmO64IvjWJyI9Escx0EQWJbVefeJDnnWIQYwJhrshH6Xu1XAQGGvG93aiTg/65DP4TAMywvPxLZtx3Ga13Ecp6w7hZ7IAg1fN2rmzikoRthJkiTxKZV7TtM0iiLP8+QjQT0fQRCIbclFYgnHcVarlVCHNE3lv5IXxzWIN6I16Xf5Uo9+kf/aIezfcE1iAL1iWVa5wFE3RuGqi5YUrvCo41CuwmT8lmUV+qvFN9SyrDAMRS2WLzHDMISgjAD2utGrnbiuW7gWLRg2nc91dlLZ1tAQjLxktVoVXCSKIuo+kTtLxJc3y7JyH4+wExGw3M3jOM45h1ONsBPLsianWJZVqFBU0eQV6N09z6MRa3FExRh2HMdUAQujbjLU51H+IOUDRv5BPSviZCXbFSM7XaVCwP4N1yQG0Cv0zZK/bkmSiO+aXAcdx5lMJoUKSJsXJIa2LdRW6rZ0HEd8lVarFb2cTCbOKZ7ntRmGBzrDXjc2C4CuZmVs26YWR15CL+UNm+2k4BleCdphebnnedQTI3+/PM8LgkDEQ180ERt9d7Iso83p+yUPIFB41FzSiFJDE3kmptiJqFnihKA/ua5LxW61WgkVKLgLDc1QV5Vt27SmfHTLkMpQfXQlaCeFkTx5ZIeON6kPnRa+7585MLkB7N9wTWIAvVK2E/rG0RdB1u4gCApLyGPkJVEUkWrQN7p85lDPCv0uX2OIFfqYYA4Uw143ugqAvh00UaNhNTGdIP+lnVADUe4FKb9L8xiQ3OFR2FXdyA4NR4jmUoiX3NT6vl8YJVgXg+yEfqfxGqqY4nf5cqryrakjJAiCKIrExJ/mdyyfMaQsXtVca1E0kySR50nRIa/sVTsn7N9wTWIAvVK2E/oyZllW1y8iVvY8r7J/hbqgC19beQ/yvXV0AZdlGfV3loeEwOBgrxudBBAEAfWUFCYvypB/0FeGLndF54pwjoJ/l6HLXfEySZLCdBBqdHzfp9mshW0b9ILCkI2/EAxGds5GtpNcKoK+7xcuzsr4vk+nhRwSlTz6vewNYRhOJpOCrlJfSHmWkOgjkd2TFgroZbeCwv4N1yQG0CsF4RCdH/npvLmyfMiXcWV9oe8ddbSUB87p60w9KNTzTDuhnu3VakXXc31/atAr7HWjkwBokoDoaWjo3qBrWhpwEde9YmSn2U6oA1IeThKXB/Jqq9WKOuwLLZRsJ+WLZPp2y8M3dBkfhqEYiDhPs2WcnchGQhdndYdWiKpsD/IxJnUoDBOSh5btpI1eyOdZmqa2bdeNHJ0f9m+4JjGAXinYiXzDmpAJsbI8uEP9muW/ii9RuetFfDGTJKE6m6YpddJQAPRXnG9Dh71unD8AGuXPpWGXhl4KEhHqhyjPO2m2E9IFeUndQA8NC8iTTsjs5eZPTD0Re6a+H/mKmpbQxf85+ylNsROqemJKHdXHZjshfN+XNVNIYt05QQdYHCF5Rq1YQtdw8lZpmtLhlxcmSUJnRrePuCHYv+GaxAB6pWAnopyJ+Xo0UlNYP0kSuoqonDYrbytWoG+QV/VEIuq1ph32p/tAGex145wByA+JEK5ACysFpXlWbLOdlJuVusHNcqtEfZB1ozN0vU0fRNYd8Snscz9hyCA7oeO6Wq1EuslOmkd2RO+ImMPccE44p/dQ0Tknz5+1ShOnhfTIf6WnscXS89mEWp052WUt2L/hmsQAekW2E+osKSP3KYrBncphnfK28gBrkiSVdiJuyqOvDybGDh32unGeAMQ9EPRS7skQI5KFTershBoFq2qOI0EdkLJe0BLZgbIsi6KIpmTJn4gGAeq+MlEUUetW/rrRdTh9Fjzv5GwKXcQCUS4bJu+Is0Hsig5t2U5i6WEq5ZPMrro9PQxDGvCzTh+sImZIiSViQm63OWH/hmsSA+gJMaoi7ERMNBEdiuWJX2JCSeWwjuM4Ylv61pDBpGkqekPL33R6X3Fd6Jz1WCqgOex1Y+MARCd6+apVXDzTN0Lu5BMjO9Tky30nNAGArmbLb0c3jRYCKPdnUBNTaM7kqQhO6dkZdK9G5ddNXPOLa5I1k/R/GG0n+enMO6ECdDtA/Mv/02FJE5ca7KTwjm3sRF6/sFuxJMbT2MDQoJNWdPvRQlpSONx1gzuFYR36nhZKJC2UVyuUS5rHJ7qg6QvVx7cJqIS9bmwWAD0bIssyuoOMKMwByPPc++UjeWjmrGVZdGeGuFp2XbfwrSm8Xbk7JK/Rd9qb3JyJf6gikGUlyzLqFKnrO5EvBponTjRjup3Q+VHoLi7/4wD5ZOrJTpr7Ttb9yGfC/g3XJAbQB1RGLenJhzSJqjwxnOxBLsf0FSjc4FYePs+l++nEErlc0h2bhW5z+YEoYKCw140NAkiSpLIXoXIoh6CuR+EltNCpet68PPWboE6a+PQxr+JPlZvn0hCBEHq6VheX5eIxRfJWBTuhebWu61JPJ32pz/N1M8JOmu/Xyk+tlmpZYagsCAJ5ibDXhtG+XDrn6PYB0slmO6HuPnH2iCV0WuC/AAJwJlQuqcKWp/7RgwDOOVMPsMNeN5T9nx3f9wuVn85h+5dYv3xqF913U3gCLG1V1wwJOxHPAKP1Pc+ji+Q0TctmL+yEvnGO9Oh6MVoEO1GNmAtSt0Jh4LA8/ldAnFg0iJ4kifhvCzRrqZu4JXTIsw4xgDGRZdmZpxOedzJ02OuG4v8CWCCuQrhI3aW4uJO0cp/U6Ig9VF4Mp2lauOWNBhDoX/OUN6Er8/PMjYWdGIoOedYhBgDAsGCvGx0GgOrXAOzEUHTIsw4xAACGBXvdYA/AEGAnhqJDnnWIAQAwLNjrBnsAhgA7MRQd8qxDDACAYcFeN9gDMATYiaHokGcdYgAADAv2usEegCHATgxFhzzrEAMAYFiw1w32AAwBdmIoOuRZhxgAAMOCvW6wB2AIsBND0SHPOsQAABgW7HWDPQBDgJ0Yig551iEGAMCwYK8b7AEYAuzEUHTIsw4xAACGBXvdYA/AEGAnhqJDnnWIAQAwLNjrBnsAhgA7MRQd8qxDDACAYcFeN9gDMATt7GRnZ2cB+mdnZyfn/oLhWAMA1oW9dqFwqaHbA92BnRDQUjXokGcdYgAADAv2usEegCFoZydHR0cp6J+jo6OuDhmONQBAGey1C4VLDV0d6M7sBAAAAACgE2AnAAAAANAL2AkAAAAA9AJ2AgAAAAC9gJ0AAAAAQC9gJwAAAADQC9gJAAAAAPQCdgIAAAAAvfj/AB8HMuKWugMAAAAASUVORK5CYII=" alt="" />
上图展示了一个虚拟机实例的快照,它有三个线程正在执行。线程1和线程2都正在执行Java方法,而线程3则正在执行一个本地方法。
Java栈都是向下生长的,而栈顶都显示在图的底部。当前正在执行的方法的栈帧则以浅色表示,对于一个正在运行Java方法的线程而言,它的PC寄存器总是指向下一条将被执行的指令。比如线程1和线程2都是以浅色显示的,由于线程3当前正在执行一个本地方法,因此,它的PC寄存器——以深色显示的那个,其值是不确定的。
数据类型
Java虚拟机是通过某些数据类型来执行计算的,数据类型可以分为两种:基本类型和引用类型,基本类型的变量持有原始值,而引用类型的变量持有引用值。
aaarticlea/png;base64,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" alt="" />
Java语言中的所有基本类型同样也都是Java虚拟机中的基本类型。但是boolean有点特别,虽然Java虚拟机也把boolean看做基本类型,但是指令集对boolean只有很有限的支持,当编译器把Java源代码编译为字节码时,它会用int或者byte来表示boolean。在Java虚拟机中,false是由整数零来表示的,所有非零整数都表示true,涉及boolean值的操作则会使用int。另外,boolean数组是当做byte数组来访问的,但是在“堆”区,它也可以被表示为位域。
Java虚拟机还有一个只在内部使用的基本类型:returnAddress,Java程序员不能使用这个类型,这个基本类型被用来实现Java程序中的finally子句。该类型是jsr, ret以及jsr_w指令需要使用到的,它的值是JVM指令的操作码的指针。returnAddress类型不是简单意义上的数值,不属于任何一种基本类型,并且它的值是不能被运行中的程序所修改的。
Java虚拟机的引用类型被统称为“引用(reference)”,有三种引用类型:类类型、接口类型、以及数组类型,它们的值都是对动态创建对象的引用。类类型的值是对类实例的引用;数组类型的值是对数组对象的引用,在Java虚拟机中,数组是个真正的对象;而接口类型的值,则是对实现了该接口的某个类实例的引用。还有一种特殊的引用值是null,它表示该引用变量没有引用任何对象。
JAVA中方法参数的引用传递
java中参数的传递有两种,分别是按值传递和按引用传递。按值传递不必多说,下面就说一下按引用传递。
“当一个对象被当作参数传递到一个方法”,这就是所谓的按引用传递。
public class User { private String name; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} }
public class Test { public void set(User user){
user.setName("hello world");
} public static void main(String[] args) { Test test = new Test();
User user = new User();
test.set(user);
System.out.println(user.getName());
}
}
上面代码的输出结果是“hello world”,这不必多说,那如果将set方法改为如下,结果会是多少呢?
public void set(User user){
user.setName("hello world");
user = new User();
user.setName("change");
}
答案依然是“hello world”,下面就让我们来分析一下如上代码。
首先
User user = new User();
是在堆中创建了一个对象,并在栈中创建了一个引用,此引用指向该对象,如下图:
aaarticlea/png;base64,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" alt="" />
test.set(user);
是将引用user作为参数传递到set方法,注意:这里传递的并不是引用本身,而是一个引用的拷贝。也就是说这时有两个引用(引用和引用的拷贝)同时指向堆中的对象,如下图:
aaarticlea/png;base64,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" alt="" />
user.setName("hello world");
在set()方法中,“user引用的拷贝”操作堆中的User对象,给name属性设置字符串"hello world"。如下图:
aaarticlea/png;base64,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" alt="" />
user = new User();
在set()方法中,又创建了一个User对象,并将“user引用的拷贝”指向这个在堆中新创建的对象,如下图:
aaarticlea/png;base64,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" alt="" />
user.setName("change");
在set()方法中,“user引用的拷贝”操作的是堆中新创建的User对象。
aaarticlea/png;base64,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" alt="" />
set()方法执行完毕,目光再回到mian()方法
System.out.println(user.getName());
因为之前,"user引用的拷贝"已经将堆中的User对象的name属性设置为了"hello world",所以当main()方法中的user调用getName()时,打印的结果就是"hello world"。如下图:
aaarticlea/png;base64,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" alt="" />
类装载子系统
在JAVA虚拟机中,负责查找并装载类型的那部分被称为类装载子系统。
JAVA虚拟机有两种类装载器:启动类装载器和用户自定义类装载器。前者是JAVA虚拟机实现的一部分,后者则是Java程序的一部分。由不同的类装载器装载的类将被放在虚拟机内部的不同命名空间中。
类装载器子系统涉及Java虚拟机的其他几个组成部分,以及几个来自java.lang库的类。比如,用户自定义的类装载器是普通的Java对象,它的类必须派生自java.lang.ClassLoader类。ClassLoader中定义的方法为程序提供了访问类装载器机制的接口。此外,对于每一个被装载的类型,JAVA虚拟机都会为它创建一个java.lang.Class类的实例来代表该类型。和所有其他对象一样,用户自定义的类装载器以及Class类的实例都放在内存中的堆区,而装载的类型信息则都位于方法区。
类装载器子系统除了要定位和导入二进制class文件外,还必须负责验证被导入类的正确性,为类变量分配并初始化内存,以及帮助解析符号引用。这些动作必须严格按以下顺序进行:
(1)装载——查找并装载类型的二进制数据。
(2)连接——指向验证、准备、以及解析(可选)。
● 验证 确保被导入类型的正确性。
● 准备 为类变量分配内存,并将其初始化为默认值。
● 解析 把类型中的符号引用转换为直接引用。
(3)初始化——把类变量初始化为正确初始值。
每个JAVA虚拟机实现都必须有一个启动类装载器,它知道怎么装载受信任的类。
每个类装载器都有自己的命名空间,其中维护着由它装载的类型。所以一个Java程序可以多次装载具有同一个全限定名的多个类型。这样一个类型的全限定名就不足以确定在一个Java虚拟机中的唯一性。因此,当多个类装载器都装载了同名的类型时,为了惟一地标识该类型,还要在类型名称前加上装载该类型(指出它所位于的命名空间)的类装载器标识。
方法区
在Java虚拟机中,关于被装载类型的信息存储在一个逻辑上被称为方法区的内存中。当虚拟机装载某个类型时,它使用类装载器定位相应的class文件,然后读入这个class文件——1个线性二进制数据流,然后它传输到虚拟机中,紧接着虚拟机提取其中的类型信息,并将这些信息存储到方法区。该类型中的类(静态)变量同样也是存储在方法区中。
JAVA虚拟机在内部如何存储类型信息,这是由具体实现的设计者来决定的。
当虚拟机运行Java程序时,它会查找使用存储在方法区中的类型信息。由于所有线程都共享方法区,因此它们对方法区数据的访问必须被设计为是线程安全的。比如,假设同时有两个线程都企图访问一个名为Lava的类,而这个类还没有被装入虚拟机,那么,这时只应该有一个线程去装载它,而另一个线程则只能等待。
对于每个装载的类型,虚拟机都会在方法区中存储以下类型信息:
● 这个类型的全限定名
● 这个类型的直接超类的全限定名(除非这个类型是java.lang.Object,它没有超类)
● 这个类型是类类型还是接口类型
● 这个类型的访问修饰符(public、abstract或final的某个子集)
● 任何直接超接口的全限定名的有序列表
除了上面列出的基本类型信息外,虚拟机还得为每个被装载的类型存储以下信息:
● 该类型的常量池
● 字段信息
● 方法信息
● 除了常量以外的所有类(静态)变量
● 一个到类ClassLoader的引用
● 一个到Class类的引用
常量池
虚拟机必须为每个被装载的类型维护一个常量池。常量池就是该类型所用常量的一个有序集合,包括直接常量和对其他类型、字段和方法的符号引用。池中的数据项就像数组一样是通过索引访问的。因为常量池存储了相应类型所用到的所有类型、字段和方法的符号引用,所以它在Java程序的动态连接中起着核心的作用。
字段信息
对于类型中声明的每一个字段。方法区中必须保存下面的信息。除此之外,这些字段在类或者接口中的声明顺序也必须保存。
○ 字段名
○ 字段的类型
○ 字段的修饰符(public、private、protected、static、final、volatile、transient的某个子集)
方法信息
对于类型中声明的每一个方法,方法区中必须保存下面的信息。和字段一样,这些方法在类或者接口中的声明顺序也必须保存。
○ 方法名
○ 方法的返回类型(或void)
○ 方法参数的数量和类型(按声明顺序)
○ 方法的修饰符(public、private、protected、static、final、synchronized、native、abstract的某个子集)
除了上面清单中列出的条目之外,如果某个方法不是抽象的和本地的,它还必须保存下列信息:
○ 方法的字节码(bytecodes)
○ 操作数栈和该方法的栈帧中的局部变量区的大小
○ 异常表
类(静态)变量
类变量是由所有类实例共享的,但是即使没有任何类实例,它也可以被访问。这些变量只与类有关——而非类的实例,因此它们总是作为类型信息的一部分而存储在方法区。除了在类中声明的编译时常量外,虚拟机在使用某个类之前,必须在方法区中为这些类变量分配空间。
而编译时常量(就是那些用final声明以及用编译时已知的值初始化的类变量)则和一般的类变量处理方式不同,每个使用编译时常量的类型都会复制它的所有常量到自己的常量池中,或嵌入到它的字节码流中。作为常量池或字节码流的一部分,编译时常量保存在方法区中——就和一般的类变量一样。但是当一般的类变量作为声明它们的类型的一部分数据面保存的时候,编译时常量作为使用它们的类型的一部分而保存。
指向ClassLoader类的引用
每个类型被装载的时候,虚拟机必须跟踪它是由启动类装载器还是由用户自定义类装载器装载的。如果是用户自定义类装载器装载的,那么虚拟机必须在类型信息中存储对该装载器的引用。这是作为方法表中的类型数据的一部分保存的。
虚拟机会在动态连接期间使用这个信息。当某个类型引用另一个类型的时候,虚拟机会请求装载发起引用类型的类装载器来装载被引用的类型。这个动态连接的过程,对于虚拟机分离命名空间的方式也是至关重要的。为了能够正确地执行动态连接以及维护多个命名空间,虚拟机需要在方法表中得知每个类都是由哪个类装载器装载的。
指向Class类的引用
对于每一个被装载的类型(不管是类还是接口),虚拟机都会相应地为它创建一个java.lang.Class类的实例,而且虚拟机还必须以某种方式把这个实例和存储在方法区中的类型数据关联起来。
在Java程序中,你可以得到并使用指向Class对象的引用。Class类中的一个静态方法可以让用户得到任何已装载的类的Class实例的引用。
public static Class<?> forName(String className)
比如,如果调用forName("java.lang.Object"),那么将得到一个代表java.lang.Object的Class对象的引用。可以使用forName()来得到代表任何包中任何类型的Class对象的引用,只要这个类型可以被(或者已经被)装载到当前命名空间中。如果虚拟机无法把请求的类型装载到当前命名空间,那么会抛出ClassNotFoundException异常。
另一个得到Class对象引用的方法是,可以调用任何对象引用的getClass()方法。这个方法被来自Object类本身的所有对象继承:
public final native Class<?> getClass();
比如,如果你有一个到java.lang.Integer类的对象的引用,那么你只需简单地调用Integer对象引用的getClass()方法,就可以得到表示java.lang.Integer类的Class对象。
方法区使用实例
为了展示虚拟机如何使用方法区中的信息,下面来举例说明:
class Lava { private int speed = 5;
void flow(){ }
}
public class Volcano { public static void main(String[] args){
Lava lava = new Lava();
lava.flow();
}
}
不同的虚拟机实现可能会用完全不同的方法来操作,下面描述的只是其中一种可能——但并不是仅有的一种。
要运行Volcano程序,首先得以某种“依赖于实现的”方式告诉虚拟机“Volcano”这个名字。之后,虚拟机将找到并读入相应的class文件“Volcano.class”,然后它会从导入的class文件里的二进制数据中提取类型信息并放到方法区中。通过执行保存在方法区中的字节码,虚拟机开始执行main()方法,在执行时,它会一直持有指向当前类(Volcano类)的常量池(方法区中的一个数据结构)的指针。
注意:虚拟机开始执行Volcano类中main()方法的字节码的时候,尽管Lava类还没被装载,但是和大多数(也许所有)虚拟机实现一样,它不会等到把程序中用到的所有类都装载后才开始运行。恰好相反,它只会需要时才装载相应的类。
main()的第一条指令告知虚拟机为列在常量池第一项的类分配足够的内存。所以虚拟机使用指向Volcano常量池的指针找到第一项,发现它是一个对Lava类的符号引用,然后它就检查方法区,看Lava类是否已经被加载了。
这个符号引用仅仅是一个给出了类Lava的全限定名“Lava”的字符串。为了能让虚拟机尽可能快地从一个名称找到类,虚拟机的设计者应当选择最佳的数据结构和算法。
当虚拟机发现还没有装载过名为“Lava”的类时,它就开始查找并装载文件“Lava.class”,并把从读入的二进制数据中提取的类型信息放在方法区中。
紧接着,虚拟机以一个直接指向方法区Lava类数据的指针来替换常量池第一项(就是那个字符串“Lava”),以后就可以用这个指针来快速地访问Lava类了。这个替换过程称为常量池解析,即把常量池中的符号引用替换为直接引用。
终于,虚拟机准备为一个新的Lava对象分配内存。此时它又需要方法区中的信息。还记得刚刚放到Volcano类常量池第一项的指针吗?现在虚拟机用它来访问Lava类型信息,找出其中记录的这样一条信息:一个Lava对象需要分配多少堆空间。
JAVA虚拟机总能够通过存储与方法区的类型信息来确定一个对象需要多少内存,当JAVA虚拟机确定了一个Lava对象的大小后,它就在堆上分配这么大的空间,并把这个对象实例的变量speed初始化为默认初始值0。
当把新生成的Lava对象的引用压到栈中,main()方法的第一条指令也完成了。接下来的指令通过这个引用调用Java代码(该代码把speed变量初始化为正确初始值5)。另一条指令将用这个引用调用Lava对象引用的flow()方法。
堆
Java程序在运行时创建的所有类实例或数组都放在同一个堆中。而一个JAVA虚拟机实例中只存在一个堆空间,因此所有线程都将共享这个堆。又由于一个Java程序独占一个JAVA虚拟机实例,因而每个Java程序都有它自己的堆空间——它们不会彼此干扰。但是同一个Java程序的多个线程却共享着同一个堆空间,在这种情况下,就得考虑多线程访问对象(堆数据)的同步问题了。
JAVA虚拟机有一条在堆中分配新对象的指令,却没有释放内存的指令,正如你无法用Java代码区明确释放一个对象一样。虚拟机自己负责决定如何以及何时释放不再被运行的程序引用的对象所占据的内存。通常,虚拟机把这个任务交给垃圾收集器。
数组的内部表示
在Java中,数组是真正的对象。和其他对象一样,数组总是存储在堆中。同样,数组也拥有一个与它们的类相关联的Class实例,所有具有相同维度和类型的数组都是同一个类的实例,而不管数组的长度(多维数组每一维的长度)是多少。例如一个包含3个int整数的数组和一个包含300个整数的数组拥有同一个类。数组的长度只与实例数据有关。
数组类的名称由两部分组成:每一维用一个方括号“[”表示,用字符或字符串表示元素类型。比如,元素类型为int整数的、一维数组的类名为“[I”,元素类型为byte的三维数组为“[[[B”,元素类型为Object的二维数组为“[[Ljava/lang/Object”。
多维数组被表示为数组的数组。比如,int类型的二维数组,将表示为一个一维数组,其中的每一个元素是一个一维int数组的引用,如下图:
aaarticlea/png;base64,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" alt="" />
在堆中的每个数组对象还必须保存的数据时数组的长度、数组数据,以及某些指向数组的类数据的引用。虚拟机必须能够通过一个数组对象的引用得到此数组的长度,通过索引访问其元素(期间要检查数组边界是否越界),调用所有数组的直接超类Object声明的方法等等。
程序计数器
对于一个运行中的Java程序而言,其中的每一个线程都有它自己的PC(程序计数器)寄存器,它是在该线程启动时创建的,PC寄存器的大小是一个字长,因此它既能够持有一个本地指针,也能够持有一个returnAddress。当线程执行某个Java方法时,PC寄存器的内容总是下一条将被执行指令的“地址”,这里的“地址”可以是一个本地指针,也可以是在方法字节码中相对于该方法起始指令的偏移量。如果该线程正在执行一个本地方法,那么此时PC寄存器的值是“undefined”。
Java栈
每当启动一个新线程时,Java虚拟机都会为它分配一个Java栈。Java栈以帧为单位保存线程的运行状态。虚拟机只会直接对Java栈执行两种操作:以帧为单位的压栈和出栈。
某个线程正在执行的方法被称为该线程的当前方法,当前方法使用的栈帧称为当前帧,当前方法所属的类称为当前类,当前类的常量池称为当前常量池。在线程执行一个方法时,它会跟踪当前类和当前常量池。此外,当虚拟机遇到栈内操作指令时,它对当前帧内数据执行操作。
每当线程调用一个Java方法时,虚拟机都会在该线程的Java栈中压入一个新帧。而这个新帧自然就成为了当前帧。在执行这个方法时,它使用这个帧来存储参数、局部变量、中间运算结果等数据。
Java方法可以以两种方式完成。一种通过return返回的,称为正常返回;一种是通过抛出异常而异常终止的。不管以哪种方式返回,虚拟机都会将当前帧弹出Java栈然后释放掉,这样上一个方法的帧就成为当前帧了。
Java帧上的所有数据都是此线程私有的。任何线程都不能访问另一个线程的栈数据,因此我们不需要考虑多线程情况下栈数据的访问同步问题。当一个线程调用一个方法时,方法的的局部变量保存在调用线程Java栈的帧中。只有一个线程能总是访问那些局部变量,即调用方法的线程。
本地方法栈
前面提到的所有运行时数据区都是Java虚拟机规范中明确定义的,除此之外,对于一个运行中的Java程序而言,它还可能会用到一些跟本地方法相关的数据区。当某个线程调用一个本地方法时,它就进入了一个全新的并且不再受虚拟机限制的世界。本地方法可以通过本地方法接口来访问虚拟机的运行时数据区,但不止如此,它还可以做任何它想做的事情。
本地方法本质上时依赖于实现的,虚拟机实现的设计者们可以*地决定使用怎样的机制来让Java程序调用本地方法。
任何本地方法接口都会使用某种本地方法栈。当线程调用Java方法时,虚拟机会创建一个新的栈帧并压入Java栈。然而当它调用的是本地方法时,虚拟机会保持Java栈不变,不再在线程的Java栈中压入新的帧,虚拟机只是简单地动态连接并直接调用指定的本地方法。
如果某个虚拟机实现的本地方法接口是使用C连接模型的话,那么它的本地方法栈就是C栈。当C程序调用一个C函数时,其栈操作都是确定的。传递给该函数的参数以某个确定的顺序压入栈,它的返回值也以确定的方式传回调用者。同样,这就是虚拟机实现中本地方法栈的行为。
很可能本地方法接口需要回调Java虚拟机中的Java方法,在这种情况下,该线程会保存本地方法栈的状态并进入到另一个Java栈。
下图描绘了这样一个情景,就是当一个线程调用一个本地方法时,本地方法又回调虚拟机中的另一个Java方法。这幅图展示了JAVA虚拟机内部线程运行的全景图。一个线程可能在整个生命周期中都执行Java方法,操作它的Java栈;或者它可能毫无障碍地在Java栈和本地方法栈之间跳转。 aaarticlea/png;base64,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cHBiYsJt5XvvvZd/1/bZWYF6QamAeoEQqPe6Y3JyMpFIrF27tq2tbXBw0O3hDX5T72uvvdbQ0MD+vfPOO++9997BwUGbZYmGhoZXX32V/+ydd95Jr/nlUC8oN1AvEAL1Xr9ks9n9+/e7PbzBh+pl+pyZmSHv8i+I6elpUu9rr73GlEzaXr169erVq++8887nn38e6oV65QD1AiFQL7Csax/esGvXromJCcnq/dCdy5cvHz16dHR0dOHChTt27BgfH//www83bdq0adMmenf58uVHjx6llRcuXLh8+fJQKER/R0dHP/zww6NHjy5cuJBW9tgRA+oFpQLqBUKgXnANZ86cGRkZ6enp0TRt+/btr732mpzw5CHCs2fPbtq0afny5Q0NDWTcZcuWLVy4sKGhYfny5bSEV+/Ro0cbGhro77Jly5YtW7Z8+fJly5atXr164cKFq1evhnotqFcWUC8QAvUCMZqm7dq1a+XKla2trd/+9rdfffXVd955p3zhaVYdrl69uqGh4ezZs/Tvjh07qCL74YcfPvfcc2w1p3o3bdp0+fJlqivTu1CvBfXKAuoFQqBeIIaF5qmpqZdeeumhhx5qbW196KGHXnrppfPnz5c8PM2qw4aGBqrp7tix4+jRozt27GCV2oULF1Ljs5t66eNnz56Fep3lC8oK1AuEQL1AjDM0v/POO6+++uq3v/1tXdfvu+++Xbt2nT59ek5haGpqyi08ebtwfHycKXbTpk07dux47rnnGhoaPuT6cT3Ue/bsWVoZ6vUoX1AOoF4gBOoFYrxDcyqV2r59+z333HPPPfds3749lUrlE4Zeeumll156SRievF24bNmy8fFxXrEffvhhQ0MDLeS7b5l6qYGaOoOZnvn6MdQrIXcA6gVCoF4gJs/QfPr06V27dt133326rn/3u9999dVXPVZ+6aWXNE1z2lfTtA/c+bd/+7ft27eTPvnlNPCqv7//gw8+OHnyJFv41ltvNTQ0bN++vb+/n2rJTz311N133/3BBx8sXLhw+/btHvsioF5QKqBeIATqBWI0TcvOhXPnzv3kJz958MEHm5ubN2zY8NJLL126dMm2DqmX7Msvn1W9H3zwgU299C81LH/wwQdkVgZb/rvf/Y6M+9RTT/X395On81fvnM5AYVRQvRJyB6BeIATqBWIKDs3T09N79+791re+1draunLl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" alt="" />
该线程首先调用了两个Java方法,而第二个Java方法又调用了一个本地方法,这样导致虚拟机使用了一个本地方法栈。假设这是一个C语言栈,其间有两个C函数,第一个C函数被第二个Java方法当做本地方法调用,而这个C函数又调用了第二个C函数。之后第二个C函数又通过本地方法接口回调了一个Java方法(第三个Java方法),最终这个Java方法又调用了一个Java方法(它成为图中的当前方法)。