自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【C++入门】(二)cin和cout的深度理解

这是一道洛谷上面的一道题,我们常规的想法可能就是设置一个浮点型的变量,然后用cin接收这个变量,然后再通过一定的算法将数字反转,再进行输出,这是我们常规的思路,但是注意我们上面讲的字符流,我们从键盘输入的其实都是字符,等cin将数据提取到程序了以后,才有了具体的类型,我们一般认为我们输入的123等数据是整数,但其实是字符,我们会用整型的变量来接收,但是换个思路,我们可以用char来接收吗?

2025-09-28 09:43:34 305

原创 【C++入门】(一)

在c语言的,字符是由单引号表示的,字符串是由双引号表示的,比如‘a’或“hello world”,这些写法c++里面也是支持的,但是c++的STL里面又引入了string来表示字符串,功能更加强大,但是c语言不支持。c++的头文件的包含也是用#include来包含,比如#include<iostream>,io表示输入和输出,我们c++代码中的cout就是输出流对象,是用来完成数据输出的,就要包含头文件。<<是流插入运算符,跟cout搭配使用,>>是流提取运算符,跟cin搭配使用。

2025-09-22 17:32:07 724

原创 C语言基础(1)

我们的c语言是一门,我们写的c语言代码是文本文件(存放在.c为后缀的文件中),文本文件本身无法被执行,必须通过编译器的编译和链接器的链接,生成可执行的二进制文件,才能够被执行msvc,gcc,clang是常见的编译器vs2022集成了msvc,安装包大一些,安装简单,无需多余配置,用起来很方便XCode集成了clang,是苹果电脑上的工具CodeBlocks集成了gcc,这个工具需要配置,比较小众Devc++集成了gcc,小巧,但是工具过去简单,对代码风格的养成不好,通常是一些竞赛在使用。

2025-07-08 18:15:49 2356

原创 算法学习—前缀和

本文我们竟将会讲到前缀和算法。

2025-07-06 21:08:43 427

原创 【Java多线程从青铜到王者】定时器的原理和实现(十一)

定时器时我们日常开发中会用到的组件工具,类似于一个"闹钟",设定一个时间,等到了时间,定时器最自动的去执行某个逻辑,比如博客的定时发布,就是使用到了定时器Java标准库里面也提供了定时器的实现定义一个timer,添加多个任务,每个任务都带有一个时间定义任务的时候可以使用lambde表达式吗?我们上图代码的执行结果如下我们发现,控制台打印了我们的三个任务以后,并没有进程结束的提示,说明我们的进程并没有结束,原因是Timer里面内置了前台线程,它会阻止进程的结束。

2025-06-13 22:21:41 1172

原创 【Java多线程从青铜到王者】阻塞队列(十)

阻塞队列也是一种队列,先进的先出阻塞队列的特性1.线程安全的,我们普通的队列值线程不安全的基于阻塞队列,就可以实现“生产者消费者模型”举一个例子,包饺子这三个滑稽开始同时完成擀饺子皮和包饺子这两个步骤,这三个滑稽,都是先擀一个饺子皮,再包一个饺子,之后再擀一个饺子皮,再包一个饺子,很明显这种多线程的包饺子的方式,要比单线程包饺子要快,但是我们只有一个擀面杖,我们三个滑稽就要竞争这个擀面杖,如果1号滑稽拿到了,2号和3号滑稽就得阻塞等待。

2025-06-12 23:48:47 12013

原创 【一步到位】全网最全的MySQL数据库讲解

SQL其实是一个比较古老的编程语言,辈分跟c语言差不多,比java早多了。

2025-06-11 23:20:56 897 1

原创 【Java多线程从青铜到王者】懒汉模式的优化(九)

我们看上述的代码,当第一次调用getIntance的时候,intance为null,就会进入if里面,创建出实例,当不是第一次调用的时候,此时的intandce不是null,不进入循环,直接return之前实例好的对象,这样的设定仍然可以保证我们的实例是唯一的,但是创建的时机不一样了,再也不是从程序刚开始驱动的时候开始创建了,而是第一次调用getIntance时开始创建,这个操作的创建时机就不确定了,根据实际的需求,大概率会比饿汉模式要慢一些,也许你整个程序里面就用不到这个方法,于是就省下了创建的开销。

2025-06-11 00:00:59 822

原创 【Java多线程从青铜到王者】单例设计模式(八)

