- 博客(24)
- 收藏
- 关注
原创 蓝桥杯冲刺:一维前缀和
上次我介绍了一下模拟和枚举类的题目,这次我想给大家介绍一种必会的思想,就是一维前缀和,因为假设我们要确定一个区间的和,我们每次确定一个范围就是遍历一次,时间复杂度有可能会很高,而我们如果构建出来前缀和数组的话就方便很多了,下面我们来看具体的:前缀和是以空间换时间以上就是今天要讲的内容,其实前缀和就像一个基本的组件可以作为其他算法的组件,像动态规划等等,下面我们讲dp的时候我也会给大家更新的,接下来我会一直给大家更新蓝桥杯的算法题的,大家一起加油,积极向上就完了。
2025-04-02 22:47:32
1181
原创 【蓝桥杯】 枚举和模拟练习题
今天距离蓝桥杯还有13天,时间不多了,我也在复习,而我们最容易掌握的就是暴力来写题,因此今天给大家补充两道枚举和模拟类的题,下面是我的讲解过程。
2025-03-31 22:39:35
976
2
原创 Java实战:实现用户的登录注册功能
在学习完文件和IO流的操作后,包括事件监听机制和UI组件以后,我们可能会想这些知识可以用来干什么,今天我们就用一个实战案例来帮大家将学过的知识运用起来。(但是这个实战案例本来是可以用数据库与Java进行连接,但是这篇我们也可以用将用户数据存储到文件当中来实现,因为像MySQL等数据库,本质都是存储在文件当中的)。首先我们需要把用户当成一个用户类,它的属性就是我们理解的用户的数据。这里面的用户数据包括了:用户名,密码,性别,爱好,地址,学历。//用户实体//用户//用户名//密码//性别。
2025-03-29 23:44:54
1115
原创 Java反射机制(细节生动版)
前期我们如果想得到一个对象是通过new的方式来创建对象的,但实际上在Java底层会进行类加载生成一个唯一类对象,里面存放着该类的信息,我们也可以通过这个对象来创建出来实例,Java 是静态类型语言,编译时需明确知道所有类型信息。但某些场景(如框架、插件系统)需要在运行时动态加载和操作未知类。反射允许在运行时分析类结构、创建对象、调用方法,无需在编译时硬编码类型。Java反射机制样例:通过外部文件配置,在不修改源码的情况下,来控制程序,也符合设计模式的OCP原则(开闭原则:不修改原码,扩容功能)
2025-03-26 22:46:32
1185
原创 计算机操作系统处理机调度(1)
在多道程序的环境下,内存中存在着多个进程,其数目往往多于处理机数目。我们就以单核的CPU为例子,所以运行中的进程最多只能有一个,最少为0个这就要求那个系统能够按照某种算法,动态地将处理机分配给处于就绪状态的一个进程,使之执行。分配处理机的任务是由处理机调度程序完成的。对于大型系统运行时的性能,如系统吞吐量,资源利用率,作业周转时间或响应的及时性等,在很大程度上都取决于处理机调度性能的好坏。因而,处理机调度便成为OS中至关重要的部分。
2025-03-24 22:43:45
1336
原创 JavaIO流的使用和修饰器模式(直击心灵版)
前面我们讲解了Java文件和IO流的基础部分。把流简单的分了一下类,但是我们还不知道具体是如何是使用的,下面我们将详细的讲解一下这些个流各自的职责是什么,简言之就是各自的使用方式。然后我还想给大家强戴一下IO流当中的修饰器模式,因为这个实际上通过封装真的太牛逼了。
2025-03-22 00:00:13
1110
原创 MySQL教程 基本知识(基本原理和标准语言)
想必大家都会有一个疑问,就是我们为什么要学习数据库或者说我们为什么要使用数据库,像我平常会使用Java我们可以把数据存储在文件中,但是在文件中读写数据速度较慢,所以我们的数据库就要闪亮登场的吧。数据库(DataBase)是按照数据结构来组织,存储和管理数据的仓库。每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。现在我们使用关系型数据库管理系统(RDBMS)来存储和管理大数据量。
2025-03-20 22:31:11
1321
原创 Java 文件和IO流基础(生动形象版)
在我们学习了前面的Java操作后,我们目前需要灵活的对文件进行灵活的操作,学习IO流是编程中的基础与核心技能,几乎所有的应用程序都涉及数据输入输出(I/O)操作。其实就是数据交互的一种方式,下面让我们详细的学习一下。首先我先谈谈我对文件的理解。文件是保存数据的地方,比如大家经常使用的word文档,txt文件,excel文件,都是文件,它既可以保存一张图片,也可以保存视频和声音。计算机文件是以计算机硬盘,光盘以及移动存储设备为载体的存储在计算机上的信息集合,其存储形式可以是文本文档,图片和程序等。
2025-03-19 22:01:10
1180
原创 计算机操作系统(6) (经典进程同步问题)
上节我们简单的讲述了整型信号量和记录型信号量的定义和wait,signal操作的方式,但是这些讲述的进程互斥问题针对的是多个并发进程仅共享一个临界资源的情况,而在有些应用场合, 是一个进程往往需要获得两个或更多的共享资源后方能执行其任务,所以有了AND型信号量和以它为基础的信号量集的出现,下面我们开始详细的讲述一下子。将进程在整个运行过程中所需要的所有资源,一次性全部地分配给进程,待进程使用完后再一起释放。只要尚有一个资源未能分配给进程,其他所有可能为之分配的资源也不分配给它。
2025-03-18 18:52:58
1263
原创 计算机操作系统(5)
上文我们讲了硬件同步机制来解决诸进程互斥进入临界区的问题,这一篇我们来讲讲信号量机制来进行进程的同步,包括简单的信号量的应用等等,为什么我们要学习它呢,其实我感觉是因为它通过阻塞等待(而非忙等)的方式管理资源访问,适用于更复杂的同步场景。下面我们来开始进行学习。这里面的内容可能会有点罗里吧嗦的,我尽量根据我的理解来给大家尽量清晰易懂的讲一遍。信号量是一个整型变量(sem),配合两个原子操作(PV)实现同步:P操作(Proberen,尝试获取):检查信号量是否允许进入临界区,若不允许则阻塞。
2025-03-17 22:54:33
1333
原创 计算机操作系统进程(4)
上一篇我们仅仅讲了一点关于线程同步的概念,临界区和同步机制应遵循的规则,这篇我们文章仅仅给大家讲一下软硬件的是如何实现同步机制的,下面我们会使用类c语言来进行实现,正好也复习了一下C语言的内容。提示:以下是本篇文章正文内容,下面案例可供参考。
2025-03-16 22:55:24
1004
原创 计算机操作系统进程(3)
前面我们学习了进程的定义和特征,进程状态的转换,接下来我们开始学习我们最重要的一点也是相对最难的一点,包括正在写着的我其实也感觉这东西有点抽象,但我尽量表达出来我在这段过程中对此学习的理解(我会举Java例子来更加形象的解释一下)。以上就是今天要讲的内容,本文仅仅简单介绍了进程同步的概念和临界资源还有一个Java例子,我简简单单的介绍了一下,下节会详细的实现软硬件如何实现同步机制的。
2025-03-13 22:44:42
951
原创 计算机操作系统进程(2)
上一节我们讲了介绍了进程的相关概念和基本状态,这段内容我们将详细的扩展挂起操作和进程状态的转换,进程的控制和一点进程同步的内容。下面我们对其进行讲解。在许多系统中,进程除了就绪,执行和阻塞三种最基本的状态外,为了系统和用户观察分析进程的需要,还引入了一个对进程的重要操作——挂起操作。当该操作作用于某个进程时,该进程将被挂起,意味着此时该进程除于静止状态。如果进程正在执行,它将暂停执行。若原本就处于就绪状态,则该进程此时暂不接受调度。与挂起操作对应的操作是激活操作。
2025-03-12 22:35:03
916
原创 计算机操作系统进程(1)
在传统的操作系统中,为了提高资源利用率和系统吞吐量,通过采用多道程序技术,将多个程序同时装入内存,并使之并发运行,传统意义上的程序不再能独立运行。此时,作为资源分配和独立运行的基本单位都是进程。操作系统所具有的四大特征也都基于进程而形成的,并从进程的角度对操作系统进行研究。可见,在操作系统中,进程是一个极其重要的概念,因此,本章专门对进程进行详细阐述。下面我先给大家基本讲讲一些基本概念。
2025-03-10 22:56:50
1002
原创 Java事件处理机制(例子小球移动案例)
我们上一个学习的是Java坐标体系和绘图机制的简单讲解。而我们这个事件处理机制可以监听键盘等等,简单来说就是可以生动的让我们画的图形动起来,下面我们详细的介绍一下Java事件处理机制。以上就是今天要讲的内容,Java 事件处理机制通过 委托模型事件三要素(源、监听器、对象)的协作关系。监听器注册与实现(匿名类、Lambda、适配器)。事件处理流程(从触发到响应的完整链路)。通过灵活使用事件机制,可以构建高度交互性和可维护性的应用程序。
2025-03-09 22:32:44
1197
原创 传智杯(省赛第三题)小苯的ovo (详细版)
这道题其实是我最想总结的一道,因为我拿到这个题,我直接想的是如何修改字符串当中的字符(就很离谱),想了解字符串内容的请见我String,StringBuffer,StringBuilder的区别那一篇,但是看到“最多”这类字眼我就知道事情不简单了,虽然DP类的题我们知道很难,包括我自己碰见动态规划的题也会傻脸,但是我们还是要知道最基础的解法,下面我们来详细的解读一下。提示:以下是本篇文章正文内容,下面案例可供参考。
2025-03-08 23:17:47
1228
原创 Java坐标体系和绘图机制(基础版)
从今天开始我也开始了GUI的学习,Java绘图通过起点 + 参数化范围(如宽高、终点、变换)确定图形位置和尺寸。理解坐标系方向与参数意义后,可灵活实现静态绘图、动态交互及复杂变换效果。下面会同步进行绘图的定制的更新和线程的更新。提示:以下是本篇文章正文内容,下面案例可供参考计算机在屏幕上显示的内容都是由屏幕上的每一个像素组成的。像素是一个密度单位,而厘米是长度单位。我们在绘图当中都是确定这个点然后往下开始确定范围的。相当于一个起点。
2025-03-06 22:31:55
690
原创 HashSet和HashMap的区别(精简版)
Java常用集合的实现类《HashSet和HashMap》 不管是以后Java实际开发还是我们在刷算法题要想提高算法的时间复杂度其实或多或少都需要用到集合,因此我们要加强集合的使用,这篇文章我先带大家简单的了解一下最常见的集合,一个属于单列集合,一个属于双列集合,下面我们开始进行学习. 我们最应该先了解的就是集合可以动态的保存任意多个对象,并且集合内部提供了一系列方便操作对象的方法。 在我的理解中Hashset就是一种容器,只不过在这个实现类中底层就是用一种数据结构来实现其功能的,只
2025-03-03 22:49:24
925
原创 多道批处理系统和中断指令间的区别(生动版)
在学习操作系统这门课时,它的发展过程都有各自的应用场景,如单道批处理系统,多道批处理系统,分时系统和实时系统,但是我在思考在多道程序设计中是为了使一个一个的作业调入内存去共享CPU和系统中的各种资源,我感觉这跟我恩师讲的计算机组成原理中的程序中断方式和指令流水线非常的像,但在核心目标上却略有不同,下面我们对其进行一一分析。提示:以下是本篇文章正文内容,下面案例可供参考下面我们总结一下多道批处理系统和指令流水线还有程序中断方式之间的异同。其实我感觉这三种方式都实现了通过任务的切换来提高效率的思想。
2025-02-27 21:02:50
1161
原创 抽象类和接口的区别和比较
在我们学习完接口和抽象类之后,我们脑子里可能都会有一些疑问,既然里面都可能有抽象方法,那这两个有什么区别呢,反正子类要么implements这个接口,要么extends这个抽象类,那到底有什么区别呢?或者它们有什么共同点和不同点呢?我将结合抽象类和接口的定义和基础分析,下面请听小袁为大家一一道来。以上就是我想对这两个进行一些解读,何时用接口?需要定义多个不相关类的共同行为(如Comparable需要支持多继承(一个类实现多个接口)。希望完全解耦规范与实现(如定义 API)。
2025-02-27 10:16:05
1157
原创 Java语言中的方法传参机制(生动形象版)
在浅浅的接触了C语言和Java语言后,我们知道C语言是面向过程的,而Java是面向对象的语言,所以它们的方法传参机制也略有不同,它们虽然都是纯值传递的,但是在细节方面是不同的,除了基本数据类型,C语言是通过指针间接修改,而Java语言是通过对象引用副本修改在堆内存中的对象的内容。这里我们不详细过多的讲C语言的方法传递,在以后的过程我会慢慢的进行补充。下面我们开始分析Java语言的方法传参机制。形参的任何改变都不会影响实参.int a = 10;int b = 20;swap(a,b);//输出a和b。
2025-02-25 22:13:25
1032
原创 String,StringBuffer和StringBuilder三种类的区别
最近用Java语言刷了很多牛客和蓝桥云课还有力扣上的练习题,有很多关于字符串类的题,如果我们想对字符串进行操作的话,根据String类是不可变即不可修改的,所以我们需要借助StringBuffer和StringBuilder类来对字符串进行基本的操作,但是我想再给大家强调一下有些底层知识和这三种类之间的区别。给大家总结一下,就是这三种类实际上各有各的优点,随着我的深入学习和理解我会逐渐的深化里面的内容供大家参考。
2025-02-24 22:55:16
855
1
原创 双指针+滑动窗口处理字符串问题(1)
今天做了一道有关找字符串子串的题,采用暴力将每一个字符当作子字符串的开始字符都遍历一遍运行时间过不去,因为我们需要暴力枚举所有可能的子串,统计它们的数量而且我们还需要看看每个子串当中的字符,总体下来就需要3套for循环嵌套,时间复杂度也就是On的3次方,因此需采用滑动窗口的方法,从一次遍历种找到对问题的求解,从而将时间复杂度降低到On,下面我们看具体操作过程和思想。提示:以下是本篇文章正文内容,下面案例可供参考这道题只是简单的实现以下滑动窗口是怎么实现的,通过不断移动右指针扩大窗口,当窗口内字符种类超过k。
2025-02-22 15:40:29
651
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人