什么是缓存 缓存就是数据交换的缓冲区(称作Cache[kae[]),是存贮数据的临时地方,一般读写性能较高。 缓存的作用 ●降低后端负载 ●提高读写效率,降低响应时间 缓存的成本 ●数据一致性成本 数据库与缓存需要保持一致 ●代码维护成本 查询数据,修改数据需要更新缓存,增加代码量 ●运维成本 一般的缓存都是集群的形式 添加缓存 缓存更新策略 业务场景: ●低一致性需求:使用内存淘汰机制。例如店铺类型的查询缓存 ●高一致性需求:主动更新,并以超时剔除作为兜底方案。例如店铺详情查询的缓存 操作缓存和数据库时有三个问题需要考虑: 1.删除缓存还是更新缓存? ◆更新缓存:每次更新数据库都更新缓...

Java中的类加载器 Java中的类加载器大致可以分成两类,一类是系统提供的,另外一类则是由Java应用开发人员编写的。系统提供的类加载器主要有下面三个: 引导类加载器(bootstrapclassloader): 它用来加载Java的核心库,是用原生代码来实现的,并不继承自java.lang.ClassLoader。主要负责jdk_home/lib目录下的核心api或-Xbootclasspath选项指定的jar包装入工作(其中的jdk_home是指配置jdk环境变量是java_home的配置路径,一般是jdk/jre所在目录)。 扩展类加载器(extensionsclassloader)...

Redis实现登录(基于session) 拦截器:实现多模块用户登录的校验 代码: 创建拦截器 publicclassLoginInterceptorimplementsHandlerInterceptor{ @Override publicbooleanpreHandle(HttpServletRequestrequest,HttpServletResponseresponse,Objecthandler)throwsException{ //1.获取session HttpSessionsession=request.getSession(); //2.获取session中的用户 O...

Jedis 以Redis命令作为方法名称,学习成本低,简单实用。但是Jedis实例是线程不安全的,多线程环境下需要基于连接池来使用 lettuce(Spring默认使用) Lettuce是基于Netty实现的,支持同步、异步和响应式编程方式,并且是线程安全的。支持Redis的哨兵模式、集群模式和管道模式。 Redission Redisson是一个基于Redis实现的分布式、可伸缩的Java数据结构集合。包含了诸如Map、Queue、Lock、Semaphore、AtomicLong等强大功能。 Jedis使用的基本步骤: 1.引入依赖 2.创建Jedis对象,建立连接 3.使用Jedi...

数据类型 命令行操作Redis获取命令说明 命令行连接Redis redis-cli-h127.0.0.1-p6379 如果有密码 AUTH密码 Redis通用命令 Redis通用命令 String类型 常见命令 key的结构 String类型的三种格式 hash类型 常见命令 list类型 定义: Redis中的List类型与Java中的LinkedList类似,可以看做是一个双向链表结构。既可以支持正向检索和也可以支持反向检索。 特征也与LinkedList类似: ●有序 ●元素可以重复 ●插入和删除快 ●查询速度一般 常用来存储一个有序数据,例如:朋友圈点赞列表,评论列...

引入依赖 <!--webSocket--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> </dependency> 配置类 / websocket配置类 / @Configuration publicclassWebSocketConfig{ @Bean publicServerEndpointExporterserverEnd...

  RuXuq8CpAyRj   2023年11月02日   43   0   0 客户端WebSocketJava

重写 总结来说为: 方法名相同,参数类型相同 子类返回类型等于父类方法返回类型, 子类抛出异常小于等于父类方法抛出异常, 子类访问权限大于等于父类方法访问权限。 详细的说明为: 重写是子类对父类的允许访问的方法的实现过程进行重新编写,返回值和形参都不能改变。 即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为。也就是说子类能够根据需要实现父类的方法。 重写方法不能抛出新的检查异常或者比被重写方法申明更加宽泛的异常。例如:父类的一个方法申明了一个检查异常IOException,但是在重写这个方法的时候不能抛出Exception异常,因为Exception是IO...

  RuXuq8CpAyRj   2023年11月02日   80   0   0 子类父类访问权限重写

FileNotFoundException和NoSuchFileException都是Java中文件操作可能抛出的异常,它们之间有一些区别。 FileNotFoundException:这个异常是在尝试打开或读取文件时发生的。它表示文件无法被找到或访问,通常是由于文件路径错误、文件不存在或没有足够的权限导致的。FileNotFoundException是IOException的子类。 NoSuchFileException:这个异常是在使用NIO(NewInput/Output)库进行文件操作时可能抛出的。它表示文件不存在或无法访问,与FileNotFoundException非常相似。No...

  RuXuq8CpAyRj   2023年11月02日   88   0   0 文件操作子类文件路径

一、单例模式的定义 定义:确保一个类只有一个实例,并提供该实例的全局访问点。 这样做的好处是:有些实例,全局只需要一个就够了,使用单例模式就可以避免一个全局使用的类,频繁的创建与销毁,耗费系统资源。 二、单例模式的设计要素 一个私有构造函数(确保只能单例类自己创建实例) 一个私有静态变量(确保只有一个实例) 一个公有静态函数(给使用者提供调用方法) 简单来说就是,单例类的构造方法不让其他人修改和使用;并且单例类自己只创建一个实例,这个实例,其他人也无法修改和直接使用;然后单例类提供一个调用方法,想用这个实例,只能调用。这样就确保了全局只创建了一次实例。 三、单例模式的6种实现及各实现的优缺...

  RuXuq8CpAyRj   2023年11月02日   24   0   0 实例化单例模式线程安全

publicclassTest{ publicintadd(inta,intb){ try{ returna+b; } catch(Exceptione){ System.out.println("catch语句块"); } finally{ System.out.println("finally语句块"); } return0; } publicstaticvoidmain(Stringargv[]){ Testtest=newTest(); System.out.println("和是:"+test.add(9,34)); } } 公布最终答案: finally语句块和是:43 结论:...

  RuXuq8CpAyRj   2023年11月02日   19   0   0 Javaexceptiontrycatchfinally

以下 b 的值是: byteb=(byte)129; 答案是-127 这题考察的就两个知识点: 一、强制转换(主要涉及各个类型占几个字节,这里我只简单说一下byte型占一个字节,也就是8位,int型4个字节,32位); 二、在计算机系统中,数值一律用补码来表示(存储) 正数:补码=反码=原码(当然以二进制形式表达) 129int类型(4个字节)二进制:00000000000000000000000010000001 强制转换byte型后,只有一个字节即10000001(注意这里从二进制角度看,第一位是符号位,即求负数的补码接下来) 只要求出上面原码对应的补...

  RuXuq8CpAyRj   2023年11月02日   29   0   0 反码强制转换java基础补码

 1.List是一个有序集合,可以存放重复的数据(有序:存进是什么顺序,取出时还是什么顺序)         (1).ArrayList底层是数组适合查询,不适合增删元素。         (2).LiskedList底层是双向链表适合增删元素,不适合查询操作。         (3).Vector底层和ArrayList相同,但是Vector是线...

  RuXuq8CpAyRj   2023年11月02日   23   0   0 数组线程安全java基础数据

1.和equals(): (1)“”用于比较基本数据类型时比较的是值,用于比较引用类型时比较的是引用指向的地址。 (2)Object中的equals()与“”的作用相同,但String类重写了equals()方法,比较的是对象中的内容。 publicbooleanequals(ObjectanObject){if(thisanObject){ returntrue;}else{if(anObjectinstanceofString){ StringaString=(String)anObject; if(this.coder()aString.coder()){returnthis.i...

  RuXuq8CpAyRj   2023年11月02日   43   0   0 常量池==和equalsString字符串
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~