Перейти к тексту


developerWorks Россия  >  Технология Java  >  

Техническая библиотека

developerWorks
 Ссылки по теме:    IBM Redbooks  |  Форумы
 
  
 
 Название  54    Скрыть краткие описания    
 
Название Дата
Теория и практика Java: Динамическая компиляция и измерение производительности
Проведение и интерпретация испытаний производительности для динамически компилируемых языков программирования, таких как Java, является намного более трудной задачей, чем для статически компилируемых языков, например C или C++. В данной статье серии "Теория и практика Java" Brian Goetz объясняет несколько из множества причин, по которым динамическая компиляция может усложнить тест производительности. Поделитесь своими мыслями по данной статье с автором и другими читателями в соответствующем форуме.
    21.12.2004  
 
Теория и практика Java: Загадки родовых типов (generics)
Родовые типы, добавленные в JDK 5.0, являются значительным улучшением независимости от типа в языке Java. Однако, для новичков некоторые аспекты родовых типов могут показаться странными или даже совершенно ненормальными. В статье этого месяца "Теория и практика Java" Брайан Гец исследует ловушки, в которые могут попасть новички при изучении родовых типов.
    25.01.2005  
 
Теория и практика Java: Оптимизации синхронизаций в Mustang
В этом месяце Брайан представляет некоторые из оптимизаций синхронизации, которые будут включены в Mustang. Обсуждаемые здесь специальные функциональные возможности могут быть или не быть включены в Java SE 6 ("Mustang").
    25.01.2006  
 
Теория и практика Java: Введение в неблокирующие алгоритмы
Версия Java 5.0 впервые сделала возможной разработку неблокирующих алгоритмов на языке программирования Java, и эта возможность широко используется в пакете . Неблокирующие алгоритмы представляют собой параллельные алгоритмы, потокозащищенность которых обеспечивается не блокировками, а низкоуровневыми атомарными аппаратными примитивами, такими как сравнение-и-замена. Разработка и реализация неблокирующих алгоритмов может быть чрезвычайно сложной задачей, но они могут предложить лучшую производительность и большую стойкость к проблемам живучести, таким как взаимоблокировки и инверсия приоритетов. В этой очередной статье серии Теория и практика Java гуру параллельности Брайан Гец рассматривает работу некоторых неблокирующих алгоритмов.
    18.04.2006  
 
Теория и практика Java: оснащение приложений средствами JMX
C встраиваемыми в платформу Java SE для управления Java (JMX -- Java Management Extensions) и средством просмотра jconsole использование JMX для контроля за приложением стало легче и эффективнее.
    19.09.2006  
 
Теория и практика Java: Методы безопасного конструирования
В этом выпуске по теории и практике Java Брайан Гетц рассматривает распространенную опасность, связанную с поточностью: допущение ситуации, при которой указатель this исчезает во время конструирования. Эта безвредная на вид практика может вызвать непредсказуемые и нежелательные результаты в работе ваших Java-программ.
    12.01.2007  
 
Теория и практика Java: Повышение эффективности тестирования, Часть 1
Еще в июне 2004 г, опытный истребитель ошибок Брайан Гетц предоставил инструментарий статического анализа кода FindBugs, который может обнаружить ошибки даже в тщательно протестированном программном обеспечении. В этом месяце он вновь возвращается к этой теме и рассматривает, каким образом инструментарии статического анализа могут изменить способ управления качеством программного обеспечения.
    12.01.2007  
 
Теория и практика Java: Антишаблон pseudo-typedef
Добавление обобщений к языку Java усложнило систему типов и повысило словесное наполнение многих объявлений переменных и методов. В "Теории и практике Java" за этот месяц Java-эксперт Брайан Гетц объясняет ограничения "антишаблона "typedef " ."
    17.01.2007  
 
Теория и практика Java: Повышение эффективности тестирования, часть 3
В первых двух статьях данной серии описано, каким образом инструментальные средства статического анализа, например, FindBugs, могут усилить управление качеством ПО, нацелив ресурсы разработки не на отдельные случаи, а на целые классы ошибок. В данной статье, посвященной тестированию, Брайан Гетц исследует еще одну технологию устранения ошибок, нарушающих правила проектирования: аспекты.
    18.01.2007  
 
Теория и практика Java: Избавьтесь от ошибок
FindBugs - это мощное инструментальное средство для проверки кода на соответствие принятым нормам проектирования, которое является огромным шагом вперед в современном состоянии развития инструментариев для практического анализа кода.
    23.01.2007  
 
