自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 想冲宇宙厂,直接挂了。。。

线程池是为了减少频繁的创建线程和销毁线程带来的性能损耗。线程池分为核心线程池,线程池的最大容量,还有等待任务的队列,提交一个任务,如果核心线程没有满,就创建一个线程,如果满了,就是会加入等待队列,如果等待队列满了,就会增加线程,如果达到最大线程数量,如果都达到最大线程数量,就会按照一些丢弃的策略进行处理。:线程池核心线程数量。默认情况下,线程池中线程的数量如果 <= corePoolSize,那么即使这些线程处于空闲状态,那也不会被销毁。:线程池中最多可容纳的线程数量。

2024-04-23 17:10:29 2230 3

原创 阿里二面凉了,难蹦。。。

分享一位同学阿里巴巴的后端面经,共有 2 面,第一面很顺利过了,可惜挂在第二面。这两面的知识点范围,我帮大家罗列一下:网络:TCP、HTTPmysql:索引应用、索引结构、隔离级别、最左匹配redis:zset、缓存一致性数据结构:b树、b+树、红黑树排序算法:快排、冒泡排序手撕算法:最长公共前缀 、无重复最长字串虽然都是比较基础的知识,但是会问很细,没深入学习的话,很容易扛不住。

2024-04-19 13:44:23 4634 3

原创 想冲银行去了!

IO多路复用是一种IO得处理方式,指的是复用一个线程,处理多个socket中的事件。能够资源复用,防止创建过多线程导致的上下文切换的开销。常见的IO多路复用系统调用有select、poll和epoll。select 实现多路复用的方式是,将已连接的 Socket 都放到一个文件描述符集合,然后调用 select 函数将文件描述符集合拷贝到内核里,让内核来检查是否有网络事件产生,检查的方式很粗暴,就是通过遍历。

2024-04-19 11:23:05 501

原创 ArrayList和LinkedList区别?看完秒懂~

3.还有,如果是插入场景比较少,但经常需要查询的话,查询分两种,第一种就是普通遍历,也就是经常需要对List中的元素进行遍历,那么这两种是区别不大的,遍历链表和遍历数组的区别,第二种就是经常需要按指定下标获取List中的元素,如果这种情况如果比较多,那么就用ArrayList。对于LinkedList,如果是插在链表的头部或者是尾部都是很快的,因为LinkedList中有单独的属性记录的链表的头结点和尾结点,不过,如果是插在指定下标位置,那么就需要遍历链表找到指定位置,从而降低了效率。

2024-04-18 16:21:26 304

原创 Mybatis中#{}和${}的区别是什么?

3)使用 #{} 可以有效的防止SQL注入。SQL注入是发生在编译的过程中,因为恶意注入了某些特殊字符,最后被编译成了恶意的执行操作。2)使用MyBatis在处理#{}时,会将SQL中的#{}替换为?MyBatis在处理 $ { } 时,就是把 ${ } 替换成变量的值。如果你用${}进行传值就是将 ${ } 替换成变量的值。1)#{}是预编译处理,$ {}是字符串替换。Mybatis中#{}和${}的区别是什么?#{}和${}的区别是什么?#{}和${}的区别是什么?

2024-04-18 16:17:38 192

原创 TCP和UDP的区别

三、总结

2024-04-18 16:04:51 393

原创 mongodb简介,应用场景,常用命令,优缺点 (思维导图)

2024-04-18 16:02:10 214

原创 springboot的开发流程

包有两种jar (java)、war (javaee)application-test.yml 测试环境。application-dev.yml 开发环境。application.yml 总调度。注意:Main类要在其它类的上一级。点开idea的右侧位置的maven。springboot用jar包。启动springboot项目。把jar包拷贝到D盘。

2024-04-18 15:49:58 815

原创 在linux中创建c程序

5.编译c文件,输入:gcc hello.c -o hello。按i进入插入模式,写完后按esc,再按x保存内容后退出,6.运行编译好的c文件,输入:hello。一、创建一个目录,写入一个C文件。

2024-04-18 15:42:33 228 1

原创 一张RabbitMQ的思维导图

2024-04-18 15:40:24 265

原创 TCP和UDP的区别

