• 建议按照如下的原则来设计索引: 避免对经常更新的表进行过多的索引,并且索引中的列要尽可能少。应该经常用于查询的字段创建索引,但要避免添加不必要的字段。 数据量小的表最好不要使用索引,由于数据较少,查询花费的时间可能比遍历索引的时间还要短,索引可能...
  • 什么是redis? redis是一个高性能的非关系型数据库,使用c语言编写,与传统数据的不同是,它存在于内存中。读写速率非常快,每秒可以处理超过10万次的读写操作(QPS是每秒读写),常常被用作缓存 Redis的优缺点 优点: 读写性能好,读的速...
    • 6月前
  • 一、判断垃圾回收的两种方式 1.引用计数法:给对象中添加一个引用计数器,每当有一个地方引动该对象的时候,引用计数器+1,当引用失效的时候,计数器就-1。计数器为0的时候对象就是没有被使用的。 优点:实现方式简单,高效。 缺点:很难解决对象之间相互...
    • 6月前
  • BeanFactory是一个类工厂,与传统类工厂不同的是,BeanFactory是类的通用工厂,它可以创建并管理各种类的对象。这些可被创建和管理的对象本身没有什么特别之处,仅是一个POJO,Spring称这些被创建和管理的Java对象为Bean。...
  • Spring通过IoC容器来管理Bean,我们可以通过XML配置或者注解配置,来指导IoC容器对Bean的管理。因为注解配置比XML配置方便很多,所以现在大多时候会使用注解配置的方式。 以下是管理Bean时常用的一些注解: @ComponentS...
  • 当我们调用一个业务方法时,它的内部可能会调用其他的业务方法,以完成一个完整的业务操作。这种业务方法嵌套调用的时候,如果这两个方法都是要保证事务的,那么就要通过Spring的事务传播机制控制当前事务如何传播到被嵌套调用的业务方法中。 Spring在...
    • 7月前
  • 虚拟内存分成五大区,分别为栈区、堆区、全局区(静态区)、文字常量区(常量存储区)、程序代码区。五大区特性如下: 栈区(stack): 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 堆区(heap):...
  • epoll对文件描述符的操作有两种模式:LT(level trigger)和ET(edge trigger)。LT模式是默认模式,LT模式与ET模式的区别如下: LT模式:当epoll_wait检测到描述符事件发生并将此事件通知应用程序,应用程...
  • 在懒汉式单例模式基础上实现线程同步: public class Singleton { private static Singleton instance = null; // 私有构造方法,保证外界无法直接实例化。 pr...
    • 7月前
  • IO(Input Output)用于实现对数据的输入与输出操作,Java把不同的输入/输出源(键盘、文件、网络等)抽象表述为流(Stream)。流是从起源到接收的有序数据,有了它程序就可以采用同一方式访问不同的输入/输出源。 按照数据流向,可以将...