Inside JVM. Step 2
Решил снова покопать байт код.
Пока пролистал jvm spec, javap, reJ, ClassEditor.
Дальше хочется построить простейшую jvm на java.
В учебных целях.
Вернее даже не одну jvm, а серию итераций jvm с постепенным усложнением и с поясняющими презентациями.
Подбробнее здесь
growth4u.blogspot.com/...09/inside-jvm-step-2.html
16 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарівКоллеги, боже мой, человек хочет для развлечения написать стек-машину.
Коля же не обещал полную реализацию, с сертификатом от Оракл.
А элементарную стек-машину с десятком команд — это не так уж сложно.
Почему столько комментариев, как будто он на луну на ядре собрался ?
Вот здесь человек написал такую машину походя, чтобы управлять телескопами.
ru.wikipedia.org/...ограммирования
Кстати, форт-машина оказала огромное влияние на все современные виртуальные машины, включая jvm.
Я давно заметил, что у нас карго-культ. Языки программирования, компиляторы — это же так сложно, их нам присылают «белые властелины» из далеких стран. Как там они устроены внутри — мы понять не сможем, можем только зазубрить мануалы и спеки, и строго следовать их заповедям.
Где дух хакерства, где желание разобраться со сложной технической штукой?
Вообще-то в посте написано, что «в учебных целях». Но я так и слышу, как эти же слова говорила бабушка Билу Гейтсу, когда он садился писать свой интерпретатор бейсика для первой персоналки. :)
между прочим, за пару-тройку дней написали такую машину для трейдинговой логики. вполне себе рабочая шняга, совсем не игрушка.
Курс основы (именно основы) виртуальных машин может получится. Или простой инерпритатор байт-кода.
Но «практический курс по jvm internals» — это сомнительно. Банально почитайте списки тут bit.ly/18Gb2f7
Собственно мейл-листы по ссылке выше (кстати, просто джавистом оно так же будет полезно).
Желание желанием, а вот время. Это надо уделять куда больше чем на ДОУ-срачи, та и в перерывах между на прогонку тестов такое не поделаешь.
В любом случае если выложите проект на ГитХаб хуже не будет :)
Удачи вам.
С блэк-джеком и шлюхами?
Технически — естественно.
Вся фишка — обычному разработчику относительно быстро постичь глубины глубин JVM.
Само собой — это будут лишь основы.
Зато доходчиво и понятно.
И максимально честно.
Зато появится лопата.
А там куда дальше копать — тут уж кто куда захочет.
Только кому это надо? В том смысле что слона ты слепишь, а кто тебе его продавать-то будет?
Тем более что основная java практически вся опенсорс, но с копированием исходного кода не всё так гладко. Там юристы зубастые, не ровен час и за Hello world патент потребуют.
Попробую сказать короче — ты изобретаешь велосипед. Будь ты конструктором хоть семи пядей во лбу, но всё равно это велосипед. И если он не на основе общепринятого — никто его педалить не станет.
Лопата допустим есть, а объём гуано которое придётся перекопать — прикидываешь? Если Сан взялись писать собственную операционку, и у них даже получилось и продавалось — и всё равно банкроты. То сколько готов вложить ты?
«Глубин» там никаких нет. Обычная туева хуча работы. И как её делать — написано в любом учебнике по системному программированию. Например я — знаю как её делать, а потому не взялся бы и за деньги, даже если бы её не существовало. Неблагодарнейшая работа! Лучше всего делать то, что легко продать. Конечный продукт.
Компьютеры тоже знаешь ли изначально для бизнеса делались и для военных целей. Но рынок расставил всё на свои места, и 99% вычислительных мощностей пашут лишь с одной целью — развлечения!!! И у тебя больше шансов изобрести тамагочи, чем написать JVM.
Если честно, хочешь хардкора — займись безопасностью. Вот уж где работы на несколько поколений хватит.
Это очень сложно, над JVM работают десятки людей, в нее вгроханы миллионы.
Кроме дждк есть еще маленькая тележка поделок в которых не вбухивали миллиарды: en.wikipedia.org/...irtual_machines
Ну, для тренировки задача отличная, но очень уж время затратная.
Потому и ищу единомышленников.
А не проще ломануться на работу в MS, Google или Oracle? Один в поле не воин.
В мс, гугл, или оракл еще попасть надо...
Кстати, думаеться, доведенный до ума, и выложенный на гитхабе проект должен сильно повысить шансы туда попасть.
Проблема попасть именно в ту команду, не имея профильного опыта (ВМ-ки и веб — это просто разные сферы, не сложнее/проще, а просто разные).
А кто ноет по форумам?
Обычно фраза про сложность попадания в МСы и Гуглы исходит от людей которые туда хотят попасть, но ничего для этого не делают.
Чет мне кажется, что не так уж и хотят, раз ничего не делают.
Но, всетаки, мой первичный посыл о том, что если хочется поковырять внутренностя жвм, то проще взять и поковырять, и не париться по поводу устройства в оракл или гугл.
Вторичный, о том что «прикольные» проекты на гитхабе, очень весомый плюс при собеседовании в крутые амер конторы (ходят слухи, что кое где даже требование).