Spec-Zone .ru
спецификации, руководства, описания, API
Содержание документации

Компилятор Языка программирования Java™, javac

Компилятор языка программирования Java, javac, читает исходные файлы, записанные в языке программирования Java, и компилирует их в байт-код файлы class. Дополнительно, компилятор может также обработать аннотации, найденные в источнике и файлах class, используя Сменную Аннотацию, Обрабатывающую API. Компилятор является инструментом командной строки, но может также быть вызван, используя API Компилятора Java. Компилятор принимает исходный код, определенный Спецификацией языка Java (JLS), и производит файлы class, определенные Спецификацией виртуальной машины Java (JVM). -->

Спецификация API

Улучшения в Java SE 7 Обновлений 2

Область: Компилятор
Резюме: Java 7 компиляторов, используемых, чтобы ошибочно принять ромбовидный оператор в выражениях инициализатора массива. Например, следующий код, который был ранее принят, теперь справедливо отклоняется:

class Foo<X> {}

class Test {
    Foo<String>[] fooArr = new Foo<>[]{ }; //error
}

См. 7057297.

Область: Компилятор
Резюме: Java 7 компиляторов, ошибочно принятых следующая программа из-за ошибки в самой определенной реализации алгоритма:

import java.util.*;

interface A {List<Number> getList();}
interface B {ArrayList getList();}
interface AB extends A, B {}

class Test {
   void test(AB ab) {
      Number n = ab.getList().get(1);
   }
}

Эта программа, используемая, чтобы перестать работать в JDK 6. Фиксация была обеспечена в Java SE 7u2, чтобы справедливо отклонить эту программу. См. 7062745.

Больше информации


Oracle и/или его филиалы Авторское право © 1993, 2012, Oracle и/или его филиалы. Все права защищены.
Свяжитесь с Нами