Теория и Практика Java: О параллелизме простыми словами (почти)
Как и многие другие сервисы инфраструктуры приложений, вспомогательные классы для поддержания параллелизма, такие как рабочие очереди и пулы потоков часто без необходимости переписываются с нуля для каждого проекта. В этом месяце Брайан Гетц знакомит с пакетом util.concurrent Дага Ли, высококачественным, широко используемым пакетом утилит с открытым кодом для поддержки параллелизма.
    24.01.2007  
 
Теория и практика Java: Устранение
В данном выпуске серии "Теория и практика Java", Java-разработчик Брайан Гетц приводит правила и подсказки, которыми Вы можете руководствоваться при создании классов языка Java для эффективного и корректного описания методов hashCode() и equals().
    26.01.2007  
 
Теория и практика Java: Анатомия некорректных микротестов оценки производительности
В выпуске "Теория и практика Java" за этот месяц ведущий рубрики Брайан Гетц проводит исследование вопроса, почему выполнить оценку производительности конструкций языка Java на самом деле гораздо сложнее, чем кажется на первый взгляд.
    29.01.2007  
 
Теория и практика Java : Это ваш окончательный ответ?
Зачастую ключевое слово final используется некорректно - слишком часто при декларировании классов и методов, и слишком редко при декларировании полей экземпляров (instance fields). В этом месяце практикующий специалист в области Java-технологий Брайан Гетц проводит исследование различных руководств по эффективному применению final.
    29.01.2007  
 
Теория и практика Java: Включение атомарной инициализации
В текущем месяце наш автор Брайан Гетц рассматривает приемы разработки API, идиому самовозврата (self-return idiom), которая значительно облегчит жизнь пользователям вашего API.
    30.01.2007  
 
Теория и практика Java: Извлечение J2EE из контейнера
Большинство проектов относятся строго либо к категории J2EE-приложений, либо J2SE-приложений. Однако, существует ряд J2EE-технологий, которые могут быть вне J2EE-контейнера, а некоторые J2SE-приложения могут получить от этого пользу. В этом месяце Брайан Гетц рассматривает, как некоторые J2EE-сервисы могут быть использованы в J2SE-приложениях. Поделитесь своими мыслями по поводу данной статьи с автором и другими читателями на соответствующем дискуссионном форуме.
    30.01.2007  
 
Теория и практика Java: Репликация состояния на уровне Web
В данной статье приведен анализ некоторых вариантов репликации HttpSession и описание наиболее эффективного использования HttpSession, которое гарантирует хорошую масштабируемость и производительность.
    08.02.2007  
 
Теория и практика Java: Еще раз о городских легендах о производительности
В этой статье серии Теория и практика Java Брайан Гетц развенчивает некоторые часто повторяемые мифы о производительности, касающийся медленной аллокации в JVM.
    08.02.2007  
 
Теория и практика Java: Изменять или не изменять?
В этой статье Брайан Гетц объясняет некоторые преимущества неизменяемости и дает некоторые рекомендации по построению неизменяемых классов.
    08.02.2007  
 
Теория и практика Java: Есть ли необходимость в использовании JMS в новом корпоративном приложении?
Добро пожаловать в серию "Теория и практика Java" - новую ежемесячную колонку профессионального разработчика на языке Java, Брайана Гетца. В этом месяце Брайан будет рассматривать технологию организации очередей сообщений для предприятий.
    08.02.2007  
 
Теория и практика Java: Переход к атомарности
Изучите проблематику параллельной обработки вместе с ведущим специалистом Брайаном Гетцем, и он расскажет вам, как эти новые классы создали возможность разрабатывать высокомасштабируемые безблокировочные алгоритмы на языке Java.
    08.02.2007  
 
Теория и практика Java: Дебаты об исключениях
Когда нужно использовать отмеченные и неотмеченные исключения в классах Java? Основополагающий принцип заключается в том, чтобы пользоваться отмеченными исключениями во всех случаях, однако некоторые специалисты в области Java начали думать по-другому. Обозреватель Брайан Гетц изучает вопрос исключений и предлагает руководство, как и когда использовать неотмеченные исключения.
    08.02.2007  
 
Теория и практика Java: Дебаты об исключениях
Когда нужно использовать отмеченные и неотмеченные исключения в классах Java? Основополагающий принцип заключается в том, чтобы пользоваться отмеченными исключениями во всех случаях, однако некоторые специалисты в области Java начали думать по-другому. Обозреватель Брайан Гетц изучает вопрос исключений и предлагает руководство, как и когда использовать неотмеченные исключения.
    08.02.2007  
 
