
Andrey
01.05.2016
07:34:21
Да и X...............................av@123.rr - такой же адрес.

Dmitrii
01.05.2016
07:37:17
?

V
01.05.2016
08:16:53
public class Moon
{
private static Moon instance;
private Moon() {}
public static Moon getInstance() {
if (instance == null){
instance = new Moon();
}
return instance;
}
}

Google

V
01.05.2016
08:17:03
нормальная лезиинциализация?
лезисинглтон

Dmitrii
01.05.2016
08:18:52
Не вижу где конструктор запривачен.
А все, увидел.
По опыту PHP - есть еще такой трюк - сначала сериализуешь объект, а потом десериализуешь и тогда можно получить копию инстанса. Не знаю, если ли в джаве методы которые автоматически вызываются у класса при десериализации. Если есть то в них тоже исключение надо кидать.

Igor
01.05.2016
08:20:40
есть такое
и при многопоточности не прокатит такое, вроде как

Dmitrii
01.05.2016
08:21:19
Такое это какое?

Igor
01.05.2016
08:21:47
про сериализацию. можно сериализовать, потом десериализовать - и это будет другой объект

Dmitrii
01.05.2016
08:22:50
А почему не прокатит?

Igor
01.05.2016
08:27:16
в многопоточности? могут создаться разные инстансы
но могу ошибаться)

Dmitrii
01.05.2016
08:29:26
Так если в методе десериализации кидать исключение, то как инстанс то создать тогда?

Google

Igor
01.05.2016
08:33:10
это лучше спросить у @dmsol или у @larev, я последний раз с сериализацией работал 5 лет назад)

Dmitrii
01.05.2016
08:54:27
Кстати поидее надо clone запретить.
И тогда будет ТруЪ синглтон.
А не, еще надо класс финальным сделать ) Не заметил сразу.

Andrey
01.05.2016
09:17:23

Igor
01.05.2016
09:18:25
чтоб нельзя было от него отнаследоваться

Dmitrii
01.05.2016
09:18:33

Andrey
01.05.2016
09:19:03

Dmitrii
01.05.2016
09:19:16
Ну а зачем тогда конструктор финалить?

Andrey
01.05.2016
09:19:20
Из-за кастов?

Dmitrii
01.05.2016
09:19:24
Та же логика
Чтобы в приложении _гарантировано_ был только один экземпляр объекта Whatever.
конструктор финалить приватить*
бл. конструктор приватить*
Потому что если ты: незаприватишь конструктор, склонируешь, сериализуешь/десериализуешь, отнаследуешься и создашь инстанс то это правило нарушается.

Pavel ?
01.05.2016
09:24:43

Dmitrii
01.05.2016
09:26:41

Pavel ?
01.05.2016
09:28:27
Про яву были вопросы сугубо на тестинг) не знаю чем они сейчас занимаются, но тогда был еще sun) и походу они занимались больше тестированием) вопросы типа, у нас есть круг, у нас есть 100 архитектур, как будешь тестить что круг явл кругом)) короче у мени кипел мозг)

Dmitrii
01.05.2016
09:28:33
*при разработке.

Google

Dmitrii
01.05.2016
09:30:02
А еще прикол был. Я пришел, сел и первый его вопрос был - сколько денег хочешь? Я такой мол бл. я еще студент, мне бы устроиться к вам хотябы.

Pavel ?
01.05.2016
09:31:24
А ты ходил в келлерман на болтах?))

Dmitrii
01.05.2016
09:31:32
Да

Pavel ?
01.05.2016
09:31:39
И я)
Про бабло у меня не спрашвали))

Dmitrii
01.05.2016
09:32:31
Может это был вопрос на проверку адекватности?
Щас же многие ноют, что все студеты хотят по 100500 тыщ получать.

Pavel ?
01.05.2016
09:34:58
Трудно сказать, может собеседующий тупо резюме не читал и по баблу решил определить уровень)

Dmitrii
01.05.2016
09:35:56
Так а резюме и небыло же. У меня был ровно 0 продакшен опыта в Java и вот эта вот поделка https://github.com/korotovsky/pusherd которую я закодил специально перед тем как к ним пойти за 3 дня.

