Roman
Добрый вечер..вопрос по многопоточности Допустим есть миллионный arraylist, нужно выполнить какие-то операции арифметические операции с ним. Выполнить с отдельном потоке понятно как реализовать, а как правильно разделить на вычисления на несколько потоков? Допустим пользователь может указать количество потоков в которых будет производиться вычисления..как правильно это обрабатывать? Как диначические создавать листы к которые ложить результаты вычислений? Что-то я совмес не вижу решения(
Ruslan
ThreadExecutor
roman G
Ребят, как называется эффект, когда сначала показывается информация, а затем она вместе с RecyclerView скролится
roman G
roman G
Что-то такое, только вместо другой информации мне нужно чтобы дальше скроллился список
roman G
В сторону coordinatorlayout гугли.
То что нужно, спасибо
Dug
Ещё можно самому на ресайклер повесить скроллистенер и двигать, сайзить и прочее. Но это уже заморочки ))
Любимый❤
вопрос на миллион, для чего нужны сервесы?
Любимый❤
пишут, что для подгрузки данных, но можно подгружать данные и без сервисов
Любимый❤
а еще для чего они нужны?
Vladimir
Длительные операции, у них собственный жизненный цикл, не завязанный на жизненный цикл активити или процесса приложения.
Roman
правильно ли я понимаю что в Executors.newFixedThreadPool(1) 1-это кол-во потоков в пуле? если так, то почему изменение кол-ва никак не влияет на скорость выполнения операций работы большим листом лонгов?
Fearless
Всем привет! Помогите, пожалуйста. Возникла проблема при работе с ретрофитом. При вызове запроса получаю ошибку java.security.cert.CertPathValidatorException: Trust anchor for certification path not found. Как можно исправить?
Сергій
правильно ли я понимаю что в Executors.newFixedThreadPool(1) 1-это кол-во потоков в пуле? если так, то почему изменение кол-ва никак не влияет на скорость выполнения операций работы большим листом лонгов?
Скорее всего из-за gc, которого триггерит постоянный Unboxing Long в long, хотя чтобы это почувствовать, лист должен быть действительно большим. Если под "листом лонгов" ты имеешь ввиду List<Long>, а не long[]. Но без кода сложно что-то большее сказать. Пока непонятно как ты параллелишь это.
Evgenii
Ребят, как называется эффект, когда сначала показывается информация, а затем она вместе с RecyclerView скролится
В презентации Яндекса говорилось что это их кастомное решение Погугли что-то вроде advanced recyclerview или multi adapter recyclerview
Anonymous
Привет, почему не работает знак -
Anonymous
Дмитрий
Привет, почему не работает знак -
скобочки нужно поставить
Дмитрий
а так вы получается, что из строки число вычитаете
Anonymous
$t3v3;0)
Два case 2
Дмитрий
case 2 уже выше определен
Anonymous
блин, пол часа скобки с ковычками ставил
Anonymous
Спосибо
Дмитрий
А ещё у вас первый вариант вернет неверный результат =)
Дмитрий
Если a = 1 а b =2 то на выходе получится 12
Дмитрий
Дмитрий
Исправил
Да мне-то что, не я же заказчик =)
Anonymous
package com.company; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner def = new Scanner(System.in); boolean d = true; int a,b,c,sum ; while (d = true) { System.out.println("Enter your first number..."); a = def.nextInt(); System.out.println("Enter your second number..."); b = def.nextInt(); System.out.println("Enter your char..."); c = def.nextInt(); switch (c) { case 1: System.out.println("Your result is " + (a + b)); break; case 2: System.out.println("Your result is " + a / b); break; case 3: System.out.println("Your result is " + a * b); break; case 4: System.out.println("Your result is " + (a - b)); break; } } } } И еще вопрос: как можно Case назвать типом char "-,+,/"?. Проблема в том, что Scanner не видит переменные типа char
Max
a,b,c,d
Max
Какая прелесть
Hououin
Какая прелесть
Обфускация на уровне написания кода))
Anonymous
Я о помощи просил, а вы издеваетесь
Amir
Я о помощи просил, а вы издеваетесь
тебе скорее сюда https://t.me/javarush
Евгений
Я о помощи просил, а вы издеваетесь
тут такое и есть. Я в какую беседы не зайду по программированию, так везде вот такая фигня. Нормальные программисты здесь не сидят.
Anonymous
не знаю
Дмитрий
Я о помощи просил, а вы издеваетесь
Вы задаете в тематический чат по андроиду вопросы по основам явы. Не стоит удивляться, что будет такое отношение.
Gleb
Ребят, есть презентер, в нем модель - синглтон, как мне застабать метод у этой модели? (я знаю, что все плохо и т.д. но интересует именно в этой ситуации решение, код не меняем)
Ilya
Всем привет! Помогите, пожалуйста. Возникла проблема при работе с ретрофитом. При вызове запроса получаю ошибку java.security.cert.CertPathValidatorException: Trust anchor for certification path not found. Как можно исправить?
Проблема не в ретрофите, а в серте с сервера. Надо пинать бэкэндов, пусть чинят. Ну или можно заставить нативку доверять всем сертификатам, гуглить в сторону trust anchor
Yergali
всем привет после добавления facebook-android-sdk выходит ошибка * What went wrong: Execution failed for task ':app:compileDebugKotlin'. > Compilation error. See log for more details никто не сталкивался с такими задачами?
Yergali
логах именно не показывает какая ошибка
Yergali
Дмитрий
логах именно не показывает какая ошибка
попробуйте вручную через ./gradlew assembleDebug собрать
Дмитрий
там больше информации по ошибке можно получить
Andrei
Подскажите, каким решением лучше пользоваться для работы с Xml из под Android?
Roman
Скорее всего из-за gc, которого триггерит постоянный Unboxing Long в long, хотя чтобы это почувствовать, лист должен быть действительно большим. Если под "листом лонгов" ты имеешь ввиду List<Long>, а не long[]. Но без кода сложно что-то большее сказать. Пока непонятно как ты параллелишь это.
ну я сравнивал на 100к значений Суть в том что приходит число (лимит) а я высчитываю все доступные простые числа входящие в этот лимит : override fun getPrime(limit: Long): List<Long> { val array = ArrayList<Long>() var flag = false for (i in 2 until limit) { flag = false for (j in 2..i / 2) { if (i.rem(j) == 0L) { flag = true break } } if (!flag) array.add(i) else continue } return array } Но по замерам, скорость выполнения не зависит от того один я задал поток или 100
Gleb
repository = mock() doAnswer { val callback: RepositoryCallback<List<Recipe>> = it.getArgument(1) callback.onSuccess(recipes) }.whenever(repository).getRecipes(eq("eggs"), any()) это уже не мок, это стаб, да?
Highway
Highway
есть кто такое практикует?
Highway
полный отказ от xml
Дмитрий
полный отказ от xml
а какие плюсы/минусы?
Nikita
скорость инфлейта
Дмитрий
Для меня пока что минусы: - невозможно визуально оценить как оно будет на разных экранах - много кода
Nikita
читать невозможно, да
Nikita
но вроде я где-то видеть превьювер вот это вот фигни в реалтайме
Volodymyr
Ilya
И прям намного быстрее? В цифрах
Nikita
И прям намного быстрее? В цифрах
ну типа хмл парсить не надо, как минимум
Volodymyr
И прям намного быстрее? В цифрах
https://android.jlelse.eu/400-faster-layouts-with-anko-da17f32c45dd
Roman
100К вы явно загнули. О, автобоксинг, привет GC. Этот метод вызывается на разных потоках?
почему загнул?) да пробовал создание одного потока Executors.newFixedThreadPool(1).execute {} и аналогичным методом несколько разницы во времени нету.. а можно как-то оптимизировать работу без автобоксинга разве на котлине?
Alexander
Почему патч красным подчеркивает?
Roman
Причём тут котлин)
Ну если я правильно понял речь идёт о автобоксинге Long А как такового примитива long в котлине нету
Сергій
почему загнул?) да пробовал создание одного потока Executors.newFixedThreadPool(1).execute {} и аналогичным методом несколько разницы во времени нету.. а можно как-то оптимизировать работу без автобоксинга разве на котлине?
>да пробовал создание одного потока Executors.newFixedThreadPool(1).execute {} и аналогичным методом несколько Просто тут указать циферку и запустить метод в execute недостаточно
Constantine
Почему патч красным подчеркивает?
Это не патч, а путь (пути)
Сергій
Но в дженериках будет боксинг