Теория и практика Java: Городские легенды о производительности
Многие ссылки и рекомендации по настройкам производительности Java во многом похожи городские легенды - кто-то где-то дает какую-то подсказку, которая имеет (или имела) под собой некое основание, но за время ее нескончаемого пересказа давно потеряла всякий смысл, который в ней был. Брайан Гетц разбирает некоторые из этих городских легенд о производительности и очищает их от заблуждений.
    08.02.2007  
 
Теория и практика Java: Хорошие практические приемы по ведению домашнего хозяйства
Сборка мусора - любимая функция платформы Java почти у каждого; она упрощает разработку и устраняет все категории возможных ошибок в коде. Но в то время как сборка мусора, как правило, позволяет вам пренебрегать управлением ресурсами, иногда приходится вести хозяйство самостоятельно. В выпуске "Теории и практики Java" за этот месяц Брайан Гетц обсуждает ограничения сборки мусора и определяет ситуации, когда вам придется выполнять уборку самостоятельно.
    08.02.2007  
 
Теория и практика Java : Декорирование при помощи динамического прокси
Средство динамического прокси, являющееся частью пакета java.lang.reflect и добавленное в JDK версии 1.3, позволяет программам создавать прокси-объекты, которые могут выполнять один или несколько известных интерфейсов и посылать запросы методам интерфейса программным путём, используя отражение вместо отправки встроенного виртуального метода. Данный процесс позволяет осуществить "перехват" запросов метода и перенаправить их или динамически добавить функциональность. В этом месяце Брайан Гетц расскажет вам о нескольких приложениях для динамических прокси.
    08.02.2007  
 
Теория и практика Java: Мне нужно задокументировать ЭТО?
В данной статье Брайан разражается тирадой о текущем состоянии работы с документацией Java и дает рекомендации по написанию более практичной Javadoc.
    09.02.2007  
 
Теория и практика Java: Понимание JTS - Достижение равновесия между безопасностью и производительностью
В заключительной статье серии, посвященной JTS, Брайан Гетц рассмотрит средства J2EE, предлагаемые для управления демаркацией и изолированностью транзакций, и некоторые правила их эффективного использования.
    20.02.2007  
 
Теория и практика Java: Понимание JTS - Введение в транзакции
Сервис транзакций Java (JTS) является ключевым элементом архитектуры J2EE. Совместно с интерфейсом Java API для транзакций (JTA), он позволяет создавать распределенные приложения, устойчивые к различным системным и сетевым неполадкам. Первая из трех статей данной серии содержит сведения о том, что такое транзакции и почему они так важны для создания надежного распределенного приложения.
    20.02.2007  
 
Теория и практика Java: Будьте хорошим подписчиком (событий)
В этом очередном выпуске "Теории и практики Java" Брайан Гетц предлагает несколько полезных советов, как быть хорошим подписчиком и как самому быть хорошим для своих подписчиков.
    26.02.2007  
 
Теория и практика Java: Построение лучшей HashMap
Брайан Гетц проникает в код ConcurrentHashMap и рассматривает, как достигается отличная пропускная способность и параллелизм без ущерба для безопасности потоков.
    26.02.2007  
 
Теория и практика Java : Параллельные классы коллекций
В дополнение к множеству других полезных строительных блоков для реализации параллелизма пакет util.concurrent Дага Ли (Doug Lea) содержит высокопроизводительные, потокобезопасные реализации для рабочих типов коллекций List и Map. В этом месяце Брайан Гетц покажет вам, насколько выиграют многие параллельные программы, если просто поменять Hashtable или synchronizedMap на ConcurrentHashMap.
    26.02.2007  
 
Теория и практика Java: Характеристика безопасности потока
В июльской статье наш эксперт по параллельной обработке Брайан Гетц описывал классы Hashtable и Vector как условно поточнобезопасные. Должен ли класс быть поточнобезопасным или нет? К сожалению, безопасноcть потока не является понятием типа "все-или-ничего", и ее удивительно трудно определить. Но, как объясняет Брайан в этой новой статье для раздела Теории и практики Java, исключительно важно попытаться систематизировать безопасность потока ваших классов в их Javadoc.
    26.02.2007  
 
Теория и практика Java: Анализ экранных данных с помощью XQuery
XQuery является стандартом W3C по извлечению информации из XML-документов, охватывающим 14 рабочих проектов. Хотя в большинстве случаев XQuery нацелен на осуществление запросов к слабоструктурированным данным обширных баз данных документов, он может быть также эффективен и для решения более повседневных задач. В этом месяце Брайан Гетц, ведущий рубрики "Теория и практика Java", покажет Вам эффективные способы использования XQuery в качестве механизма анализа экранных данных HTML.
    27.02.2007  
 
