powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Java 8 вкусности и полезности
30 сообщений из 30, показаны все 2 страниц
Java 8 вкусности и полезности
    #38549702
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем добрый день , в очередной раз понял как мало я знаю о том какие вспомогательные классы есть в java и как же здорово ими пользоваться , когда знаешь где их найти и как их применить .

предлагаю создать тему на русском языке и добавлять в нее небольшие примеры того как методы вспомогательных классов помогают вам в жизни и экономят кучу времени и делают код красивее !

что хочется рассмотреть :

Arrays , Collections , Files итд

подтолкнуло меня на создание этой темы заметка по поводу - Files

BufferedReader.lines

https://blogs.oracle.com/geertjan/entry/bufferedreader_lines

когда то для чтения/записи из файлов , потоков итд приходилось писать все самому , или использовать библиотеки apache итд

сейчас есть Files и хочется побольше узнать его возможности плюсы и минусы ...

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
public static void main(String[] args) {
    try (BufferedReader reader = Files.newBufferedReader(
            Paths.get("myfile.txt"),
            StandardCharsets.UTF_8)) {
        System.out.println(reader.lines().count());
    } catch (IOException ex) {
    }
}



кто то скажет - чего про них узнавать если есть java doc - но прочитав один раз - не факт что будешь использовать , а вот применив один раз на практике - будешь .

как пример : из Arrays - Arrays.toString

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
         int arr[] = new int[13];
        for (int i = 0; i < arr.length; i++) {
            arr[i] = i;
        }
        
    // реверсия массива 
        for (int i = 0; i < arr.length/2; i++) {
            int j = arr[i];
            arr[i] =arr[arr.length - 1 - i] ;
            arr[arr.length - 1 - i] = j;
            
        }
        
// вывод массива в виде строки 
        System.out.println(Arrays.toString(arr));
...
Рейтинг: 0 / 0
Java 8 вкусности и полезности
    #38549771
cdtyjv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В первом приближении можете рассматривать эти методы как обычные хэлперы. То есть обертки для каких-то стандартных ситуаций, вроде "создать BufferedReader для файла".
...
Рейтинг: 0 / 0
Java 8 вкусности и полезности
    #38550033
just_vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, а сроки по Java 8 больше не сносились? Ждем события в марте?
ЗЫ: а еще нигде не могу найти информации по Java One Russia 2014, будет ли эвент?
...
Рейтинг: 0 / 0
Java 8 вкусности и полезности
    #38550046
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то я не увидел связи между Java 8 и Arrays, Collections, Files.
Вот в java.util.stream.* 100500 новых методов. Вот там попробуй разберись с наскока.
...
Рейтинг: 0 / 0
Java 8 вкусности и полезности
    #38550124
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczЧто-то я не увидел связи между Java 8 и Arrays, Collections, Files.
Вот в java.util.stream.* 100500 новых методов. Вот там попробуй разберись с наскока.

stream и их тоже ! просто начать надо с чего то простого :)

например с Files.newDirectoryStream() итд... от простого к сложному .

со stream - многое становиться понятным если начать читать про функциональные языки

например "Изучай Haskell во имя добра!"

но все равно - java.util.stream требует отдельной темы для изучения, описания итд ...
...
Рейтинг: 0 / 0
Java 8 вкусности и полезности
    #38550476
imperfekt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На маннинге сейчас как раз MEAP на эту тему продаётся. В принципе, неплохо написано.
...
Рейтинг: 0 / 0
Java 8 вкусности и полезности
    #38550853
GregTk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
just_vladimir,
Вчера первый RC вышел, так что есть надежда
...
Рейтинг: 0 / 0
Java 8 вкусности и полезности
    #38551422
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
public static void main(String[] args) {
    try (BufferedReader reader = Files.newBufferedReader(
            Paths.get("myfile.txt"),
            StandardCharsets.UTF_8)) {
        reader.lines().forEach(System.out::println);
    } catch (IOException ex) {
    }
}



на моей версии java 8 - ругается на System.out::println как аргумент в reader.lines().forEach()

Хотя такой подход в использовании очень удобен и оправдан .

Малой кровью создали возможность использовать метод как аргумент через ::
...
Рейтинг: 0 / 0
Java 8 вкусности и полезности
    #38551509
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
just_vladimirЗЫ: а еще нигде не могу найти информации по Java One Russia 2014, будет ли эвент?
Если верить организаторам JPoint, Java One в этом году не будет.
...
Рейтинг: 0 / 0
Java 8 вкусности и полезности
    #38551680
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1,


Atum1 System.out::printl
:: вроде к классу нужно приписать? И это будет эквивалентно new Classname(){ ... methodToCall(){ }} ? (не углублялся в док, судя по термину "functional interface" ограничения ещё сильнее)

