自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Gradle 笔记

设置文件是整个Gradle项目的入口点:设置文件对于单个项目构建,设置文件是可选的。对于多项目构建,设置文件必须存在,并在其中定义所有子项目。设置文件可以使用Groovy语言(名称为)或是Kotlin语言(名称为)编写,本教程一律采用Kotlin语言进行讲解,设置文件通常位于项目的根目录中:rootProject.name = "root-project" //rootProject对象代表当前这个项目,其name属性就是当前项目的名称。

2024-01-22 20:46:11 918

原创 Kotlin程序设计 扩展篇(一)

为了统计学生成绩,要求设计一个Score对象,包括课程名称、课程号、课程成绩,但是成绩分为两种,一种是以优秀、良好、合格来作为结果,还有一种就是这样的数字分数,可能高等数学这门课是以数字成绩进行结算,而计算机网络实验这门课是以等级进行结算,这两种分数类型都有可能出现,那么现在该如何去设计这样的一个Score类呢?现在的问题就是,成绩可能是String类型,也可能是Int类型,如何才能更好的去存可能出现的两种类型呢?//因为Any是所有类型的父类,因此既可以存放Int也能存放String。

2024-01-22 20:45:39 793

原创 Kotlin程序设计(三)高级用法

为了统计学生成绩,要求设计一个Score对象,包括课程名称、课程号、课程成绩,但是成绩分为两种,一种是以优秀、良好、合格来作为结果,还有一种就是这样的数字分数,可能高等数学这门课是以数字成绩进行结算,而计算机网络实验这门课是以等级进行结算,这两种分数类型都有可能出现,那么现在该如何去设计这样的一个Score类呢?现在的问题就是,成绩可能是String类型,也可能是Int类型,如何才能更好的去存可能出现的两种类型呢?//因为Any是所有类型的父类,因此既可以存放Int也能存放String。

2024-01-11 16:21:52 1610 1

原创 Kotlin程序设计(二)面向对象

Kotlin为我们内置了大量实用的库函数,我们可以使用这些库函数来快速完成某些操作。比如我们前面使用的printlnprintln("Hello World") //这里其实就是在调用函数,传入了一个String类型的参数那既然现在有输出,能不能让用户输入,然后我们来读取呢?

2024-01-11 16:20:44 1514

原创 Kotlin程序设计(一)基础语法

前面我们了解了如何创建变量,并进行使用,但是我们知道,不同的数据往往对应着不同的类型,比如整数我们使用的就是Int,而这一部分我们将学习更多的基本数据类型。类型大小(位)最小值最大值Byte8-128127Short16-3276832767Int32Long64为什么不同的数据类型有着值范围呢?这是因为我们的计算机底层是采用0和1表示数据的,并且数据的表示位数有限,我们以二进制来计算,就像下面这样:1 + 1 = 10。

2024-01-11 16:19:29 1568

原创 Java SSM 重制版(三)SpringSecurity

有些时候,我们的数据库可能并不会像SpringSecurity默认的那样进行设计,而是采用自定义的表结构,这种情况下,上面两种方式就很难进行验证了,此时我们得编写自定义验证,来应对各种任意变化的情况。} }现在我们需要去实现这个方法,表示在验证的时候通过自定义的方式,根据给定的用户名查询用户,并封装为对象返回,然后由SpringSecurity将我们返回的对象与用户登录的信息进行核验,基本流程实际上跟之前是一样的,只是现在由我们自己来提供用户查询方式。

2023-07-05 19:04:55 2405 2

原创 Java SSM 重制版(二)SpringMvc

Spring核心内容》《JavaWeb》《JDK9-17新特性篇》在前面学习完Spring框架技术之后,差不多会出现两批人:一批是听得云里雾里,依然不明白这个东西是干嘛的;还有一批就是差不多理解了核心思想,但是不知道这些东西该如何去发挥它的作用。不过没有关系,在SpringMVC阶段,你一定能逐渐够体会到Spring框架为我们带来的便捷之处。此阶段,我们将再次回到Tomcat的Web应用程序开发中,去感受Spring框架为我们带来的巨大便捷。

