После углубления в исходный код библиотеки JRE я заметил необычно распространенную структуру кода, например:
public int foo(double bar) {
return foo0(bar);
}
private native int foo0(double bar);
В чем заключается цель этого шаблона кода и почему он используется вместо простого раскрытия основного метода native как общедоступного?