2012-05-04 3 views

ответ

7

Для исходного кода Java, я обычно хожу в GrepCode

+1

GrepCode отлично, но откуда я знаю, что это версия, которая поставляется с моим jdk/jre? – sloven

2

Хотя такой код доступен (см пост Биньямина в) его как правило, очень плохая идея написать что-нибудь, что нуждается в такой код.

Во-первых, вы, как правило, не уверены, что любой JVM обладает таким классом (только JVM, сходящиеся с кодовой базы SUN, будут содержать непубличные нестандартные, специфичные для SUN библиотеки). Кроме того, поскольку они не являются стандартными библиотеками, вы не можете действительно зависеть от их присутствия или неизменности в последующих выпусках SUN JVM.

+0

+1 Хотя я использую эти библиотеки в некоторых своих библиотеках, я: а) обязательно реализую версию, которая не требует Unsafe b) может затем проверить, действительно ли это имеет значение. c) использовать его как можно меньше. Стоит отметить, что в будущих версиях есть намерение удалить/изменить его значительно. например Java 8+. На самом деле это другой вопрос. ;) –

+0

Спасибо за ваши предложения. –

+1

Несмотря на то, что использование таких библиотек нецелесообразно, они не перестали быть более решительными из-за их эффективного использования - и, как правило, для получения прибыли. Поэтому попытка сдерживания решимости только усугубит их любопытство, поэтому +1 за то, что вы не должны туда ехать ;-) Если вы касаетесь глубоких внутренних систем любой системы, вы всегда несете риск того, что эти реализации исчезнут. Однако Unsafe настолько неотъемлемо присущ многим API и многим JVM, я очень сомневаюсь, что это легко исчезнет. – user924272

Смежные вопросы