Добрый день, работаю с SQlite на java, вот у меня появился на корректность следующих строк кода.
static CookieManager cookieManager = new CookieManager();
static Connection dataConnection;
static Statement dataStatement;
Не будет ли накладным постоянное хранение в памяти этих 3-х объектов? dataConnection и dataStatement далее инициализируются в первом используемом классе наследнике(наследуются все классы от класса, в котором объявлены эти статические переменные). Эти переменные используются всеми экземплярами этих классов-наследников и каждый экземпляр специализируется на загрузке определённой информации. Так разумно их делать static или лучше каждый раз при сохранении или загрузке инфы создавать локальный объект определённого классе-наследника и обходится без static'a?
Я бы посоветовал бы Вам лучше создать класс Singleton для подключение к SQLite и пользоваться им из любого класса.
package jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.HashMap;
class JDBCConnector {
private static HashMap<String, Connection> connections = new HashMap<>();
private JDBCConnector() {
}
static synchronized Connection getConnection(String pathToDB) {
try {
Class.forName("org.sqlite.JDBC");
if (connections.containsKey(pathToDB)) {
return connections.get(pathToDB);
} else {
Connection connection =
DriverManager.getConnection("jdbc:sqlite:" + pathToDB);
connections.put(pathToDB, connection);
return connection;
}
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
System.out.println("Where is your JDBC Driver?");
e.printStackTrace();
}
return null;
}
}
Этот класс имеет только один статичный метод getConnection
, и он хранит все подключения на всякий случай если вы будете работать с несколькими базами данных. Он хорош еще тем, что если в будущем вы захотите работать с MySQL'ом или другой базой данных, то Вам надо будет заменить только этот класс.
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Такой вот вопос, у нас несколько человек работет над проектом, и в классе глобальных переменных есть такая boolean isDebugMode
В файле filejson сохраняется только один объект, последний
Мне нужно записать видео и отредактировать(добавить текст на видео или фильтры какие нибудь) как в Instagram
Что я имею ввиду?Например: я знаю что какое-то окно, назовем его x будет открыто к моменту запуска программы, и в этом окне допустим запрашивается...