
Митко Соловец?
24.01.2017
09:47:12
https://t.me/javastart
чат для тех, кто только начал изучать джаву, велком!

Nick
24.01.2017
09:47:39

V
24.01.2017
09:52:31

Google

Nick
24.01.2017
09:52:49

V
24.01.2017
09:53:17

Fyodor
24.01.2017
09:53:33

Aleksey
24.01.2017
09:53:35

V
24.01.2017
09:54:29

Nick
24.01.2017
09:54:50

Ruslan
24.01.2017
09:55:06
Ребят
Есть приложение, хотим сделать его stateless
Поэтому задумались над тем чтобы стейт вынести в какой-нибудь внешний, видимо распределенный, кэш
Что посоветуете?
Хезелькаст показался достаточно тяжелым, особой нагрузки большой нету, поэтому подойдет чтонибудь легковесное

Nick
24.01.2017
09:55:43
@Rodgelius позицию через byte & 0xff определяй

Aleksey
24.01.2017
09:55:53
EOF = 10
https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html#read--
the next byte of data, or -1 if the end of the stream is reached.
я это имел в виду.

V
24.01.2017
09:56:17

Nick
24.01.2017
09:56:47
не над тут думать, возьми просто arr[byte&0xFF]++ сделай

Google

Alexander
24.01.2017
09:57:07
не над чем тут думать++
я тебе уже вчера все сказал же)

Nick
24.01.2017
09:57:17
в итоге получишьмассив с количеством повторений

V
24.01.2017
09:57:17

Nick
24.01.2017
09:57:38
потому просто идешь по массиву и находишь максимальный
решение кэш френдли) даже очень)

V
24.01.2017
09:58:22

Cargeh
24.01.2017
09:58:32
ок, тут надо подумать...
https://gist.github.com/IgnatBeresnev/00a400bbdb5926b1e19bfb9ab967f79f
Только допили. Там
int[] bytesWithValues = new int[255];
for (byte read : allBytes) {
bytesWithValues[read]++;
}
bytesWithValues[read]++; может быть отрицательным

Nick
24.01.2017
09:59:08
можно кстати и за один проход делать, добавив maxValue
но я сомневаюсь, что эт быстрее будет

Руслан
24.01.2017
09:59:38
@fomkin
@fomkin пофиксите RSS, у вас ссылка всегда на главную вместо выпуска
И мясо внутри

Nick
24.01.2017
09:59:56
@cargeh забыл 0xFF сделать)
-127 никак не влезет в array)

Cargeh
24.01.2017
10:00:45
-127 никак не влезет в array)
Я ж про это и написал) этому гисту две недели, я тогда тоже сидел и гадал, почему не проходит) потом решил правильно, но гист остался

Alexander
24.01.2017
10:01:20
jvm профессионалы второй день решают задачку 6 класса??

Aleksey
24.01.2017
10:01:33

Nick
24.01.2017
10:01:35

Google

Cargeh
24.01.2017
10:01:46

Nick
24.01.2017
10:02:14
@cargeh итого не нужно будет бежать по массиву, но я не думаю, что эт лучше будет
с пробегом лучше всеж, можно показать не 1 максимальный байт)

Cargeh
24.01.2017
10:03:24

Alexander
24.01.2017
10:04:30

Nick
24.01.2017
10:05:58
примерно так
но лучше всеж проитерироваться потом

Mikhail
24.01.2017
10:17:29
Так что у тебя мб какая-то аппаратная херня.


V
24.01.2017
10:47:31
примерно так
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
ArrayList chars = new ArrayList();
int[] map1 = new int[256];
int max1 = Integer.MIN_VALUE;
// String filename = reader.readLine();
FileInputStream stream = new FileInputStream("/home/user/1.txt");
while (stream.available() > 0) chars.add(stream.read());
for (int x = 0; x < map1.length; x++) map1[x] = 0;
for (Object x : chars) map1[(int) x]++;
for (int x = 0; x < map1.length; x++) max1 = max1 > map1[x] ? max1 : map1[x];
for (int x = 0; x < map1.length; x++) if (max1 == map1[x]) System.out.println(x);
}
}

Nick
24.01.2017
10:48:22
херня какаят
1. зачем тебе лист чаров

V
24.01.2017
10:48:40

Nick
24.01.2017
10:48:40
2. зачем столько форов
в идеале у тебя должно быть 2 фора, один который стрим вычитывает, второй прост по результатам бежит
в твоем случае 1 while и 1 for
зачем тебе вообще время на боксинг терять, убери chars
map1[x] = 0; тож не над, тут итак все проинициализировано 0

Google

RelaxeR
24.01.2017
10:52:07
это вроде задачка с джавараша, уровень 18й или 19й, бонусная ) можно сделать int[512], и за проход писать в int[byte] int[byte + 256]++, потом найти макс значения во второй половине и вывести int[i_max - 256]. Вроде так )

V
24.01.2017
10:57:18
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int[] map1 = new int[256];
int max1 = Integer.MIN_VALUE;
// String filename = reader.readLine();
FileInputStream stream = new FileInputStream("/home/user/1.txt");
while (stream.available() > 0) {
int curr = stream.read();
map1[curr]++;
max1 = max1 > map1[curr] ? max1 : map1[curr];
}
for (int x = 0; x < map1.length; x++) if (max1 == map1[x]) System.out.println(x);
}
}

Митко Соловец?
24.01.2017
10:58:19

V
24.01.2017
10:58:32

Митко Соловец?
24.01.2017
10:58:54
тогда тебе в наш чат второй по изучению джавы

V
24.01.2017
10:59:25

Admin
ERROR: S client not available

Alexander
24.01.2017
10:59:40
без приувеличения

V
24.01.2017
11:00:28
это задачка 6 класса. да.)
любую задачу можно решить по разному, она уже 3 или 4 раза решена разными вариантами, можешь улучшить-предлагай)

Nick
24.01.2017
11:01:26

Alexander
24.01.2017
11:01:50

Митко Соловец?
24.01.2017
11:01:54
просто сам джавараш очень часто говно выдаёт своим пользователям
вот и решайте его в чате джавараша

Nick
24.01.2017
11:02:01
8?
я тогда вообще не особо прогал)

Alexander
24.01.2017
11:02:09

Митко Соловец?
24.01.2017
11:02:34
и да, я уже несколько раз написал, где и куда задавать такие вопросы

Google

Nick
24.01.2017
11:02:51

Митко Соловец?
24.01.2017
11:03:05

Nick
24.01.2017
11:03:18

Руслан
24.01.2017
11:03:42
Воу-воу, потише

Митко Соловец?
24.01.2017
11:03:43
гвардиола)
ах, ты же за путалонцев болеешь, забываю, сорри

Nick
24.01.2017
11:04:01

Митко Соловец?
24.01.2017
11:04:39
теперь вместо него помогать будешь, дружок
???

Руслан
24.01.2017
11:05:07
Как будто он помогал XD
Подкасты анонсил и котлин троллил
Это я могу за него делать XD

Митко Соловец?
24.01.2017
11:05:50
он мотивировал

Denis
24.01.2017
11:15:23

Руслан
24.01.2017
11:19:00
Ну так толсто и я могу, все равно никто в серьез не воспринимает

Ruslan
24.01.2017
11:33:02
Так что? Неужто ту никто не юзал распределенные кеши?

Руслан
24.01.2017
11:33:35
@gamussa что ты знаешь о распределенных кешах?

Vladislav
24.01.2017
11:34:58
только то, что на слайдах написано )
шутка)