Если вы разрабатываете приложение с нуля, вы можете сделать некоторые образованные выборы о том, когда звонить бесплатно. Ваша примерная программа в порядке: она выделяет память, возможно, у вас есть ее работа на несколько секунд, а затем закрывается, освобождая все ресурсы, которые она требовала.
Если вы пишете что-нибудь еще, сервер / долговременное приложение или библиотеку, которую должен использовать кто-то другой, вы должны ожидать бесплатного вызова всего, что вы malloc.
Игнорируя прагматическую сторону на секунду, гораздо безопаснее следовать строжайшему подход и заставить себя освободить все, что вы malloc. Если у вас нет привычки смотреть на утечки памяти, когда вы код, вы можете легко запустить несколько утечек. Так что, другими словами, да, вы можете обойтись без него; пожалуйста, будьте осторожны.
Я не видел ни одного байт-кода -> байт-кода, но много бэкэндов.
Я бы посоветовал вам взглянуть на множество библиотек манипулирования байтовым кодом, таких как javassist
, которые позволяют загружать байтовый код, манипулировать им и сохранять его обратно на диск, а затем писать маленькая главная, которая делает именно это.
Я использую reJ для непосредственного редактирования файлов классов.
Позволяет редактировать инструкции, методы, пул констант, классы сравнения и разделенное представление с помощью шестнадцатеричного редактора.
Это невероятно круто.
Я написал Java-ассемблер и disasembler с открытым исходным кодом , который может оказаться полезным.
Это позволяет вам разобрать файл класса в удобочитаемую сборку, отредактировать его, а затем снова собрать в класс. Первоначально он был разработан для написания запутанных крэкмесов, поэтому он поддерживает множество неясных функций, которых не поддерживают многие другие инструменты. Если вам нужны какие-либо функции, которые в данный момент не поддерживаются, не стесняйтесь связаться со мной, и я посмотрю, что я могу сделать.
Нашли этот список библиотек для манипулирования байтами и генерации кода?