Теория и практика Java: Где ваша точка?
В данной статье Брайан Гетц рассматривает некоторые ловушки и сбои, зачастую встречающиеся при использовании дробных числовых типов в программах Java.
    27.02.2007  
 
Теория и практика Java: Работа с InterruptedException
Многие методы языка Java, такие как Thread.sleep() и Object.wait(), выдают исключение InterruptedException. На него нельзя не обратить внимания, потому что это отмеченное исключение, но что же с ним делать? В этом месяце в очередной статье серии Теория и практика Java эксперт по параллельности Брайан Гетц объясняет, что означает InterruptedException, почему оно генерируется, и что с ним делать.
    27.02.2007  
 
Теория и практика Java: Исправление модели памяти Java, Часть 1
В этом выпуске Теории и практики Java Брайан Гетц покажет, как семантика volatile и final будет усилена для внесения исправлений в модель памяти JMM. Некоторые из этих изменений были уже интегрированы в пакет JDK 1.4; остальные ждут своей очереди, чтобы быть включёнными в JDK 1.5.
    01.03.2007  
 
Теория и практика Java: Понимание JTS - Волшебство за кулисами
В первой части данной серии, посвященной транзакциям, мы узнали, что такое транзакции, и почему они важны при построении надежного распределенного приложения. В данной части мы изучим, как приложения J2EE конструируются при помощи транзакций, и как JTS и контейнер J2EE управляют сервисами транзакций, включая демаркацию транзакций, внесение ресурсов в список, и прохождение транзакций, в режиме, практически скрытом от разработчика компонентов.
    01.03.2007  
 
Теория и практика Java: Создание запросов к базе данных без самой базы данных
Когда у Вас есть молоток, все кажется гвоздем (так гласит старая поговорка). А что, если молотка нет? Ну, иногда, молоток можно и одолжить. И тогда, с молотком в руках, Вы можете забить виртуальные гвозди заимствованным молотком и вернуть его, и не надо быть семи пядей во лбу. В этом месяце в Теории и практике Java Брайан Гетц демонстрирует, как такие молотки манипулирования данными, как SQL или XQuery, можно применить к узкоспециализированным данным.
    01.03.2007  
 
Теория и практика Java: Краткая история развития технологии утилизации памяти
"Сборка мусора" (популярное название технологии утилизации памяти) является неотъемлемой частью многих языков программирования и применяется с начала 1960-х годов. В этой статье Брайан Гетц описывает самые распространенные методы сборки мусора.
    02.03.2007  
 
Теория и практика Java: Исправление модели памяти Java, часть 2
В первой части этой серии автор Брайан Гетц рассказал подробно о некоторых серьезных изъянах, которые были найдены в оригинальной модели памяти JMM, что привело к невероятному усложнению семантики для концептов, которые должны были быть простыми. В этом месяце он покажет, как семантика volatile и final изменится под новой моделью памяти JMM, какие изменения приведут их семантику в соответствие с интуицией большинства разработчиков. Некоторые из этих изменений уже присутствуют в JDK 1.4; другие будут ждать до выхода JDK 1.5. Поделитесь своими мыслями об этой статье с автором и другими читателями в соответствующем форуме.
    02.03.2007  
 
Теория и практика Java: Устранение утечек памяти посредством гибких ссылок
В предыдущем выпуске Теории и практики Java специалист по отладке программ Java Брайан Гетц рассмотрел слабые ссылки, позволяющие сообщать сборщику мусора, что вы устанавливаете такие связи с объектом, которые не препятствуют его обработке программой по очистке памяти. В этом месяце он рассмотрит другой вид объектов Reference, гибкие ссылки, которые также позволяют расширить список средств программы очистки памяти по управлению использованием памяти и устранению возможных утечек памяти.
    02.03.2007  
 
Теория и практика Java: Устранение утечек памяти посредством слабых ссылок
Несмотря на то, что теоретически программы, написанные на языке программирования Java, устойчивы к "утечкам памяти (memory leaks)", случаются ситуации, когда при очистке памяти не удаляются объекты, даже если они не являются больше частью логического состояния программы. В этом месяце специалист по отладке ПО Брайан Гетц рассмотрит наиболее распространенную причину случайного удержания в памяти объекта и покажет, как устранить утечку при помощи слабых ссылок.
    02.03.2007  
 
