自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

胜神明半子

记录生活

  • 博客(148)
  • 收藏
  • 关注

原创 欧拉筛(最优的方法,对于找质数,细节讲解)

前言:最优的找质数方法,欧拉筛,看过无数博主的讲解,许多博主还是没有抓到新手的疑惑点,今天在我自身花费了一天时间不断的证明和思考,总结出来了一篇给新手的最细讲解!!!欧拉筛结合代码进行精准解析。#include<iostream>using namespace std;bool a[100001]={1,1};//i=0,i=1的时候都不是质数 ,所以直接标记int b[100001];//存质数 int k; long long n;int main(){ ci.

2021-08-23 17:58:35 18770 74

原创 代码详解:2024美团春招实习笔试第一场0309,是难还是简单?

1.第一题(模拟)2.第二题(模拟)3.第三题(二维前缀和)4.第四题的思维(双指针)5.第五题难度比较大(并查集+删边+离散化)

2024-03-10 22:25:59 1610 9

原创 暑假实习比较纠结的问题整理详细解答

大概是以下问题:1、暑假实习可以什么时候投递?2、面试挂了是否会影响秋招?3、可以去哪些渠道投递?4、可以什么时候去实习?5、没有实习秋招是不是没有机会了?

2024-03-03 13:56:39 639

原创 (规划)24届春招和25届暑假实习路线准备规划

春招&&暑假实习:1.八股: 可以去一些八股网站上面进行阅读。2.项目:至少准备1-2个项目,可以条理清晰的进行项目介绍和难点剖析。3.算法: hot100 ,剑指offer 能刷的很熟,算法关就差不多了,提升方面参考codetop。资源网站:https://www.yuque.com/taxing-qarr6/dugyeu/pysagia7tsdoxp6e投简历:1.八股 将简单的部分过掉一边,后参考面经进行补齐2.项目 提前模拟面试,进行项目的难点总结和预备一些项目问题讲解方案,或者

2024-03-03 13:52:49 400

原创 (资源篇)2025届暑假实习&春招全攻略路线

(资源篇)2025届暑假实习&春招全攻略路线

2024-03-03 13:51:17 1068

原创 操作系统(28)

22. 一个程序从开始运行到结束的完整过程,你能说出来多少?20. 谈谈你对动态链接库和静态链接库的理解?1. 简单说下你对并发和并行的理解?2. 同步、异步、阻塞、非阻塞的概念。5. 为什么有了进程,还要有线程呢?24. 用户态和内核态是如何切换的?26. 守护进程、僵尸进程和孤儿进程。21. 外中断和异常有什么区别?7. 进程间的通信方式有哪些?28. 介绍一下几种典型的锁?8. 进程的调度算法有哪些?11. 死锁产生的必要条件?12. 解决死锁的基本方法?17. 分页与分段的区别?

2023-11-04 00:54:56 192

原创 操作系统(32)

31、聊聊阻塞与⾮阻塞 IO、 同步与异步IO?05、用户态和内核态是如何切换的?29、硬链接和软链接有什么区别?02、操作系统主要有哪些功能?13、进程和线程的联系和区别?04、什么是用户态和内核态?06、并行和并发有什么区别?07、什么是进程上下文切换?12、进程间通信有哪些方式?26、分页和分段有什么区别?11、进程有哪些调度算法?15、线程有哪些实现方式?18、死锁产生有哪些条件?28、页面置换算法有哪些?​01、什么是操作系统?08、进程有哪些状态?09、什么是僵尸进程?

2023-11-04 00:52:04 172

原创 计算机网络(59)

1. OSI 的七层模型分别是?各自的功能是什么?2. 为什么需要三次握手?两次不行?3. 为什么需要四次挥手?三次不行?4. TCP与UDP有哪些区别?各自应用场景?5. HTTP1.0,1.1,2.0 的版本区别6. POST和GET有哪些区别?各自应用场景?7. HTTP 哪些常用的状态码及使用场景?8. HTTP状态码301和302的区别,都有哪些用途?9. 在交互过程中如果数据传送完了,还不想断开连接怎么办,怎么维持?10. HTTP 如何实现长连接?在什么时候会超时?11. TCP 如何保证有效

