Перейти к содержимому

Welcome to 100NT форум администраторов игровых серверов
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. If you already have an account, login here - otherwise create an account for free today!

Переключатель чата Чат

Добро пожаловать в чат 100NT
xisp : (21 May 2012 - 11:55 AM) и еще 1 вопрос! В Каком файле в клиенте менять надпись которая в самом начале написана под окошком для ввода логин и пароля?
xisp : (21 May 2012 - 11:40 AM) Кто может поделиться чстой папкой system interlude? А то пол инета облазил, то л2ини неоткрывается то русский текст неподдерживает
Horus : (17 May 2012 - 01:17 PM) гуф умер, а форум отжил свое.
Inkognit0 : (17 May 2012 - 01:08 PM) форум умер?
Изменить размер окна сообщений

q®ºGЯamM()§

q®ºGЯamM()§

Регистрация: 21 Feb 2009
Offline Активность: 22 Feb 2012 06:47
****-

В теме: L2Databasefactory

22 February 2012 - 06:46

Нет так :) Нужно создавать карту, в которой ключ будет хешем потока, который запросил коннект (см. метод генерации ключа), а в качестве значения забивать сам класс Connection. При создании коннекта нужно будет проверить карту, если там есть свободный коннект, то отдаем его и увеличиваем счетчик (в принципе счетчик можно запихнуть в ту же карту: Map<Integer, Object[]> - нулевой элемент массива это наш коннект, а первый элемент это счетчик), при закрытии коннекта все аналогично, но мы все делаем равно наоборот.
Во всяком случае я описываю ситуацию, если не плодить новые классы для этой всей "радости", т.е. все забивается в фактори коннектов и в коде придется менять намного меньше, только вызов метода закрытия :)

В теме: L2Databasefactory

16 February 2012 - 21:51

Я уже не помню, что было в SEST'e, но если там стоял новый пул, то такие костыли там не нужны, ибо новый пул коннектов самостоятельно все кеширует.
Немного по теме вопроса: легче будет сделать новый класс, который наследуется от Connection и перегрузить там метод close на алгоритмику кешировать коннектов, т.е. если мы вызываем у перегруженного Connection метод close, то он проверяет:
Есть ли еще запросы, которые идут по этому коннекту
- Если есть, то просто уменьшаем счетчик использующих этот коннект на единицу
- Если нет, то уже через super вызываем реальный close.

В теме: Finalize()

13 February 2012 - 00:38

IClosable тащит, а вообще это нужно, если невнимательный программист забыл вручную закрыть поток (using же нет, это не шарпы), чтобы он все таки закрылся. Так же бывают случаи, когда обьект теряется и закрыть его уже невозможно, и в этом нам помогает GC со своим finalize.
Во всяком случае никогда не вредно перестраховаться, особенно, если это занимает 3 строчки кода :)

P.S: финалайз неправильно называть деструктором.
P.S.S: мимопроходил

В теме: Раскрутка Проекта

02 June 2011 - 17:49

Просмотр сообщенияFoxeevna (02 June 2011 - 16:39) писал:

так и че его тогда не потерли)
Такие вот модураторы тут :)

P.S: зато дали бан

В теме: Ошибка При Компиляции

02 June 2011 - 17:48

                for(i = 0; i < 3; i++) {
                        for(j = 0; j < 4; j++) {
                                for(k = 0; k < 5; k++)
                        }
                        threeD[i][j][k] = i * j * k;
                }
>>for(k = 0; k < 5; k++)
Пустой вложенный цикл (соблюдаем синтаксис, хотя бы ";" поставьте!), а так же не инициированная переменная "k".