目录一、TCP和UDP都属于TCP/IP协议族二、UDP和TCP的不同2.1 TCP是面向连接的,UDP是面向无连接的2.2 TCP是可靠的,UDP是不可靠的2.3 TCP是面向字节流的,UDP是面向报文的2.4 TCP只有一对一的传输方式,而UDP不仅可以一对一,还可以一对多,多对多2.5 UDP的头部开销小,TCP的头部开销大2.6 TCP会产生粘包问题,UDP会产生丢包问题2.6.1 TCP粘包2.6.2 UDP丢包问题三、总结TCP/IP模型是一些列协议的总称(比如:TCP,UD

2024-04-12 16:40:54 475

原创 京东一面:MySQL 中的 distinct 和 group by 哪个效率更高?

先说大致的结论(完整结论在文末):在语义相同,有索引的情况下by和distinct都能使用索引,效率相同。在语义相同,无索引的情况下:distinct效率高于group。原因是distinct 和 group by都会进行分组操作,但group by可能会进行排序,触发filesort,导致sql执行效率低下。基于这个结论,你可能会问:为什么在语义相同,有索引的情况下,group by和distinct效率相同?且在什么情况下,group by会进行排序操作?带着这两个问题找答案。

2024-04-09 16:30:36 1034

原创 线上环境 CPU 使用率飙升如何快速排查?

相比于一大堆复杂的调优过程,本文介绍的排查步骤还是挺简单的,可以帮助各位小伙伴排查一些简单问题,面试官问起来也好过啥也不会(这个 CPU 打满如何排查我被问过好多次......)。

2024-04-09 16:24:03 1081

原创 10道经典MySQL面试题,试试你能回答几个

如果有两个事务,运行在相同的时间内,执行 相同的功能,事务的隔离性将确保每一事务在系统中认为只有该事务在使用系统。当对某一表进行诸如UPDATE、INSERT、DELETE这些操作时,SQLSERVER就会自动执行触发器所定义的SQL语句,从而确保对数据的处理必须符合这些SQL语句所定义的规则。视图创建后,可以使用与表相同的方式利用它们。触发器与存储过程非常相似,触发器也是SQL语句集,两者唯一的区别是触发器不能用EXECUTE语句调用,而是在用户执行Transact-SQL语句时自动触发(激活)执行。

2024-04-09 16:16:44 924

原创 linux中普通文件和块设备文件的区别

一直都搞不明白普通文件跟块文件的区别,总觉得一个普通的文件是存放在磁盘块上,那它既属于普通文件又属于块设备文件。刚好下午睡了一个大头觉,比较清醒,集中学习了下普通文件和块设备文件的区别和联系。· 块设备的数据可以随机地被访问,而且从人类用户的观点看,传送任何数据块所需的时间都是较少而且是大致相同的。· 字符设备的数据或者不可以随机访问,或者可以被随机访问,但是访问随机数据所需的时间很大程度上依赖于数据在设备内的位置[1]。本文从基本概念,寻址空间,内核读写几个方面介绍普通文件和块设备文件的辩证统一。

2024-03-29 10:27:59 195

原创 Ubuntu下面创建文本文档.txt

第四步:在新建文本文档.txt右上角点击保存即可;第五步:即可在任意位置新建文本文档.txt。,然后输入密码即可;

2024-03-29 10:25:37 262

原创 ubuntu系统在目录下创建文件夹,权限不足解决办法

中如果采用简易安装ubuntu,root用户是没有密码的,也就是说root用户不能用,root权限也就无法开启,这就是ubuntu的安全模式。linux下有超级用户(root)和普通用户,普通用户不能直接操作没有权限的目录。用命令创建你的目录,先cd到你要创建目录的路径,比如cd /opt,然后sudo mkdir 目录名,按提示输入用户密码即可。终端会提示你让你给root用户设置密码,设置新密码后继续确认新密码。当输入框前面的“$”符号变成“#”时,就可以使用root权限了。输入root用户密码;

2024-03-29 10:24:35 540

原创 黑马头条知识点总结

黑马头条知识点总结前言一、使用的所有技术栈二、初始化项目2.1加密盐登录2.2网关2.3配置nginx三。文章通过freemarker生成html文件存入minio中四。内容安全阿里云接口5.使用延迟任务发布审核文章4.9.3)redis分布式锁在工具类CacheService中添加方法4.10)数据库同步到redis文章搜索总结本人跟着黑马的视频做了近一个月,过程有些仓促,所以来复盘一下重要知识点。

2024-03-28 17:34:31 836 1

原创 什么是绝对路径,什么是相对路径,绝对路径和相对路径的区别?

例如“1.htm”文件所在目录为“C:\Users\15063\Desktop\lqf”,而“1.txt”文件所在目录为“C:\Users\15063\Desktop”,那么“1.txt”相对于“1.htm”文件来说,是在其所在目录的上级目录里。例如“1.txt”这个文件是存放在硬盘的“C:\Users\15063\Desktop”目录下,那么 “1.txt”这个文档的绝对路径就是“C:\Users\15063\Desktop\1.txt”。file2的位置为C:\ABC\path2\file2;

2024-03-28 15:26:16 532

原创 今年一半以上新增财富来自AI;微软任命Windows和Surface新负责人;GitHub推出代码自动修复工具 | 极客头条

