does Java belong to embedded development? In fact, for embedded systems,Java technology than the C Language and assembly language has a clear advantage, the most notable feature is to reduce the development and maintenance of the system, enhance the ability of the code re-use, improve the The integration of Java code with the original code of the system. Of course, but most embedded applications also face two big constraints that Java does not handle: not enough space and time.
the advantages of Java for embedded development
1. improve development efficiency and maintainability
TheJava Environment greatly simplifies development and maintenance throughout the lifecycle of a project. Because the target environment is built on a virtual machine, the code can be easily written, debugged, analyzed, changed, and maintained. Coupled with future external devices, the future of the system may be much more complex than the current embedded system. The upgrade manual may not work throughout the life cycle of the project. Instead, the connectivity of the hardware devices allows the modules to be managed remotely, ensuring that developers can add new performance to the product, while addressing the issue of software upgrades and maintenance after the product has been produced.
2. Reusing code
because of the special requirements of embedded systems and the need to work together with different specialized hardware, embedded software developers often use very primitive methods to develop, and sometimes every new project has to be done from scratch. Now, with the sophistication of embedded technology and the greater and greater optimization of the system itself, many people are beginning to be interested in using a product's module or even all of its applications for another product. This kind of re-use makes One development, multiple use " became possible.
java (CPU ) and software, or use a different linux
3. integrated java code and source code
in java in applications, a well-designed interface, or virtual machines, or the underlying hardware, can be well-compatible with embedded systems. Despite the inability to migrate, code developed in the local environment may still be the best solution for many functional and hardware interfaces. In c c++ java The basic library itself provides these things even more, so that you can speed up development.
Java is a disadvantage of embedded development
1.Java Fragments
In fact, from the point of view of the embedded developer, fragmentation does not affect the embedded developer, as it is already possible to determine that the hardware between the devices is fully compatible. If you are using the original language, like C + + , embedded developers can write code anywhere, and reuse code on different devices.
2. Java Platform Testing
If Java is used to realize the development of embedded devices, will it encounter The problem that the test cost is too high? Of course, using Java to develop, you can test the software repeatedly, although this is not necessarily necessary. The only new Java implementations that need to be repeated are those that are being tested completely .
if java The platform's legitimate user, you can also use the sun provides the tck java platform normal operation and press java The test passed, The portability of the developed program is completely guaranteed.
Of course, there must be a reminder for developers who only Test Java implementation ports. Because there are some implementations of the ports that might be written in C + + , these must be tested. You can use the new device to test the entire program to achieve this goal.
3.Java of Memory
When using the Java Platform for embedded device development, will its internal usage be greater than the use of the original language such as C + + ? This depends on the complexity of the software. Java is likely to cause increased memory overhead due to virtual machines and inside. Of course, memory consumption also depends on the size of the application and the internal usage.
UseJavaa program that is written with only a high frequency of code leads to an increase in memory consumption. Instead, useC + +program, the entire code needs to be compiled. Therefore, it cannot be said that the useJavaA program written by a language consumes more memory than it usesC + +The program was written large. This is determined by the complexity and size of the software relative to the platform code. If the software size is large,Javathe memory consumed by the platform is much less thanJavaclass file simplicity saves memory, in this case, using theJavathe platform will help save memory. If the size of the software is small,Javathe platform consumes significantly more memory, and you can consider usingC + +To develop to conserve memory.
Based on Jaxenter 's analysis of Oracle 's last two white papers,Java drivers have an advantage over smart embedded devices, especially The device will be driven by JAVA . Thus,Java has a bright future in the application development of embedded system.
Does Java belong to embedded development?