官术网_书友最值得收藏!

Legacy classes

A good example of classes that you don't need is the set of classes in the JRE related to CORBA. Ever heard of CORBA? If you haven't, don't despair. It's for a reason! It's an old technology that was introduced to the Java runtime back in version 1.4. It has mostly fallen out of popular use since then. Considering most applications don't use the CORBA technology anymore, wouldn't it be great if apps could be bundled with JREs that do not contain the unnecessary CORBA classes?

That's unfortunately not possible, again, because of rt.jar. Since everything gets bundled into a single runtime JAR, you cannot pick and choose what features you need. Everybody gets everything. And since the runtime has been increasing in size, so has the standalone deployable application. This is a more significant challenge when the runtime needs to be used on smaller devices with limited resources. If you are bundling the runtime with a simple Hello World application that uses just a handful of classes from the runtime, you have no option but to bundle a whole lot of unused classes in rt.jar with it. And, yes, even those old CORBA classes join in for the ride!

Java 8 introduced the concept of profiles, and with that, you can technically deploy smaller runtimes. But they do have some drawbacks. Also, this feature was just an initial step in the introduction of modularity features in Java 9 anyway. We'll examine compact profiles in detail in Chapter 4, Introducing the Modular JDK.

主站蜘蛛池模板: 潞城市| 连平县| 冷水江市| 绥滨县| 高邑县| 河池市| 故城县| 松潘县| 莒南县| 涟水县| 万盛区| 朝阳县| 滨州市| 临江市| 镇巴县| 阳高县| 桃源县| 呈贡县| 博湖县| 宣化县| 四平市| 顺平县| 锦州市| 杨浦区| 东港市| 平遥县| 怀柔区| 瑞安市| 芮城县| 齐河县| 济南市| 平潭县| 大同县| 山阳县| 隆回县| 满洲里市| 灵丘县| 双桥区| 北安市| 河北区| 施秉县|