自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 maven 1.0.0&&idea的使用说明

​ 指示将项目打包为什么类型的文件,idea根据packaging值,识别maven项目类型!​ packaging 属性为 jar(默认值),代表普通的Java工程,打包以后是.jar结尾的文件。​ packaging 属性为 war,代表Java的web工程,打包以后.war结尾的文件。​ packaging 属性为 pom,代表不会打包,用来做继承的父工程。

2025-06-08 22:55:38 642

原创 linux 后记

但是如果是自己的虚拟机就必须设置镜像源,上网搜索阿里的镜像源,然后手动输入,千万不要输错了。这个是最近新出的技术,就是在windows上面搞一个linux的子系统。不想使用工具也可以,使用terminal也可以直接连接主机。然后就可以选择一个来下载就行了,这样的话就可以直接运行了。只需要微软商店搜索ubuntu就行,这样做的话就必须在。学会这个就可以去租一个aliyun服务器,挺便宜的。下载一个Server的版本,就是那种只有命令行的。但是没人用,因为自带的这个太蠢了。这个和b/s里面的东西一样。

2025-06-01 12:04:15 318

原创 编辑器之神 Vim

这是linux中最能装逼的一个环节服务器哪有界面版的,都是纯粹的命令行这个时候操作就比较复杂,需要使用一些另类的编辑器介绍几个编辑器吧,这些都是命令版的编辑器,基本是后两个使用的比较多这两个有传奇的称号emacs神之编辑器vim编辑器之神这个不是初学者想学就学的,最重要的是适应插件只是方便开打牛逼的人写代码都是没有提示的vim写代码是没有提示的,那确实叼业界有个说法,牛逼的人都让工具变得越来越难用vim虽然难,但是学会之后卧槽,其他的编辑器都是垃圾在CentOS。

2025-05-31 22:49:51 1181

原创 linux 1.0.7

之所以要创建系统账户的话,如果root被攻破了,得把这点系统账户都黑了,才能把你的系统的东西删掉。看网课的方式是很慢的,最好就是入门之后,有一定的基础,就能开始自己学习了。如果都使用root权限,万一有一天你的服务器被攻破了,那你完蛋了。不要想着修改这个文件然后添加用户到这个组,这样是非常的危险的。,这里的文件都能来修改,很多时间都是从1970年开始的。这样的工具可以避免非法的手段来修改计算机中的数据。那就想问了,这里显示的是x,那真正的密码在哪呢?但是不幸的消息是,不同的发行版下,会有不同的规则。

2025-05-31 18:28:26 517

原创 linux 1.0.6

软件安装不能放在前面你连linux自带的命令都整不会,你还去使用人家自己写的软件整一个类似于手机商城的概念,直接进商城就可以下载软件package management system 也就是PMS叫做包管理器,作用是用来进行软件的安装,更新和卸载但是恶心的是不同的linux版本,有不同的包管理器系统这就是为什么配置国内的镜像源,不然使用PMS的时候连国外的网站很慢有些软件是需要工具依赖的举个例子,我下载了一个空间,但是linux没告诉我需要下载QQ啊。

2025-05-31 16:25:37 949

原创 linux 1.0.5

自己定义全局变量的时候也应该小写只有系统级的变量才可以使用大写这样就相当于定义了全局的变量在创建一个子线程之后会发现,诶好像还是能用诶!但是这个只限制在shell里面,包括他的子shell可以看到如果在子shell中创建,回到父shell还是使用不了,主包推测这就像一种继承的关系如何删除呢?unset + 变量名这样就把这个删掉了现在来像这样一种情况父shell中的变量,在子shell中删除,会产生什么样的效果。

2025-05-31 00:04:37 856

原创 Linux 1.0.4

但是这里发现并没有进入到根目录,主包猜是子shell进去了,但是父shell没进去。但是这个命令不要随意的使用,虽然这样的方式很自由,但是会造成你的性能大大下降。注意里面这个花括号,两边一定要有空格,而且指定的内容一定要以分号结尾。可以自己去创建一个别名,就是把好多后缀弄成一个自己熟悉的命令。这样的命令,使用的时候不需要创建进程,这样的命令叫做。来隔开各种命令,这样就可以做到依次执行命令的作用。这里的这里的命令都是被保存到了一个文件中。,这条命令可以显示子shell的数量。这个的作用和上面的有什么区别呢?

2025-05-30 16:59:34 1036

原创 linux 1.0.3

