自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 程序员面试经典—— 02.03. 删除中间节点

简单提示若链表中的某个节点,既不是链表头节点,也不是链表尾节点,则称其为该链表的「中间节点」。假定已知链表的某一个中间节点,请实现一种算法,将该节点从链表中删除。例如,传入节点c(位于单向链表中),将其删除后,剩余链表为通过率85.8%

2024-04-05 15:28:51 321

原创 程序员面试经典——02.02. 返回倒数第 k 个节点

已解答简单提示实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。**注意:**本题相对原题稍作改动给定的k保证是有效的。

2024-04-05 15:26:55 188

原创 程序员面试经典——02.01. 移除重复节点

简单提示编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。如果不得使用临时缓冲区,该怎么解决?

2024-04-05 15:24:53 136

原创 程序员面试经典—— 01.09. 字符串轮转

简单提示字符串轮转。给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成(比如,是旋转后的字符串)。通过次数90.5K提交次数168.2K通过率53.8%

2024-04-05 15:23:18 336

原创 程序员面试经典—— 01.08. 零矩阵

中等提示编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。

2024-04-05 15:21:14 100

原创 程序员面试经典—— 01.07. 旋转矩阵

已解答中等给你一幅由N × N矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 90 度。不占用额外内存空间能否做到?:本题与主站 48 题相同:https://leetcode-cn.com/problems/rotate-image/

2024-04-05 15:19:14 661

原创 程序员面试经典—— 01.06. 字符串压缩

简单字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。

2024-04-05 15:16:55 189

原创 程序员面试经典——01.05. 一次编辑

中等字符串有三种编辑操作:插入一个英文字符、删除一个英文字符或者替换一个英文字符。给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑。

2024-04-05 15:15:01 370

原创 程序员面试经典——01.04. 回文排列

简单给定一个字符串,编写一个函数判定其是否为某个回文串的排列之一。回文串是指正反两个方向都一样的单词或短语。排列是指字母的重新排列。回文串不一定是字典当中的单词。审题正反两个方向都相同的单词或者短语,排列是重新打乱顺序之后的排列。

2024-04-05 15:12:48 166

原创 程序员面试经典——01.03. URL化

简单URL化。编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作。

2024-04-05 15:10:33 109

原创 程序员面试经典——01.02. 判定是否互为字符重排

简单给定两个由小写字母组成的字符串s1和s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。

2024-04-05 15:08:19 363

原创 程序员面试经典——01.01. 判定字符是否唯一

已解答简单实现一个算法,确定一个字符串s的所有字符是否全都不同。

2024-04-05 15:06:15 273 2

原创 Java基础——三、运算

Java是按值传递的!基本数据类型(如int、float、boolean等)是按值传递的。在Java中,对象并不直接传递;相反,对象的引用被按值传递。

2024-04-05 14:40:17 1006

原创 Java基础——二、数据类型

自动装箱是Java编译器在基本类型与其相应的对象包装类之间的自动转换。例如,将int转换为Integer,将double转换为Double,等等。如果转换以另一种方式进行,则称为拆箱。基本上有适合的包装类型,就可以进行相互转换,使用自动拆箱装箱完成。// 装箱 调用了 Integer.valueOf(2)int y = x;// 拆箱 调用了 X.intValue()自动装箱和拆箱使开发人员可以编写更简洁的代码,使其更易于阅读缓存池是一个用于存储和重复利用对象的容器,通常用于。

2024-04-05 14:38:46 723

原创 Java基础——一、特征

提供了一个新的日期和时间 API,使日期和时间处理更加简单。语句:支持在 Try 语句中声明资源,并在使用后自动关闭。:提供了一种更为简单、可读性更高的方式来处理集合数据。:提供了一种新的并行处理方式,可以更快地处理大数据集。:允许接口在不破坏现有实现的情况下添加新方法。:引入了一个新的 JavaScript 引擎。:提供了一种高效的累加器,可用于并发计算。:引入了一些新的 API,以支持动态语言。:简化了代码编写,并支持函数式编程。:引入了一个新的 I/O API。:增加了对代码中类型注解的支持。

