Рубрика: Java

  • GWT. Обработка серверных исключений на клиенте.

    В целом обработка исключений при работе в GWT через RPC довольно детально описана в разделе документации DevGuideHandlingExceptions Важный момент на который следуют обратить внимание – throws для метода. Например, вот Ваш интерфейс: public interface MyService extends RemoteService {   public String myMethod(String s); } Допустим Вы сделали класс MyException который наследуется от RuntimeException. Например, это […]

  • Практикум по программированию на Java и Scala

    Начинается семестровый курс по выбору МФТИ “Практикум по программированию на Java и Scala”. Занятия будут проходить по понедельникам в 408 аудитории Лабораторного корпуса МФТИ. Начало занятий в 17:05.

  • Самый лучший Singleton

    Из всех существующих на момент написания этого поста реализаций шаблона Singleton (одиночка) мне больше всего нравится эта: public class Singleton { // Private constructor prevents instantiation from other classes private Singleton() {} /** * SingletonHolder is loaded on the first execution of Singleton.getInstance() * or the first access to SingletonHolder.INSTANCE, not before. */ private static […]

  • Звездочка (*) в шестёрке и хитрые bat-файлы

    Запуск java-программы из командной  строки. Представим такую ситуацию… В результате вашей работы в качестве java программиста у вас получился один JAR-файл (для простоты назовем его mytools-1.0-SNAPSHOT.jar). Кроме него вы планируете использовать более десятка других jar-файлов. Ваша программа должна запускаться из командной строки, а не из супер-пупер IDE которую вы обычно используете в работе. Например Вашу программу […]

  • Camel Case

    Camel Case, он же — Верблюжий Регистр, он же — Горбатый Стиль. Определение из википедии — “стиль написания составных слов, при котором несколько слов пишутся слитно без пробелов, при этом каждое слово пишется с заглавной буквы. Стиль получил название CamelCase, поскольку заглавные буквы внутри слова напоминают горбы верблюда” Такой стиль используется в языке программирования  Java. […]

  • Hibernate. Update. Популярные грабли

    Сейчас многие любят реализовывать Data Access Object (DAO) на базе Hibernate. Хотелось уделить особое внимание работе с объектами в различных состояниях. Пример из документации : DomesticCat cat = (DomesticCat) sess.load( Cat.class, new Long(69) ); cat.setName(“PK”); sess.flush(); // changes to cat are automatically detected and persisted Некоторые думают, что нужно делать так: DomesticCat cat = (DomesticCat) […]

  • Сортировка за O(N)-время

    Случайно наткнулся на статью на java.dzone.com – Fast O(n) Integer Sorting Algorithm! Всегда считал что O(n*log(n) ) это очень хороший показатель.  Например, стандартная реализация сортировки в Java 6 является слегка модифицированным вариантом merge sort, которая  соответственно дает время n*log(n).  Получить ультра ускорялку сортировки можно используя дополнительные хитрости: используя дополнительные знания о самих объектах которые мы сортируем […]