设计模式和框架都是程序员需要掌握的技能,只不过框架是硬性的规定,而设计模式是软性的规定,这些都是大佬设计出来的,即使是一个代码写的不好的程序员根据这些写代码也能写出还可以的代码,遵守设计模式,代码的下限就被兜住了,设计模式就像棋谱一样,按照棋谱来走的话,你下的棋不会很差,但是你不一定非要按照棋谱的方式来下棋,也许你下棋会比棋谱很好。

2025-06-09 22:30:16 1067

原创 【Java多线程从青铜到王者】wait和notify(七)

假设有很多个线程的话,调用wait的都是同一个对象,针对这个对象进行notify的话,就会唤醒所有的线程,但是这线程被唤醒之后,都想要获取锁,就会由于锁竞争而阻塞,这些线程实际上是一个一个串行执行的,相比之下,我们更倾向于使用notify,notifyall全部唤醒之后不是太好控制。其实不然,遇到这种情况的概率还是很高的,第一个进入ATM机的滑稽老铁拿拿到了锁,此时他处于RUNNABLE状态,其他线程因为锁竞争处于BLOCKED的状态,其他的线程需要先由系统唤醒之后才能参与到锁的竞争,进水楼台先得月。

2025-06-08 23:07:01 938

原创 算法学习—二分查找算法

这道题我们不能够同时把左右断电求出来,左右端点我们分开来求。

2025-06-08 00:16:37 1036

原创 【Java多线程从青铜到王者】死锁和内存可见性问题(六)

每个滑稽老铁只能拿起自己跟前的两个筷子,比如当我们1号滑稽老铁要吃面了,他拿起了自己跟前的两根筷子,之后我们的2号滑稽老铁也想要吃饭,但是他发现他跟前的两根筷子被1号拿走了,此时他只能等待1号吃完把筷子放下来之后再吃面,这个过程中2号滑稽老铁是不能强1号的筷子的,每个滑稽老铁除了吃面,有时也会放下筷子,像哲学家一样思考人生(随机调度),虽然筷子的数量不多,但是好在每个人都会放下筷子思考人生,这就给了其他滑稽老铁吃面的机会,所以绝大部分的情况下,大家都还是可以吃到面的。

2025-06-06 22:36:28 1171

原创 【Java多线程从青铜到王者】线程安全问题原来是这样解决的(五)

本文将会讲到如何解决线程安全问题。

2025-06-06 11:27:34 1086

原创 【Java多线程从青铜到王者】线程的状态以及线程安全问题(四)

本文将会讲到join方法的几种不同参数的版本,以及如何获取线程的引用,线程的状态,还有多线程里面最重要的线程安全问题。

2025-06-04 21:05:58 862

原创 【Java多线程从青铜到王者】中断一个线程和join(三)

本文将会讲到关于Thread的一些注意事项,以及如何去中断一个线程,还有等待线程结束的内容。

2025-06-04 11:09:41 1148

原创 【Java多线程从青铜到王者】线程原来有这么多种创建的方法(二)

本文将会讲到系统内核,线程创建的方法以及Thread类里面的相关细节。

2025-05-25 14:52:49 2237

原创 【Java多线程从青铜到王者】带你认识什么是线程(一)

本篇文章就要正式讲到关于线程的内容了,本文会讲到有关进程和线程的知识,为什么要引入线程,进程和线程的联系以及会带大家编写一个简单的多线程代码。

2025-05-24 16:34:53 1071

原创 【Java多线程从青铜到王者】前传之操作系统,进程

本文章依旧是关于线程的铺垫知识,本文章将会讲到我们的操作系统以及操作系统里面很重要的一个概念—进程,学习了本文章,将会帮你更好的了解关于线程的知识。

2025-05-16 13:48:28 1000

原创 【Java多线程从青铜到王者】前传之CPU,指令

在学习多线程之前,我们要了解一些关于计算机是如何工作的知识来进行铺垫,本文章将会讲到有关CPU,指令,的相关知识,只是作为了解,帮助我们更好的学习进程综上,我们对以上的内容进行一个总结1.CPU要执行的指令,是在内存中的(冯诺依曼体系,基本设定,让执行单元和存储单元解耦合)2.CPU要想执行指令,就需要先读取指令,再解析指令3.读取指令需要从内存中读取指令到CPU的寄存器当中(这里没有体现出存储指令的寄存器,只是体现了AB这两个用来计算数据的寄存器)

2025-05-15 19:15:10 888 1

空空如也

空空如也

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

TA关注的人

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