2023-11-04 00:40:59 633

原创 学习历程_基础_精通部分_达到手搓的程度

目录本篇将记录11月4日后的学习历程1. 计算机网络(更新版)1.1计算机网络(43)1.22. 操作系统(更新版)3. 笔试算法+面试手撕算法(更新版)4. 数据库(更新版)4.1 MySQL4.2 Redis5. 业务开发算法(更新版)5.1红黑树5.2 外部排序5.3 搜索5.4 字符串匹配5.5 选路算法5.6 一致性哈希5.7 B+树6. 分布式类(更新版)6.1 Raft共识算法6.2 分布式事务7. 设计模式(更新版)7.1 单例模式7.2 责任链模式7.3 工厂模式。

2023-11-03 22:12:26 253

原创 计算机网络(43)

1、OSI 七层网络模型,你了解吗?具体功能有哪些? 2、TCP/IP四层模型? 3、说一下TCP的三次握手? 4、为什么要三次握手?两次行不行?四次呢? 5、为什么建立连接是三次握手,关闭连接确是四次挥手呢? 6、TCP四次挥手的过程? 7、如果已经建立了连接,但是客户端突然出现故障了怎么办? 8、为什么客户端最后还要等待2MSL? 9、HTTP的原理? 10、如何理解HTTP协议是无状态的? 11、从

2023-11-03 21:48:40 486

原创 计数单编写

实习

2023-10-29 03:11:01 97

原创 美团笔试真题2023第一场(4题)

题目总体来说偏向于中下难度。

2023-10-23 20:13:21 444 3

原创 算法分享三个方面学习方法(做题经验,代码编写经验,比赛经验)

从大学0基础小白,到全球最强算法平台codeforces ,账号评分2347,全球排名约前1000,中国排名前200左右。今天分享一下我在学习算法这几年,总结的一点心得。题是刷不完的,掌握学习方法,才是王道。我分别从三个方面进行讲解:做题经验谈,代码编写经验谈,比赛经验。1. 良好的心态是必须的,不冷静只会让自己水平暴跌。2. 首先把题目都认真的看一遍,绝对不要看错题目,保险起见可以使用看两遍的方法,确保题意是对的,不要放过任何可能重要的条件,可能只写在数据范围里!

2023-09-18 19:48:01 687 3

原创 MySQL阅读网上MySQL文章有感的杂记

MySQL将脏页刷入磁盘的过程比较耗时,特别是对于大量的修改操作(例如一次性插入10万行),可能会导致大量的脏页需要被刷入磁盘,从而降低系统的响应速度。需要注意的是,为了提高性能,MySQL提供了许多优化参数可以调整flush的策略和行为,如innodb_flush_method、innodb_max_dirty_pages_pct等。MySQL提供了一系列参数来配置后台线程的行为,如innodb_flush_log_at_trx_commit、innodb_io_capacity等。

2023-09-10 23:31:09 527

原创 2023年MySQL实战核心技术场景面试篇-持续更新

因为在获取MDL写锁时,已经对该表进行了排他性的控制,其他会话无法进行写入操作,但仍然可以进行读取操作。而在降级为MDL读锁后,虽然不能再进行写入操作,但仍然可以进行DDL操作,因为DDL操作不涉及数据的修改,只是修改表的结构。因此,在降级为MDL读锁后,仍然可以执行DDL操作,而其他会话仍然可以进行读取操作。其中,通过MDL机制,保证了在DDL操作期间数据库的可用性,允许其他会话对表进行读取操作,同时控制并发写入操作。由于已经获取了MDL读锁,其他会话可以继续读取表的数据,但不能进行写入操作。

2023-09-07 20:06:53 522

原创 2023年MySQL实战核心技术第三篇

脏读,不可重复读(Non-repeatable Read)和幻读(Phantom Read)都是数据库事务并发访问时可能出现的问题,它们表示在事务执行过程中读取到的数据内容发生了变化或者数量发生了变化。

