文章目录1.索引是干啥的?2.索引的使用场景以及付出的代价2.1 索引的使用场景2.2 创建索引需要付出的代价3.索引背后的数据结构3.1 哈希表3.2 二叉树(搜索树)3.3 B树3.4 B+树 1.索引是干啥的?索引是一种特殊的文件,包含着对数据表里所有记录的引用指针,能够帮助高效获取数据,加快数据库的查询速度。2.索引的使用场景以及付出的代价2.1 索引的使用场景对于以下条件: 1、数
摘抄并用于自查笔记1. Redis简介  我们日常Java Web开发,一般使用数据库进行存储,在数据量较大的情况下,单一使用数据库保存数据的系统会因为面向磁盘,磁盘读写速度比较慢而存在严重的性能弊端,一瞬间成千上万的请求到来,需要系统极短时间内完成千万次的读写操作,这个时候数据库承受不了,易造成数据库瘫痪。为克服此类问题,Java Web项目通常引入Nosql技术,这是一种基于内存的数据库,并
转载 2月前
23阅读
# Java什么情况下会用到多例bean ## 1. 介绍 Java开发,有时候我们需要多个实例共享一些资源或者状态,这时候就可以使用多例(Singleton)模式。多例模式是一种创建型设计模式,它确保一个类只有有限个实例,并提供一个全局访问点。 ## 2. 多例模式的实现步骤 下面是多例模式的实现步骤: | 步骤 | 描述 | | ---- | ---- | | 1. 定义一个类
 如果一直在用的话,是什么版本的,主要用来办公么?   情况很多啦: 1、装13的时候 2、承受不了正版费用的时候 3、追求开源精神的时候 4、自己想真正学点东西的时候 5、业务需要的时候 6、BT折腾狂,动手把每个Linux发行版玩过遍儿   Ubuntu和Archlinux,偶尔用slackware,觉得linux简直就是coder和linu