小米汽车 App 上线苹果 App Store:可在线购车、远程车控。字节提速 AI:Flow 部门下设四大业务线,挖角大批百度阿里员工。阿里 1688 全面接入淘宝:将设立专门频道,重推严选贴牌源头厂货。Meta 加入 AI 人才战:扎克伯格亲自上阵 无需面试即录用。欧盟对 Alphabet、苹果、Meta 展开不合规调查。胡润全球富豪榜:今年一半以上的新增财富来自于 AI。iOS 18 或将对主屏幕更新,增加更多可定制内容。微软任命Windows和Surface新负责人。

2024-03-27 19:38:04 164

原创 ChatGPT 去年至今 0 增长;Sora 风暴仍未停歇,大量 AIGC 视频应用涌现 | AI 头条

一分钟速览新闻点!

2024-03-27 19:35:45 711

原创 『Mysql』Mysql四种分区方式及组合分区落地实现

📣读完这篇文章里你能收获到。

2024-03-20 15:06:04 733

原创 VMware虚拟机下安装Ubuntu20.04(保姆级教程)

这里的配置取决于电脑自身配置,我们WIN+R,再进入cmd命令行,输入,查看我们的处理器配置这块忘了截屏了,就用上面的图将就一下吧点击浏览找到存放镜像文件的地址。

2024-03-20 10:50:08 859

原创 Java的特性:封装、继承、多态 (面试答题)

将 方法 和 属性 写到同一个类中,并将属性 私有化,生成 get set方法,外部访问属性需要通过get和set方法,内部可以直接访问属性,这样的一个类我们认为它完成了封装。子类继承父类,子类实例可以调用父类除private修饰以外的所有属性和方法,一个子类只能继承一个父类,但是可以多重继承,一个父类可以拥有多个子类。父类的引用指向子类的实例,多个子类继承同一个父类实现了这些类共通的方法,每一个子类实现的结果都不同。JAVA的三大特性:封装、继承、多态。

2024-03-15 17:46:38 133

原创 Java和其他编程语言有什么区别?

生态系统和库:Java拥有庞大而丰富的生态系统和标准库,包括各种工具、框架和第三方库,可以帮助开发人员加快开发速度和提高效率。Java的安全模型包括类加载机制、字节码校验、安全沙箱等,有助于防止恶意代码的执行和保护系统的安全性。安全性:Java注重安全性,在语言和平台级别提供了各种安全特性。Java的安全模型包括类加载机制、字节码校验、安全沙箱等,有助于防止恶意代码的执行和保护系统的安全性。异常处理:Java具有强大的异常处理机制,可以帮助开发人员在程序中处理和捕获异常情况,提高程序的稳定性和健壮性。

2024-03-15 11:29:26 399

原创 redis 10道面试题

Redis 是完全开源免费的,遵守 BSD 协议,是一个高性能的 key-value 数据库。Redis 与其他 key - value 缓存产品有以下三个特点:(1)Redis 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。(2)Redis 不仅仅支持简单的 key-value 类型的数据,同时还提供 list,set,zset,hash 等数据结构的存储。(3)Redis 支持数据的备份,即 master-slave 模式的数据备份。Redis 优势。

2024-03-15 11:24:10 556

原创 20道经典Redis面试题

整理了20道经典Redis面试题,希望对大家有帮助。Redis,英文全称是(远程字典服务),是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。与MySQL数据库不同的是,Redis的数据是存在内存中的。它的读写速度非常快,每秒可以处理超过10万次读写操作。因此redis被广泛应用于缓存,另外,Redis也经常用来做分布式锁。除此之外,Redis支持事务、持久化、LUA 脚本、LRU 驱动事件、多种集群方案。

2024-03-15 11:22:49 680

原创 SQL中的distinct的使用方法

distinct用来查询不重复记录的条数,即用distinct来返回不重复字段的条数(count(distinct id)),其原因是distinct只能返回他的目标字段,而无法返回其他字段。实际包含null项有4个记录,执行语句后过滤null项,计算为3。1. 解决办法一: 使用 group_concat 函数。2. 解决办法二:使用group by函数。

2024-03-14 19:30:14 610

原创 9种分布式ID生成之美团(Leaf)实战

对于Leaf具体使用哪种模式,还是根据具体的业务场景使用,本文并没有对Leaf源码做过多的分析,因为Leaf 代码量简洁很好阅读。后续还会把其他几种分布式ID生成器,依次结合实战介绍给大家,欢迎大家关注。您的认可才是我写作的动力!

2024-03-14 19:17:49 1206

原创 SQL查询学生表最高分及同名同学

给一张学生表,有姓名,分数。1、最高分同学的名字。

2024-03-14 18:11:33 185

原创 Mysql中的engine