2023-09-06 19:57:20 411

原创 2023年MySQL实战核心技术第二篇

假设在 redo log 写完,binlog 还没有写完的时候,MySQL。log 是 InnoDB 引擎特有的日志,而 Server 层也有自己的日志,称为 binlog(归档日志)。由于 redo log 和 binlog 是两个独立的逻辑,如果不用两阶段提交,要么就是先写完 redo。与此类似,InnoDB 的 redo log 是固定大小的,比如可以配置为一组 4 个文件,每个文件的。Write-Ahead Logging,它的关键点就是先写日志,再写磁盘,也就是先写粉板,等不忙的。

2023-09-05 23:31:21 431

原创 2023年MySQL实战核心技术第一篇

包括连接器,查询缓存,分析器,优化器,执行器等,Server层还提供了许多内置函数,例如日期、时间、数学和加密函数等,用于方便地进行数据处理和计算,Server层实现的功能不依赖于具体的存储引擎,因此可以在不同的存储引擎之间共享和使用,这些功能包括存储过程、触发器、视图等,它们可以跨存储引擎使用,为数据库提供了更强大和灵活的功能。输入的是多个字符串和空格组成的一条SQL语句,MySQL需要识别里面的字符串分别是什么,代表什么,MySQL从你输入的"select"这个关键字识别出来,这是一个查询语句。

2023-09-03 23:58:55 657

原创 2023年Java核心技术第十三篇(篇篇万字精讲)

目录23. JVM的基本常见点23.1 什么是JVM的跨平台23.2 什么是JVM的语言无关性23.3 什么是JVM的解释执行23.4 什么是JIT23.5 对象一定是在堆创建的吗23.6JVM的10种垃圾回收器23.7什么是垃圾回收中的STW23.8 什么是可达性算法23.9 JVM中的垃圾回收算法23.10 JVM中的分代模型23.11 CMS垃圾回收器23.12 G1垃圾回收器23.13 JVM的运行时数据区有哪些23.14 什么是

2023-09-02 22:03:39 253

原创 2023年Java核心技术第十二篇(篇篇万字精讲)

AtomicIntger 是对int类型的一个封装,提供原子性的访问和更新操作,其原子性操作的实现是基于CAS技术。这一篇我们将走进各种同步结构,线程池,是基于什么原理来进行设计和实现。

2023-09-01 19:51:17 500

原创 2023年Java核心技术第十一篇(篇篇万字精讲)

当所有线程的请求都完成后,主线程就会从await()方法中返回,并输出"所有接口数据请求完成,开始进行下一步处理...",表示可以开始下一步操作了。,可以实现多个线程之间的同步,让它们在某个点上进行协调,等待彼此达到同一个状态,然后再继续执行后续操作。强大的Executor框架,可以创建各种不同类型的线程池,调度任务运行等,绝大部分情况,不需要自己从头进行实现线程池和任务调度器。是 Java 提供的一种同步工具类,它可以用于多个线程之间相互等待,直到所有线程都达到一个共同的屏障点,然后同时继续执行。

2023-08-31 23:59:22 400

原创 2023年Java核心技术第十篇(篇篇万字精讲)

操作系统的角度,我们可以简单的认为,线程是系统调度的最小单元,一个进程可以包含多个线程,作为任务真正运作者,有自己的栈(Stack),寄存器(Register),本地存储(Thread Local)等,但是会和进程内其他线程共享描述符,虚拟地址空间等。梳理锁的获取顺序:确保线程获取锁的顺序是一致的,避免出现循环依赖的情况。对于我们最熟悉的JDk,线程也进行了一个演进过程,基本上在Java 1.2 后,JDK已经抛弃了Green Thread,也就是用户调度的线程,现在的模型是一对一映射到操作系统内核线程。

2023-08-29 18:00:45 727

原创 2023年MySQL实战核心技术前言篇(前言可能比较枯燥,下一篇开始后就会让你热血沸腾)

