Конструкторы при наследовании класса вызываются следующим образом:
1. Если в начале конструктора подкласса нет вызова super() или this(), то будет вызван дефолтный конструктор родительского класса (если нет дефолтного, то будет ошибка (?)).
2. Если происходит вызов super(...) (обязательно в начале конструктора), то будет вызван определённый родительский конструктор.
3. Если происходит вызов this(...) (обязательно в начале конструктора), то будет вызван другой конструктор этого класса, в котором будет либо явно либо неявно вызван родительский конструктор.
Абстрактные классы это классы, объявленные с сигнатурой abstract. Эти классы не могут быть инстацированны, а все их подклассы обязаны реализовать указанные методы или сами быть abstract (если реализуют не все методы).
@Override перед определением метода. Переопределённые методы (overrided) не имеют такого же поведения как shadowed аттрибуты: если мы присвоим объект подкласса переменной родительского класса, то мы будем иметь доступ к методу подкласса, а не родительского класса. Если использовать сигнатуру final для метода, то такой метод не может быть переопределён в подклассах. Методы подкласса обязаны кидать те же эксепшены или подклассы этих эксепшенов, так же и указывать о возможных возвращаемых эксепшенах (... throws Exception): того же класса или подклассы. Переопределённые методы обязаны возвращать значение того же класса, что и родительский метод или подкласса.
— переопределение метода родительского класса в подклассе. Overriding не предполагает изменение количества и тип аргументов. Для принудительного указания компилятору, что здесь происходит overriding а не overloading, — используется аннотация B b = new B();
A a = b;
то при обращении к переменной объекта x, получим int x объекта класса A. "Shadowing" очень плохая затея, лучше этим не пользоваться, а использовать абстрактные классы.
chimera.labs.oreilly.com и javapractices.com
В Java присутствует тип Enum, который наследуется от java.lang.Enum. Этот тип позволяет хранить глобальные переменные без указания их значения (впрочем, можно задавать значения, используя синтаксис типа enum E { A(1), B(14), C(46) }). Могут быть объявлены вне класса или внутри. Вне класса не могут иметь никаких квалификаторов, типа static, final и т.п. Новый объект enum-а создаётся при обращении к объявленной переменной класса. Не поддерживает публичный конструктор new. Можно создать внутри enum-а метод-конструктор, можно даже сделать его публичным, но смысла это иметь не будет, так как не поддерживается вызов new. Можно внутри методов enum-а обращаться к текущему значению через this: enum Q {A, B; public boolean isA() { return this == A; }}.
По мотивам прочтения В Java присутствует тип Enum, который наследуется от java.lang.Enum. Этот тип позволяет хранить глобальные переменные без указания их значения (впрочем, можно задавать значения, используя синтаксис типа enum E { A(1), B(14), C(46) }). Могут быть объявлены вне класса или внутри. Вне класса не могут иметь никаких квалификаторов, типа static, final и т.п. Новый объект enum-а создаётся при обращении к объявленной переменной класса. Не поддерживает публичный конструктор new. Можно создать внутри enum-а метод-конструктор, можно даже сделать его публичным, но смысла это иметь не будет, так как не поддерживается вызов new. Можно внутри методов enum-а обращаться к текущему значению через this: enum Q {A, B; public boolean isA() { return this == A; }}.
Insertion sort — имеем два указателя i и j. На каждом шаге сравниваем больше ли значение от i+1 чем от i, и если да, то сохраняем указатель на i в текущей позиции и спускаем значение от i+1 налево, сравнивая его с j-1, передвигая j влево. Требует в среднем ~N²/4 сравнений и ~N²/4 перестановок. Если последовательность уже отсортирована, то потребуется N-1 сравнение и 0 перестановок. Для последовательности в обратном порядке потребуется ~N²/2 сравнение и столько же перестановок. Если значение комбинаторных перестановок для последовательности линейно по отношению к числу элементов, то insertion sort потребует линейного времени работы, поэтому его удобно использовать для почти отсортированных последовательностей. Почти отсортированные последовательности это как раз те последовательности, у которых число комбинаторных перестановок не превосходит c*N.
Generics — позволяют создавать классы не зависящие от типа и проверяющие переданный тип во время компиляции, а не выполнения. Для массивов так сделать невозможно, поэтому необходимо использовать cast при получение элемента из массива.
Iterators — реализуют интерфейс Iterable: public class C<T> implements Iterable<T>. Обязаны содержать публичный метод, возвращающий объект итератора: public Iterator<T> iterator() { return new IteratorClass(); }. Объект итератора обязан реализовать метод hasNext: public boolean hasNext(); метод next: public T next(); и метод remove, которым лучше не пользоваться: public void remove(); сам класс итератора должен реализовать интерфейс Iterator: private class IteratorClass implements Iterator<T>.
Comparable — если класс реализует интерфес Comparable<ClassName> то он поддерживает вызов callback-ов для использования в функциях сортировки. Класс, реализующий интерфес Comparable, обязан имплементировать метод compareTo, который возвращет -1 0 1 если переданное значение меньше, равно или больше значению текущего объекта.
Время работы стэка на linked lists всегда константно, на resizable arrays будет асимптотически константно, за исключением O(N) для случаев увеличения/уменьшения массива и переноса оригинальных данных в новый массив.
*Очередь легко реализовать на связанном списке, если мы сохраняем указатели на начало и конец списка. Очередь поддерживает операции unqueue — вставить в начало очереди и dequeue — вынуть из конца очереди. Реализация очереди на массиве не такая простая как реализация стэка на массиве, по причине того, что очередь изменяется с обоих концов.
pymotw.com
В Python есть модуль weakref, который позволяет использовать слабые ссылки, аналогичные WeakReference в Java.
Нет "soft" или "phantom" ссылок. wr = weakref.ref(obj) создаёт слабую ссылку на obj, значение obj можно получать через вызов этой ссылки: wr().value # -> obj.value Если использовать метод proxy вместо метода ref, то получим прокси-объект слабую ссылку: wr = weakref.proxy(obj); wr.value # obj.value. В случае если исходный объект был уже удалён, то ref_ref() вернёт None, а proxy_ref() возбудит ReferenceError. Существуют несколько структур данных поверх weakref. Дикт с weakref реализован поверх обычно дикта, поэтому вполне может произойти изменение его размеров во время итерации по нему по причине срабатывания GC.
По мотивам статьи В Python есть модуль weakref, который позволяет использовать слабые ссылки, аналогичные WeakReference в Java.
Нет "soft" или "phantom" ссылок. wr = weakref.ref(obj) создаёт слабую ссылку на obj, значение obj можно получать через вызов этой ссылки: wr().value # -> obj.value Если использовать метод proxy вместо метода ref, то получим прокси-объект слабую ссылку: wr = weakref.proxy(obj); wr.value # obj.value. В случае если исходный объект был уже удалён, то ref_ref() вернёт None, а proxy_ref() возбудит ReferenceError. Существуют несколько структур данных поверх weakref. Дикт с weakref реализован поверх обычно дикта, поэтому вполне может произойти изменение его размеров во время итерации по нему по причине срабатывания GC.
weblogs.java.net
"strong reference" — обычная ссылка на объект, создаваемая конструктором объекта. "weak reference" — ссылка на объект, наличие которой не защищает объект от сборки его GC. То есть, если кроме слабы ссылок на объект не осталось больше "strong" ссылок — объект будет собран GC. Используется для создания WeakHashMap, например. Позволяет не задумываться о том, что кроме удаления оригинальной ссылки на объект, надо удалять и все его использования в структуре данных хэш. "weak" ссылка возвращает по методу .get() сам объект или null если объект уже был удалён GC. "soft reference" — аналогично "weak" ссылке, но объект реально будет удалён только когда на него не осталось "strong" ссылок и при этом память подходит к концу. "phantom reference" — всегда возвращает null из метода .get(). Нужна для выяснения когда объект был реально удалён из памяти. "weak" и "soft" ссылки могут возродить объект в методе finalize, "phantom" ссылка так не может, потому что не имеет никаких реальных ссылок на объект. ReferenceQueee будет записывать слабые ссылки при удалении реального объекта, при этом "soft" и "weak" ссылки будут добавлены в очередь при выполнении метода finalize и при этом могут возродить объект, а "phantom" ссылка будет добавлена в очередь только при реальном удалении объекта из памяти.
По мотивам статьи "strong reference" — обычная ссылка на объект, создаваемая конструктором объекта. "weak reference" — ссылка на объект, наличие которой не защищает объект от сборки его GC. То есть, если кроме слабы ссылок на объект не осталось больше "strong" ссылок — объект будет собран GC. Используется для создания WeakHashMap, например. Позволяет не задумываться о том, что кроме удаления оригинальной ссылки на объект, надо удалять и все его использования в структуре данных хэш. "weak" ссылка возвращает по методу .get() сам объект или null если объект уже был удалён GC. "soft reference" — аналогично "weak" ссылке, но объект реально будет удалён только когда на него не осталось "strong" ссылок и при этом память подходит к концу. "phantom reference" — всегда возвращает null из метода .get(). Нужна для выяснения когда объект был реально удалён из памяти. "weak" и "soft" ссылки могут возродить объект в методе finalize, "phantom" ссылка так не может, потому что не имеет никаких реальных ссылок на объект. ReferenceQueee будет записывать слабые ссылки при удалении реального объекта, при этом "soft" и "weak" ссылки будут добавлены в очередь при выполнении метода finalize и при этом могут возродить объект, а "phantom" ссылка будет добавлена в очередь только при реальном удалении объекта из памяти.
sites.google.com
Мало чего понял, но уяснил, что лучше использовать фабрику вместо синглетона. Синглтон не удаляется и не отпускает память.
По прочтении статьи Мало чего понял, но уяснил, что лучше использовать фабрику вместо синглетона. Синглтон не удаляется и не отпускает память.
lucumr.pocoo.org выяснил, что импорт модуля вызывает код в модуле только один раз, затем этот инициализированный объект модуля помещается в sys.modules и берётся оттуда при каждом новом импорте такого модуля. Это создаёт проблему с реимпортом и так же с импортом нескольких одинаковых модулей разных версий.
По прочтении статьи Если вас припекает от субъективных мнений диванных аналитиков, пожалуйста, воздержитесь от дальнейшего чтения. Припекание может стать нестерпимым.
juick — наиболее популярен и населён самым разношерстным народом от школо-рачья до вполне серъёзных дяденек. так что можно найти от "ты — хуй", до обзоров какой-никакой науки. Много анимуфагготрии и виабушного говна ^_^ Здесь, как и в этой стране, можно норм жить если избегать контактов с властями, но ничего не гарантировано и хз что будет завтра.
psto — площадка с вполне предсказуемым концом, практически не развивается. В основном сборище тех, кто не смог игнорировать и неудержался поололокать. Многие из тех, кто здесь, ололокают там. Превалируют IT-треды практического уклона, дыбрование и ракование. Относительно немного анимуфагготрии и виабушного стафа.
point — будущее psto. Перманентно в альфа-тестинге. Реально сырое, слоупочное и недопиленное то там, то тут. Тематика подобна psto, но чуточку более фундаментальна^Wосновательна. До моего появления виабушных тредиков практически не было. Рака вроде пока нет, ну, или не было до моего прихода... Нуждается в доработке.
bnw — очень интересный и странный проект. Интересный своими фичами и странный своей относительно низкой популярностью. Не смотря на относительно высокую концентрацию анимешников ими самими загажен незначительно, что печально. Превалирует IT-тематика и политота.
В итоге у меня сложилось впечатление, что эти ресурсы отличаются не столько контингентом (многие сидят и там и там и тут), сколько условной тематикой и направленностью. и могут быть без проблем взаимозаменены в случае необходимости.
Ну это так, мнение одного тупого хикки. Без учета всякого социоблядства, тусовочек, припеканий и прочего.
наткнулся на интересный ресурс, посвященный code review: http://codereview.stackexchange.com/ кто угодно может постить код и имеет право быть обосраным или оптимизированным. ЗЫЖ: занялся изучением Erlang.
github.com пока простой весьма, без persistent storage и апи для возможности делать retry.
плз, обругайте код двух-файзного коммита
github.com .
соответсвенно прошу оценить, поругать, а за одно мнение нужно ли такое на hackage.
написал тут (некоторое время назад) небольшую либу позволяющую работать с eventfd соответсвенно прошу оценить, поругать, а за одно мнение нужно ли такое на hackage.
/1)
хотя первые несколько серий даже подумывал дропнуть, т.к. ни проработка сюжета, ни игра не впечатляли. только симпотишные персонажи (в первую очередь, конечно, очень живая Чихая).
дальше сюжет подработали, и к концу сериала уже практически невозможно остановиться и не включить "еще серийку". игра же обретала дополнительные краски и обрастала деталями в течение всего сериала, становясь увлекательной, разносторонней и даже красивой.
общем, рекомендую любителям споконов и прочего превозмогания;) если соберетесь смотреть, то не бросайте на первых 2-3х сериях.
Chihayafuru — весьма не плохой спокон. (про саму игру в хотя первые несколько серий даже подумывал дропнуть, т.к. ни проработка сюжета, ни игра не впечатляли. только симпотишные персонажи (в первую очередь, конечно, очень живая Чихая).
дальше сюжет подработали, и к концу сериала уже практически невозможно остановиться и не включить "еще серийку". игра же обретала дополнительные краски и обрастала деталями в течение всего сериала, становясь увлекательной, разносторонней и даже красивой.
общем, рекомендую любителям споконов и прочего превозмогания;) если соберетесь смотреть, то не бросайте на первых 2-3х сериях.
droidnews.ru
Такую игрушку прикупил се недавно : ) Дивайс, конечно, феериськи прекрасен в плане фич и скорости откликов.
После винмобайл в HTC Touch осюсения непередаваемые : )) Тема ондроедов для меня новая — играюсь, разбираюсь, итд. Попутно пытаюсь перетащить "все шо нажито" из старого телефона.
100500 смсок, похоже, останутся в старом фоне, а адресную книжку решил перетащить из оутлука в гугл руками, попутно наведя порядок, красоту и гармонию, отсеяв от лишнего и уже ненужного : ))
Обзорчег телефончега HTC Desire HD Такую игрушку прикупил се недавно : ) Дивайс, конечно, феериськи прекрасен в плане фич и скорости откликов.
После винмобайл в HTC Touch осюсения непередаваемые : )) Тема ондроедов для меня новая — играюсь, разбираюсь, итд. Попутно пытаюсь перетащить "все шо нажито" из старого телефона.
100500 смсок, похоже, останутся в старом фоне, а адресную книжку решил перетащить из оутлука в гугл руками, попутно наведя порядок, красоту и гармонию, отсеяв от лишнего и уже ненужного : ))
Elegant Universe (Brian Greene), The Fabric of the Cosmos (Brian Greene), Parallel Worlds (Michio Kaku), Death by the Blackhole (Neil deGrasse Tyson), The Grand Design (Stephen Hawking).
Все вышепредставленные книги, в разной мере, рассказывают про Квантовую Физику, Космологию и особое внимание уделится Гравитации. Так же будет краткий обзор Биографий Максвелла, Ньютона, Лапаласа, Энштейна, Хаббла и других интересных личностей. Почти все книжки не содержат сложной математики, но есть достаточно подробный список научных статей, большинство из которых можно найти на arxiv.org менее чем за минуту, и разобратся в самих уравнениях.
Elegant Universe и The Fabric of the Cosmos лучшие книги, первая по моему чуть лучше рассказывает основы теории относительности, на хороших примерах. Но если есть возможность купить только одну – The Fabric of the Cosmos лучше. Доктор Greene теоретический физик, в Теории Струн, так что насладится Струнами можно вдоволь.
Parallel Worls — Доктор Michio Kaku работает в области суперсиметрий, если в кратце – Это раздел Теории Струн (щас меня зарежут физики, за обобщение). Автор так же уделяет некоторое (небольшое, но больше чем остальные авторы) внимание, некоторым теоретическим конструкциям, вроде: Гиганских Струн, которые могут являтся одномерной сингулярностью (не черная дыра, а черный разрез ^_^), однополярным магнитам, расматривает Черные Дыры, как потенциальный Квантовый Объект.
Death by the Blackhole – Профессор Тайсон, занимается изучением Черных Дыр, так же он создал Машину Времени ^_^. В этой книге, больше внимания уделяется Астрономии в чем то Астрофизике. На самом деле, в то время, как не факт, что Теория Струн верна – эта книжка является самой Эмпирической из всех представленных ^_^. И да, надо теперь избегать String Theory теоретиков, а то припомнят мне.
The Grand Design — Профессор Хокинг – Космолог, занимался в области Теории Всего (Theory of Everything), пытаясь объединить теорию Гравитации с Unification. Теория из которой следует, что Сильные, Слабые ядреные взаимодействия и Электромагнетизм – Те же яйца, вид сбоку. Вобщем сделать одну мегя-супер-дупер-силу. К Сожалению, данную конкретную Книгу рекомендовать никому старше 18ти не стану. Книжка написанна слишком простым языком, и объясняет самые примитивные вещи. Это отличная книга для Подростка. Также в книжке есть ссылки на Религию (или анти-религию) где автор объясняет, что вселенной не нужна цель и все и так работает. Я считаю это не профессиональным, хотя может книга ориентировалась на Креационистов.
Лично я получил огромное удовольствие от всех книг кроме The Grand Design, читал я их в оригинале, о качестве перевода ничего сказать не могу. Так же у меня нету их "скчать", ищите сами ^_^
Из описания так же поддерживает DivX, XviD, AVI, MKV.
категорически рекомендую!
groups.google.com.hk
позволяет искать, покупать, смотреть оценки и отзывы продавца, ставить оценку и оставялть отзыв.
По моему даже удобнее перегруженого сайта. минимум самых необходимых кнопок.
vimeo.com
таки похоже что все чего мне не хватало в айтаче (адекватное чтение книг, просмотр видео и быстрая работа с документами/почтой "на ходу") в этой хреновине имеется.
Бодренький видео обзорчик, при этом достаточно качественный и полный: таки похоже что все чего мне не хватало в айтаче (адекватное чтение книг, просмотр видео и быстрая работа с документами/почтой "на ходу") в этой хреновине имеется.