- Modular Programming in Java 9
- Koushik Kothagal
- 255字
- 2021-07-02 18:38:17
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.
- Visual C++串口通信開發(fā)入門與編程實(shí)踐
- Vue.js 2 and Bootstrap 4 Web Development
- iOS開發(fā)實(shí)戰(zhàn):從零基礎(chǔ)到App Store上架
- Magento 2 Development Cookbook
- Nginx Essentials
- C語言程序設(shè)計(jì)案例精粹
- BIM概論及Revit精講
- C#程序設(shè)計(jì)教程(第3版)
- Getting Started with React Native
- Python3.5從零開始學(xué)
- INSTANT Adobe Edge Inspect Starter
- Scratch趣味編程:陪孩子像搭積木一樣學(xué)編程
- Oracle實(shí)用教程
- Python Projects for Kids
- Python Programming for Arduino