小编Lui*_*sk4的帖子

溢出如何在java中工作?

我已经读过有关溢出的内容,我知道"溢出是指当一个数字如此之大以至于它将不再适合数据类型时,所以系统"回绕"到下一个最低值并从那里开始计数".

例如:

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的唯一方法

我不知道我做错了什么.

java integer-overflow

18
推荐指数
3
解决办法
2349
查看次数

java.sql.SQLException:连接已关闭[POOL-HikariCP]

您好我有连接问题,它正在执行查询时关闭连接.我不知道会发生什么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 mysql sql-server

5
推荐指数
1
解决办法
5124
查看次数

文字中的隐式转换

默认情况下,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,可以很容易地拟合成一个短变量.到底是怎么回事?

java literals implicit-conversion

0
推荐指数
1
解决办法
87
查看次数