MySQL是怎么进行数据存储的。存储数据是处理数据的第一步,对各种繁杂的数据,进行有序和高效地存储起来。在MySQL中,完整的数据存储过程共有4步,分别是 创建数据库,确认字段,创建数据表,插入数据。MySQl中有很多字段类型,比如整数,文本,浮点数。创建和修改数据表,是数据存储过程中的重要一环。我们不仅需要把表创建出来,还需要正确地设置限定条件,这样才能确保数据的一致性和完整性。同时,表中的数据会随着业务需求的变化而变化,添加和修改相应的字段也是常见的操作。

2023-08-28 23:24:49 393

原创 2023年Java核心技术第九篇(篇篇万字精讲)

指的是对象一旦创建后,其状态(数据)不能被修改。不可变对象在创建后不可更改,任何操作都不会改变原始对象的值,而是返回一个新的对象。线程安全就是在多线程的环境下正确的一个概念,保证在多线程的环境下是实现共享的,可修改的状态是正确性,状态可以类比为程序里面的数据。指的是当一个线程修改了共享变量的值后,其他线程能够立即看到最新的值。指的是程序执行的顺序与预期的顺序一致,不会受到指令重排序等因素的影响。如果状态不是共享的,或者不是可修改的,就不存在线程安全的问题。进行封装,我们将对象内部的状态隐藏,保护起来。

2023-08-26 23:55:43 391

原创 2023年Java核心技术面试第八篇(篇篇万字精讲)

继承是建立类之间的一种层次关系,子类可以继承父类的属性和方法,并且可以增加自己的特定实现;而多态是在继承关系中,通过父类的类型引用来指向子类的对象,并且根据对象的实际类型执行不同的行为。我们可以定义一个"Animal"类作为父类,其中包含通用的属性和方法,如"eat"和"sleep"。然后可以创建子类如"Cat"和"Dog"来继承"Animal"类,并在子类中添加特定的属性和方法,如"meow"方法和"bark"方法。多态:多态是指同一种操作可以作用于不同的对象,并根据对象的实际类型执行不同的行为。

2023-08-23 15:40:00 279

原创 2023年Java核心技术面试第七篇(篇篇万字精讲)

十二 . Java 提供了哪些IO方式?NIO如何实现多路复用?IO是软件开发中的核心部分之一,伴随着海量数据增长和分布式系统的发展,IO扩展能力愈发重要。

2023-08-22 09:09:37 398

原创 2023年Java核心技术面试第六篇(篇篇万字精讲)

同样地,当一个线程调用SynchronousQueue的take()方法尝试从队列中获取并删除一个元素时,如果此时没有其他线程正在等待插入操作,则获取操作也会被阻塞,直到另一个线程调用put()方法来插入一个元素为止。也就是说,每个插入操作都必须等待一个相应的删除操作,反之亦然。具体保证线程安全的方式,包括从简单的synchronize方式,到基于更加细化,基于分离锁实现的ConcurrentHashMap等并发实现,具体选择要看开发的场景需求,并发包内提供的容器通用场景,远优于早期的简单同步实现。

2023-08-20 23:37:56 335

原创 2023年Java核心技术面试第五篇(篇篇万字精讲)

ConcurrentHashMap 是 JDK 提供的线程安全的哈希表实现,它是在多线程环境下使用的一种高效的并发容器。相对于传统的 HashMap,ConcurrentHashMap 在并发场景下提供了更好的性能和线程安全性。但需要注意的是,HashMap 不是线程安全的,如果在多线程环境下使用,需要进行适当的同步处理或选择线程安全的替代类(如 ConcurrentHashMap)。HashMap 是 Java 中常用的散列表(哈希表)实现,它提供了快速的插入、查找和删除操作。

2023-08-19 17:38:34 929

原创 2023年Java核心技术面试第四篇(篇篇万字精讲)

是Java早期提供的线程安全的动 态数组,如果不需要线程安全,不建议使用,同步需要进行额外开销,Vector内部使用对象数组来保存数据,可以根据需要自动的增加容量,当数组已满时,会创建新的数组,并且拷贝原有的数组数据。三者都是实现集合框架中的List,即有序集合,都按照位置进行定位,添加或者删除的操作,都提供迭代器进行遍历内容,由于具体的设计,在行为,性能,线程安全方面又有些不同。Java 提供的双向链表,不需要进行上面两种进行调整容量,也不是线程安全的。

