После моей первой публикации прошло два месяца. После него, я немного сменил приоритет на одну задачу. А именно реализация дебаггера, хотя бы для Mono .NET
Рубрика «java» - 223
Consulo + .NET плагин, спустя два месяца
2014-05-16 в 8:05, admin, рубрики: .net, consulo, IDE, java, метки: .net, consulo, IDE, javaНет привязке к вендору! Поддержка OpenShift Cartridge Standard появится на платформе InfoboxCloud Jelastic
2014-05-13 в 6:10, admin, рубрики: java, paas, Блог компании Infobox, облачные технологии, хостинг, метки: infoboxcloud, java, paas, облачные технологии В прошлом ноябре было аннонсировано сотрудничество Jelastic и RedHat в области стандартизации подключаемых картриджей для платформ как сервис (PaaS). В результате этого взаимодействия появится поддержка картриджей OpenShift на платформе InfoboxCloud Jelastic. Это позволит разработчикам технологий и сервисов предоставлять решения для различных облачных платформ без переписывания и получать доступ к широчайшиму количеству пользователей. Снижение временных затрат компаний на адаптацию и упаковку программного обеспечения для различных облачных платформ позволит проще и быстрее доставлять технологии пользователям и сфокусироваться на решении реальных задач.
Благодаря стандартизации на платформе Jelastic раньше будут появляться новые технологии. Среди них в новом релизе ожидаются:
- Neo4j Server: масштабируемая графовая база данных
- Redis: хранилище «ключ-значение»
- Apache Cassandra: масштабируемая высокодоступная база данных
- Jetty (8 и 9): веб-сервер со встроенным HTTP сервером и сервлет-контейнером
- Python (2.7, 3.3, 3.4)
- JBoss 7: сервер приложений Java от RedHat
- Varnish: кеш
Oracle выиграла аппеляцию против Google
2014-05-09 в 19:44, admin, рубрики: android, Google, java, oracle, копирайт, патентные тролли
Корпорация Oracle одержала победу в ключевом деле против Google. Аппеляционный суд США постановил: Oracle обладает авторским правом на части языка программирования Java, использованные Google при разработке ОС Android. «Мы пришли к выводу, что набор команд, заставляющий компьютер выполнить желаемые операции, может содержать выражения, подвергаемые авторскому праву», — комментирует судья федерального округа Кэтлин О'Мэлли.
В 2010 Oracle подала в суд на Google за нарушение авторских прав на части Java для Android. Oracle оценила ущерб в один миллиард долларов.
В Jelastic 2 появится доступ по SSH
2014-05-08 в 19:09, admin, рубрики: java, paas, Блог компании Infobox, облачные технологии, хостинг Все больше подробностей становится известно про Jelastic 2. В значительном обновлении платформы Jelastic появится доступ по SSH. Об этом сегодня на странице Facebook написал Руслан Синицкий, основатель и технический директор Jelastic.
При этом будет возможно управлять различными окружениями с единой аутентификацией SSH. Это безопасно и даже не требует выделения публичного IP–адреса. Эту возможность очень просили многие пользователи JelasticЧитать полностью »
Типы-значения в Java
2014-05-08 в 15:59, admin, рубрики: java, struct, value types, метки: struct, value types
Этот пост — вольно-краткий перевод документа State of the Values, предложения по введению типов-значений в JVM и сам язык Java, который написали Джон Роуз, Брайан Гоетц и Гай Стил, разбавленный моими мыслями. Опущены детали предложения по реализации типов-значений на уровне байт-кода, что не очень интересно для большинства Java-программистов.
Важнейшая мысль: объектная (ссылочная) идентичность нужна только для поддержки изменяемости объектов. Объект может изменить состояние, но по ссылке мы всегда можем проверить, что это «тот же» объект. Поэтому типы-значения будут строго неизменяемые.
Предполагаемые варианты использования типов-значений:
- Числа: комплексные, беззнаковые, 128-битные, с фиксированной запятой и т. д. Все, что не описывается имеющимися примитивами.
- Алгебраические типы:
Optional<T>
,Choice<T,U>
, перечисления - Кортежи: пары, тройки, ...
- Итераторы, курсоры
- «Уплощение» сложных структур
Целевые фичи:Читать полностью »
Знакомство с Kotlin и сборка jar при помощи maven
2014-04-29 в 10:37, admin, рубрики: IDE, idea, jar, java, jetbrains, kotlin, ПрограммированиеЭто пост заметка о том, как я познакомился с языком Kotlin, какие использовал для этого ресурсы, инструменты, и как я собрал его в jar и запустил в консоли.
В общем-то я PHP программист, немного заком с Java. На днях решил посмотреть Kotlin. Это менее строго типизированный язык от JetBrains до того, что он, по сути, статически типизированный. В этом его основное принципиальное отличие от Java, плюс Kotlin имеет свой приятный синтаксис. Kotlin может быть скомпилирован в JVM или JavaScript.
Приступим к знакомству. Для начала понадобится IDE Idea.
Читать полностью »
В продолжение предыдущей статьи про развертывание Ratpack приложения на Heroku, сегодня я расскажу про использования плагина Gradle. Это был трудный опыт по развертыванию простого Ratpack приложения на Heroku PaaS. Мы рылись в хитросплетениях buildpack's для развертывания на Heroku.Хорошие новости в том, что это бельше не обязательно.
В этой статье я покажу более простой способ развертывания. В этом методе не необходимости явно использовать Heroku Toolbelt и custom'ые buildpack's. Так же больше не нужно иметь Ruby, RVM, или множество других связанных с Ruby технологий, которые не нужны Java/Groovy разработчикам, им даже знать об этот нет необходимости.
Читать полностью »
Организация вебсокетного взаимодействия с приложением Spring
2014-04-19 в 16:15, admin, рубрики: javaСкажу сразу, что стандартная реализация такого взаимодействия — существует.
Однако, поскольку эта статья — продолжение темы "Простой вызов удалённых сервисных методов в одностраничных приложениях", здесь будет приведена альтернативная схема взаимодействия, необходимая для замены ajax на вебсокеты, в контексте подхода(jrspc), описанного в вышеупомянутой теме.
В первой статье — был описан механизм вызова сервисных методов, с использованием ajax.
В этой статье — описано, как можно реализовать данный механизм, с заменой ajax на вебсокеты,
не меняя код бизнес-логики приложения.
Такая замена даёт более быстрое соединение(тесты в конце), экономию серверной памяти, и добавляет возможность вызывать методы клиента с сервера.
Для демонстрации, написано небольшое чат-приложение, с исходным кодом на гитхабе.
на примере разбора которого, я попытаюсь объяснить, как реализованы клиентская и серверная части такого взаимодействия.
Приложение работает на сервере tomcat 7.042.
Поддерживает https и wss (сертификат неподтверждённый), и не ведёт логов на сервере.
Читать полностью »
Если вам приходилось создавать интеграционные решения на Java, наверняка, вам знаком замечательный Java framework под названием Apache Camel. Он с лёгкостью осуществит связку между несколькими сервисами, импортирует данные из файлов, баз данных и прочих источников, оповестит вас о различных событиях в Jabber-клиент или по E-mail, станет основой для композитного приложения на базе большого числа других приложений.
Читать полностью »
Всем привет. Последние события в Украине как-то отбросили меня от хабра, но вот, все, более менее, наладилось и я, вернувшись к привычному ритму работы, вспомнил о парочке своих постов в черновиках. В связи с выходом 8-й версии явы, пост, возможно, уже несколько устарел, но не пропадать же добру.
Итак, как-то вечером, оптимизируя очередной кусочек кода — случайно заглянул в String и обнаружил, что класс строки уже не тот. Так как строка, пожалуй, один из самых распространенных типов, думаю многим будет интересно узнать об изменениях.
Оптимизирован метод String.split()
Метод split строки стал быстрее работать для односимвольного параметра. Теперь в методе вообще не будет использоваться регексп и будет применен indexOf в цикле.
Было:
public String[] split(String regex, int limit) {
return Pattern.compile(regex).split(this, limit);
}
public String[] split(String regex, int limit) {
if (((regex.value.length == 1 &&
".$|()[{^?*+\".indexOf(ch = regex.charAt(0)) == -1) || ...)) {
...
while ((next = indexOf(ch, off)) != -1) {
...
}
...
return result;
}
return Pattern.compile(regex).split(this, limit);
}
2 поля удалены
Начиная с 6-го апдейта 7-й явы из класса строки были удалены 2 поля:
private int offset;
private int count;
Как вы, наверное, помните эти поля использовались при вызове метода substring. Назначение полей — уменьшение сложности метода и попытка избежать создания нового массива символов строки используя ссылку на уже существующий массив. Что, в свою очередь, в некоторых ситуациях могло порождать известную утечку памяти. Теперь же размер строки на 8 байт меньше и проблема утечки навсегда решена.