Java知识体系
Java 知识体系一、Java 语言基础 这是所有 Java 程序的基石。 基础语法 数据类型: 基本数据类型:byte, short, int, long, float, double, char, boolean 引用数据类型:类、接口、数组、枚举等 变量与常量:final 关键字 运算符:算术、关系、逻辑、位、赋值、条件(三元)、instanceof 等 流程控制:if-else, switch-case, for, while, do-while, break, continue, return 面向对象编程 (OOP) 四大特性: 封装:通过访问控制符(private, protected, public, 默认)隐藏实现细节,提供公共方法访问。 继承:extends 关键字,实现代码复用。单继承,但可多层继承。 多态: 编译时多态:方法重载(Overload) 运行时多态:方法重写(Override),基于继承和接口实现,通过父类/接口引用指向子类对象。 抽象:abstract 类和接口(interface)用于定义规范。 类与对象:类的...
SpringCloud框架组件梳理
SpringCloud框架组件梳理一、 服务治理与发现 (Service Governance & Discovery) 这是微服务的核心,解决服务如何找到彼此的问题。 Nacos (阿里开源,目前主流选择) 功能:兼具服务注册与发现和分布式配置中心两大功能。 优势:AP/CP模式可切换、支持DNS和RPC服务发现、管理界面友好、生态丰富,是Eureka的强力替代者。 Eureka (Netflix开源,Spring Cloud Netflix套件核心) 功能:服务注册与发现。 现状:目前处于维护模式,新项目建议选择Nacos或Consul。 Consul (HashiCorp公司) 功能:服务发现、配置、服务网格(内置)一体化工具。基于CP模型,保证强一致性。 优势:功能强大,与Docker等云原生技术结合紧密。 Zookeeper 功能:分布式协调服务,也可用于服务注册与发现(通过临时节点)。 现状:更偏向于分布式协调,作为纯服务发现组件不如Nacos/Consul便捷,但在一些老系统或大数据生态中常见。 二、 配置中心 (C...
1792-最大平均通过率
1792-最大平均通过率题目描述 一所学校里有一些班级,每个班级里有一些学生,现在每个班都会进行一场期末考试。给你一个二维数组 classes ,其中 classes[i] = [passi, totali] ,表示你提前知道了第 i 个班级总共有 totali 个学生,其中只有 passi 个学生可以通过考试。 给你一个整数 extraStudents ,表示额外有 extraStudents 个聪明的学生,他们 一定 能通过任何班级的期末考。你需要给这 extraStudents 个学生每人都安排一个班级,使得 所有 班级的 平均 通过率 最大 。 一个班级的 通过率 等于这个班级通过考试的学生人数除以这个班级的总人数。平均通过率 是所有班级的通过率之和除以班级数目。 请你返回在安排这 extraStudents 个学生去对应班级后的 最大 平均通过率。与标准答案误差范围在 10-5 以内的结果都会视为正确结果。 示例 1: 输入:classes = [[1,2],[3,5],[2,2]], extraStudents = 2输出:0.78333解释:你可以将额外的两个学生...
Vue2-Vue中的一些小知识点
Vue2中的一些小知识点Vue2文件结构12345678910111213141516├── node_modules├── public│ ├── favicon.ico:页签图标│ └── index.html:主页面├── src│ ├── assets:存放静态资源│ │ └── logo.png│ ├── component:存放组件│ │ └── HelloWorld.vue│ ├── App.vue:汇总所有组件│ └── main.js:入口文件├── .gitignore:git版本管制忽略的配置├── babel.config.js:babel的配置文件├── package.json:应用包配置文件├── REMDME.md:应用描述文件└── package-lock.json:包版本控制文件 1.render函数 在Vue.js中, render 函数主要有以下作用: 编程式创建虚拟DOM - 相比模板语法,render函数给予开发者完全的JavaScript编程能力 更灵活的动态渲染 - 特别适合需要根据运...
SSE(Server-Sent Events)由浅入深
SSE(Server-Sent Events)由浅入深一、什么是SSE(Server-Sent Events) 服务器发送事件( SSE ) 是一种服务器推送技术,使客户端能够通过 HTTP 连接从服务器接收自动更新,并描述了服务器如何在建立初始客户端连接后启动向客户端的数据传输。它们通常用于向浏览器客户端发送消息更新或连续数据流,旨在通过名为 EventSource 的 JavaScript API 增强本机跨浏览器流式传输,客户端通过该 API 请求特定的 URL 以接收事件流。EventSource API已由WHATWG标准化为HTML Living Standard 的一部分。SSE的媒体类型是 text/event-stream。 二、SSE(Server-Sent Events)的使用2.1、SSE简单使用简单代码如下 12345678910111213141516171819202122232425262728293031323334@RestController@Slf4j@RequiredArgsConstructorpublic class SseCont...
Vue3-一个简单的效果
Vue3-一个简单的效果
通过Jeckins打包构建Gitlab项目
通过Jeckins打包构建Gitlab项目
搭建一个本地的Gitlab服务器
搭建一个本地的Gitlab服务器内存建议6G,否则容易502 一、拉取Gitlab的Docker镜像12345678# 拉取镜像docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/gitlab/gitlab-ce:17.7.0-ce.0# 将拉取的镜像打个tag,方便后面使用docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/gitlab/gitlab-ce:17.7.0-ce.0 gitlab/gitlab-ce:17.7.0-ce.0# 删除原Gitlab镜像docker rmi swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/gitlab/gitlab-ce:17.7.0-ce.0 二、启动Gitlab镜像123456789101112# 启动容器docker run \ -itd \ -p 9980:80 \ -p 9922:22 \ -v /home/gitl...
数据结构-排序
排序一、十大排序算法分析 二、排序算法代码2.1 冒泡排序 123456789101112131415161718192021222324// 冒泡排序class BubbleSort{ /** * 时间复杂度 O(n^2) <br/> * 空间复杂度 O(1) <br/> * @param arr 待排序数组 */ public static void bubbleSort(int[] arr){ System.out.println("before bubbleSort \t ==> " + Arrays.stream(arr).boxed().toList()); int length = arr.length; for (int i = 0; i < length; i++) { for (int j = i + 1; j < length; j++) { ...
Git的一些特殊操作
Git的一些特殊操作Git Stash:临时保存工作进度git stash git stash 命令允许你临时保存当前工作目录的更改,以便你可以切换到其他分支或处理其他任务。 git stash list 查看存储的进度 git stash apply 应用最近一次存储的进度 git stash pop 应用并删除最近一次存储的进度 git stash drop stash@{n} 删除特定存储 git stash clear 清空所有存储 Git Rebase:变基git rebase <branchname> git rebase 命令用于将一个分支上的更改移到另一个分支之上。它可以帮助保持提交历史的线性,减少合并时的冲突。 git rebase main 例如,将当前分支变基到 main 分支 Git Cherry-Pick:拣选提交git cherry-pick 命令允许你选择特定的提交并将其应用到当前分支。它在需要从一个分支移植特定更改到另一个分支时非常有用。 然后git push就可以了
Python-数据类型
Python-数据类型intfloatstrcomplexboolNoneTypebytestuplelistdictsetfrozenset
面试经典-单词拆分
单词拆分一、题目139. 单词拆分 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。如果可以利用字典中出现的一个或多个单词拼接出 s 则返回 true。 注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。 示例 1: 输入: s = "leetcode", wordDict = ["leet", "code"]输出: true解释: 返回 true 因为 "leetcode" 可以由 "leet" 和 "code" 拼接成。 示例 2: 输入: s = "applepenapple", wordDict = ["apple", "pen"]输出: true解释: 返回 true 因为 "applepenapple" 可以由 "apple" "pen" "apple" 拼接成。注意...
TS-基础篇
TS语法
Vue3-基础篇
Vue3-从零开始构建一个Vue项目首先要安装 Node.js 和 npm 创建一个 Vue 应用一、创建一个Vue应用1npm create vue@latest 1npm i 如果安装了VSCode,可以通过下面操作打开 vscode 123cd ..code vue_demo_project 二、运行该Vue应用1npm run dev 浏览器输入 http://localhost:5173/ 三、文件介绍 .vscode 包含项目相关的 VS Code 配置文件,例如 settings.json 或调试配置,方便团队统一开发环境设置。 node_modules 存放项目依赖的模块,由 npm 或 yarn 安装。这个目录是自动生成的,开发者无需手动修改。 public 用于存放不需要 Webpack 或 Vite 处理的静态资源,文件会原封不动地复制到构建输出目录中。 src 项目源码目录,主要存放 Vue 项目核心代码 src: 项目源码目录,主要存放 Vue 项目核心代码。 assets: 存放静态资源文件(如图片、字...
面试经典-二进制求和
二进制求和一、题目67. 二进制求和 给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。 示例 1: 输入: a = "11", b = "1"输出:"100" 示例 2: 输入:a = "1010", b = "1011"输出:"10101" 提示: 1 <= a.length, b.length <= 104 a 和 b 仅由字符 '0' 或 '1' 组成 字符串如果不是 "0" ,就不含前导零 二、题解12345678910111213141516class Solution { public String addBinary(String a, String b) { StringBuilder ans = new StringBuilder(); int n = Math.max(a.length...
Python-基础语法
Python-基础语法一、注释123456789101112131415# this is Single-Line Comments"""this is block comments,By Double quotation marksAuthor: lol_toulanDate: 2024-12-16 23:59:59"""'''this is block comments,By Single quotation marksAuthor: lol_toulanDate: 2024-12-16 23:59:59''' 二、语法格式在Java和C等语言中,我们常以 {}对来表示代码块,以;来标志一行或多行代码的结束 但是在Python中,我们常以缩进来区分不同的代码块,通常也不需要;来标志一行或多行代码的结束 12345678def print_hi(name): # Use a breakpoint in the code line below to ...
面试经典-打家劫舍
打家劫舍打家劫舍 不会写✍✍😭😭😭😭 todo
面试经典-爬楼梯
爬楼梯一、题目70. 爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 示例 1: 输入:n = 2输出:2解释:有两种方法可以爬到楼顶。 1 阶 + 1 阶 2 阶 示例 2: 输入:n = 3输出:3解释:有三种方法可以爬到楼顶。 1 阶 + 1 阶 + 1 阶 1 阶 + 2 阶 2 阶 + 1 阶 提示: 1 <= n <= 45 二、题解题解一(枚举法,跟着题解写答案😶🌫️🤐😪😴😥🤩)12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152class Solution { public int climbStairs(int n) { return switch (n) { case 1 -> 1; ...
面试经典-Pow(x,n)
Pow(x,n)一、题目50. Pow(x, n) 实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,xn )。 示例 1: 输入:x = 2.00000, n = 10输出:1024.00000 示例 2: 输入:x = 2.10000, n = 3输出:9.26100 示例 3: 输入:x = 2.00000, n = -2输出:0.25000解释:2-2 = 1/22 = 1/4 = 0.25 提示: -100.0 < x < 100.0 -231 <= n <= 231-1 n 是一个整数 要么 x 不为零,要么 n > 0 。 -104 <= xn <= 104 二、题解题解一(照着用例写代码🤣🤣)1234567891011121314151617181920212223242526public static double myPow(double x, int n) { if (x == 0) { return 0; } if...
