Jav Armpit
💣 👉🏻👉🏻👉🏻 ALL INFORMATION CLICK HERE 👈🏻👈🏻👈🏻
Jav Armpit
Все потоки
Разработка
Администрирование
Дизайн
Менеджмент
Маркетинг
Научпоп
15,4k
20
22,2k
107
26,4k
146
986
2
27,8k
294
3,2k
12
+20
9,4k
62
38
+8
14,6k
91
28
+23
12,7k
76
6
20 000
за проект
4 отклика
24 просмотра
10 000
за проект
6 откликов
37 просмотров
6 000
за проект
1 отклик
10 просмотров
3 000
за проект
0 откликов
5 просмотров
7 500
за проект
3 отклика
18 просмотров
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Было бы очень интересно посмотреть сравнение с полноценной Java SE на Raspberry Pi: время старта, перфоманс на прогретом коде и т.п.
Точно, мне тоже интересно. Посмотрим.
Непонятно какой результат будет у теста. Что именно надо доказать/опровергнуть/проверить?
Насколько я себе представляю, реализация одинаковых функций будет одинакова и простейшие тесты без выделения и освобождения памяти (например считать hash строки) будут выполняться примерно одинаково.
А различие ME / SE настолько велико, что для более сложных тестов могут дать отклонения как в ту, так и в другую сторону.
Логика работы того же GC должна по идее очень сильно отличаться в разных java-машинах
Да там даже код тестов может отличаться. Тут дело далеко не только в JIT. Сравнение не корректно.
Это смотря что и как сравнивать. Не вижу никаких проблем в сравнении. Пишешь бенчмарки и гоняешь.
" Пишешь бенчмарки и гоняешь."
О! Клева, хочу послушать доклад об этом. ;))))
… пишет Java SE Performance Engineer :)
потому и пишу, что не бывает «пишешь и гоняешь»
т.е. бывает, но не всегда, или не так как хотелось или вообще не то ;)
ты бы, кстати, про встречу JUG более явно написал в начале поста. Ну или в конце. А то я еле-еле нашёл анонс в середине.
Всегда хотел спросить, а то в голове небольшая мешанина.
Вот в процессоре Raspberry есть Jazelle (позже ARM-овцы от нее отказались, если я не ошибаюсь). Использует ли Oracle JVM этот набор инструкций, или обычный JIT эффективнее? Использует ли JIT некий «общий подсет» инструкций ARM, или получающийся бинарный код оптимизирован под набор инструкций конкретного процессора? (например, в каких-то армах есть NEON, в распберри есть VFP2 и так далее). Или это не приносит выигрыша в производительности? Вот здесь и здесь говорится о преимуществе Oracle JVM над другими ARM-реализациями JVM. Это связано с глубокой оптимизацией под ARM или просто в принципе JIT оракла лучше?
Где-то в комментариях к прошлым постам писали что Jazelle не используется и сильно устарел.
У Оракла много разных JVM, так что лучше уточнять, о которой речь.
Про Jazelle писал: раз , два . JVM с JIT ее не используют, т.к. от нее только хуже.
В основе Java SE Embedded лежит Hotspot JVM. Выпускается в нескольких сборках — в зависимости от версии архитектуры (ARM v5, v6, v7) и поддержки VFP. Кроме того, JVM в рантайме определяет поддерживаемый набор инструкций для более оптимальной JIT-компиляции. В частности, версия, собранная под ARM v6, может генерировать код с использованием ARM v7 инструкций.
Полноценно поддерживаются многоядерные CPU. Навороченный JIT-компилятор с промежуточным представлением, глубоким инлайнингом, спекулятивной девиртуализацией и т.д.
В основе Java ME лежит CLDC HI JVM. Тоже выпускается в разных сборках для разных платформ. Прежде всего заточена на маленькие объемы памяти. Поэтому большинство фич включаются/выключаются на этапе сборки под конкретную платформу. Также имеет JIT компилятор, заточенный под ARM, хотя и гораздо проще (можно сказать, однопроходный). Более того, есть сборки и без JIT-компилятора вовсе. Подозреваю, что рекорды по занимаемому месту, достигнуты именно на такой сборке.
Я готов очень подробно рассказать как достигнуты рекорды на отдельной встрече :) В частности на Московском JUG.
Выложите потом видео, пожалуйста! Или хотя бы слайды.
Добрый день!
А не могли бы вы объяснить различия между ME и SE в Raspberry Pi? Просто для неё есть обе JRE, а вот чем они различаются и какие у них преимущества по сравнению с друг другом я не знаю. Я так думаю, что для ME нужно меньше памяти, а SE зато позволят запускать любые Java-приложения. Но на этом мои знания ограничиваются.
На прошлом Java One, когда как раз активно демонстрировали возможности Raspberry Pi с Java SE и ME, этих различий не показали.
А то так для меня получается, что ME есть, но лучше использовать SE, т.к. на SE можно запускать все приложения.
Отвечаю как разработчик ME.
Необходимо понимать, что Raspberry не является целевой платформой Java ME. Java ME под Raspberry сделана исключительно ради того, чтобы многие смогли попробовать Java ME на реальном железе, а не только писать под эмулятор. Java ME работает на очень ограниченных устройствах(реальные релизы под 192 KB RAM и 1 MB ROM) и это её целевые платформы, где у вас выбора между Джавами и не останется, SE пока под них не выпускают.
Зачем нужны столь ограниченные устройства — это тема отдельного топика, но они весьма востребованы в связи с их стоимостью, энергопотреблением, размерами и прочими вкусными штуками.
На самом деле, на SE можно запускать очень и очень многое, но есть и вкусные штуки в ME, которые в SE не реализованы, а именно Device Access API. Также есть tooling, позволяющий при наличии коннекции удалённо деплоить, дебажить, профилировать приложения. При этом по SSH можно не подключаться, достаточно просто подключиться использую тулы ME. Также есть возможность установки/обновления приложения по HTTP, это также удобно. Причём одно приложение может останавливать, запускать и обновлять другие приложения без остановки JavaME runtime. Т.е. вся работы сводится к тому, чтобы правильно запустить JavaME(а на некоторых устройствах типа Keil MCBSTM32F200, Qualcomm IoE development platform или STM32F4Discovery она сама запускаться) и работать.
В общем каждый инструмент предназначен для своих нужд и Java SE и Java ME также имеют свои целевые назначения.
А что бы вы посоветовали для сабжевого харда? ME это слшиком как я понимаю, взрослая джава в реальном мире тоже очень быстро утомит расбери.
Всё зависит от задач.
Нужна графика и мультимедиа + огромный API, JNI и прочие «большие» штуки — SE
Нужен лёгкий способ доступа к периферии, крутой туллинг, множество приложений в одном Java рантайме и низкий футпринт с меньшим временем запуска — ME
Никто, кстати, не запрещает запускать их вместе :)
Причём одно приложение может останавливать, запускать и обновлять другие приложения без остановки JavaME runtime. Это реализуется в рамках API CLDC или требует, например, OSGi? И какова ситуация с PermGen в этом случае (в смысле gc классов при выгрузке старой версии приложения)? На se эта проблема бывает очень актуальна.
Ещё вопрос, в догонку. Какова ситуация с лицензированием? То здесь www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javame-419430.html#J2MECLDC-1.1-WINUNIX-G-F незарегистрированным дают согласиться с лицензией, но не прочитать её ,)
1. Это реализуется внутренними механизмами JavaME и перешло ещё с мобильных телефоном, где запускался один Джава рантайм и приложения жили каждый в своём изолированном пространстве.
2. Это ссылка на скачивание Java ME Embedded. www.oracle.com/technetwork/java/embedded/downloads/javame/index.html
Лично у меня лицензия показывается при нажатии мышью. На крайний случай, зарегаться там не сложно :)
Это реализуется внутренними механизмами JavaME и перешло ещё с мобильных телефоном, где запускался один Джава рантайм и приложения жили каждый в своём изолированном пространстве. С одним класслоадером, как я понимаю. А изоляция за счёт кучи ограничений (типа отсутствия reflections, загрузки классов только из своего jar, невозможности иметь классы, пересекающиеся с системными пакетами). Тогда невозможно иметь два загруженных приложения с разными версиями одного класса. OSGi, очевидно, при таком подходе к загрузке классов работать не может (т. к. невозможно загрузить свой или подменить системный класслоадер).
Вопрос с permgen при выгрузке классов остается открытым. Можно, конечно, поговорить и на встрече jug, если будет время и желание =)
Отличный пост, у меня аж ностальгия… Хочется опять пописать под J2ME
Кстати а почему NetBeans?
НЛО прилетело и опубликовало эту надпись здесь
Немного не так.
Имеется ввиду, что потенциально можно портировать Java ME-E на широкий класс устройств, если есть такая потребность. От кого идут потребности — вопрос, касающийся каждой платформы в частности.
А почему этой встречи JUG нет в событиях на хабре? Было бы полезно. Донецк, например, есть.
А вот такой глуповатый вопрос Java ME-программистам от простого юзера простого J2ME-телефона.
Есть Sony Ericsson Elm — одна из последних и лучших трубок на яве. Там есть Wi-Fi. Есть ли возможность с этого телефона, через j2me-программу, ползать по локальной сетке, к которой телефон подключён по Wi-Fi, с целью, например, качать/отгружать файлы или слушать на телефоне музыку, лежащую на одном из расшаренных дисков в сети? По сути аудио-видео плеер + файл-менеджер, умеющий лазить по локальной сети.
Я сколько ни искал — такой проги не нашёл, только невнятные костыли с необходимостью ставить на комп серверную часть…
Есть несколько похожая прога «JavaFTP», которая на телефоне, подключённому по Wi-Fi к роутеру, поднимает ftp-сервер, выводит адрес типа ftp://192.168.1.x и с компа в локалке можно зайти по этому адресу и работать с телефоном, копируя туда-сюда файлы. А вот бы наоборот.
К сожаление не знаю scope API на вашем телефоне. Для вашей задачи необходимо:
1. CLDC 1.1+
2. MIDP 2+
3. JSR135
4. Опционально можно JSR234, там есть крутые темы эквалайзера и т.п… Фактически дополняет JSR135
Хорошая статья, есть что подчеркнуть подобное писал. Если интересно то могу поделиться, только у меня движущаяся платформа с управлением через сокет.
4,7k
39
3,2k
12
36k
255
775
2
+84
27,8k
94
294
+52
36,6k
168
164
+33
26,4k
92
146
+10
22,2k
2
107
Публикации
Новости
Хабы
Компании
Пользователи
Песочница
Устройство сайта
Для авторов
Для компаний
Документы
Соглашение
Конфиденциальность
Реклама
Тарифы
Контент
Семинары
Мегапроекты
Мерч
Присылаем лучшие статьи раз в месяц
Только полноправные пользователи могут оставлять комментарии. Войдите , пожалуйста.
JDK 8 for ARM - Download
Java ME Embedded на Raspberry Pi / Хабр
how to cross-compile a java program for ARM ? - Stack Overflow
#1 Java : Установка и настройка Java + первая программа. | Яндекс Дзен
Загрузка Java для всех операционных систем
Sign up with email
Sign up
Sign up with Google
Sign up with GitHub
Sign up with Facebook
Asked
8 years, 2 months ago
Active
8 years, 2 months ago
396 1 1 gold badge 6 6 silver badges 17 17 bronze badges
283 3 3 silver badges 14 14 bronze badges
10.1k 26 26 silver badges 25 25 bronze badges
Senior Full-Stack Developer (JavaScript) - 100% remote
Disy Informationssysteme GmbH No office location
Join G2i as a 100% Remote Node Engineer | Fully Remote Position | G2i Collective
Senior Backend PHP Engineer - Infrastructure (m/f/d)
Stack Overflow
Questions
Jobs
Developer Jobs Directory
Salary Calculator
Help
Mobile
Disable Responsiveness
Products
Teams
Talent
Advertising
Enterprise
Company
About
Press
Work Here
Legal
Privacy Policy
Terms of Service
Contact Us
Stack Exchange Network
Technology
Life / Arts
Culture / Recreation
Science
Other
Join Stack Overflow to learn, share knowledge, and build your career.
I'm trying to cross-compile a simple java example for ARMv7 target from command line.
What javac options I need to add for cross-compiling?
This is a standard javac command to compile on host machine:
javac compiles your code to bytecode which can then be run on a JVM. The bytecode itself is cross-platform: Only the JVM (which interprets that bytecode) is platform dependent. What you need is a JVM that runs on the ARMv7 target.
Most Java compilers generate Java byte code which targets a particular JVM spec. The generated code will run on any such VM and you do not need to care about machine architectures beyond "is there a JVM implementation that runs on it?".
Of course there are compilers which generate something else (e.g. gjc) but again, the javac frontend should be fairly standard javac. Compare: when you cross compile C code using the GCC toolchain the only difference in the command line is in chosing which compiler binary to invoke. The flags and parameters to the compiler remain the same, only the name changes (e.g. from gcc to i686-w64-mingw32-gcc ).
By clicking “Post Your Answer”, you agree to our terms of service , privacy policy and cookie policy
To subscribe to this RSS feed, copy and paste this URL into your RSS reader.
site design / logo © 2021 Stack Exchange Inc; user contributions licensed under cc by-sa . rev 2021.2.10.38546
Yui Matsuno Jav
Tight Pussy Gallery
Retro Stockings Pics
Nude Pic Galleries
Girls Piss On Boys
![](http://i.pinimg.com/736x/52/57/58/525758090b2ab466d8329ce4d1702183.jpg)
![](http://i.pinimg.com/originals/8a/5f/2d/8a5f2d42fe9487ea7d1260d5dd6a5904.jpg)
![](http://4.bp.blogspot.com/-uJOdT07_dQw/UDg7H4_1uqI/AAAAAAAA6vc/RtnisApTrVM/s1600/a+(3).jpg)
![](http://img.imageride.com/images/2020/07/08/a836f3ee249bf5897dcc8181bc3ea1e0.jpg)
![](http://i.imgur.com/gtOQ8pm.jpg)
![](http://4.bp.blogspot.com/-bLpCAV517s8/UmjbaKhDOII/AAAAAAAAATM/uekoUngBg3M/s1600/2.jpg)
![](http://chennai365.com/assets/Ovvoru-Nanbanum-Thevai-Machan-Movie-Stills-448am00003232014am.jpg)
![](http://1.bp.blogspot.com/-F6xbym36f88/TjaxIOUT9ZI/AAAAAAAAC7M/W0Uf8WvBvRw/s1600/hot+and+desi+girls.jpg)
![](http://2.bp.blogspot.com/-gxS_Fq2r4bw/VelVYBm4lvI/AAAAAAAAMV8/Lp1vRhayqa8/s1600/1653627_759640067445178_8524246707834923763_n.jpg)
![](http://i.imgur.com/iCLx3IJ.jpg)
![](http://live.staticflickr.com/6135/6021397343_45e248d40b_b.jpg)
![](http://i.pinimg.com/736x/3f/a9/e7/3fa9e7445db33db1fc3a77b167fb4502.jpg)
![](http://i.warosu.org/data/fa/img/0117/80/1474598585349.jpg)
![](http://www.valleymagazinepsu.com/wp-content/uploads/2014/03/SabineC.Armpit-800x533.jpg)
![](http://i.imgur.com/nr8L77d.jpg)
![](http://i.imgur.com/cRUQGjC.jpg)
![](http://i.ytimg.com/vi/ufQNoMrf4ug/maxresdefault.jpg)
![](http://veriakademi.com/images/java-projeleri-4.jpg)
![](http://i.ytimg.com/vi/P70hIi0nCPg/maxresdefault.jpg)
![](http://1.bp.blogspot.com/-jESQepJnf4A/VgK87HIP_iI/AAAAAAAAIiM/BS4ViDvKmd8/s1600/Java%2BTutorial%2B-%2BJava%2BData%2BTypes%2BRange.jpg)
![](http://user-images.githubusercontent.com/13142418/46297202-ba0ab980-c5ce-11e8-81a0-4a4a85bc98a5.png)
![](http://i.stack.imgur.com/pDtd9.jpg)
![](http://beginnersbook.com/wp-content/uploads/2015/05/int_to_string.jpg)
![](http://i.ytimg.com/vi/bFWG_y4mL8Q/maxresdefault.jpg)
![](http://www.azbreasts.com/_/img/photo/product/miraDry-social_female_02.1k.jpg)
![](http://1.bp.blogspot.com/-AiD2bFlRJh8/XfrtDIQ2aHI/AAAAAAABttk/ERBtNlmd8vwsDTBKfwG07njiWDwcQI5kACLcBGAsYHQ/s1600/BaoBua-CoM-Shubra%2BAyyapa%2Bin%2BSagaptham-Movie-Recent-Stills-15.jpg)
![](http://2ch-matomenews.com/wp/wp-content/uploads/2018/05/nena-achselhaare-80er.jpg)
![](http://i.pinimg.com/originals/22/df/ff/22dfff47c09dffabbdcc0d9e81db8220.jpg)
![](http://www.wallpaperup.com/uploads/wallpapers/2015/07/15/751429/1d585267cd00d4d9d4e8f9f787c99f0f-1400.jpg)
![](http://raw.githubusercontent.com/tushortz/vscode-Java-Imports/master/images/import.gif)
![](http://cdn.journaldev.com/wp-content/uploads/2019/09/java-keywords.png)
![](http://www.journaldev.com/wp-content/uploads/2019/08/overriding-vs-overloading-in-java.png)
![](http://otvet.imgsmail.ru/download/280213863_eee6fd3b316a6af8126cd2b46655ff9c_800.png)
![](http://i.redd.it/mys2hhjm20py.png)
![](http://codexplo.files.wordpress.com/2012/03/jd-gui-decompiler.png)
![](http://www.guru99.com/images/1/2.png)
![](http://2.bp.blogspot.com/-IUeAa9TG4WQ/UYCM_A0Z4ZI/AAAAAAAACMQ/MQpa8uxEZVk/s1600/558845_506437529412798_300785732_n.png)