Странно, почему не хотят сделать массив дженериков и позволить вытягивать метод из инстанса, напаример

class Method<R, T...>{
R invoke( T args )
}

StringBuilder sb;
Method<String, String, Long> append = sb::append(String,Long)

append.invoke("A",1);
...
Рейтинг: 0 / 0
Java 8 вкусности и полезности
    #38552035
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1со stream - многое становиться понятным если начать читать про функциональные языки

например "Изучай Haskell во имя добра!"

но все равно - java.util.stream требует отдельной темы для изучения, описания итд ...
Такой реверанс в сторону ФП не к добру. Расколется Java комьюнити на
функцинеров и ортодоксов. Будут религиозные войны в рамках одного
языка. Вобщем веселье приближается. А я пойду за попкорном.
...
Рейтинг: 0 / 0
Java 8 вкусности и полезности
    #38552048
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonТакой реверанс в сторону ФП не к добру. Расколется Java комьюнити на
функцинеров и ортодоксов. Будут религиозные войны в рамках одного
языка. Вобщем веселье приближается. А я пойду за попкорном.
Не расколется и не будут. Всё та же старая добрая императивная Java. Никакой функциональщиной и декларативностью не пахнет.
Лямбды - упрощеный синтаксиси для анонимных классов.
Stream API - утилиты перетянутые из функциональных языков. Аналогичный гуаве уже "сто лет", а никакого раскола не наблюдается.
...
Рейтинг: 0 / 0
Java 8 вкусности и полезности
    #38553430
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczmaytonТакой реверанс в сторону ФП не к добру. Расколется Java комьюнити на
функцинеров и ортодоксов. Будут религиозные войны в рамках одного
языка. Вобщем веселье приближается. А я пойду за попкорном.
Не расколется и не будут. Всё та же старая добрая императивная Java. Никакой функциональщиной и декларативностью не пахнет.
Лямбды - упрощеный синтаксиси для анонимных классов.
Stream API - утилиты перетянутые из функциональных языков. Аналогичный гуаве уже "сто лет", а никакого раскола не наблюдается.

в новой java 8 мы как бы догоняем тот же c# - раньше c# брал из java самое лучшее , теперь мы наверстываем ... добавляет то что уже там есть (анонимные классы , фильтры итд)
...
Рейтинг: 0 / 0
Java 8 вкусности и полезности
    #38553445
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1в новой java 8 мы как бы догоняем тот же c#

Это заблуждение. Лямбды и Stream-ы делаются с оглядкой на Scala, Haskell и другие функциональные языки и приёмы, существовавшие задолго до C#.

Atum1- раньше c# брал из java самое лучшее

Никогда не "брал". Просто в самом начале подход заимствовали, а дальше .Net развивался полностью самостоятельно, без оглядки на Java. Копии opensource проектов - сугубо инициатива сообщества. К MS .Net это отношения не имеет.

Atum1теперь мы наверстываем ... добавляет то что уже там есть (анонимные классы , фильтры итд)
Анонимые классы всегда были :)
Java очень консервативна потому что поддерживает очень хорошую обратную совместимость и этим принципиально отличается от многих других платформ. Но за это приходится расплачитваться.
...
Рейтинг: 0 / 0
Java 8 вкусности и полезности
    #38553611
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczНикогда не "брал". Просто в самом начале подход заимствовали, а дальше .Net развивался полностью самостоятельно, без оглядки на Java. Копии opensource проектов - сугубо инициатива сообщества. К MS .Net это отношения не имеет.
Да. .Net по сравнению с Java развивается бешенным темпом. Я имею в виду language (LINQ, Lambdas e.t.c).
...
Рейтинг: 0 / 0
Java 8 вкусности и полезности
    #38564634
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сегодня заметил на тестах в Java 8

-XX:MaxPermSize=256m - больше не хочет использовать такой ключ!

и действительно

http://habrahabr.ru/post/169869/
...
Рейтинг: 0 / 0
Java 8 вкусности и полезности
    #38565052
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1,

Спасибо. Знал что PermGen убрали, но информации о том как именно оно теперь работает не было.
Теперь немного смущает вопрос утечек ClassLoader-ов. Если классы живут вне кучи, то можно ли всё так же находить утечки ClassLoader-ов по дампу кучи?
...
Рейтинг: 0 / 0
Java 8 вкусности и полезности
    #38565089
avp.mk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЛагманAtum1 System.out::printl
:: вроде к классу нужно приписать?
Можно к классу можно к инстансу.