2024-04-05 14:37:24 736

原创 Java特征

提供了一个新的日期和时间 API,使日期和时间处理更加简单。语句:支持在 Try 语句中声明资源,并在使用后自动关闭。:提供了一种更为简单、可读性更高的方式来处理集合数据。:提供了一种新的并行处理方式,可以更快地处理大数据集。:允许接口在不破坏现有实现的情况下添加新方法。:引入了一个新的 JavaScript 引擎。:提供了一种高效的累加器,可用于并发计算。:引入了一些新的 API,以支持动态语言。:简化了代码编写,并支持函数式编程。:引入了一个新的 I/O API。:增加了对代码中类型注解的支持。

2024-03-30 15:31:47 569

原创 HashMap为什么要指定初始大小?

在这个情况下,初始大小为4,容量为4,因此当存储第3个元素时,哈希表的元素数量为3,容量为4,还有一个空位。此时,需要重新计算哈希值并将元素重新插入到新的更大的哈希表中,这个过程需要花费一定的时间,但是由于初始容量等于元素数量,因此扩容时所需的空间通常比较小,因此空间代价相对较小。,因此在这个情况下,哈希表的容量从4扩容到了8,扩容了两倍。具体来说,当初始大小为4时,哈希表的容量为4,而负载因子为0.75,表示当哈希表中元素数量达到容量的 0.75 倍即 3 个时,就会触发自动扩容。

2024-02-24 15:03:28 929

原创 OOP面向对象编程

面向对象的三大特征就是封装、继承,多态。但从更加宽泛的角度而言,对**抽象(Abstraction)和消息传递(Message Passing)**的理解也同样很重要!抽象(Abstraction):抽象是面向对象编程的重要概念之一,它是隐藏对象的复杂性的过程,使得用户只需要关注对象的关键特征而忽略其实现细节。在面向对象编程中,抽象通过类和接口来实现。类定义了对象的属性和方法,而接口定义了对象的行为规范,通过这些抽象概念,程序员可以更加专注于问题的本质而不是实现细节。

2024-02-22 14:51:25 394

原创 消息队列——介绍及选择

是指。消息队列系统通常由消息生产者、消息中间件和消息消费者组成。消息生产者将消息发送到消息队列中,消息中间件负责将消息传递到消息消费者,消息消费者则从消息队列中接收并处理消息。消息队列的。当系统的业务量增加时,可以通过增加消息队列的数量和容量来满足需求,从而提高系统的性能和可靠性。同时,由于消息队列可以实现消息的持久化存储,即使发生系统故障,也不会丢失消息。:将耗时的操作放到消息队列中异步处理,避免阻塞主线程,提高系统的吞吐量和响应速度。

2023-06-04 16:01:49 761

原创 消息队列——kafka基础

Kafka 是一个分布式的---基于发布/订阅模式的消息队列(Message Queue),主要应用于 大数据实时处理领域。发布/订阅模式​ 原文链接:https://blog.csdn.net/tjvictor/article/details/5223309​ 定义了一种一对多的依赖关系,让多个订阅者对象同时监听某一个主题对象。这个主题对象在自身状态变化时,会通知所有订阅者对象,使它们能够自动更新自己的状态。​将一个系统分割成一系列相互协作的类有一个很不好的副作用,那就是需要维护相应对象间的一致性。

2023-06-04 15:06:52 2010

原创 Java框架——springBoot基础

一、笔记资源下载地址:[首页](javascript:void(0)😉 > 导航 > 笔记下载https://www.kuangstudy.com/app/codeWeb UI 组件库:https://www.layui.com/博客笔记资源:https://www.cnblogs.com/yaolicheng/p/13689710.html绘图:https://www.processon.com/diagramshttps://www.bootcss.com/p/layoutit/前端组件:https:

2023-06-01 19:19:32 1918

原创 Java基础——HashMap指定初始值

因此,指定初始大小可以控制负载因子的值,达到平衡空间和时间的效果。此时,需要重新计算哈希值并将元素重新插入到新的更大的哈希表中,这个过程需要花费一定的时间,但是由于初始容量等于元素数量,因此扩容时所需的空间通常比较小,因此空间代价相对较小。但是,这里需要注意的是,在初始大小等于元素数量的情况下,扩容所需的代价通常比较小,因为仍然有足够的空间可以容纳元素。具体来说,当初始大小为4时,哈希表的容量为4,而负载因子为0.75,表示当哈希表中元素数量达到容量的 0.75 倍即 3 个时,就会触发自动扩容。

2023-06-01 15:37:04 2781

原创 非关系型——MongoDB基础

存)