优点:速度快,磁盘空间占用少;某个库或表的磁盘占用情况既可以通过操作系统查相应的文件(夹)的大小得知,也可以通过SQL语句SHOW TABLE STATUS查得缺点:没有数据完整性机制,即不支持事务和外键。

2024-03-14 17:53:16 426

原创 超级详细的Lua语言的基础教程

lua 是动态类型语言,变量不需要类型定义,可直接赋值。值可以存储在变量中,作为参数传递或结果返回。lua 中有 8 个基本类型分别为:nil、boolean、number、string、userdata、function、thread 和 table。数据类型描述nil这个最简单,只有值nil属于该类,表示一个无效值(在条件表达式中相当于false)boolean包含两个值:false和truenumber表示双精度类型的实浮点数string字符串由一对双引号或单引号来表示。

2024-03-14 17:24:38 1194

原创 ▲什么是迭代器?迭代器有什么作用?

先说说它是干嘛的吧!迭代器的作用是用来访问容器(用来保存元素的数据结构)中的元素,所以使用迭代器,我们就可以访问容器中里面的元素。没错!这和访问数组这个序列的指针一样,因为数组范围内的指针就是迭代器的一种。

2024-03-14 17:09:10 278

原创 什么是token?token是用来干嘛的?

token其实说的更通俗点可以叫暗号,在一些数据传输之前,要先进行暗号的核对,不同的暗号被授权不同的数据操作。Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。◾ 拿着这个token,可以在当前登录的账号下进行请求业务,发送请求时,token会放在请求头里,服务器收到这个业务请求,验证token,成功就允许这个请求获取数据。

2024-03-14 15:56:03 533

原创 「AI人工智能」NodeJs使用openai流式请求与非流式请求

NodeJs使用openai流式请求与非流式请求。

2024-03-14 15:45:39 319

原创 zookeeper详解

一 zookeeper介绍首先需要了解zookeeper是什么,zookeeper是一个分布式协调服务。所谓分布式协调主要是来解决分布式系统中多个进程之间的同步限制,防止出现脏读,例如我们常说的分布式锁。zookeeper中的数据是存储在内存当中的,因此它的效率十分高效。它内部的存储方式十分类似于文件存储结构,采用了分层存储结构。但是它和文件存储结构的区别是,它的各个节点中是允许存储数据的,需要注意的是zk的每个节点存储数据不能超过1M。它的内存数据结果如下图:

2024-03-14 15:34:30 969

原创 MySql基础篇——DDL、DQL、DML和DCL

1.1 创建数据库CREATE DATABASE 数据库名;# 创建数据库CREATE DATABASE 数据库名 CHARACTER SET 字符串;# 创建数据库并指定字符集CREATE DATABASE IF NOT EXISTS 数据库名;# 如果数据库不存在则创建数据库1.2 修改数据库Alter DATABASE 数据库名 CHARACTER SET 字符集;11.3 删除数据库DROP DATABASE 数据库名;DROP DATABASE IF EXISTS 数据库名;1。

2024-03-12 21:35:32 205

原创 原生高性能抓包工具Proxyman,送给爱学习的你

Proxyman是一个原生的高性能macOS端的抓包工具,它使开发或测试人员能够轻松地捕获、检查和操作HTTP或HTTPS请求/响应。

2024-03-12 21:04:45 573

原创 抓包是什么?我们为什么要抓包?

在我们提交Bug的时候,经常会出现前端(客户端展示)和后端(服务端的逻辑)的争议,那么可以通过抓包工具,确定是数据传递问题还是前端显示问题,如果抓出来的数据就有问题的话,那么一般是后端的问题;web表单中会有很多隐藏的字段,这些隐藏字段都有一些特殊的用途,比如收集用户的数据,预防CRSF攻击,防网络爬虫,以及一些其他用途。Fiddler是一个独立的应用,可以调试PC、Mac、Linux、移动设备的之间的通信,支持大部分框架,如Java、.net、Ruby,需要设置代理。3、需要通过抓包工具,检查数据加密。

2024-03-12 20:58:46 318

原创 性能指标:QPS、TPS、系统吞吐量理解

多线程场景,如果把服务端的线程数提升到2,那么整个系统的QPS则为 2*(1000/80) = 25, 可见QPS随着线程的增加而线性增长,那QPS上不去就加线程呗,听起来很有道理,公司也说的通,但是往往现实并非如此。对同一个系统而言,支持的线程数越多,QPS越高。瓶颈资源可以是CPU,可以是内存,可以是锁资源,IO资源:超过最佳线程数-导致资源的竞争,超过最佳线程数-响应时间递增。在达到最佳线程数的时候,线程数量继续递增,则QPS不变,而响应时间变长,持续递增线程数量,则QPS开始下降。

2024-03-12 20:53:30 861

空空如也

空空如也

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

TA关注的人

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