自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 白灼八股文redis篇(2)

1.延迟双删策略:延迟双删策略是指在更新数据库的时候,先删除缓存,再更新数据库,然后过一会几秒或者几百毫秒然后再删除缓存,这种办法可以避免缓存和数据库的不一致的问题。(一般第一步先把缓存里的信息删除掉这样查询就不会查出和以前一样的数据了,这时候再更新一下数据库把信息更新了之后再删除一边缓存里的信息避免对数据库做更新的时候,有人查询这个的信息照成的数据不一致)

2024-07-30 17:46:28 254

原创 生吃八股文之Redis(1)

redis的惰性删除是指再redis中删除数据时,并不会直接把数据给删除掉而是继续保存在内存里面,如果我们再次GET这个键值的话确实能看到被删除了为空,但是这个数据还是会在内存中保存着,redis默认都是使用的惰性删除(那么有同学就要问了,redis这么懒那什么时候把数据从内存中删除掉呢?答:1.当用户再次获取这个数据key的时候返回的是null这时候如果在内存中找到他了就把他删除掉。2.当redsi的内存占用到了一定的阀值,憋不住了会自动启动一下回收机制,把那些过期的垃圾数据删除掉。

2024-07-25 16:33:36 219

原创 清蒸八股文(十一)

Java中IO是指input和output也就是输出输入,是用于从文件和网络内存等读取数据和写入数据的一种机制,他是Java中处理输入和输出的主要手段,通过IO写入和输出的数据。2.一个表里只能有一个聚簇索引,因为数据的物理存储的顺序只能有一个,如果表没有主键或者唯一键,数据库会自动创建一个隐藏的列作为聚簇索引的键。1.聚簇索引是根据表的主键或者唯一健来创建一种索引,他指定了数据在磁盘上的存储位置将相邻的行存储在一起,形成了一个数据页。4.POST是像服务器发送提交的请求,GET是向服务器发送获取的请求。

2024-06-18 18:09:35 162

原创 红烧八股文 (10)吃个快餐

Cookie的大小有限制,一般在4kb左右,Cookie也能存储在客户端,用户可以查看和修改Cookie的内容,因此对于敏感信息,需要进行加密和签名来保证安全。1.Session是一种服务器端的机制,用于跟踪用户的状态和数据,当用户访问了一个网站的时候,服务器会给生成一个唯一的会话id并将这个id存储在服务器里,服务器使用这个会话id来跟踪用户的状态和数据,会话数据可以存储在服务器上,也能存在数据库里和缓存里,Session可以存储大量的数据,并且相对安全,因为会话存储在服务器端,用户没有办法去修改。

2024-06-07 11:31:55 494

原创 生吃硬嚼八股文(9)(连接查询)

SQl注入是一种常见的安全漏洞,黑客可以通过构造恶意的sql来获取篡改或者删除数据库中的数据,为防止sql注入攻击,可以采用:1.使用参数化查询或预编译语句:将用户输入的数据作为参数传递给查询语句,而不是直接拼接到sql语句上。(参数化查询是指将在执行的数据库查询时,将查询语句中的参数化部分用占位符代替掉,将具体的参数值通过参数绑定的方式传递给数据库引擎,参数化查询可以防止sql注入攻击,并提高查询性能。预编译语句是将查询语句在执行之前先进行编译,并将编译的结果保持在数据库引擎的缓存中)

2024-06-06 10:42:36 255

原创 从0理解八股文(8)

HashMap是非线程安全的,这意味着如果多个线程同时对这个HashMap进行操作会导致数据不统一的情况,因为HashMap在内部使用的数组加链表实现的或者数组和红黑树,当进行插入或者删除等操作的时候,可能会导致元素的重新哈希或者改变链表的结构,从而影响其他线程的操作。确实他俩都遵循的先进先出的原则,但是他栈的添加叫入栈,删除叫出栈,而队列的删除叫出列,添加叫入列。(HashTable的同步是指他线程是安全的,他的实现使用了synchronized关键字来保证在多线程的环境下的线程)

2024-06-03 16:53:00 262

原创 从0理解八股文(7)

1.线程安全性:HashTable是线程安全的,而HashMap线程不安全,HashTable的方法都是同步的,多个线程可以安全共享一个HashTable实例。而HashMap的方法不是同步的所以多个线程同时并发操作一个Hashmap的时候会有不一样的结果。2.存储:HashMap可以存储NUll值作为键或值而HashTable不允许使用null为键或者值如果在Hashtable中存储null值,会报错NUllPointerException。

2024-06-03 10:00:49 393

原创 从0理解八股文(6)

序列化是一种用来处理对象流的机制。将对象的内容流化,将流化的对象传输在网络设备之间(这位就要问了什么是将对象的内容流化流化是啥啊,这小名称,流化就是将Java的对象转为字节流的过程叫做流化,和序列化不一样使得对象可以通过网络进行传输或者持久化到存储设备中,流化可以通过ObjectOutputStream类将对象写入到网络中或者文件里,然后可以使用ObjectputStream类将字符流再次转为Java对象。假设我们有一个person类​​​​​​​现在我们要将person对象序列化后存储到文件里。

2024-05-30 15:13:35 876

原创 理解八股文(5)

1.==:如果对于基本数据类型==比较的是值,如果是引用数据类型,==比较的就是内存地址(这句话很好理解,我举个例子:1+1==1这里比较的就是值他的数据类型是int引用数据类型比较的是内存地址,可能有人不太理解这句话如下图我们在Person里有一个String叫name,我们在下面新建了两个Person对象都叫做Alice,有人就要问了,这两个对象不是一样的吗?

2024-03-05 17:09:08 419

原创 从0理解八股文4

2.复制算法:该算法会将内存空间分为两半,一半叫(from)空间,用于存放活动的对象,另一半叫做to空间,用于存放新创建的对象,当一个From空间的对象被标记为垃圾的时候,活动对象就会被复制到To空间,然后一次性清除掉From空间里的垃圾,达到内存整理的目的。我刚开始看到也是这样想的,使用final修饰类可以表示该类是最终的,不能被继承的。||和|我们都可以把他看作或 ,他俩的共同点是其中有一个成立最终的结果是true,区别是||的是只要满足第一个条件就不往后走了,而|是要对所以的条件进行判断。

2024-02-27 10:15:17 1360

原创 理解八股文从0开始(3)

在Java8里,string内部使用了char数组存储数据,并且被声明为final(关键字声明不可变),因此string不能被继承也不能被改变。(我们可以打开idea点到string类的源码去查看,这是一个被声明final的一个只能在同一个类里内部访问的char 类型的一个值 所以他是不能被改变的字符序列)好处:1.通常在HashMap里做key,因为string额的不可变的特性可以使得hash值也不可变2.可以做密码的存储,因为他不可变所以可以做敏感数据的容器,从而保护敏感数据不受到改变。

2024-02-26 18:56:22 566

原创 理解八股文(2)

1.重写发生在子类中方法名相同参数列表相同返回类型相同修饰符大于父类方法声明异常范围要小于父类方法,声明异常范围要小于父类方法,但是fina和private修饰符的方法不能重写。protected:在同一个包含的类和之类里可以访问,在不同包里继承的子类也可以访问。默认(也就是没修饰符):在同一个包里的类能访问,别的包里的类不能访问。private:这个是最小的,只能在创建的类里访问。1.自动类型转换:从存储范围小的类型到范围大的类型。(用于类的内部实现和数据的访问权限)(用于公共接口和公共的方法)

2024-01-18 14:35:01 516 2

原创 理解八股文从0开始(1)

java我们可以理解为C++的升级Plus版,不仅有C++的优点还舍弃了C++的缺点(但是就业感觉比C难)因此Java语言对我们程序员来说功能强大,简单易用。面试题牢记:java是面向对象编程。

2024-01-18 10:58:23 332 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除