这是一种映射的方法,盘的真正地方在dev/下面,这里的文件都是不能修改的,所有有了挂载点,我觉得就像是一个入口,就是你从这里可以去操作这个设备,现在只是修改了入口的地点。只有当你退出这个目录之后,也就是相当于关掉这个目录了,也就是不再使用这个目录了,这个时候就可以进行弹出操作了。当硬件插上来之后,我们要操作这个盘,就会创建一个虚拟的盘,这个行为就叫做挂载。开机的时候,这些系统盘也经历了一次挂载,这个东西叫做系统挂载。原本是没有这个盘的,但是插上去之后,电脑创建了一个虚拟的盘。

2025-05-29 21:09:36 623

原创 数据库 1.0.3

这个时候不要疑问,因为这个东西根本不是根据你来定义的,这个是根据具体的项目,具体的使用场景,数据库架构师来制定的,跟你没关系。这里数据类型的后面有6和3,这个是宽度的意思,但是实际上还是本身所能容纳的数字长度,好像和宽度没啥关系。这样就OK了,无论你选数据的时候是怎么选的,但是最后显示的时候还是会按照原本set中的顺序来显示。一般来说, 每个数据都要有这样的数据类型,用来说明是什么时候插入的,是什么时候更新的。注意这里插入的类型必须是gender的枚举中存在的类型,不允许插入不存在的类型。

2025-05-29 16:02:33 695

原创 数据库 1.0.2

这里可以看到主包前几次里面的内容没有添加完全,就会显示不让我添加,这个时候对应的位不能空着,而是要写上NULL,因为id在设置的时候选择了自动增加,所以这里可以直接写NULL。这个才是原滋原味的删库跑路,这就是把原来的表直接干没了,然后给你创建一个新的表和之前的一模一样,但是这个表里面没有任何东西。注意这里有小细节,使用之前for循环的时候,之前id设置的是自动增加,删除的时候自动增加的累计并没有清空,所以使用。但是在实际开发中的时候如果出现乱码,可能是你的mysql的编码使用的是utf8。

2025-05-27 17:47:06 742

原创 注意java的数组

java中的数组是引用类型参数的传递,指向同一个地方。—廖雪峰的java教程。

2025-05-27 12:14:29 117

原创 Java 1.0.4

迭代是重复反馈的活动,其目的通常是为了接近并达到所需的目标或结果,每一次迭代得到的结果会被用来作为下一次迭代的初始值。也就是一个java的框架,也能看作是一个函数库吧,提供了很多方法来给你增删改查就像api。注意别什么东西都用ArrayList,这个是最常用的,不代表是无脑的去使用。这是泛型编程,意味着可以接受任意类型的参数,甚至可以是自己定义的类型。这里的插入必须是插入存在列表的指定位置,不能插入不存在的位置。注意itetator返回的是一个泛型的结果,需要用一个。

2025-05-27 11:03:16 794

原创 数据结构 哈希表(代码随想录)

这里注意循环套循环的时候,里边的循环不能直接返回,而是要break,回到上一层循环,当然第一层是可以直接return的。的话,就把这个集合给忽略掉了,所以要使用第二种,和自己的上一个去比较,不干扰当前的下一个。但是这道题使用Map会比较复杂,Map是没有什么顺序的,就导致去重的时候很复杂。在这之前一定要对数组进行排序,因为返回的时候不需要考虑下标,所以下标是无所谓的。想要使用哈希表的话,先看看能不能使用数组,因为这个是最简单的,也是最快的。使用数组,下标是对应的字母,值是字母出现的次数。

2025-05-27 10:03:34 536

原创 linux 1.0.2

命令很复杂,有三个版本,当你打开他的man文件,会惊讶的发现有他妈的一千多行。这里下面这个color是当前命令正在执行的进程,输入的命令也是一个进程。再次打开记事本的时候发现PID就又变了,这说明pid只是一个身份的意思。kill命令比较危险,如果杀系统中的东西的话,就需要使用管理员的身份。PID就是每个进程的编号,你把这个PID干掉之后,对应的进程就没了。使用ps命令查看一个进程的pid,然后用kill去干掉这个进程。那这个是图形界面的,如果使用命令行去查看呢?而是去查看系统的命令,去操作系统的东西。

2025-05-26 14:59:32 348

原创 数据结构 链表(代码随想录)