原创 2011-07-14 15:36:16
770阅读
2点赞
什么要使用线程池1.为什么要使用线程池         java,如果每个请求到达就创建一个新线程,开销是相当大的。实际使用,服务器创建和销毁线程上花费的时间和消耗的系统资源都相当大,甚至可能要比处理实际的用户请求的时间和资源要多的多。除了创建和销毁线程的开销之外,活动的线程也需要消耗系统资源。如果在一个jvm里创建太多的线
转载 2023-06-06 14:23:52
190阅读
目录一、使用redis来实现分布式锁。1、pom文件引入redis相关依赖2、配置文件添加配置3、相关配置类4、分布式锁的使用在springCloud项目中,接收第三方接口数据的时候发生数据重复性问题。经过分析原因是相同时间内秒级(日志只记录到秒),第三方发送了相同的数据,导致前面的事务还没有提交的情况下,后面的事务验证信息重复产生异常,导致的数据重复。解决方案是添加分布式锁来确保消息的顺
转载 2月前
19阅读
索引是用来快速查找指定的行。如果不使用索引,MySql必须从第一行开始读取整个表直到找到相关的行。如果是一张大表,这将是一大笔消耗。如果表为问题列建立一个索引,MySql可以快速的确定位置寻找数据文件而不用查找所有的数据。这是远远超过按顺序读取表的每一行。 大部分MySql 索引(PRIMARY KEY, UNIQUE, INDEX, and FULLTEXT
Java 多态:多态是同一个行为具有多个不同表现形式或形态的能力;多态就是同一个接口,使用不同的实例而执行不同操作,如图所示:多态的优点:1. 消除类型之间的耦合关系2. 可替换性3. 可扩充性4. 接口性5. 灵活性6. 简化性 多态存在的三个必要条件:1、继承2、重写3、父类引用指向子类对象 重写: Java ,当设计类时,被重写的方法的行为怎样影响多态性;重写也就是子
什么使用VO,DTO,BO一、VO(View Object)Vo顾名思义是一个有关视图的对象,主要应用于与前端之间的交互。Vo通常封装了前端调用某个接口之后,他所需要的所有的数据。Java具有面向对象的特点,但在这个前后端分离的时代,“对象”的定义,不仅仅是一个一个的类,而转变为一个又一个的接口。对于前端而言,他所面向的对象,便是后端提供的接口,而接口对象怎么去表示呢,我们选择使用返回对象的含义
在当今数字化的世界,各种系统和服务的稳定运行对于企业和个人来说至关重要。而宕机切换作为一种保障系统连续性和可用性的重要手段,特定的情况下发挥着关键作用。什么情况下用到宕机切换?1、当服务器硬件出现严重故障时,宕机切换就变得十分必要。服务器的硬件可能会由于老化、过载、物理损坏等原因突然停止工作。例如,服务器的主板烧毁、硬盘故障或者电源供应出现问题。在这种情况下,如果没有及时的宕机切换机制,服务将
## Java长连接的使用情况 Java编程,长连接是指客户端与服务器之间建立的持久连接,使得客户端和服务器之间可以随时进行通信,而不需要频繁地建立和关闭连接。长连接通常用于实时通信、在线聊天、实时数据传输等场景。下面我们来看一些情况下Java中使用长连接的实例。 ### 长连接实例 假设我们有一个简单的客户端和服务器程序,客户端每隔一段时间向服务器发送一个消息,并且服务器会响应这个消息
原创 5月前
25阅读
多个单一索引
转载 2023-07-02 11:22:54
105阅读
MySQL以下几种情况会创建临时表:1、UNION查询; 2、用到TEMPTABLE算法或者是UNION查
原创 2021-07-30 14:24:49
106阅读
Mysql(innodb)的索引索引的定义索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据 库系统还维护者满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据, 这样就可以在这些数 据结构上实现高级查找算法,这种数据结构就是索引索引类型(从数据结构角度)1.HASH索引什么是Hash(散列)?hash就是一种(key=>value)形式的键值
什么情况下会用到临时表,又在什么情况下会变成磁盘临时表呢?
转载 2021-07-30 14:48:24
109阅读
                                       OSPF(Open Shortest Path First/开放最短路径优先)协议     
锁是解决并发冲突的重要工具。开发我们会用到很多类型的锁,每种锁都有其自身的特点和适用范围。需要深刻理解锁的理念和区别,才能正确、合理地使用锁。常用锁类型乐观锁与悲观锁悲观锁对并发冲突持悲观态度,先取锁后访问数据,能够较大程度确保数据安全性。而乐观锁认为数据冲突的概率比较低,可以尽可能多地访问数据,只有最终提交数据进行持久化时才获取锁。悲观锁总是先获取锁,会增加很多额外的开销,也增加了死锁的几
1. 缓存的收益与成本    1. 收益:通过缓存加速读写速度。在内存读写比硬盘速度快降低数据库服务器的负载。比如业务端的请求的数据大多数都由Redis服务器来处理,大大减轻MySQL服务器的压力    2. 成本:数据不一致问题,比如Redis服务器与数据库服务器之间的某些数据可能会发生不一致问题,这是由两个服务器的数据更新策略不同引起的代码维
一、乐观锁乐观锁,顾名思义,就是比较乐观的锁,当需要操作到共享数据时,它就认为没有其它的线程操作该数据,态度比较乐观,乐观锁操作数据时不会上锁,更新的时候会判断一在此期间是否有其他线程去更新这个数据。乐观锁可以使用版本号机制和CAS算法实现。 Java 语言中 java.util.concurrent.atomic包下的原子类就是使用CAS 乐观锁实现的。适合读多写少的情况。二、悲观锁悲观
一:为什么要使用线程:    如果是单核单线程的情况下,其实使用多线程操作,不一定有使用单线程快,只不过,随着硬件的发展,计算机的核心数和线程数主逐渐增长,所以使用多线程,可以提供更好的效率        二:Java线程的创建      &nbsp
  • 1
  • 2
  • 3
  • 4
  • 5