2023-05-30 17:52:30 241

原创 非关系型——Redis基础

官方文档:http://redis.cn/1、Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程2、当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定3、指定Redis监听端口,默认端口为6379,作者在自己的一篇博文中解释了为什么选用6379作为默认 端口,因为6379在手机按键上MERZ对应的号码,而MERZ取自意大利歌女Alessia Merz的名字port 6379。

2023-05-30 17:51:04 343

原创 Java框架——日志整合slf4j+log4j2

ApacheLog4j 2是对Log4j的升级,它比其前身Log4j 1.x提供了重大改进,并提供了Logback中可用的许多改进,同时修复了Logback架构中的一些问题。被誉为是目前最优秀的Java日志框架log4j是apache实现的一个开源日志组件logback同样是由log4j的作者设计完成的,拥有更好的特性,用来取代log4j的一个日志框架,是slf4j的原生实现Log4j2。

2023-05-28 14:38:15 2718

原创 Java框架——SSM整合

AJAX初体验异步可理解为局部刷新,同步指需要按部就班地完成一整套流程AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。Ajax 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术。在 2005 年,Google 通过其 Google Suggest 使 AJAX 变得流行起来。

2023-05-28 14:34:54 1624

原创 关系型——MySQL进阶

什么是索引?排序 + 查找解决order by排序查找的快你可以简单理解为==“排好序的快速查找数据结构”==索引的目的在于提高查询效率,可以类比字典一般来说,索引本身也很大,不可能全部存储在内存中,因此索引往往以索引文件的形式存储在磁盘上MySQL官方对索引的定义为:索引(Index) 是帮助MySQL高效获取数据的数据结构,可以得到索引的本质​索引是数据结构要查“mysql”这个单词,我们肯定需要定义到m字母,然后从上往下找到y字母,再找到剩下的sql。在数据之外,

2023-05-21 16:15:45 279

原创 关系型——MySQL基础

方式一:计算机——右击管理——服务方式二:通过管理员身份运行net start 服务名(启动服务)net stop 服务名(停止服务)一、用户变量SET @变量名=值;SET @变量名:=值;SELECT @变量名:=值;方式一:一般用于赋简单的值SET 变量名=值;SET 变量名:=值;SELECT 变量名:=值;方式二:一般用于赋表 中的字段值SELECT 字段名或表达式 INTO 变量FROM 表;select @变量名;二、局部变量。

2023-05-18 19:32:50 333

原创 Java框架——springMVC基础

Spring MVC是Spring Framework的一部分,是基于Java实现MVC的轻量级Web框架。查看官方文档:https://docs.spring.io/spring/docs/5.2.0.RELEASE/spring-framework-reference/web.html#spring-web我们为什么要学习SpringMVC呢?轻量级,简单易学高效 , 基于请求响应的MVC框架与Spring兼容性好,无缝结合约定优于配置。

2023-05-16 19:20:10 1670

原创 Java框架——spring基础

1、在官网中获取xml配置文件。第一步:打开Core Technologies (spring.io)第二步:Spring:春天------>给软件行业带来了春天!2002,首次推出了Spring框架的雏形——interface21框架!Spring框架以interface21框架为基础,经过重新设计,并不断丰富其内涵,于2004年3月24日,发布了1.0正式版Rod Johnson——Spring Framework创始人,著名作家。很难想象Rod Johnson的学历,真的让好多人大吃一惊,它却是悉尼大

2023-05-15 21:23:12 1129 1

原创 JVM——初体验