这个其实就是把链表的操作都来了一遍,感觉这个重复了,看frank就行。使用快慢指针,一个走的快一点,一个走的慢一点,如果有环的话一定会相遇。主包懒得写注释了,根据伪代码应该能很好看懂。cur指向要操作两个节点的前面的节点。的方法可以使删除节点的方法变得统一。注意一定要指向删去元素的前一个节点。可以把n++那一步改成i <= n。就是按照双指针的方法来写的。这里的交换应该是蛮常规的。明确思路之后就写的很快了。要让快指针走n + 1步。太他妈的妙了兄弟,喵喵喵。我只能说卡尔你确实牛逼。

2025-05-25 23:01:27 165

原创 java 进阶 1.0.3

所以以后在做多线程的时候,不要依赖多线程调度,除非是你这个线程执行的时间很长的时候,这个时候才能体会出一点多线程调度的样子,因为CPU执行的非常快,虽然你把优先级分好了,但是好像没啥卵用。但是有时候会发现自己设置的好像不管用,这是因为这里优先级的设置需要操作系统的支持,系统不一样有可能导致不准,因为执行的很快。这个已经涉及到很底层的东西,frank说不能再讲了,因为就越来越复杂了,现在的知识点还是有限的。main是优先执行的main,就是好像把别人的值设置的很大的时候也是先跑的main。

2025-05-23 23:13:23 409

原创 数据结构 数组(代码随想录)

在数组里面进行区间搜索的时候,一定要对区间的定义明确,这个区间是左闭右闭还是左闭右开。用来求单元最短路,实际上就是求图里面从某一点开始到其他点的最短路径。如果库函数一行代码就解决了,那就不要使用库函数,不然怎么锻炼。转圈的时候四个角的边界处理是最关键的,也就是四个边的节点。代码中数组区间的定义影响着后面while中条件的判断。抓住循环不变量,对每条边的处理方式都是一样的。标绿色的地方是到每一个点的最短路径以及路线。代码随想录,这是个好东西,得看看。这代码随想录有说法,讲的很清楚啊。

2025-05-23 17:59:02 235

原创 b/s开发 1.0

这样的话就直接连接上了服务器,就假设这个虚拟机是公司的服务器,但是他不会给你ipv4,但是会给你一个密钥,总有办法去连接。b/s架构软件----我们希望所有的东西都通过网站的形式只用,而且不依赖于第三方环境,只依赖于浏览器。可以随时退回到之前的版本,保留了一切的历史,可以让代码迅速恢复到你想指定的位置。会有一个密钥,然后把本地的密钥扔进这个总服务器里面,然后就允许你访问了。这一步是得到了很多下载的源,一会安装软件的时候就从这些源上面安装。神仙网站,学git看这个就完事了,讲的太清楚了。

2025-05-22 17:09:28 581

原创 java进阶 1.0.2

由于线程运行的本质就是函数运行,函数运行时信息是保存在栈帧中的,因此每个线程都有自己独立的、私有的栈区。守护线程在使用之前一定要new出来,一个是最开始执行的,优先级比较高,执行后台线程,才执行前台线程。一个解决方法是一个用户抢到鞋之后就喊停,停停停,你让我更新一下,把这个鞋删除了,然后再开始抢。现在说的八核心十六线程,这里的线程就是下面说的这个东西,线程数越多,来回切换的速度就越快。当有人问你多线程的时候,你就告诉他不是并行也不是并发,就是多个人去抢,就看是谁抢的快。他们是怎么执行多个程序的?

2025-05-21 15:52:48 741

原创 正式进入linux 1.0.1

就会冒出这样的界面,括号后面用单引号罩起来的东西就是所要搜索的东西,然后引号后面对应的就是搜索到的命令,找到之后按回车就把找到的这条命令弄下来了。显示的东西太多了不想看怎么办,直接按ctrl + L 就会空出一个巨大的空白,但是之前输入的内容跟并没有消失。同理,只需要把光标移到要删除东西的后面,然后按CTRL+ u,这个ctrl + u就是删除光标之前的所有东西。这个不像windows,当你覆盖的时候还会提醒你是否覆盖层,但是linux直接就给你替换了,太相信你了。

2025-05-21 09:26:31 739

原创 数据库 1.0.1

这一步是规定名字的长度,数据库也是有数据类型 的,这里选择使用varchar(30),因为30个够用了。这么看的话想修改字段名只能使用change来修改了,顺带修改一个后边的什么东西,保持原样不动就行。的意思是主键,意味着将用这个关键字来查找对应的人,不可以为空,也不可以重复。库会一般默认是大写,但是不区分大小写,所以命令可以使用小写来写。数据库是一个非常大的仓库,里面的东西就是表,数据都在表里面。修改某个字段的类型,或者是修改字段对应数据类型的宽度。后面是11,这也是可以更改的。

