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

start [/forum/topic.php?fid=59&msg=34320025&tid=2146682]: |
0ms |
get settings: |
17ms |
get forum list: |
24ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
53ms |
get topic data: |
17ms |
get forum data: |
4ms |
get page messages: |
80ms |
get tp. blocked users: |
2ms |
| others: | 321ms |
| total: | 530ms |

| 0 / 0 |