为什么有个native呢?这是我所要学习的地方。所以下面想要总结下native。一、认识 native 即 JNI,Java Native Interface凡是一种语言,都希望是纯。比如解决某一个方案都喜欢就单单这个语言来写即可。Java平台有个用户和本地C代码进行互操作的API,称为Java Native Interface (Java本地接口)。二、用 Java 调用 C 的“Hello,JNI”1、创建一个Java类,里面包含着一个 native 的方法和加载库的方法 loadLibrary。

2023-05-15 18:01:17 466

原创 Java框架——mybatis基础

注:​ 可以将框架理解为帮助开发,被封装的工具,不必细究代码细节,重点源码原理做好笔记即可!官方文档地址:https://mybatis.org/mybatis-3/index.html入门基础需要掌握的以及开发环境:github上面看源码等资料它是一套软件开发中的解决方案,不同框架解决的是不同的问题。使用框架的好处:框架封装了很多的细节,使用开发者可以使用极简的方式实现功能,大大提高了开发效率。框架实际上算是半成品。1、表现层:是用于展示数据的2、业务层:是处理业务需求的3、持久层:​ 是与数

2023-05-14 18:29:48 795

原创 网站搭建——wordPress

CGI(Common Gateway Interface),全文名是通用网关接口,用于HTTP服务器和其他机器通信的一种工具。传统CGI程序性能较弱,因此每次HTTP服务器遇到动态程序的时候,都需要重启解析器来执行解析,之后的处理结果才会返回给HTTP服务器。这样在高并发场景下访问几乎是太差劲了,因此诞生了FastCGI。

2023-05-11 19:41:38 1445

原创 Java基础——进阶

​ 多线程的发展史,起始就是一个压榨资源,提升效率的战斗史,促进它发展的根本动力其实在于各种资源(磁盘、内存、网络、CPU)的运行速度不平衡而造成的资源浪费。​ 站在地主老财的角度,如何让长工们给我种地赚钱 - 陈松线程(thread):在多线程OS中,通常是在一个进程中包括多个线程,每个线程都是作为利用CPU的基本单位,是花费最小开销的实体。线程具有以下属性。线程中的实体基本上不拥有系统资源,只是有一点必不可少的、能保证独立运行的资源。线程的实体包括程序、数据和。线程是动态概念,它的动态特性由线程控制块描

2023-05-06 18:43:37 1353 1

原创 Java基础——夯实基础

New highlights in Java SE 8New highlights in Java SE 7Java SE 8 新特性​Java SE 8 引入了许多新特性,以下是其中的一些:Lambda 表达式:简化了代码编写,并支持函数式编程。流式 API:提供了一种更为简单、可读性更高的方式来处理集合数据。日期和时间 API:提供了一个新的日期和时间 API,使日期和时间处理更加简单。默认方法:允许接口在不破坏现有实现的情况下添加新方法。类型注解:增加了对代码中类型注解的支持。Nashhorn Ja

2023-05-06 18:41:41 428 1

原创 ThreadLocal内存泄漏尽可能最全总结

ThreadLocal内存泄漏实线代表强引用,虚线代表弱引用每一个Thread线程都会维护一个ThreadLocalMap它是线程独有的哦! key为使用弱引用的ThreadLocal实例,value作为线程变量的副本。强引用,使用最普遍的引用,一个对象具有强引用,不会被垃圾回收器回收。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不回收这种对象。如果想取消强引用和某个对象之间的关联,可以显式地将引用赋值为null,这样可以使JVM在合适的时间就会回

2021-11-25 23:32:43 380

原创 计算机基础——计算机网络

面试总结:OSI七层模型参考博文地址: https://blog.csdn.net/yaopeng_2005/article/details/7064869巧记:五叔网传会表演!1.物理层:主要功能是利用物理介质为上面的数据链路层提供物理连接,实现比特流的透明传输。比特流的透明传输:指的是经实际电路传送后的比特流没有发生变化,对传送的比特流来说,这个电路是不可见的2.数据链路层:主要建立和管理节点之间的链路,通过各种控制协议将有差错的物理信道变为无差错传送数据帧的数据链路。3**.网络

2021-08-22 08:58:04 2868

空空如也

空空如也

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

TA关注的人

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