Pavel ?
01.05.2016
09:42:24
Шипилев так точно)

Dmitrii
01.05.2016
09:43:29
Да я в то время не особо задумывался об этом уж поверь ))

Pavel ?
01.05.2016
09:44:08
Да я и щас об этом не задумываюсь)))
Но меня там испугало то что сказали мол собеседуют по пол года, а потом еще собесед с тех диром в штатах))))

Dmitrii
01.05.2016
09:45:11
Так это же нормально когда компания US, не?

Pavel ?
01.05.2016
09:46:03
Таки да)) но я представил как буду пыкать мыкать)

Dmitrii
01.05.2016
09:46:16
Я когда работу в EU искал, мне иногда на письмо отвечали через месяц.
Рекорд, который я поставил по переписке - 5.5 месяцев.

Pavel ?
01.05.2016
09:48:26
Нашел в итоге?)

Google

Митко Соловец?
01.05.2016
09:57:33
по мотивам
https://habrahabr.ru/post/129494/
в последнее время, мне более опытные коллеги говорят, что синглтон - это плохо для тестирования, и вообще анти-паттерн. Поэтому, если есть возможность, я использую спринговые бобы)

Dmitrii
01.05.2016
10:01:57

Pavel ?
01.05.2016
10:01:59
Щас уже все сводится к тому что или надо лениво и с синхранизатором или не лениво и с перфоменсом)

Митко Соловец?
01.05.2016
10:02:34
тру вариант выглядит страшновато и лапшой

Dmitrii
01.05.2016
10:02:45
Но там не Java а PHP. Но меня это не особо парит )

Митко Соловец?
01.05.2016
10:02:45
поэтому я беру самый медленный, но верный
или спринг бобы

Admin
ERROR: S client not available

Pavel ?
01.05.2016
10:03:02

Митко Соловец?
01.05.2016
10:03:03
у них скоуп по умолчанию синглтон
Через статик класс?)
public class Moon
{
private static Moon instance;
private Moon() {}
public synchronized static Moon getInstance() {
if (instance == null){
instance = new Moon();
}
return instance;
}
да вот так
просто синхронизация
это для мелких личных поделок без спринга)

Pavel ?
01.05.2016
10:03:59

Dmitrii
01.05.2016
10:04:25
А т.к. я всегда считал что язык это инструмент по и в эту идиому оно подходит. Релокейт есть ну и все.

Google

Dmitrii
01.05.2016
10:05:11
s/по/поэтому/

Pavel ?
01.05.2016
10:05:13
Но говорят что дабл чек тоже не спасает

Igor
01.05.2016
10:06:55
завещали же делать синглтон через енам
не ленивый

Pavel ?
01.05.2016
10:07:47
Завещали делать через сингелтон холдер))
Там просто вариантов нет накосячить)))

Митко Соловец?
01.05.2016
10:08:41
проблема только в производительности

Pavel ?
01.05.2016
10:09:21
Ща)

Митко Соловец?
01.05.2016
10:09:53
я поэтому и говорю, какая производительность для какой-нибудь учебной задачки)
а грузить новичка дабл-чеком
public class Singleton {
private static volatile Singleton instance;
public static Singleton getInstance() {
Singleton localInstance = instance;
if (localInstance == null) {
synchronized (Singleton.class) {
localInstance = instance;
if (localInstance == null) {
instance = localInstance = new Singleton();
}
}
}
return localInstance;
}
}
http://cs627431.vk.me/v627431114/361f4/qybmHgt4Qk0.jpg

Pavel ?
01.05.2016
10:17:53
А тесты там непонятные, непонятно как тестировал чувак)

Митко Соловец?
01.05.2016
10:19:11
про блокирующее непонятно, вроде чувак пишет про выход из критических секций

Pavel ?
01.05.2016
10:20:04
Там метод блокирующий кот вешает монитор на Singleton.class)

Dmitrii
01.05.2016
10:23:30

Pavel ?
01.05.2016
10:23:57
Там же понаехавших много) радикальных))
Мнеб было не по себе))

Dmitrii
01.05.2016
10:25:31
Ну у каждого своя ситуация.