Теория и практика Java: Чей это объект?
Сборка мусора означает, что разработчикам Java не нужно беспокоиться (сильно) об утечках памяти, но иногда все-таки стоит подумать о владельце объекта для предотвращения "состязания" данных и нежелательных побочных эффектов. В данной статье Брайан Гетц описывает некоторые ситуации, в которых разработчики Java должны обращать внимание на владельца объекта.
    02.03.2007  
 
Теория и практика Java: Управление производительностью - есть ли у вас план?
Брайан Гетц обсуждает некоторые из наиболее частых ошибок, связанных с производительностью, с которыми он сталкивался в проектах с использованием языка Java. Хотя существует множество различных моментов при написании программ, которые могут привести к проблемам с производительностью, часто в них виноваты ошибки в управлении и выборе подхода.
    05.03.2007  
 
Теория и практика Java: Сборка мусора и производительность
Два последних выпуска Теории и практики Java обсуждали различные методы сборки мусора и основы работы сборщиков мусора в JDK 1.4.1. В этом месяце ведущий рубрики Брайан Гетц рассмотрит влияние выбора сборщика мусора на производительность, на то, как различные методы кодирования взаимодействуют со сборщиком мусора, и как распределение, а также другие связанные с этим затраты в виртуальных машинах Java изменились за последние несколько лет.
    06.03.2007  
 
Теория и практика Java: Более гибкая, масштабируемая блокировка в JDK 5.0
JDK 5.0 предлагает разработчикам некоторые интересные новые возможности для разработки высокоэффективных совместимых приложений, например, класс reentrantLock в java.util.compatible.lock предлагается как замена для средства synchronized языка Java - он имеет ту же семантику памяти, ту же семантику блокировки, более высокую производительность в условиях конкуренции, а также возможности, не предлагаемые synchronized. Значит ли это, что мы должны забыть о synchronized и вместо этого использовать исключительно reentrantLock? Эксперт по параллелизму Брайан Гетц возвращается после летнего перерыва и дает ответ на этот вопрос.
    14.03.2007  
 
Теория и практика Java: Сборка мусора в HotSpot JVM
Брайан Гетц анализирует, каким образом 1.4.1 JVM выполняет сборку мусора, и рассказывает о некоторых новых возможностях сборки мусора для многопроцессорных систем.
    14.03.2007  
 
Теория и практика Java: Эй, а куда подевался мой поток?
Если вы неосторожны, потоки могут исчезать из серверных приложений без следа (в стеке). В этой статье специалист по потокам Брайан Гетц предложит некоторые способы как для предотвращения, так и для выявления случаев, когда поток "уходит в самоволку".
    14.03.2007  
 
Теория и практика Java: Пулы потоков и очередь действий
Один из наиболее часто встречающихся вопросов, присылаемых на наш форум обсуждения многопоточного Java-программирования – как создать пул потоков? Почти в каждом серверном приложении возникает вопрос о пулах потоков и очереди действий. В данной статье Брайан Гетц исследует движущие силы пулов потоков, основные случаи их использования и технологию настройки, а также некоторые опасные моменты, которых следует избегать.
    14.03.2007  
 
Теория и практика Java: Повышение эффективности тестирования, Часть 2
В выпуске этого месяца опытный истребитель ошибок Брайан Гетц приводит детальное описание процесса создания и настройки детектора шаблонов нестандартных ошибок.
    15.03.2007  
 
Теория и практика Java: Использование возможностей языка Java 5 в предыдущих версиях JDK
В Java 5 в язык было добавлено много значительных возможностей. Но многие проекты до сих пор привязаны к JDK 1.4. Однако эти разработчики все-таки могут использовать эти полезные возможности. Брайан Гетц в этой статье покажет, как этого добиться.
    28.11.2007  
 
Теория и практика Java: Часть 1. Разветвляемся
Одно из дополнений к java.util.concurrent, ожидаемое в Java 7, - это модель распараллеливания в стиле fork-join.Идея fork-join обспечивает естественный механизм разложения многих алгоритмов для эффективного использования аппаратного параллелизма.
    27.10.2008  
 
Теория и практика Java: Разветвляемся. Часть 2
Во второй части данной серии статей автор Брайан Гетц рассматривает классы ParallelArray, упрощающие операции параллельной сортировки и поиска в структурах данных, находящихся в памяти.
    01.10.2009  
 
 Название  54    Скрыть краткие описания    
 
Ничего не нашли? Предложите материал.