• MySQL中提供了EXPLAIN语句和DESCRIBE语句,用来分析查询语句,EXPLAIN语句的基本语法如下: EXPLAIN [EXTENDED] SELECT select_options 使用EXTENED关键字,EXPLAIN语句将产生...
  • 原子性实现原理: 实现原子性的关键,是当事务回滚时能够撤销所有已经成功执行的sql语句。InnoDB实现回滚靠的是undo log,当事务对数据库进行修改时,InnoDB会生成对应的undo log。如果事务执行失败或调用了rollback,导致...
  • session依赖于cookie。 当客户端首次访问服务器时,服务器会为其创建一个session对象,该对象具有一个唯一标识SESSIONID。并且在响应阶段,服务器会创建一个cookie,并将SESSIONID存入其中。 客户端通过响应的coo...
    • 9月前
  • 可以采用以下几种方式,来避免索引失效: 使用组合索引时,需要遵循“最左前缀”原则; 不在索引列上做任何操作,例如计算、函数、类型转换,会导致索引失效而转向全表扫描; 尽量使用覆盖索引(之访问索引列的查询),减少 select * 覆盖索引能减少回...
  • DAO是Data Access Object的缩写,即数据访问对象,在项目中它通常作为独立的一层,专门用于访问数据库。这一层的具体实现技术有很多,常用的有Spring JDBC、Hibernate、JPA、MyBatis等,在Spring框架下无...
    • 9月前
  • 表与表之间常用的关联方式有两种:内连接、外连接,下面以MySQL为例来说明这两种连接方式。 内连接: 内连接通过INNER JOIN来实现,它将返回两张表中满足连接条件的数据,不满足条件的数据不会查询出来。 外连接: 外连接通过OUTER JOI...
  • 默认情况下,Bean在Spring容器中是单例的,我们可以通过@Scope注解修改Bean的作用域。该注解有如下5个取值,它们代表了Bean的5种不同类型的作用域: 类型 说明 singleton 在Spring容器中仅存在一个实例,即Bean以...
    • 9月前
  • 对于敏感数据,应存放在session里,因为cookie不安全。 对于普通数据,优先考虑存放在cookie里,这样会减少对服务器资源的占用。
    • 9月前
  • Full GC会“Stop The World”,即在GC期间全程暂停用户的应用程序。
  • 概括来说,写好的 Java 源代码文件经过 Java 编译器编译成字节码文件后,通过类加载器加载到内存中,才能被实例化,然后到 Java 虚拟机中解释执行,最后通过操作系统操作 CPU 执行获取结果。如下图:
    • 10月前