Рубрика «java» - 283

В одну телегу впрячь не можно
Коня и трепетную лань
                        А.С. Пушкин

Всем привет!

В данной заметке я хочу рассказать, как интегрировать язык Groovy в существующее JEE приложение на основе Maven. Выражаю благодарность Антону Щастному schaan за разрешение на использование исходного кода его проекта в качестве отправной точки. Поэтому данный топик можно считать продолжением его статьи Учимся готовить: Spring 3 MVC + Spring Security + Hibernate.

Начнем.
Читать полностью »

С превеликим удовольствием и радостью представляем Вашему вниманию очередной, девятнадцатый выпуск подкаста «Разбор Полетов», в котором мы говорим о о событиях и технологиях, которые взволновали нас на этой неделе, и будут волновать Вас!
В сегодняшнем выпуске мы поговорим:Читать полностью »

Итак, в прошлый раз судья постановил, что Google не нарушает патентов Oracle в своей операционной системе Android. Но не было понятно, что делать с авторским правом на 37 Java API и 9 строчками кода rangeCheck. Теперь же судья Уильям Хаскел Элсап постановил, что Google не нарушал авторских прав Oracle на API по причине отсутствия этих самых прав. Суд решил, что эти API не подлежат копирайту, поэтому отсутствует состав преступления.

Google уже дал комментарий по этому поводу:
Читать полностью »

[recovery mode] Против лома нет приёма: OpenJDK hack vs. Class EncryptionЦель этой статьи предостеречь разработчиков от использования обфускаторов с функцией шифрования class-файлов для защиты своих приложений и от бессмысленной траты денег на них.
Вопросы защиты байт-кода от реверс-инжиниринга и обхода этой защиты подробно рассмотрены в фундаментальной работе Дмитрия Лескова — Protect Your Java Code — Through Obfuscators And Beyond.
Механизм шифрования class-файлов предполагает, что содержимое классов хранится в зашифрованном виде, а при старте приложения через специализированный СlassLoader или JVMTI-интерфейс, расшифрованный байт-код грузится в виртуальную машину Java.
Читать полностью »

imageХотим похвастаться еще одной «обновкой» — теперь можно разворачивать приложения-агенты в облаке Jelastic с помощью -javaagent аргумента. Спасибо нашему другу Антону Архипову за то, что он предложил добавить эту фичу и, конечно же, всем пользователям, которые активно голосовали за нее на нашем сайте.

Java агент выступает в роли «перехватчика» перед вашим главным методом, выполняется в той же JVM, загружается класслоадером той же системы и подчиняется тем же правилам безопасности и контексту. Идея состоит в том, что агенты не запускаются непосредственно для решения задачи, а активизируются самостоятельно. Сейчас приложения-агенты становятся все более популярными и используются для мониторинга и наблюдения, работ по закупкам, добычи и анализа данных, ну и, конечно, для персонального использования. Читать полностью »

Дано web приложение на Java и Flex. Для связи используется Blaze DS или подобная технология, использующая AMF сериализацию. На стороне сервера и на стороне клиента явно или неявно присутствуют DTO (data transfer objects) и интерфейсы remote сервисов. В подобных приложениях стоит проблема синхронизации кода DTO между клиентом и сервером. Конечно, если приложение полностью покрыто тестами, рассинхронизация между Java и ActionScript исходниками выявится во время тестирования, но есть возможность получить feedback еще раньше – уже во время компиляции.Читать полностью »

Однажды мне довелось работать над проектом, заказчик которого поддерживал обратную связь исключительно с помощью социальной сети Вконтакте. Так как я — не особо активный пользователь данной социальной сети, то возникла проблема в плане скорости получения посланных мне сообщений. Так случилось, что я потянул поясницу и пару дней провел на койке. Так как делать лежа, причем с больной спиной, особо нечего, то я решил решить махом убить несколько проблем:

  • Скрасить время своей реабилитации
  • Решить проблему с доставкой сообщений
  • Попробовать себя в написании программ на java

Итоги получившейся java терапии под катом
Читать полностью »

в 8:02, , рубрики: finalize, finalizer, java, метки: , ,

Сегодня немного поэкспериментируем с методом finalize() и уничтожением объектов. Хотя даже начинающие Java-программисты примерно представляют, что finalize() вызывается, когда сборщик мусора решит уничтожить ваш объект, некоторые вещи могут всё-таки оказаться неожиданными. К примеру, зададимся вопросом: что случится с вашим приложением, если метод finalize() работает очень долго?
Читать полностью »

картинка для привлечения внимания(пост из серии «я склонировал себе исходники hotspot, давайте посмотрим на них вместе»)
Все, кто сталкивается с многопоточными проблемами (будь то производительность или непонятные гейзенбаги), неизбежно сталкиваются в процессе их решения с терминами вроде «inflation», «contention», «membar», «biased locking», «thread parking» и тому подобным. А вот все ли действительно знают, что за этими терминами скрывается? К сожалению, как показывает практика, не все.

В надежде исправить ситуацию, я решил написать цикл статей на эту тему. Каждая из них будет построена по принципу «сначала кратко опишем, что должно происходить в теории, а потом отправимся в исходники и посмотрим, как это происходит там». Таким образом, первая часть во многом применима не только к Java, а потому и разработчики под другие платформы могут найти для себя что-то полезное.

Перед прочтением глубокого описания полезно убедиться в том, что вы в достаточной мере разбираетесь в Java Memory Model. Изучить её можно, например, по слайдам Сергея Walrus Куксенко или по моему раннему топику. Также отличным материалом является вот эта презентация, начиная со слайда #38.
Читать полностью »

Red Hat усиливает PaaS OpenShift разработчиками JRuby В начале месяца появились новости о том, что Red Hat открыла код своей PaaS OpenShift. Те, кто следит за развитием этого проекта, наверное уже заметили, что в Red Hat уделяют OpenShift очень большое внимание. Помимо добавление нового функционала (из недавнего — поддержка Node.js) постоянно происходит и улучшение уже существующего. К последнему можно отнести и новость о переходе в Red Hat двух ключевых разработчиков JRuby.Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js