Результаты поиска
Есть ли опыт работы с буферами протокола?
Я просто просматривал некоторую информацию о формате обмена данными буферов протокола Google. Кто-нибудь играл с кодом или даже создал проект вокруг него?
В настоящее время я использую XML в проекте Python для структурированного контента, созданного вручную в текстовом редакторе, и мне было интересно, каково общее мнение о буферах протокола в качестве пользовательского формата ввода. Преимущества скорости и краткости определенно кажутся там, но есть так много факторов, когда речь заходит о фактическом создании и обработке данных.
Почему у Ruby нет настоящего StringBuffer или StringIO?
Недавно я прочитал хороший пост об использовании StringIO в Ruby. Однако автор не упоминает, что StringIO -это просто "I.", нет "O.", вы не можете этого сделать, например:
s = StringIO.new
s << 'foo'
s << 'bar'
s.to_s
# => should be "foo\nbar"
# => really is ''`
Ruby действительно нуждается в StringBuffer точно так же, как и тот, который есть у Java. StringBuffers служат двум важным целям. Во-первых, они позволяют вам проверить выходную половину того, что делает Ruby StringIO. Во-вторых, они полезны для создания длинных струн из маленьких частей-то, что Джоэл напоминает нам снова и снова, в противном случае очень медленно.
Есть ли хорошая замена?
Это правда, что строки в Ruby изменчивы, но это не значит, что мы всегда должны полагаться на эту функциональность. Если stuff является большим, то требования к производительности и памяти этого, например, действительно плохи.
result = stuff.map(&:to_s).join(' ')
"correct" способ сделать это в Java-это:
result = StringBuffer.new("")
for(String s : stuff) {
result.append(s);
}
Хотя мой Java немного заржавел.
Раскрашивание изображений в Java
Я работаю над некоторым кодом, чтобы раскрасить изображение в Java. В основном я хотел бы сделать что-то вроде команды GIMP colorize, так что если у меня есть BufferedImage и цвет, я могу раскрасить изображение с помощью данного цвета. Кто-нибудь есть идеи? Мой текущий лучший способ сделать что-то вроде этого-получить значение rgb каждого пикселя в BufferedImage и добавить к нему значение RGB цвета с некоторым коэффициентом масштабирования.
Двоичный буфер в Python
В Python вы можете использовать StringIO как файловый буфер для символьных данных. Сопоставленный с памятью файл в основном делает то же самое для двоичных данных, но для этого требуется файл, который используется в качестве основы. Есть ли у Python файловый объект, предназначенный для двоичных данных и являющийся только памятью, эквивалентной Java ByteArrayOutputStream ?
У меня есть вариант использования: я хочу создать файл ZIP в памяти, а ZipFile требует файлоподобного объекта.
Как избежать OutOfMemoryError при использовании Bytebuffers и NIO?
Я использую ByteBuffers и FileChannels для записи двоичных данных в файл. Когда я делаю это для больших файлов или последовательно для нескольких файлов, я получаю исключение OutOfMemoryError .
Я где-то читал, что использование Bytebuffers с NIO нарушено и его следует избегать. Кто-нибудь из вас уже сталкивался с подобной проблемой и нашел решение для эффективного сохранения больших объемов двоичных данных в файле java?
Является ли вариант jvm -XX:MaxDirectMemorySize правильным решением?