Наши проекты

ThreadPoolExecutor в Java ME


Для выполнения асинхронного кода программисту приходится создавать новый поток и переопределять метод run. Но что будет, если мы захотим выполнить 10, 100, 1000 задач? В этом случае на каждую задачу будет создан новый поток, и всё больше и больше времени система будет не на выполнение каждой задачи непосредственно, а на создание и уничтожение потоков и на переключение между ними, и таким образом мы можем потерять в производительности приложения даже больше, чем однопоточный вариант программы.
Чтобы избежать подобной проблемы, используется следующая идея: пусть некий объект создаст за нас некоторое количество потоков и хранит очередь задач, Любой свободный в данный момент времени поток извлекает из очереди задачу и исполняет её; во время выполнения задачи поток считается занятым, а после завершения ...
Продолжить

Рейтинг:  9  (Против: 1 | За: 10)
Добавил: Freddy

Комментарии (19)

Реализация собственных Input/Output Stream


В Java очень богатый набор классов по работе с потоками: InputStream, DataInputStream, ByteArrayOutputStream, PrintStream и т.д. Каждый из них полезен в той или иной ситуации. Поэтому важно уметь работать с ними.

Например, нужно в игре защитить графику. Можно считать весь файл в массив, провести над ним операции по раскодированию и потом из массива байт создать картинку. Такой способ не очень хорош из-за повышенного потребления памяти и лишних операций. А почему бы нам сразу не читать байты уже раскодированными? Вот тут нам и поможет возможность создания своего Input/OutputStream'а.

Начнём с OutputStream. Первым делом, нужно создать свой класс, наследуемый от OutputStream. На вход он будет принимать существующий OutputStream.
  1. public
...
Продолжить

Рейтинг:  8  (Против: 0 | За: 8)
Добавил: heavenzip

Комментарии (2)

Бэкап сообщений Вконтакте с использованием VK API и Java 8


За время использования vk.com накопилось немало диалогов, которые хотелось бы куда-то сохранить и изредка перечитывать. К тому же всегда интересно вспомнить с чего начиналась переписка с другом или подругой. Поэтому я решил написать для себя приложение, которое будет делать бэкап диалогов в html со всеми фотографиями, ссылками на видео и репостами.

Задачу можно разбить на два пункта:
1. Получение бэкапа диалогов.
2. Парсинг и вывод в нужный формат.
Цитата 16-фев-2017:
По многочисленным просьбам добавил скомпилированное приложение с текстовым файлом настроек.

Получение бэкапа диалогов
Вконтакте предоставляет свой API для работы приложений. Именно его мы и будем использовать ...
Продолжить

Рейтинг:  13  (Против: 0 | За: 13)
Добавил: aNNiMON

Комментарии (6)

Побитовые операции


В языке Java (да и в других языках тоже) есть такие побитовые операции:
И (AND) &
ИЛИ (OR) |
ИСКЛЮЧАЮЩЕЕ ИЛИ (XOR) ^
СДВИГ ВЛЕВО (SHL) <<
СДВИГ ВПРАВО (SHR) >>
ИНВЕРСИЯ ~

И (конъюнкция)
  1. a b  &
  2. 0 0  0
  3. 0 1  0
  4. 1 0  0
  5. 1 1  1
Правило: если хотя бы в одном из битов будет ноль, то результат тоже будет нулём.

Возьмём числа 34 и 27. В двоичной системе счисления им будут соответствовать числа 00100010 и 00011011.
Выполним операцию И для этих двух чисел:
00100010 - 34
00011011 - 27
00000010 - 2
То есть 34 & 27 = 2

ИЛИ (дизъюнкция)
  1. a b  |
  2. 0 0  0
  3. 0 1  1
  4. 1 0  1
  5. 1 1  1
Правило: если хотя бы в одном из битов будет единица, то результат тоже будет единицей.

Выполним операцию ИЛИ для всё тех же чисел 34 и 27.
00100010 ...
Продолжить

Рейтинг:  5  (Против: 0 | За: 5)
Добавил: aNNiMON

Комментарии (18)

Написание бота для Diamond Dash


Не так давно, просматривая ленту на Хабре, наткнулся на такую вот статью. Бегло просмотрев её, я решил сделать подобное на своём родном языке Java. Сейчас постараюсь в точности описать ход своих мыслей и идей. Приступим.
Первым делом нужно было узнать, умеет ли Java работать с мышкой? Интуиция выдала стопроцентный положительный результат, затем, через десять секунд был введён запрос в Google и получено подтверждение - в таких делах наш помощник это класс java.awt.Robot. Он умеет получать изображение с экрана, эмулировать нажатия клавиш и управлять мышью. То что нужно. Для начала решил освоить этот класс, для этого написал метод, который "набирал" переданный ему текст. Исходный код этого метода выглядит так:
  1. /**
  2.  * Автоматическое
...
Продолжить

Рейтинг:  4  (Против: 0 | За: 4)
Добавил: aNNiMON

Комментарии (0)
Всего: 31
<< 1 ... 4 5 6 7 >>
Категории


Пожертвования

Аноним2800 р.
Freddy1700 р.
NaruTrey800 р.
vlavolk637 р.
GOFMIDO256 р.
  © aNNiMON (Melnik Software)
 
Яндекс.Метрика