Connection
Я использовал некоторое время назад, это выглядело как самый простой способ, но также была рекомендация сделать там if
утверждение - точно
Connection con = DriverManager.getConnection(
"jdbc:myDriver:DatabaseName",
dBuserName,
dBuserPassword);
if (con != null){
//..handle your code there
}
Или что-то вроде этого путь:)
Возможно, есть какой-то случай, в то время как getConnection
может возвращать null
:)
Из нашего теста по этой проблеме кажется, что IE9, Windows 7, ограничивает количество строк в HTA-скрипте до 65535. Я не нашел ни одного источника в этой проблеме, это просто результаты наших тестов.
Это будет 2 ^ 32 - 1; однако конкретные браузеры могут еще больше ограничить его.
В текущей версии Chrome (сентябрь 2017 года) я ограничен примерно 8,3 миллионами ключей. Попробуйте вставить это в консоль вашего браузера:
let obj = {};
let keyCount = 0;
while(1) {
obj[Math.random()] = Math.random();
if(++keyCount % 10000 === 0) console.log(keyCount);
}
Я получаю идентичный предел в Node.js:
node --max-old-space-size=20000 -e "let obj = {}; let keyCount = 0; while(1) { obj[Math.random()] = Math.random(); if(++keyCount % 10000 === 0) console.log(keyCount); }"
Интересно, если я использую Map , я могу получить около 16.8 миллионов ключей до того, как он сработает (вы можете преодолеть этот предел с помощью чего-то вроде this ).
Я не уверен, что значение фактическое , но я вижу практический верхний предел около 400 000 в node.js (на Mac с 16 ГБ ОЗУ ).
Вот журнал, в котором я добавляю строки из базы данных в объект:
[[21:32:34.325]] [LOG] 340001, pint of delight
[[21:32:35.574]] [LOG] 350001, pound shrimp
[[21:32:36.545]] [LOG] 360001, ravioli allaragosta
[[21:32:37.721]] [LOG] 370001, roasted ham and cheese
[[21:32:39.862]] [LOG] 380001, salmon kama
[[21:32:41.152]] [LOG] 390001, scallops and vegetables
[[21:32:42.150]] [LOG] 400001, show cabernet ca
[[21:32:44.412]] [LOG] 410001, sloppy nachos
[[21:33:25.425]] [LOG] 420001, spaghetti or ziti sauce
[[21:35:37.839]] [LOG] 430001, steak au poivre vert
[[21:37:37.202]] [LOG] 440001, sushi moriawase
[[21:39:45.365]] [LOG] 450001, tequila shooters
[[21:42:09.036]] [LOG] 460001, toro roll with scallion
[[21:44:32.796]] [LOG] 470001, two enchiladas taco rice and refried beans
[[21:47:02.584]] [LOG] 480001, veuve clicquot ponsardin rose reims nv
[[21:49:04.020]] [LOG] 490001, whole turkey gourmet sides
[[21:51:15.264]] [LOG] finished
До 400 000 секунд требуется около 1 секунды для вставки 10 000 новых записей. Прошлое 410 000, время увеличивается почти экспоненциально.
Я не уверен, как я это разрешу. Может быть, сделать 2 объекта и ограничить их до 400 000 клавиш каждый ... немного трудоемкий, но лучше, чем переписывать объект словаря:)
Обновление: похоже, на самом деле это объем используемой памяти, выдает и не столько количество объектов. Моя машина замедляет сканирование примерно на 1,5 ГБ оперативной памяти. Он может быть связан с памятью, выделенной для процесса node.js, который может быть увеличен с помощью этого параметра: --max_old_space_size = 4096 (число в MB).
Точный максимальный предел массива равен 2 ^ 32 - 1 или 4294967295 из-за ограничений в памяти Javascript.
blockquote>