Arraylist与 LinkedList 是否保证线程安全: ArrayList 和 LinkedList 都是不同步的,也就是不保证线程安全;底层数据结构: Arraylist 底层使用的是Object数组;LinkedList 底层使用的是双向循环链表数据结构;
git命令大全 在一个遥远的修真世界里,我是计科宗门的少主,自幼便展现出超凡脱俗的修为。然而,家族中的奸人因嫉妒我,暗中对我下了毒手,导致我修为尽失,被逐出家族。流落到凡间后,我偶然得到了一本古籍,记载着一门名为“计算机git知识”的神秘技艺。虽不知其用途,但我直觉认为,这可能是我重返巅峰的关键。我决定学习这门技艺,希望它能助我重振旗鼓,找回失去的力量。
消息队列MQ Kafka只能保证局部有序,即只能保证一个分区里的消息有序。而其具体实现是通过生产者为每个分区的消息维护一个发送队列,我们需要将保证顺序的消息都发送到同一个分区中。并且由于Kafka会同时发送多个消息,所以还需指定max.in.flight.requests.per.connection为1,保证前一个消息发送成功,后一个消息才开始发送
Redis基础知识 缓存击穿跟缓存雪崩有点类似,缓存雪崩是大规模的key失效,而缓存击穿是某个热点的key失效,大并发集中对其进行请求,就会造成大量请求读缓存没读到数据,从而导致高并发访问数据库,引起数据库压力剧增。这种现象就叫做缓存击穿。从两个方面解决,第一是否可以考虑热点key不设置过期时间,第二是否可以考虑降低打在数据库上的请求数量。解决方案:在缓存失效后,通过互斥锁或者队列来控制读数据写缓存的线程数量,比如某个key只允许一个线程查询数据和写缓存,其他线程等待。这种方式会阻塞其他的线程,此时系统的吞吐量会下降。
如何测试一个水杯 杯子所用的材料(包括纸基、涂层和广告颜料)是否符合食品卫生标准,在内外温度待环境因素下是否会与所盛各种饮料反应,而产生对人体有害的物质;“如果是一次性杯子,能否标示已使用(比如:变色)”和“杯子是否有使用者标贴(多人使用时防止混淆)”。为国际化和本地化的需要,广告图案和文字是否在政治、宗教和文化方面具有广泛的适用性;装载能力:在杯子内分别装入少量的、半杯的、潢杯的,看其装载量是否达到设计标准。看其形状、大小设计是否符合需求规格说明书的定义,适合人方便拿起喝水;广告图案是否和当地政治、宗教符合,没有冲突;
WebSocket基础知识 WebSocket 旨在建立一个持久的连接,一旦建立,就可以在客户端和服务器之间进行双向通信,而不需要像 HTTP 那样为每个请求和响应建立和关闭连接。:WebSocket 提供了真正的全双工通信,客户端和服务器可以同时发送和接收数据,而 HTTP 是基于请求/响应模式的半双工通信。:HTTP 协议的请求和响应都需要携带完整的头部信息,而 WebSocket 连接建立后,消息传输不需要这些额外的控制信息。:WebSocket 在连接建立后,通信时不需要携带 HTTP 头部信息,这减少了数据传输的开销。
String,StringBuffer, StringBuilder 全局字符串常量池class文件常量池运行时常量池。我们现在所说的就是全局字符串常量池,对这个想弄明白的同学可以看这篇Java中几种常量池的区分。jvm为了提升性能和减少内存开销,避免字符的重复创建,其维护了一块特殊的内存空间,即字符串池,当需要使用字符串时,先去字符串池中查看该字符串是否已经存在,如果存在,则可以直接使用,如果不存在,初始化,并将该字符串放入字符串常量池中。字符串常量池的位置也是随着jdk版本的不同而位置不同。在jdk6中,常量池的位置在永久代(方法区)中,此时常量池中存储的是对象。
进程、线程基础知识 进程:进程是操作系统分配资源的最小单位。它是一个程序的实例,包括程序代码、数据、以及程序执行时所需的系统资源(如内存、文件描述符等)。一个程序可以包含一个或多个进程。线程:线程是操作系统调度执行的最小单位。线程存在于进程中,是进程中的一个执行路径。一个进程可以包含一个或多个线程,这些线程共享进程的资源。
linux基本指令 删除文件前先确认:rm -i filename.txt 。 在文件名中使用 shell 的元字符会非常有用。删除文件前先打印文件名并进行确认:rm -i file* 。 递归删除文件夹下所有文件,并删除该文件夹:rm -r example 。
Cookie,Session,Token 什么是 CookieHTTP Cookie(也叫 Web Cookie或浏览器 Cookie)是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。通常,它用于告知服务端两个请求是否来自同一浏览器,如保持用户的登录状态。Cookie 使基于无状态的 HTTP 协议记录稳定的状态信息成为了可能。Cookie 主要用于以下三个方面:会话状态管理(如用户登录状态、购物车、游戏分数或其它需要记录的信息)个性化设置(如用户自定义设置、主题等)
HTTP 与 HTTPS 的区别 https:连接端口,产生公钥私钥,私钥自己保存公钥附带传送,服务器响应请求传递证书给客户端,客户端解析证书,客户端加密之后把key发给服务器作为加密密钥。服务器利用私钥解密。HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性。如果证书没有问题,客户端就会从服务器证书中取出服务器的公钥A。服务器响应客户端请求,将证书传递给客户端,证书包含公钥和大量其他信息,比如证书颁发机构信息,公司信息和证书有效期等。
HTTP基础知识 在使用长连接的情况下,当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的 TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接。:HTTP1.0中,存在一些浪费带宽的现象,例如客户端只是需要某个对象的一部分,而服务器却将整个对象送过来了,并且不支持断点续传功能,HTTP1.1则在请求头引入了range头域,它允许只请求资源的某个部分,即返回码是206(Partial Content),这样就方便了开发者自由的选择以便于充分利用带宽和连接。这个是它们本质区别。
mysql基础知识 MySQL 支持多种存储引擎,比如 InnoDB,MyISAM,Memory,Archive 等等.在大多数的情况下,直接选择使用 InnoDB 引擎都是最合适的,InnoDB 也是 MySQL 的默认存储引擎。
IOC和AOP IOC 是一种设计原则,它将控制权从程序代码中转移到外部容器或框架中。传统上,控制权由程序员在代码中硬编码,而使用 IOC,程序员通过配置文件或者其他方式描述组件之间的依赖关系,而不是在代码中直接创建这些依赖关系。这使得系统更加灵活、可扩展和易于维护。常见的 IOC 容器有 Spring Framework 中的 ApplicationContext 或者依赖注入(DI)容器。IOC基本代码案例和一些基础知识可以看一下之前的博客IOC是基于反射实现的,我们将创建对象交给spring来处理。