Atum1в новой java 8 мы как бы догоняем тот же c# - раньше c# брал из java самое лучшее , теперь мы наверстываем ... добавляет то что уже там есть (анонимные классы , фильтры итд)
Чего?! В C# есть анонимные классы а в джаве нет?! Я вас правильно понял?
...
Рейтинг: 0 / 0
Java 8 вкусности и полезности
    #38565265
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
avp.mkЛагманпропущено...

:: вроде к классу нужно приписать?
Можно к классу можно к инстансу.

Atum1в новой java 8 мы как бы догоняем тот же c# - раньше c# брал из java самое лучшее , теперь мы наверстываем ... добавляет то что уже там есть (анонимные классы , фильтры итд)
Чего?! В C# есть анонимные классы а в джаве нет?! Я вас правильно понял?

я про функциональные интерфейсы просто по привычки называю их анонимные классы :)

было
Код: java
1.
2.
3.
4.
5.
6.
button.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent ae) {
      System.out.println(“Action Detected”);
    }
  }
);




стало (через лямды)
Код: java
1.
2.
3.
4.
button.addActionListener(e -> {
        System.out.println(“Action Detected”);
    }
);
...
Рейтинг: 0 / 0
Java 8 вкусности и полезности
    #38565477
avp.mk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Atum1я про функциональные интерфейсы просто по привычки называю их анонимные классы :)
Функциональные интерфейсы были в джаве с версии 1.0 или даже раньше см. Runnable)) Просто для них не было отдельного названия.
Лямбда в джаве точно не анонимный класс в compileTime'е (тело лямбды сохраняется как метод этого же класса, а не иннер класса) и не факт что будет анонимным классом в runTime'е.

http://youtube.com/watch?v=kxgo7Y4cdA8#t=4150
...
Рейтинг: 0 / 0
Java 8 вкусности и полезности
    #38565725
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczAtum1,

Спасибо. Знал что PermGen убрали, но информации о том как именно оно теперь работает не было.
Теперь немного смущает вопрос утечек ClassLoader-ов. Если классы живут вне кучи, то можно ли всё так же находить утечки ClassLoader-ов по дампу кучи?

Для меня сейчас совсем не понятна как будет выглядеть внутренняя архитектура приложения в java 8 ?!
...
Рейтинг: 0 / 0
Java 8 вкусности и полезности
    #38565759
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1Для меня сейчас совсем не понятна как будет выглядеть внутренняя архитектура приложения в java 8 ?!
Лолшто? А в Java 7 она как выглядит?
...
Рейтинг: 0 / 0
Java 8 вкусности и полезности
    #38565760
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1BlazkowiczAtum1,

Спасибо. Знал что PermGen убрали, но информации о том как именно оно теперь работает не было.
Теперь немного смущает вопрос утечек ClassLoader-ов. Если классы живут вне кучи, то можно ли всё так же находить утечки ClassLoader-ов по дампу кучи?

Для меня сейчас совсем не понятна как будет выглядеть внутренняя архитектура приложения в java 8 ?!
Точно так-же.
...
Рейтинг: 0 / 0
Java 8 вкусности и полезности
    #38608042
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dafault-методы позволят добавить поведение к интерфейсу - Означает ли это множественное наследование?
...
Рейтинг: 0 / 0
Java 8 вкусности и полезности
    #38608076
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
– В Java всегда было наследование типов
– Теперь есть наследование поведения
– Но нет наследования состояния. И не будет.

– Есть правила разрешения конфликтов ...

как относиться к mixin ? в java ?
...
Рейтинг: 0 / 0
Java 8 вкусности и полезности
    #38608113
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1Dafault-методы позволят добавить поведение к интерфейсу - Означает ли это множественное наследование?
"Да", для поведения. "Нет", для структуры.
...
Рейтинг: 0 / 0
Java 8 вкусности и полезности
    #38608235
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1Dafault-методы позволят добавить поведение к интерфейсу - Означает ли это множественное наследование?

getSuperclass() есть и возвращает одно значение. Поэтому полноценного не может быть впринципе.
...
Рейтинг: 0 / 0
Java 8 вкусности и полезности
    #38608275
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
насчёт множественного наследования...

по моему очень похоже на ситуацию если внутренний классс наследуется от чего-нибудь.
вроде как есть и доступ к enclosing, причём даже более мощный( видно private), и родитель видно и при прочих разных вызовется метод родителя.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Java 8 вкусности и полезности
    #38971105
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос по java 8


Код: java
1.
2.
3.
4.
5.
6.
7.
int n = 5;
IntStream.rangeClosed(2, n).forEach(System.out::println);

2
3
4
5



а как IntStream rangeClosed - научить выводить в обратном порядке ?
от 5 до 2 ?
...
Рейтинг: 0 / 0
Java 8 вкусности и полезности
    #38971119
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
30 сообщений из 30, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Java 8 вкусности и полезности
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]