我已经读过有关溢出的内容,我知道"溢出是指当一个数字如此之大以至于它将不再适合数据类型时,所以系统"回绕"到下一个最低值并从那里开始计数".
例如:
short s = (short)1921222; // Stored as 20678
Run Code Online (Sandbox Code Playgroud)
在那个例子中,我们从-32768 开始计数(Short.MIN_VALUE),但是当我尝试在另一个整数数据类型中进行证明时,它似乎没有相同的工作方式......
byte b = (byte)400; // Stored as -112
Run Code Online (Sandbox Code Playgroud)
上面的例子从0开始计数,这是我发现得到-112的唯一方法
我不知道我做错了什么.
您好我有连接问题,它正在执行查询时关闭连接.我不知道会发生什么D:这是配置:
private static HikariDataSource Hikari;
public static String ID_Usuario;
public void connectToDatabase() {
Hikari = new HikariDataSource();
Hikari.setDriverClassName("com.mysql.jdbc.Driver");
Hikari.setJdbcUrl("jdbc:mysql://localhost:3306/bank");
Hikari.setUsername("root");
Hikari.setPassword("");
Hikari.setMaximumPoolSize(5);
Hikari.setConnectionTimeout(300000);
Hikari.addDataSourceProperty("cachePrepStmts", "true");
Hikari.addDataSourceProperty("prepStmtCacheSize", "250");
Hikari.addDataSourceProperty("prepStmtCacheSqlLimit", "2048");
Hikari.setConnectionTestQuery("SELECT 1");
}
public HikariDataSource getHikari(){
return Hikari;
}
Run Code Online (Sandbox Code Playgroud)
现在,这里是我使用池的类,首先我收到了来自Hikari.getConnection()的连接.然后我把它保存在"连接"中
Pool HikariPool;
HikariDataSource Hikari;
Connection connection;
public SQL() {
initComponents();
}
public void initComponents(){
HikariPool= new Pool();
HikariPool.connectToDatabase();
Hikari=HikariPool.getHikari();
try{
connection= Hikari.getConnection();
}catch(SQLException e){
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
我在validateLogin()中使用"连接"
public int validateLogin(String nip){
int validation=0;
String SQL="SELECT * FROM bank.account WHERE No_Account='"+account+"' …Run Code Online (Sandbox Code Playgroud) 默认情况下,Java假定您使用文字定义int值.
short x = 20; // There is an implicit conversion
Run Code Online (Sandbox Code Playgroud)
但是当我们在算术表达式中使用"x"变量时,例如:
short y = x * 2; //DOES NOT COMPILE
Run Code Online (Sandbox Code Playgroud)
我们知道20*2的结果是40,可以很容易地拟合成一个短变量.到底是怎么回事?