2025-05-20 21:58:25 447

原创 Java 进阶 1.0.1

因为是一个字节一个字节读取的,所以要进行(char)的强制转换,为什么用int by是因为-1代表文件流的结束。当我们打开一个记事本往里面写东西的时候,就相当于是数据源在往外发送东西,所以是output。当我们读取文件的时候,相当于数据源接受东西,是Input。给人一种感觉就像是字符节版本的,一个一个字符去读取。因为不用的系统对换行的定义是不一样的,所以需要使用。读取的时候也需要按行来读,同时输出的时候需要加上。都是字节流,这种是不管什么类型的文件都可以读取。这个符号,这样才能实现换行的效果,因为。

2025-05-19 18:38:06 366

原创 const char* 指向字符串数组和字符串的区别

多个指针,每个指向一个字符串。连续字符+null终止符。多个字符串的指针数组。需要通过索引访问元素。

2025-05-13 16:58:15 140

原创 数组作为指针计算大小时的误区

【代码】数组作为指针计算大小时的误区。

2025-05-12 23:14:04 218

原创 串口屏调试 1.0

在界面的右边,指令一定要写在page前面,这里的波特率等等什么的都可以自己去配置。com1发送的数据会被转发到com2,同理com2的数据会被转发到com1。之后点击调试,选择mcu输入,串口号选择com1,波特率选择115200。打开串口助手,选择com2,波特率为115200,不要勾选加回车换行。这里的通讯波特率和串口波特率是分开的,通讯波特率应该和单片机匹配。想让文字背景变成当前文字,sta选择切片,然后背景选择当前的背景。点s这里还可以把指令输入区的指令保存到对应的1或者2,3,4中。

2025-05-10 20:39:36 372

原创 数据库 1.0

就是把一直到bin这个地址配置到环境变量中的path,这就是配置二进制文件。通过命令行的方式开启和关闭mysql(需要用管理员身份来运行)这里会有一个警告,警告的内容就是数据库已经存在不会创建新的。添加字符集编码是非常有必要的,因为会导致乱码的问题。前面是创建数据库的语句, 后面是创建库的字符编码。-u 后面加的是用户名 root是最高的权限。创建自己的data文件夹(存放数据的位置)创建数据库的时候还可以跟上编码格式,推荐是。-p 是说明使用密码的方式登录mysql。保存了用户的一些信息(用户名和密码)

2025-05-03 11:41:52 264

原创 java 进阶 1.0

进maven的库发现新版本的是需要一个编译路径,所以还需要下载这个编译器,还是下载jar包然后添加为库。但是这个时候结果正确与否还是通过人工计算的,应该做到让计算机出数据,然后让计算机去测量。前面是预期的结果,后面是实际的结果,但是这样还是手算的答案,所以需要编写随机测试。如果再main方法里写的话,如果有一个错了那就全错了,找起来会很麻烦。但是这个时候是没办法运行的,需要采取注解的方式来运行。但是运行的时候爆红了,说明编译出现了问题。测试本身就是一个模块,测试用例是独立的。来源于micro_frank。

2025-05-02 19:53:24 222

原创 stm32 2.0.4.0

因为选择了tim3的启动方式所以这里就没有软件启动的功能了。

2025-03-21 17:15:56 249

原创 stm32 2.0.3.1

开了眼了还能自己产生pwm波自己测。串口能直接这么发送文字。

2025-03-21 10:51:22 325

原创 stm32 2.0.3.0

为什么需要使用pwm2模式这是以为如果有两个mos管的话,他们不能同时导通,就会需要这样的结构。值先进入影子寄存器,之后才会更新到活动寄存器。这里选择打开不然就没法更新CCR的值了。保险起见选择打开ENABLE。

2025-03-20 21:59:32 266

原创 stm32 2.0.2

在串口读取数据是有两级缓冲,理想情况是每接受到一个数据就把他读出来,但是没来得及读就会造成数据丢失。要对串口进行一个判断,这是一个约定俗称的写法。在右下角的Watch里面写上要监视的变量。这能直接改对应的值,效果会显示在单片机上。这两个地方的设置是一样的。右键点击转换为十进制数。SPI总线的五个参数。解决不定长数据的方法。

2025-03-20 18:22:31 245

原创 stm32 2.0.1