2023-08-18 22:42:37 410

原创 2023年Java核心技术面试第三篇(篇篇万字精讲)

在方法执行前,会输出相应的日志信息(例如"Before invoking addUser()"),然后调用目标对象的对应方法,最后输出方法执行后的日志信息(例如"After invoking addUser()")。比如获取某个对象的类定义,获取类声明的属性和方法,调用方法或者构造对象,甚至可以运行时修改类定义。是一种方便运行时动态构建代理,动态处理代理方法调用的机制,很多场景都是利用类似机制做到的。实现动态代理的方式很多,比如 JDK 自身提供的动态代理,就是主要利用了反射机制。

2023-08-17 19:59:28 552

原创 2023年Java核心技术面试第二篇(篇篇万字精讲)

Java语言中,除了原始数据类型的变量,其他都是引用类型,指向各种不同的对象,理解引用可以帮助掌握Java对象生命周期和JVM内部相关机制。

2023-08-16 20:01:54 296

原创 2023年Java核心技术面试第一篇(篇篇万字精讲)

"一次编译,到处运行"是Java语言跨平台的特性,Java的跨平台特性与Java虚拟机的存在密不可分,可在不同的环境里面运行,window平台和Linux平台都有对应的JDK,安装JDK后就有了Java语言的运行环境,Java语言和其他编程语言并没有特别大的区别,并不是Java语言可以跨平台,而是在不同的平台都有让Java语言运行的环境,所以才有,Java一次编译,到处运行的结果。跨平台的语言中Java是较为成熟的一种,"一次编译,到处运行"这种效果与编译器有关,编程语言的处理需要编译器和解释器。

2023-08-12 12:53:28 240

原创 Git高级篇(1.3w字)

Merge分支为了可以随时发布release而建立的分支,它还能作为Topic分支的源分支使用,保持分支的稳定状态,如果需要进行更改,通常需要先创建Topic分支,针对该分支,可以使用Jenkins类的工具进行自动化编译以及测试。如果发生冲突,push将会被拒绝,如果要进行共享本地数据库的分,需要明确的push,因此,没有执行push就不会给远程数据库带来影响,因此可以自由的创建自己的分支。未提交的修改内容以及新添加的文件,留在索引区域或工作树的情况下切换到其他分支,修改内容会从原来的分支移动到目标分支。

2023-08-10 17:44:36 298 1

原创 Git的基础

执行提交时:不是直接将工作树的状态保存到数据库,将设置到中间的索引区域的状态保存到数据库里面,提交文件前,需要将文件加入到索引的区域中。共享的远程数据库由多人同时作业,那么作业完毕后所有人都要把修改推送到远程数据库,然后,自己的本地数据库也需要更新其他人推送的变更内容。进行克隆(clone)操作就可以复制远程数据库,远程数据库的全部内容就都会被下载,然后在另外的机器的本地数据库进行操作。数据库记录文件或目录状态的地方,存储着内容修改的历史记录,数据库的管理下,将文件和目录的历史记录放在对应目录下。

2023-08-09 18:01:17 61

原创 剑指offer-12.机器人的运动范围

2023剑指offer年最新最详细题解

2023-04-13 15:47:03 107 1

原创 剑指office-11.矩阵中的路径

2023剑指offer年最新最详细题解

2023-04-13 14:59:44 91

原创 剑指offer-10.旋转数组最小的数字

2023剑指offer年最新最详细题解

2023-04-12 23:05:13 71

原创 剑指offer-9.斐波那契数列

2023剑指offer年最新最详细题解

2023-04-12 23:01:55 47

原创 剑指offer-7.二叉树的下一个节点

2023剑指offer年最新最详细题解

2023-04-12 22:57:57 44

原创 剑指offer-8.用两个栈实现队列

2023剑指offer年最新最详细题解

2023-04-12 22:57:53 45

空空如也

空空如也

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

TA关注的人

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