2023-07-05 19:01:53 1701

原创 Java SSM 笔记(一)重置版

**前置课程要求:**请各位小伙伴先完成《JavaWeb》篇、《Java 9-17新特性》篇视频教程之后,再来观看此教程。**建议:**对Java开发还不是很熟悉的同学,最好先花费半个月到一个月时间大量地去编写小项目,不推荐一口气学完,后面的内容相比前面的内容几乎是降维打击,一口气学完很容易忘记之前所学的基础知识,尤其是JavaSE阶段的内容。不同于2021版本SSM教程,本期视频为重制版本,视频学习的Spring框架版本为:6.0恭喜各位顺利进入到SSM(Spring+SpringMVC+Mybatis)

2023-02-16 18:23:19 6956 3

原创 JavaSE笔记(八)重制版

在Java正式推出的时候,它还包含一个用于基本GUI程序设计的类库,名字叫 Abstract Window Toolkit,简称AWT,抽象窗口工具包,我们可以直接使用Java为我们提供的工具包来进行桌面应用程序的开发。只不过这套工具包依附于操作系统提供的UI,具体样式会根据不同操作系统提供的界面元素进行展示。

2022-11-06 23:22:46 3283

原创 JavaSE笔记(七)重制版

前面我们已经把基础介绍完了,从这节课开始,我们就正式进入到集合类的讲解中。集合类是Java中非常重要的存在,使用频率极高。集合其实与我们数学中的集合是差不多的概念,集合表示一组对象,每一个对象我们都可以称其为元素。不同的集合有着不同的性质,比如一些集合允许重复的元素,而另一些则不允许,一些集合是有序的,而其他则是无序的。集合类其实就是为了更好地组织、管理和操作我们的数据而存在的,包括列表、集合、队列、映射等数据结构。从这一块开始,我们会从源码角度给大家讲解(先从接口定义对于集合需要实现哪些功能开始说起,包括

2022-10-04 22:14:18 3041 2

原创 JavaSE笔记(六)重制版

前面我们已经把基础介绍完了,从这节课开始,我们就正式进入到集合类的讲解中。集合类是Java中非常重要的存在,使用频率极高。集合其实与我们数学中的集合是差不多的概念,集合表示一组对象,每一个对象我们都可以称其为元素。不同的集合有着不同的性质,比如一些集合允许重复的元素,而另一些则不允许,一些集合是有序的,而其他则是无序的。集合类其实就是为了更好地组织、管理和操作我们的数据而存在的,包括列表、集合、队列、映射等数据结构。从这一块开始,我们会从源码角度给大家讲解(先从接口定义对于集合需要实现哪些功能开始说起,包括

2022-10-04 13:17:55 3445

原创 JavaSE 笔记(五)重制版

在前面我们学习了最重要的类和对象,了解了面向对象编程的思想,注意,非常重要,面向对象是必须要深入理解和掌握的内容,不能草草结束。在本章节,我们还会继续深入了解,从泛型开始,再到数据结构,最后再开始我们的集合类学习,循序渐进。为了统计学生成绩,要求设计一个Score对象,包括课程名称、课程号、课程成绩,但是成绩分为两种,一种是以 来作为结果,还有一种就是 这样的数字分数,可能高等数学这门课是以数字成绩进行结算,而计算机网络实验这门课是以等级进行结算,这两种分数类型都有可能出现,那么现在该如何去设计这样的一个

2022-09-30 17:32:38 2578

原创 JavaSE笔记(四)重制版

经过前面的学习,我们已经了解了面向对象编程的大部分基础内容,这一部分,我们将继续探索面向对象编程过程中一些常用的东西。Java并不是纯面向对象的语言,虽然Java语言是一个面向对象的语言,但是Java中的基本数据类型却不是面向对象的。Java中的基本类型,如果想通过对象的形式去使用他们,Java提供的基本类型包装类,使得Java能够更好的体现面向对象的思想,同时也使得基本类型能够支持对象操作!所有的包装类层次结构如下:其中能够表示数字的基本类型包装类,继承自Number类,对应关系如下表:我们可以直接使用,

2022-09-24 22:26:00 3724 3

原创 JavaSE笔记(三)重制版

我们在前面已经学习了面向过程编程,也可以自行编写出简单的程序了。我们接着就需要认识 面向对象程序设计(Object Oriented Programming)它是我们在Java语言中要学习的重要内容,面向对象也是高级语言的一大重要特性。面向对象是新手成长的一道分水岭,有的人秒懂,有的人直到最后都无法理解。这一章开始难度就上来了,所以说请各位小伙伴一定认真。

2022-09-22 11:29:50 4718 1

原创 JavaSE笔记(二)重制版

前面我们已经认识了Java语言的相关特性,并且已经成功配置好了开发环境,从这节课开始,我们就可以正式进入到Java语言的学习当中了。Java语言是一门面向对象的语言,但是在面向对象之前,我们还得先学会如何面向过程编程。

2022-09-18 12:12:31 4372 9

原创 JavaSE笔记(一)重制版

一次编译,到处运行!

2022-09-16 17:29:49 6652 9

原创 数据结构与算法(五)排序算法篇

数据结构与算法的学习也接近尾声了,坚持就是胜利啊!一个数组中的数据原本是凌乱的,但是由于需要,我们需要使其有序排列,要实现对数组进行排序我们之前已经在中讲解过冒泡排序和快速排序(选学),而这一部分,我们将继续讲解更多种类型的排序算法。在开始之前,我们还是从冒泡排序开始回顾。

2022-09-07 18:05:15 2730 1

原创 数据结构与算法(四)图形结构篇

图结构在我们的生活中实际上是非常常见的,其中最显著的就是我们的地图了,比如我的家乡重庆:可以看到,地图盘根错节,错综复杂,不同的道路相互连接,我们可以自由地从这些道路通过,从一个地点到达另一个地点。当然除了地图,我们的计算机网络、你的人际关系网等等,这些都可以用图结构来表示。图结构也是整个数据结构中比较难的一部分,而这一章,我们将探讨图结构的性质与应用。

2022-09-04 21:11:12 5033 2

原创 数据结构与算法(三)散列表篇

在之前,我们已经学习了多种查找数据的方式,比如最简单的,如果数据量不大的情况下,我们可以直接通过顺序查找的方式在集合中搜索我们想要的元素;当数据量较大时,我们可以使用二分搜索来快速找到我们想要的数据,不过需要要求数据按照顺序排列,并且不允许中途对集合进行修改。在学习完树形结构篇之后,我们可以利用二叉查找树来建立一个便于我们查找的树形结构,甚至可以将其优化为平衡二叉树或是红黑树来进一步提升稳定性。

2022-08-22 17:34:49 1896 4

原创 数据结构与算法(二)树形结构篇

前面我们学习了线性相关的数据结构,了解了顺序表和链表两种类型,我们接着来看树形结构。这一章会更加考验各位小伙伴的数学功底以及逻辑思维,难度会更大一些。树是一种全新的数据结构,它就像一棵树的树枝一样,不断延伸。一棵树就像下面这样连接:可以看到,现在一个结点下面可能会连接多个节点,并不断延伸,就像树枝一样,每个结点都有可能是一个分支点,延伸出多个分支,从位于最上方的结点开始不断向下,而这种数据结构,我们就称为树(Tree)注意分支只能向后单独延伸,之后就分道扬镳了,不能与其他分支上的结点相交!由于整棵树错综复杂

2022-08-18 17:52:42 6674 1

原创 数据结构与算法(一)线性结构篇

**注意:**开始本篇学习之前,请确保你完成了 C语言程序设计 篇视频教程,否则无法进行学习。我们本系列课程分为基础知识和算法实战两部分,其中算法实战在LeetCode上进行:https://leetcode.cn/,各位可以提前在平台上注册好相关账号。学习完数据结构,各位小伙伴可以尝试参加算法相关的学科竞赛,如ICPC-ACM、蓝桥杯等,算法类的比赛含金量相比项目类比赛更高,也更有价值,相应的,算法类竞赛难道会更大一些,尤其是ICPC-ACM大学生程序设计竞赛,一般都是各个高校内顶尖级队伍进行参赛,甚至还

2022-07-26 21:52:26 13763 4

原创 Docker容器技术 笔记

Docker是一门平台级别的技术,涉及的范围很广,所以,在开始之前,请确保你完成:Java SpringBoot 篇(推荐完成SpringCloud篇再来)视频教程及之前全部路线,否则学习会非常吃力,另外推荐额外掌握:《计算机网络》、《操作系统》相关知识。学一样东西不能完全靠记忆来完成,而是需要结合自己所学的基础知识加以理解,一般来说,单凭记忆能够掌握的东西往往是最廉价的。**Docker官网:**https://www.docker.com**课前准备:**配置2C2G以上Linux服务器一台,云服务器、

2022-07-06 16:55:04 3691 2

原创 C语言程序设计(三)高级特性

前面我们了解了C语言的相关基础内容,我们来看看C语言的高级部分。这一章的学习难道会比较大,尤其是指针板块,因为需要理解计算机内存模型,所以说是很多初学者的噩梦。其实函数我们在一开始就在使用了:我们程序的入口点就是函数,我们只需要将我们的程序代码编写到主函数中就可以运行了,不够这个函数只是由我们来定义,而不是我们自己来调用。当然,除了主函数之外,我们一直在使用的也是一个函数,不过这个函数是标准库中已经实现好了的,现在是我们在调用这个函数:那么,函数的具体定义是什么呢?其实简单来说,函数时为了完成某件任务而

2022-06-28 20:45:51 4957 3

原创 Java 开发 (实习生/应届生) 完整学习路线和规划,希望能够帮到屏幕前迷茫的你

这是来自一个没有团队,没有机构,仅仅是一个热爱Java开发的带学生UP主完成的学习路线,所有的资料、源码可以直接下载。各位小伙伴大家好,也许这是你们第一次见到我,我和你一样,曾也是一个对于未来充满迷茫的带学生,也许你现在正在担心Java开发这条路能否是自己最终的归宿,不知道自己是否能够在这条路上走得更远,作为一个过来人,我可以很明确的告诉你,Java的学习并不难,它需要的只是你的热情和坚持而已,不要犹豫,行动起来,希望各位能够在秋招/春招找到自己满意的工作。......

2022-06-19 14:29:55 8935 22

原创 C语言程序设计(二)基础内容

前面我们已经搭建好了基本的学习环境,现在就让我们开始C语言的学习吧!C语言的语法层面内容相比其他语言来说,其实算少的了,但是它的难点在于很多概念上的理解,这也是为什么上一章一直在说一些计算机基础相关内容(包括这一章还会继续补一点),这样会有助于各位对于语言的理解,C语言可以说是步入编程领域的分水岭,跨过了这道坎,后续其他编程语言的学习都会无比轻松。学习编程的过程可能会很枯燥,但是请各位一定不要心急,一步一个脚印,相信大家一定能通关。.........

2022-06-17 11:38:07 7403 3

原创 C语言程序设计(一)计算机思维导论

计算机自1946年问世以来,几乎改变了整个世界。

2022-06-16 16:57:23 5828 4

原创 Java SE 笔记(扩展篇)JDK 9-17 新特性介绍

Java9-17新特性

2022-06-01 10:58:57 2490 4

原创 Java设计模式(四)行为型 设计模式

设计模式(行为型)前面我们已经学习了12种设计模式,分为两类:创建型:关注对象创建结构型:关注类和对象的结构组织我们接着来看最后一种设计模式,也是最多的一种,行为型设计模式关注系统中对象之间的交互,研究系统在运行时对象之间的相互通信与协作,进一步明确对象的职责。解释器模式这种模式的使用场景较少,很少使用的一种设计模式,这里提一下就行。解释器顾名思义,就是对我们的语言进行解释,根据不同的语义来做不同的事情,比如我们在SE中学习的双栈计算器,正是根据我们输入的算式,去进行解析,并根据不同的运.

2022-05-28 14:46:33 1408 1

原创 Java设计模式(三)结构型 设计模式

设计模式(结构型)结构型设计模式关注如何将现有的类或对象组织在一起形成更加强大的结构。并且根据我们前面学习的合成复用原则,我们该如何尽可能地使用关联关系来代替继承关系是我们本版块需要重点学习的内容。类/对象适配器模式在生活中,我们经常遇到这样的一个问题:笔记本太轻薄了,以至于没有RJ45网口和USB A口(比如Macbook为了轻薄甚至全是type-c形式的雷电口)但是现在我们因为工作需要,又得使用这些接口来连接线缆,这时我们想到的第一个解决方案,就是去买一个转接口(扩展坞),扩展坞可以将type-.

2022-05-25 14:23:35 1391 1

原创 Java设计模式(二)创建型 设计模式

设计模式(创建型)软件设计模式(Design pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。肯特·贝克和沃德·坎宁安在1987年利用克里斯托佛·亚历山大在建筑设计领域里的思想开发了设计模式并把此思想应用在Smalltalk中的图形用户接口的生成中。一年后Erich Gamma在他的苏黎世大学博士毕业论文中开始尝试把这种思想改写为适用于软件开发。与此同时James .

2022-05-23 17:03:28 1715

原创 Java设计模式(一)面向对象设计原则

面向对象设计原则**注意:**推荐完成JavaEE通关路线再开始学习。我们在进行软件开发时,不仅仅需要将最基本的业务给完成,还要考虑整个项目的可维护性和可复用性,我们开发的项目不单单需要我们自己来维护,同时也需要其他的开发者一起来进行共同维护,因此我们在编写代码时,应该尽可能的规范。如果我们在编写代码时不注重这些问题,整个团队项目就像一座屎山,随着项目的不断扩大,整体结构只会越来越遭。甚至到最后你会发现,我们的程序居然是稳定运行在BUG之上的…所以,为了尽可能避免这种情况的发生,我们就来聊聊面向对.

2022-05-20 15:43:56 2688 1

原创 NIO笔记(二)Netty框架

Netty框架前面我们学习了Java为我们提供的NIO框架,提供使用NIO提供的三大组件,我们就可以编写更加高性能的客户端/服务端网络程序了,甚至还可以自行规定一种通信协议进行通信。NIO框架存在的问题但是之前我们在使用NIO框架的时候,还是发现了一些问题,我们先来盘点一下。客户端关闭导致服务端空轮询可能在之前的实验中,你发现了这样一个问题:当我们的客户端主动与服务端断开连接时,会导致READ事件一直被触发,也就是说selector.select()会直接通过,并且是可读的状态,但是我们发现实

2022-05-12 21:52:19 1646

原创 NIO笔记(一)基础内容

NIO基础**注意:**推荐完成JavaSE篇、JavaWeb篇的学习再开启这一部分的学习,如果在这之前完成了JVM篇,那么看起来就会比较轻松了。在JavaSE的学习中,我们了解了如何使用IO进行数据传输,Java IO是阻塞的,如果在一次读写数据调用时数据还没有准备好,或者目前不可写,那么读写操作就会被阻塞直到数据准备好或目标可写为止。Java NIO则是非阻塞的,每一次数据读写调用都会立即返回,并将目前可读(或可写)的内容写入缓冲区或者从缓冲区中输出,即使当前没有可用数据,调用仍然会立即返回并且不.

2022-05-05 18:14:11 2610 2

原创 SpringCloud笔记(四)消息队列

消息队列经过前面的学习,我们已经了解了我们之前的技术在分布式环境下的应用,接着我们来看最后一章的内容。那么,什么是消息队列呢?我们之前如果需要进行远程调用,那么一般可以通过发送HTTP请求来完成,而现在,我们可以使用第二种方式,就是消息队列,它能够将发送方发送的信息放入队列中,当新的消息入队时,会通知接收方进行处理,一般消息发送方称为生产者,接收方称为消费者。这样我们所有的请求,都可以直接丢到消息队列中,再由消费者取出,不再是直接连接消费者的形式了,而是加了一个中间商,这也是一种很好的解耦方案,.

2022-04-22 10:52:20 6911 2

原创 SpringCloud笔记(三)微服务应用

微服务应用前面我们已经完成了SpringCloudAlibaba的学习,我们对一个微服务项目的架构体系已经有了一定的了解,那么本章我们将在应用层面继续探讨微服务。分布式权限校验虽然完成前面的部分,我们已经可以自己去编写一个比较中规中矩的微服务项目了,但是还有一个问题我们没有解决,登录问题。假如现在要求用户登录之后,才能进行图书的查询、借阅等操作,那么我们又该如何设计这个系统呢?回顾我们之前进行权限校验的原理,服务器是如何判定一个请求是来自哪个用户的呢?首先浏览器会向服务端发送请求,访问我们的网站

2022-04-15 16:33:56 4019 5

原创 SpringCloud笔记(二)微服务进阶

微服务进阶前面我们了解了微服务的一套解决方案,但是它是基于Netflix的解决方案,实际上我们发现,很多框架都已经停止维护了,来看看目前我们所认识到的SpringCloud各大组件的维护情况:**注册中心:**Eureka(属于Netflix,2.x版本不再开源,1.x版本仍在更新)**服务调用:**Ribbon(属于Netflix,停止更新,已经彻底被移除)、SpringCloud Loadbalancer(属于SpringCloud官方,目前的默认方案)**服务降级:**Hystrix(属于.

2022-04-01 15:37:39 6998

原创 SpringCloud笔记(一)微服务基础

微服务基础**注意:**此阶段学习推荐的电脑配置,至少配备4核心CPU(主频3.0Ghz以上)+16GB内存,否则卡到你怀疑人生。前面我们讲解了SpringBoot框架,通过使用SpringBoot框架,我们的项目开发速度可以说是得到了质的提升。同时,我们对于项目的维护和理解,也会更加的轻松。可见,SpringBoot为我们的开发带来了巨大便捷。而这一部分,我们将基于SpringBoot,继续深入到企业实际场景,探讨微服务架构下的SpringCloud。这个部分我们会更加注重于架构设计上的讲解,弱化实.

2022-03-26 00:09:22 14083 15

原创 JUC笔记(三)并发编程进阶

并发编程进阶欢迎来到JUC学习的最后一章,王炸当然是放在最后了。线程池在我们的程序中,多多少少都会用到多线程技术,而我们以往都是使用Thread类来创建一个新的线程:public static void main(String[] args) { Thread t = new Thread(() -> System.out.println("Hello World!")); t.start();}利用多线程,我们的程序可以更加合理地使用CPU多核心资源,在同一时间完成更多

2022-03-17 15:00:06 1883 1

原创 JUC笔记(二)并发编程核心

多线程编程核心在前面,我们了解了多线程的底层运作机制,我们终于知道,原来多线程环境下存在着如此之多的问题。在JDK5之前,我们只能选择synchronized关键字来实现锁,而JDK5之后,由于volatile关键字得到了升级(具体功能就是上一章所描述的),所以并发框架包便出现了,相比传统的synchronized关键字,我们对于锁的实现,有了更多的选择。Doug Lea — JUC并发包的作者如果IT的历史,是以人为主体串接起来的话,那么肯定少不了Doug Lea。这个鼻梁挂着眼镜,留着德王威廉二

2022-03-15 23:36:17 2174

原创 JUC笔记(一)再谈多线程

再谈多线程JUC相对于Java应用层的学习难度更大,开篇推荐掌握的预备知识:JavaSE多线程部分(必备)、操作系统、JVM**(推荐)**、计算机组成原理。掌握预备知识会让你的学习更加轻松,其中,JavaSE多线程部分要求必须掌握,否则无法继续学习本教程!我们不会再去重复教学JavaSE阶段的任何知识了。各位小伙伴一定要点击收藏按钮(收藏 = 学会)还记得我们在JavaSE中学习的多线程吗?让我们来回顾一下:在我们的操作系统之上,可以同时运行很多个进程,并且每个进程之间相互隔离互不干扰。我们的

2022-03-07 18:06:19 2734 3

空空如也

空空如也

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

TA关注的人

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