|
|
|
Supreme Being
      
участник
Last Login: 27.11.2007 10:00
Сообщ.: 129,
Visits: 1 404
|
|
| Попрошу не материться, а ответить на простой вопрос: на одном форуме (не JAVA) увидел дискуссию на такую тему: парень хочет открывать на веб-сервере средствами РНР файл *.class , найти в нем определенную строку и заменить её на другую, после чего файл закрыть и якобы теперь этот файл будет динамически изменен, иметь другие свойства и сохранит работоспособность. Такое ВОЗМОЖНО???!!!
|
|
|
|
|
Supreme Being
      
участник
Last Login: 01.04.2008 19:27
Сообщ.: 182,
Visits: 1 528
|
|
| Ну в общем то можно но с кое какими ограничениями: Имеем два класса: public class MainClTest { public static void main(String [] args) { TestBean tsB = new TestBean(); System.out.println(tsB.getStr()); } }
-------------------------------------- public class TestBean { public String getStr() { return "555"; } }
Компилим их, и запускаем класс MainClTest, - на экране выведется "555" Редактируем теперь файл TestBean.class вместо подстроки "555" ставим "777", - сохраняем, запускаем - выводится "777". Но если мы вместо "777" напишем "7771" или "77" - будет ругаца!
|
|
|
|
|
Supreme Being
      
участник
Last Login: 27.11.2007 10:00
Сообщ.: 129,
Visits: 1 404
|
|
| "Но если мы вместо "777" напишем "7771" или "77" "- будет ругаца! - А с чем это связано?
|
|
|
|
|
Supreme Being
      
участник
Last Login: 01.04.2008 19:27
Сообщ.: 182,
Visits: 1 528
|
|
coloboc66 (30.05.2007) "Но если мы вместо "777" напишем "7771" или "77" "- будет ругаца! - А с чем это связано?Ну т.к. скомпилированный class-файл, - это байт-код и есди поменять таким образом длину строки, следовательно адреса всего остального сместятся - отсюда и ругань
|
|
|
|