摘要:
步骤1:使用PreparedStatement步骤2:PreparedStatement的优点1-参数设置步骤3:PreparedStatement的优点2-性能表现步骤4:PreparedStatement的优... 阅读全文
摘要:
执行查询SQL语句步骤1:查询语句步骤2:SQL语句判断账号密码是否正确步骤3:获取总数步骤4:练习-分页查询步骤5:答案-分页查询步骤 1 : 查询语句executeQuery 执行SQL查询语句注意: 在取第... 阅读全文
摘要:
CRUD是最常见的数据库操作,即增删改查 C 增加(Create) R 读取查询(Retrieve) U 更新(Update) D 删除(Delete) 在JDBC中增加,删除,修改的操作都很类似,只是传递不同的... 阅读全文
摘要:
每一个线程的启动和结束都是比较消耗时间和占用资源的。 如果在系统中用到了很多的线程,大量的启动和结束动作会导致系统的性能变卡,响应变慢。 为了解决这个问题,引入线程池这种设计思想。 线程池的模式很像生产者消费者模... 阅读全文
摘要:
线程之间有交互通知的需求,考虑如下情况: 有两个线程,处理同一个英雄。 一个加血,一个减血。 减血的线程,发现血量=1,就停止减血,直到加血的线程为英雄加了血,才可以继续减血步骤1:不好的解决方式步骤2:使用wa... 阅读全文
摘要:
步骤1:为项目导入mysql-jdbc的jar包步骤2:初始化驱动步骤3:建立与数据库的连接步骤4:创建Statement步骤5:执行SQL语句步骤6:关闭连接步骤7:使用try-with-resource的方式... 阅读全文
摘要:
JDBC (Java DataBase Connection) 是通过JAVA访问数据库 所以需要对数据库有基本的理解和应用步骤1:MySQL步骤 1 : MySQLMysql是常见的数据库,在中小型网站经常被使... 阅读全文
摘要:
步骤1:原子性操作概念步骤2:AtomicInteger步骤3:同步测试步骤4:练习-使用AtomicInteger来替换Hero类中的synchronized步骤5:答案-使用AtomicInteger来替换H... 阅读全文
摘要:
与synchronized类似的,lock也能够达到同步的效果步骤1:回忆 synchronized 同步的方式步骤2:使用Lock对象实现同步效果步骤3:trylock方法步骤4:线程交互步骤5:总结Lock和... 阅读全文
摘要:
当业务比较复杂,多线程应用里有可能会发生死锁步骤1:演示死锁步骤2:练习-死锁步骤3:答案-死锁步骤 1 : 演示死锁1. 线程1 首先占有对象1,接着试图占有对象22. 线程2 首先占有对象2,接着试图占有对象... 阅读全文