Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Java компиляторы
Java compiler
GNU Compiler for Java (GCJ) – Java бағдарламалау тілі үшін тоқтатылған ашық бастапқы кодты компилятор. Ол GNU Compiler Collection жинағының бір бөлігі болған. GCJ Java бастапқы кодын Java виртуалды машинасының (JVM) байт-кодына немесе көптеген процессор архитектуралары үшін машина кодын құрастырады. Сондай-ақ, GCJ байт-кодты қамтитын сынып файлдарын және толық JAR файлдарын машина кодын құрастыра алады.
The GNU Compiler for Java (GCJ) is a discontinued free compiler for the Java programming language. It was part of the GNU Compiler Collection. GCJ compiles Java source code to Java virtual machine (JVM) bytecode or to machine code for a number of CPU architectures. It could also compile class files and whole JARs that contain bytecode into machine code.
Тарих
GCJ орындалу уақыты кітапханаларының бастапқы коды GNU Classpath жобасынан алынған, бірақ libgcj кітапханалары арасында кодтағы айырмашылықтар бар. GCJ 4.3 Java үшін Eclipse компиляторын фронтенд ретінде пайдаланады. 2007 жылы GNU Classpath-та Java-ның екі графикалық API-ін қолдау үшін көп жұмыс істелді: AWT және Swing. AWT бағдарламалық қолдауы әлі де дамып жатыр. "AWT қолдауы жұмыс істей бастағаннан кейін Swing қолдауын қарастыруға болады. Swing-тің кемінде бір толық емес, ашық кодты нұсқасы бар, оны пайдалануға болады." GNU CLASSPATH тіпті Java 1.2 деңгейіне де жетпеді және қазір толығымен тоқтатылған сияқты. 2015 жылға қарай GCJ-ден жаңа әзірлемелер туралы хабарламалар жарияланбады және өнім техникалық қолдау режимінде болды, ашық кодты Java құралдар тізбегін дамыту көбінесе OpenJDK ішінде жүрді. GCJ 2016 жылдың 30 қыркүйегінде GCC негізгі кодыннан алынып тасталды. Оның алынып тасталуы GCC 7.1 нұсқасының шығарылымымен бірге жарияланды, ол GCJ-ді қамтымайды. GCJ әлі де GCC 6 құрамына кіреді.
The GCJ runtime libraries original source is from GNU Classpath project, but there is a code difference between the libgcj libraries. GCJ 4.3 uses the Eclipse Compiler for Java as a front end. In 2007, a lot of work was done to implement support for Java's two graphical APIs in GNU Classpath: AWT and Swing. Software support for AWT is still in development. "Once AWT support is working then Swing support can be considered. There is at least one free software partial implementations of Swing that may be usable.". The GNU CLASSPATH was never completed to even Java 1.2 status and now appears to have been abandoned completely. As of 2015, there were no new developments announced from GCJ and the product was in maintenance mode, with open source Java toolchain development mostly happening within OpenJDK. GCJ was removed from the GCC trunk on September 30, 2016. Announcement of its removal was made with the release of the GCC 7.1, which does not contain it. GCJ remains part of GCC 6.
Өнер көрсету
GCJ-дегі компиляция функциясы Java кодын машиналық кодқа аударғанда, JVM-де іске қосылатын балама байт-кодына қарағанда тезірек іске қосылу уақытына ие болуы тиіс.
The compilation function in GCJ should have a faster start up time than the equivalent bytecode launched in a JVM when compiling Java code into machine code.
Компиляцияланған жергілікті интерфейс (CNI)
Compiled Native Interface (CNI), бұрын "Cygnus Native Interface" деп аталған, GCJ үшін бағдарламалық құралдар жиынтығы болып табылады, ол Java кодын шақыруға, сондай-ақ жергілікті қолданбалар (нақты аппараттық және операциялық жүйе платформасына арналған бағдарламалар) мен C++ тілінде жазылған кітапханалардың Java кодын шақыруына мүмкіндік береді. CNI әртүрлі Java виртуалды машиналарымен бірге стандартты түрде келетін JNI (Java Native Interface) құрылғысына өте ұқсас.
The Compiled Native Interface (CNI), previously named "Cygnus Native Interface", is a software framework for the GCJ that allows Java code to call, and be called by, native applications (programs specific to a hardware and operating system platform) and libraries written in C++. CNI closely resembles the JNI (Java Native Interface) framework which comes as a standard with various Java virtual machines.