- 博客(22)
- 收藏
- 关注
原创 Java常见的面试二
HashMap基于Hash算法实现的,我们通过put(key,value)存储,get(key)来获取,当传入key时,HahMap会根据key.hashCode()计算出hash值,根据hash值将value保存在bucket里。当计算除的hash值相同时,我们称之为hash冲突,HashMap的做法是用链表和红黑树存储相同hash值的value。Collection是一个集合的接口,它提供了对集合对象进行基本操作的通用接口方法,所有集合都是它的子类,比如List、Set等。
2024-07-26 15:41:08
971
原创 Redis常见的面试题二
缓存穿透:查询的数据在数据库中不存在在缓存中也不存在,这时时有人恶意访问这种数据,请求会到达数据库第一步:在controller层 校验数据,对一些不合法的数据过滤掉第二步:使用bloom布隆过滤器第三步:存放一个空对象,并且设置过期时间不能超过5分钟缓存击穿:数据库中存在,但是缓存中该数据过期了,这时有大量的请求访问该过期的数据。压力给到数据库1、使用互斥锁2、设置永不过期缓存雪崩:当缓存服务器重启或者大量缓存集中在某一个时间段失效,这样在失效的时候,也会给后端系统比如(DB)带来很大压力。
2024-07-26 14:10:44
479
原创 Java面试题一
JDK是java开发工具包,提供了java的运行环境和开发环境。jre是java的运行环境,包含jvm。jvm是java虚拟机,将字节码转化为机器代码。
2024-07-24 09:47:23
763
1
原创 Readis常见的面试题一
把内存的数据存储到磁盘的过程,同时也可以把磁盘中的数据加载到内存中RDB(redis database):快照模式。每隔一段时间对内存中的数据进行块照存储。默认启动改模式AOF[append only file]:日志【每执行一个写操作】追加模式,默认redis没有开启该模式。需要手动开启。默认的文件名appendonly.aof手动开启需要修改redis.conf文件开启AOF只需要将appendonly yes即可当启动redis服务器,会把日志文件中的命令从上到下执行一下。
2024-07-22 15:53:36
927
原创 Linux常用指令一
rw-------. 1 root root 1241 7月 16 15:12 anaconda-ks.cfg。mv a.txt aaa.txt 把a.txt重命名为aaa.txt aaa.txt目录不存在。ls -al #没有目录默认当前目录 a表示显示隐藏文件或以.开头的文件 l表示列表格式显示。ls -la 目录 当前目录的内容以列表的形式显示出来并且隐藏文件也显示或.开头的文件。head -n 文件名 查看文件的前n行内容。
2024-07-20 10:51:02
753
原创 设计模式之策略模式
将类中经常改变或者可能改变的部分提取作为一个抽象策略接口类,然后在类中包含这个对象的实例,这样类实例在运行时就可以随意调用实现了这个接口的类的行为比如定以一系列的算法,把每一个算法封装起来,并且使可以相互替换,使得算法可独立于使用它的客户而变化,这就是策略模式1、环境类(Context):通过ConcreteStrategy具体策略来配置,持有Strategt对象并维护对Strategy对象的引用。可定义一个接口来让Strategy访问它的数据。
2024-07-19 14:35:26
1071
2
原创 设计模式之模板模式
在模板模式中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要要重写方法实现,但调用将以抽象类中定义的方式进行,这种类型的设计模式属于行为型模式。
2024-07-18 09:31:20
640
原创 Linux简介
Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX(可移植操作系统接口Portable Operating System Interface) 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
2024-07-18 08:44:15
286
原创 设计模式之观察者模式
观察者(Observer)模式指多个对象存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式,它时对象行为型模式。
2024-07-17 10:37:26
903
原创 设计模式之适配器模式
适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作有两种适配器: 类的适配器和对象的适配器。
2024-07-15 11:14:32
1305
原创 设计模式之工厂模式
工厂方法模式将工厂抽象化,并定义一个创建对象的接口。每增加新产品,只需增加该产品以及对应的具体实现工厂类,由具体工厂类决定要实例化的产品是哪个,将对象的创建与实例化延迟到子类,这样工厂的设计就符合“开闭原则”了,扩展时不必去修改原来的代码。单工厂模式提供专门的工厂类用于创建对象,实现了对象创建和使用的职责分离,客户端不需知道所创建的具体产品类的类名以及创建过程,只需知道具体产品类所对应的参数即可,通过引入配置文件,可以在不修改任何客户端代码的情况下更换和增加新的具体产品类,在一定程度上提高了系统的灵活性。
2024-07-12 09:44:12
988
原创 设计模式之单例模式
单例模式就是一个单一的类负责创建自己的对象同时确保 只有 单个对象被创建,这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。
2024-07-11 10:03:13
1197
原创 23种设计模式常见的面试题
4、模板方法模式:定义了一个算法的骨架,而将一些步骤延迟到子类种,模板方法使得子类可以在不改变算法的情况下,重新定义算法的步骤。2、synchronized可以保证变量的修改可见性和原子性。5、观察者模式:定义了对象之间的一对多的依赖。3、代理模式:代理模式分为静态代理和动态代理,动态代理有jdk动态代理和cglib动态代理。1、synchronized是修饰方法、代码块。动态代理的应用有:spring的aop,java注解对象的获取等。2、工厂模式(简单工厂、工厂方法):解耦合。
2024-07-10 09:04:21
448
原创 Redis的数据类型
bitmap类型的底层实现是SDS(simple dynamic string)和String类型相同,只是在操作时会将每个字节拆分成8个二进制位,是一种独特的String类型,它可以将一个String类型的值看做是一个由二进制组成的数组。georadiusbymember:返回指定成员为圆心的指定半径内的地理空间位置,可以指定返回坐标、距离、哈希值、数量、排序方式等,也可以将结果存储到另一个key中。优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定 的、并且是很小的。
2024-07-06 14:22:43
1218
原创 MySql事务
一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。这些组成要么都执行要么都不执行。将对数据库的一系列操作封装到一个事务中,这些操作要么执行要么不执行。就是把多个要做的操作组合成一个整体,利用事务的特性来保证操作的安全性。如果一个事务做到一半出现任何错误,就会进行回滚操作,来恢复成最初的模样。脏读:读取了其它事务位提交的数据。
2024-07-05 10:04:52
1088
原创 Java线程安全问题
线程A拥有锁资源a,希望获取锁资源b,线程B拥有锁资源b,希望获取锁资源a。lock只能使用在代码块中,需要手动加锁和释放锁。注意释放锁必须要在finally中释放。synchronized可以使用代码块和方法上,会自动加锁和释放锁,不会出现由未释放锁造成的死锁问题。RUNNABLE=====就绪状态和运行状态 当调用start方法时线程进入到该状态。3、wait会释放锁资源,sleep不会释放锁资源。NEW====新建状态 即创建线程对象时线程的状态。TIMED_WAITING=======>超时等待。
2024-07-04 19:52:13
892
原创 Java线程
进程就是正在运行的程序,进程是系统分配资源的基本单位线程是进程中的一条执行路径,也是CPU的基本调度单位。如果一个程序在同一时间执行多个线程,代表着这个程序支持多线程多线程就是一个进程由多个组成,彼此间完成不同的工作(任务),同时执行,称为多线程。
2024-07-04 10:02:13
1242
原创 replace和repalceAll的区别
String replaceAll(String regex, String replacement) 其中String表示返回的类型是字符串,regex表示要替换的正则表达式也可以是典型的字符串,replacement表示替换的字符串。replaceAll支持正则表达式,因此会对参数进行解析(两个参数均是),如replaceAll("\\d", "a"),而replace则不会,replace("\\d","a")就是替换"\\d"的字符串,而不会解析为正则。
2024-07-02 16:58:20
511
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