
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
09.02.2007, 16:23:47
|
|||
|---|---|---|---|
разница м-у Class.forName(Any Class) и new Any Class |
|||
|
#18+
Изучаю JDBC и там во всех примерах первая операция это загрузка драйвера Код: plaintext Код: plaintext может вопрос глупый и будет раздражать супер спецов (заранее извиняюсь), но вот все таки интересно, какая разница в этих подходах? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.02.2007, 16:29:49
|
|||
|---|---|---|---|
разница м-у Class.forName(Any Class) и new Any Class |
|||
|
#18+
Работают оба, но разница огромна: в первом случае производится рантайм-загрузка класса в виртуальную машину, во втором - прямое создание инстанса драйвера при заранее известном классе. То есть в случае второго подхода теряется возможность использовать другие драйвера (например, беря их из properties-файла). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.02.2007, 16:35:52
|
|||
|---|---|---|---|
разница м-у Class.forName(Any Class) и new Any Class |
|||
|
#18+
2 Зашедший А если заранее знаю что буду использовать один драйвер, то будет выйгрыш, например в скорости или производительности, использования первого метода, то есть создания инстанса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.02.2007, 16:37:16
|
|||
|---|---|---|---|
разница м-у Class.forName(Any Class) и new Any Class |
|||
|
#18+
Всмысле второго метода Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.02.2007, 16:41:38
|
|||
|---|---|---|---|
разница м-у Class.forName(Any Class) и new Any Class |
|||
|
#18+
Суммарно разница должна быть невелика, а вот гибкость теряется. Хотя для мелких тестовых утилиток на этапе отладки второй подход бывает удобнее... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.02.2007, 16:43:25
|
|||
|---|---|---|---|
|
|||
разница м-у Class.forName(Any Class) и new Any Class |
|||
|
#18+
fjord2 Зашедший А если заранее знаю что буду использовать один драйвер, то будет выйгрыш, например в скорости или производительности, использования первого метода, то есть создания инстанса? Прежде чем задать такой вопрос ты хорошо подумай как часто у тебя этот код выполняется. Даже если разница была бы 10 секунд или 1 секунда. Разве твоему приложению не все равно? Ведь этот код является частью инициализации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.02.2007, 16:47:01
|
|||
|---|---|---|---|
разница м-у Class.forName(Any Class) и new Any Class |
|||
|
#18+
BlazkowiczПрежде чем задать такой вопрос ты хорошо подумай как часто у тебя этот код выполняется. Даже если разница была бы 10 секунд или 1 секунда. Разве твоему приложению не все равно? Ведь этот код является частью инициализации.просто стало любопытно :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.02.2007, 17:31:14
|
|||
|---|---|---|---|
|
|||
разница м-у Class.forName(Any Class) и new Any Class |
|||
|
#18+
fjordпросто стало любопытно :)) Ещё стоит задуматься над тем что "производительность" не единственный показатель качества кода. И очень часто не самый важный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.02.2007, 17:49:20
|
|||
|---|---|---|---|
разница м-у Class.forName(Any Class) и new Any Class |
|||
|
#18+
fjordВсмысле второго метода Код: plaintext - этот способ позволяет в процессе выполнения программы поменять используемый драйвер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.02.2007, 17:53:32
|
|||
|---|---|---|---|
разница м-у Class.forName(Any Class) и new Any Class |
|||
|
#18+
Kachalov fjordВсмысле второго метода Код: plaintext - этот способ позволяет в процессе выполнения программы поменять используемый драйвер. Поменять можно и в первом случае. Reflection API... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.02.2007, 20:30:22
|
|||
|---|---|---|---|
|
|||
разница м-у Class.forName(Any Class) и new Any Class |
|||
|
#18+
Напишите тест-кейс в виде 10000000 загрузок драйвера, и наглядно выясните, что быстрее работает =) Потом подумайте, понадобится ли Вам когда-нибудь в жизни делать хотя бы больше 5 загрузок, и дайте правильный ответ =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.02.2007, 22:34:14
|
|||
|---|---|---|---|
|
|||
разница м-у Class.forName(Any Class) и new Any Class |
|||
|
#18+
The_ShadoWНапишите тест-кейс в виде 10000000 загрузок драйвера, и наглядно выясните, что быстрее работает =) Потом подумайте, понадобится ли Вам когда-нибудь в жизни делать хотя бы больше 5 загрузок, и дайте правильный ответ =) Информация для любителей писать подобные тесты . Ну и стоит обратить внимание что после первой загрузки класса и регистрации драйвера эти методы будут работать немного по другому. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&mobile=1&tid=2146682]: |
0ms |
get settings: |
16ms |
get forum list: |
27ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
68ms |
get topic data: |
20ms |
get forum data: |
6ms |
get page messages: |
86ms |
get tp. blocked users: |
3ms |
| others: | 303ms |
| total: | 543ms |

| 0 / 0 |
