Каждый ответ копирует данные и создает новый массив. Это не является строго необходимым и определенно НЕ то, что вы хотите делать, если ваши массивы достаточно велики. Создатели Java уже знали, что копии массивов расточительны, и именно поэтому они предоставили нам System.arrayCopy () для выполнения тех операций вне Java, когда это необходимо.
Вместо того, чтобы копировать ваши данные, рассмотрите возможность оставить их на месте и взять их там, где они есть. Копирование местоположений данных только потому, что программист хотел бы организовать их, не всегда целесообразно.
// I have arrayA and arrayB; would like to treat them as concatenated
// but leave my damn bytes where they are!
Object accessElement ( int index ) {
if ( index < 0 ) throw new ArrayIndexOutOfBoundsException(...);
// is reading from the head part?
if ( index < arrayA.length )
return arrayA[ index ];
// is reading from the tail part?
if ( index < ( arrayA.length + arrayB.length ) )
return arrayB[ index - arrayA.length ];
throw new ArrayIndexOutOfBoundsException(...); // index too large
}
UnPyc
http://sourceforge.net/projects/unpyc/
Это поддерживаемый форк старого декомпилятора, обновленный для работы с 2.5 и 2.6.
Decompyle - это дизассемблер Python и декомпилятор, конвертирующий Python байт-код (.pyc или .pyo) обратно в эквивалентный источник Python. Проверка произведенного кода (перекомпилированного) также доступны.