Написание программы — технические детали

Написание программы - технические деталиЗа последние пару десятилетий программирование прочно вошло в нашу жизнь: уже со школы учат детей писать простейшие программные модули, реализующие какую-либо простую идею. Сложно написать программу в один прием, даже если имеется опыт в области программирования.

Большинство из них эволюционируют со временем. Процесс ввода в эксплуатацию требует немало усилий и времени. Нужно удостовериться, что нет никаких багов и только тогда отправлять на тестировку и ввод в действие.
В настоящее время IT сфера развивается довольно быстро и то, что было актуально пару лет назад, сейчас потеряло всякую практическую значимость. Так, например, многие языки (Algol, Pascal, Assembler) постепенно уступили место новым, более мощным языкам программирования, таким как: Java, C#,C++ и многие другие. Рассматриваемые примеры будут приведены на Java, так как он является наиболее мощный язык для модульного, а также для объектно-ориентированного метода. Читать

Наборы строк(Row Set) в языке Java

Наборы строк(Row Set) в языке JavaПрокручиваемые результирующие наборы предлагают богатые возможности, однако они не свободны от недостатков. В течении всего времени взаимодействия с пользователем соединения с базой данных должно быть открыто. Однако пользователь может отлучиться на длительное время, а открытое соединение будет потреблять ресурсы.

В подобной ситуации целесообразно использовать набор строк(row set). Интерфейс RowSet расширяет интерфейс ResultSet, но набор строк не привязан к соединению с базой данных.

Наборы строк также применяемы в случае, если требуется переместить результаты выполнения запроса на другой уровень сложного приложения или на другое устройство, например, на мобильный телефон. Переместить результирующий набор нельзя, так как он связан с соединением, кроме того, размеры структуры данных могут быть очень велики. Читать

Битовые операции в языке Java

Битовые операции в языке JavaРаботая с любыми целочисленными типами, можно применять операции, непосредственно обрабатывающие биты, из которых состоят целые числа. Это значит, что для определения состояния отдельных битов числа можно использовать маски.

В языке Java есть следующие битовые операции: &(«и»), |(«или»), ^(«исключающие или»), ~(«не»). Например, если n — это целое число, то приведенное ниже выражение равно единице только в том случае, если четвертый бит в двоичном представлении числа равен единице. Читать

Сортировка и перетасовка Java

Сортировка и перетасовка JavaВетераны программирования иногда вспоминают о том, как им приходилось использовать перфокарты и как вручную программировать алгоритмы сортировки. В наши дни, конечно, алгоритмы сортировки являются частью стандартной библиотеки в большинстве языков программирования, и язык программирования Java — не исключение.

Метод sort() класса Collections сортирует коллекцию, реализующую интерфейс List. Читать

Использование диагностических утверждений Java

Использование диагностических утверждений JavaДиагностические утверждения(assertion) — это широко распространенные идиомы, применяемые для обеспечения надежности программирования. Допустим, вы убеждены в том, что конкретное свойство уже задано, и ссылаетесь на него в своей программе. Предположим, что вы вычисляете следующее выражение:

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

Анализ элементов трассировки стека Java

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

В версиях, предшествующих Java SE 1.4, для получения текстового описания трассировки стека применялся метод printStackTrace() класса Throwable. Теперь разработчикам доступен метод getStackTrace() он возвращает массив объектов StackTraceElement, которые можно анализировать в программе. Например: Читать

Взаимодействие апплетов Java

Взаимодействие апплетов JavaВеб-страница может содержать несколько апплетов. Если параметр codebase у этих апплетов один и тот же, они могут взаимодействовать друг с другом. Естественно, что взаимодействие апплетов — довольно сложный процесс, необходимость в котором возникает часто.

Если для каждого апплета задать атрибут name, то с помощью метода getApplet(String), объявленного в интерфейсе AppletContext, можно получить ссылку на любой апплет. Предположим, что в HTML-файле содержится дескриптор: Читать

Кодовые точки и кодовые единицы Java

Кодовые точки и кодовые единицы JavaВ языке Java строки реализованы как последовательности значений типа char. Тип char позволяет задавать кодовые единицы, представляющие кодовые точки Unicode в кодировке UTF-16. Наиболее часто используемые символы Unicode представляются одной кодовой единицей. Дополнительные символы задаются парами кодовых единиц.

Метод length() возвращает количество кодовых единиц для данной строки в кодировке UTF-16. Ниже приведен пример использования данного метода: Читать

Перспективные языки программирования

Перспективные языки программированияЧеловек всегда стремится к познанию и созданию чего-то нового. Не стала исключением и среда программирования, ведь при всем своем многообразии языки программирования все продолжают появляться. Бывает, что появление новых языков обусловлено желанием студентов создать что-то индивидуальное в рамках своего проекта, а иногда небольшие компании создают язык для нужд своей отрасли. Так что же движет программистами в создании новых языков программирования?

Программирование не стоит на месте, оно стремительно развивается в современном мире. Создание многоядерных процессоров, мобильных устройств, появление распределенных архитектур создали разработчикам новые проблемы и поставили перед ними новые задачи. Переделывать существующие языки под современные задачи невероятно сложно, гораздо проще создать новый язык программирования, подходящий под определенные функции. Читать