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

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.

主站蜘蛛池模板: 孝昌县| 高阳县| 申扎县| 琼海市| 壶关县| 扬州市| 五莲县| 武穴市| 石城县| 山东省| 高密市| 肥城市| 通州市| 定远县| 衡阳市| 建始县| 蕲春县| 区。| 禄丰县| 彭州市| 锦屏县| 承德市| 三原县| 佛冈县| 禄劝| 比如县| 宣恩县| 招远市| 西昌市| 宿迁市| 章丘市| 武穴市| 香河县| 安阳市| 安泽县| 田阳县| 凌源市| 赤城县| 岳西县| 鹿邑县| 凤庆县|