Data Direction 数据传输方向:Transmit-Only 只发送 | Receive-Only 只接受 | Receive and Transmit收发双向(一般选择收发双向)将地址换算成二进制数据之后去掉最后一位,之后主机释放SDA线等待从机应答,从机通过把SDA拉低来释放一个应答信号(ACK)发送端高电位说明串口是空闲状态,当变为低电位的时候开始发送数据,在最后停止位会把电压拉高,一般采用1位的停止位。当数据位中包含奇数个1的时候校验位就写的是1,偶数个就写0。

2025-03-20 15:37:08 539

原创 stm32 2.0.0

接入上拉电阻之后,就不会读取外部的信号,因为下面的这个电阻相当于无穷大,分到了全部的电压,所以图中的点的电压就是Vdd,I/O引脚上会出现一个稳定的高电压。过快的上升沿和下降沿会增加芯片的功耗,同时会使数字信号的带宽增加,从而对电路上其他的电子元器件产生电子干扰。彩色的引脚是由特殊功能的引脚,用户无法通过编程去控制,灰色的是普通的I/O口。进行一个程序的下载,下载完之后就相当于是之前的程序已经被清空了。NRST是芯片的复位接口,接一个按钮来进行芯片的复位。电压的切换并不是直接就能切换的,需要切换时间。

2025-03-18 19:49:23 502

原创 正式进入linux 1.0

bin 二进制目录 GNU的一些工具,使用的一些命令都在bin里面,相当于直接程序就写好了,直接用就行(包括系统的一些自带的命令),存放许多用户级的,是一些系统级的命令。/root 相当于管理员目录,一般不要去搞他,需要管理员身份去访问,就像是windows中的以管理员身份运行,他的权限是修改电脑的所有文件 前缀是sudo。后面还有/usr/bin这是你自己写的命令,比如自己安装的软件,所以寻找你安装的软件的时候就要去/usr/bin里面去找,而不是/bin里面去找。/srv 服务目录。

2025-03-14 22:30:37 728 1

原创 Linux 铺垫

unix上具有的一些软件,linux内核内有,所有GNU他们模仿unix, 为linux写了一些必要的软件。在linux有两种方法,一种是通过GUI(图标界面),一种是通过GUN(命令行)1.命令行界面(CLI)-------->专业的人玩什么?其中的type就是各种各样的文件类型,不同的分区有不同的格式。GNU是一个自由的操作系统,开发各种的软件,画图啊什么的。IT术语并不遵循通常的英语音标,更多的是遵顼专业的术语。GNU ---->是一个组织,专门写软件。4.Application 应用 App。

2025-03-12 14:36:30 350

原创 java 下

Animal作为抽象类(相当于一个共性的集合),平时使用的几乎都是他的继承,不会去专门创建一个Animal类,同时在继承的时候,有可能会忘了重写某一方法,导致直接沿用了Animal中的方法。当一个类里面,所有的方法都是抽象方法是,我们就不用abstract class的方法了,而是使用接口。问题是不同的动物,叫声不同,所以此时Animal中的动物叫就无法完成任务,所以需要方法的重写。相当于是用new了一个子类,但是顶着父类的名字,所以会向上转型,用父类的东西。在需要重写的类中使用ali + insert。

2025-03-04 09:23:10 345

原创 二级指针解引错误

这里传入的是char*一级指针,但是在后续强制类型转换的时候是对二级指针解引,因为我们传入的是一级指针,并没有告诉二级指针的位置,所以强制转化为二级指针然后再解引会指向一片未知的内存空间。正确的写法时强制转化成一级指针。

2025-02-13 20:14:20 136

原创 Java 上

包是就是一个文件,com是域名 company是公司名 后面跟着就是包的用途。也可以直接执行java文件,这时不会生成class文件,而是放到了内存里。Java生成的是class文件(字节码文件)可以跨平台使用。在终端中使用javac是进行编译这时会产生class文件。将自己的java文件分享给别人时分享的是class。在使用java xxx(文件名), 这时是运行程序。**/****输入这个,然后电机回车会自动生成注释。程序的命名和文件的命名时一样的。是运行在一个小的虚拟机上。

2025-02-11 21:52:51 622

原创 事件注册驱动器

来源于micro_frank。

2025-02-11 10:56:30 115

原创 仓库管理小程序

在这个示例中,name 字符串 “ThisIsALongName” 的长度超过了 MAX_NAME(10),由于使用了 _TRUNCATE 模式,strncpy_s 会将其截断,只复制前 9 个字符(因为要预留一个位置给 ‘\0’),最终 inventory[0].name 中存储的是 “ThisIsALo”。来源于micro_frank。

2025-02-10 17:40:55 194

空空如也

空空如也

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

TA关注的人

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