LeetCode的较难题
本文收集了一些LeetCode的一些较难的题目。
找出两个正序数组的中位数
给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出这两个正序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。 (归并、快速排序 n.log(n))。假设 nums1 和 nums2 不会同时为空。
示例 1: nums1 = [1, 3]   nums2 = [2]       则中位数是 2.0
示例 2: nums1 = [1, 2]   nums2 = [3, 4]   则中位数是 (2 + 3)/2 = 2.5
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192public static double problem1(int[] nums1, in ...
LeetCode的中等难度题
本文收集了一些LeetCode的一些中等难度的题目。
基础数据类型定义123456789101112131415161718192021222324public class ListNode1 {    int val;    ListNode1 next;    ListNode1(int x) {        val = x;    }        public ListNode1(int val , ListNode1 next){        this.val = val;        this.next = next;    }    public ListNode1 reverseLink(ListNode1 head) {        ListNode1 head1 = head, next1 = head.next, prev1 = null;        while(head1 != null){            head1.next = prev1;            pre ...
LeetCode的简单题
本文收集了一些LeetCode的一些简单的题目
基础数据类型定义
12345678910111213141516171819202122public class ListNode1 {    int val;    ListNode1 next;    ListNode1() {}    ListNode1(int val) {        this.val = val;    }    ListNode1(int val, ListNode1 next) {        this.val = val;        this.next = next;    }}public class TreeNode1 {    int val;    TreeNode1 left;     TreeNode1 right;         TreeNode1(int x) {         val = x;     }}
和为目标值的两数在数组中的下标
给定一个整数数组  ...
Linux备份数据到本地
本文简单记录了将Linux中数据库数据备份到本地是实现流程。
安装下载命令
1234安装下载命令sudo yum install lrzszsz filename  下载rz filename  上传
登录到MySQL
1mysql -u root -p
查看所有用户及权限
1SELECT User, Host FROM mysql.user;
查看数据库
123SHOW DATABASES;USE your_database_name;SHOW TABLES;
下载数据
12345678mysqldump -u root -p mysql > mysql_dump.sqlmysqldump -u username -p mydatabase > mydatabase_dump.sql# 其中:# username 是你的MySQL用户名。# -p 选项会提示你输入密码。# mydatabase 是要导出的数据库名称。# mydatabase_dump.sql 是导出的文件名。
Docker命令
Docker是一个用于创建、部署和管理容器的开源平台。在使用Docker时,有效地管理和监控容器是非常重要的,其中查看和解析Docker命令(command)是基本且关键的一步。本文将介绍一些关于Docker的命令。
基础命令Docker命令的格式1docker <command>[options] [arguments]
Docker基础命令1234docker version           #显示版本信息docker info              #显示docker系统信息,包括容器、镜像docker stats             #cpu/内存使用情况docker  [command] --help       #帮助命令
镜像相关命令查看本地镜像 images12345678910111213docker images    -a, --all             # 列出所有的镜像    -q, --quiet           # 只显示的镜像的id# 举例说明[root@localhost ~]# docker imagesREP ...
Docker
Docker是一组平台即服务(PaaS)的产品。它基于操作系统层级的虚拟化技术,将软件与其依赖项打包为容器。托管容器的软件称为Docker引擎。Docker能够帮助开发者在轻量级容器中自动部署应用程序,并使得不同容器中的应用程序彼此隔离,高效工作。
Docker
参考文档链接
官网:https://www.docker.com/
文档:https://docs.docker.com/
仓库:https://hub.docker.com/
什么是Docker
Docker 是基于Go语言开发的开源项目,是开源的容器化平台,旨在简化应用程序的开发、部署和运行过程。它提供了一种轻量级、可移植和自包含的容器化环境,使开发人员能够在不同的计算机上以一致的方式构建、打包和分发应用程序。
核心概念:
容器(Container):容器是 Docker 的基本部署单元。它是一个轻量级的、独立的运行时环境,包含应用程序及其相关依赖。容器利用 Linux 内核的命名空间和控制组技术,实现了隔离性和资源管理,使得应用程序在不同的容器中运行不会相互影响。
镜像(Image):镜像是用于创建容器的模板。它包含了 ...
WebSocket
WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
参考原文:
websocket 实现后端主动前端推送数据、及时通讯(vue3 + springboot)
Vue3和SpringBoot实现Web实时消息推送
即时通讯,服务端主动推送数据后端主动推送数据给前端的核心实现方案包括WebSocket、Server-Sent Events(SSE)、长轮询(Long Polling)和HTTP/2 Server Push。这些方案适用于不同场景,选择需综合考虑实时性要求、兼容性和实现复杂度。
主流实现方案对比
方案
协议基础
通信模式
延迟
实现复杂度
适用场景
WebSocket
独立TCP协议
全双工双向通信
低
较高
实时聊天、高频数据监控(如股票)
Server-Sent Events
HTTP
单向服务器推送
中等
较低
新 ...
WebPack
webpack 是代码编译工具,有入口、出口、loader 和插件。webpack 是一个用于现代 JavaScript 应用程序的静态模块打包工具。当 webpack 处理应用程序时,它会在内部构建一个依赖图(dependency graph),此依赖图对应映射到项目所需的每个模块,并生成一个或多个 bundle。
什么是 webpack ?
webpack 是一个现代 JavaScript 应用程序的静态模块打包器
webpack 可以递归的打包项目中所有模块(递归:指定一个入口,分析模块的依赖,它会递归的查找所有相关的依赖)
核心概念
Entry:配置入口文件。webpack 会找出有哪些模块是入库的依赖 , 相关的依赖会被处理,输出到 bundles 的文件中
Output:output 属性会告诉 webpack 它所创建的bundles 如何命名,默认值为 ./dist
module:模块。Webpack 里一切皆模块,一个模块对应一个文件。Webpack 从配置的 Entry 开始递归找出所有依赖的模块。
Chunk:代码块。一个 chunk 由多个模块组合而成,用于代码 ...
JavaScript
JavaScript是一种轻量级、解释型或者说即时编译型的编程语言, [20]广泛应用于网页开发中,主要用于增强网页的交互性和动态性。作为Web开发的核心技术之一,它与HTML和CSS共同协作,HTML负责定义网页的内容结构,CSS处理样式和布局,而JavaScript则控制网页的行为和交互。
js的事件循环机制
js是单线程的,会出现阻塞问题。
比如说网络请求和 settimeout ,它通过异步来做的,若都用异步则会放在队列里面,异步队列没有优先级,所以为了更灵活增加了事件循环
事件循环:
js是单线程,有同步任务和异步任务,一般是异步任务又分为微任务和宏任务
先执行同步任务队列,再执行微任务队列,之后再执行宏任务,每执行一次宏任务时会时时检测微任务队列有没有任务,若有则会先清空微任务队列,执行完了,再去执行下一个宏任务。
运行机制:
单线程,从上到下按顺序执行代码。运行的两个阶段:
**预解析:**把所有的函数定义提前,所有的变量声明提前,变量的赋值不提前
**执行:**从上到下执行(按照js运行机制)
javascript的数据类型
Boolean、null、String、 ...
VUE
款用于构建用户界面的JavaScript框架。它基于标准HTML、CSS和JavaScript构建,并提供了一套声明式的、组件化的编程模型,可以高效地开发用户界面。无论是简单还是复杂的界面,Vue都可以胜任。
基础
对于MVVM的理解?
MVVM 是 Model-View-ViewModel 的缩写
MVVM 的设计原理是基于 MVC 的
Model代表数据模型 ;View 代表UI 组件视图;ViewModel 监听模型数据的改变和控制视图行为、处理用户交互,简单理解就是一个同步 View 和 Model 的对象,连接 Model 和 View
优势:vue 和 mode 之间是双向数据传递的,视图改变数据就可以改变,数据改变了视图也跟着改变
Vue的生命周期
生命周期:Vue 实例从创建到销毁的过程,就是生命周期。从开始创建、初始化数据、编译模板、挂载 Dom →渲染、更新→渲染、销毁等一系列过程,称之为 Vue 的生命周期。
vue 生命周期的作用:它的生命周期中有多个事件钩子,在控制整个 Vue 实例的过程时更容易形成好的逻辑。
vue 生命周期总共有 8 个阶段:创建前/ ...




