In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-02-24 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Development >
Share
Shulou(Shulou.com)06/01 Report--
This article mainly introduces the relevant knowledge of "how to use Java dynamic compilation to improve Java code". The editor shows you the operation process through an actual case. The operation method is simple, fast and practical. I hope this article "how to use Java dynamic compilation to improve Java code" can help you solve the problem.
Dynamic compilation has always been the dream of Java, starting with Java 6 version, it supports dynamic compilation, compiles .java files directly at run time, executes .class, gets relevant input and output, and even listens for related events. However, what we most expect is to give a piece of code, compile it directly, and then run it, that is, aerial compilation execution (on-the-fly). Take a look at the following code:
Public class Client {public static void main (String [] args) throws Exception {/ / Java source code String sourceStr = "public class Hello {public String sayHello (String name) {return" Hello, "+ name +"! ";}"; / / class name and file name String clsName = "Hello"; / / method name String methodName = "sayHello" / / current compiler JavaCompiler cmp = ToolProvider.getSystemJavaCompiler (); / / Java standard file manager StandardJavaFileManager fm = cmp.getStandardFileManager (null,null,null); / / Java file object JavaFileObject jfo = new StringJavaObject (clsName,sourceStr); / / compilation parameters, similar to optionsList optionsList = new ArrayList () in javac / / where the compilation files are stored. Note: here is the optionsList.addAll (Arrays.asList ("- d", ". / bin")) specially designed for the Eclipse tool; / / the unit List jfos = Arrays.asList (jfo) to be compiled; / / set the compilation environment JavaCompiler.CompilationTask task = cmp.getTask (null, fm, null, optionsList,null,jfos) / / compiled successfully if (task.call ()) {/ / generated object Object obj = Class.forName (clsName) .newInstance (); Class
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.