- 博客(21)
- 收藏
- 关注
原创 LeetCode刷题Day01---二叉树
LeetCode刷题—二叉树1、剑指Offer-27: 二叉树的镜像1.1、题目描述1.2、代码实现public class Solution{ // 递归法 public TreeNode mirrorTree(TreeNode root) { // 终止条件 if(root == null) return null; // 处理根节点 TreeNode tempNode = root.left; r
2021-05-06 14:31:42
199
原创 从零基础到实战学习Shell
从零基础到实战学习Shell1、Shell概述Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。为什么要学Shell:工作中需要看懂运维人员编写的Shell程序需要写一些简单的Shell程序来管理集群、提高开发效率2、Shell解析器2.1、Linux提供的Shell解析器命令: sudo cat /etc/s
2021-05-03 18:06:34
271
原创 听说你还没搞懂ArrayList底层源码?
听说你还没搞懂ArrayList底层源码?1、概述ArrayListArrayList底层数据结构是一个Oject类型的动态数组,可以自动扩容;线程不安全ArrayList继承于 AbstractList ,实现了 List(规定了List的操作规范), RandomAccess(可随机访问), Cloneable(可拷贝), java.io.Serializable(可序列化) 这些接口。RandomAccess 是一个标志接口,表明实现这个这个接口的 List 集合是支持快速随机访问的。在
2021-04-20 21:20:25
208
1
原创 【美团2021校招编程题】
【美团2021校招编程题】1、淘汰分数题目描述:某比赛已经进入了淘汰赛阶段,已知共有n名选手参与了此阶段比赛,他们的得分分别是a_1,a_2….a_n,小美作为比赛的裁判希望设定一个分数线m,使得所有分数大于m的选手晋级,其他人淘汰。但是为了保护粉丝脆弱的心脏,小美希望晋级和淘汰的人数均在[x,y]之间。显然这个m有可能是不存在的,也有可能存在多个m,如果不存在,请你输出-1,如果存在多个,请你输出符合条件的最低的分数线。输入:输入第一行仅包含三个正整数n,x,y,分别表示参赛的人数和晋级淘汰
2021-03-24 12:13:26
1484
2
原创 vue+springboot+springcloud项目实战(1)- 项目简介及环境搭建
【Day01】光子商城出自尚硅谷雷丰阳老师的电商项目谷粒商城基于SpringBoot2.x、SpringCould 2.x、redis、docker、vue…分布式、微服务、前后端分离一、项目介绍一个B2C模式的电商平台,向用户销售自营的商品二、项目微服务架构图三、环境搭建1、Linux虚拟机我这里用的是VM ware12安装了CentOS 7.8宿主机和虚拟机互ping小坑刚开始网络模式用的NAT模式,虚拟机可以ping通主机,主机ping不到虚拟机,然后百度了一通,跟着网
2021-03-17 12:40:08
2006
原创 【剑指Offer】替换空格&&重建二叉树
【剑指Offer】替换空格题目描述:将一个字符串中的每个空格替换成“%20”例如:输入:"We Are Happy"输出:"We%20Are%20Happy"思路分析:直接用replace()方法逐个遍历进行替换代码实现:public class Solution { public String replaceSpace (String s) { // 方法一:正则匹配 // return s.replaceAll("\\s", "%20
2021-03-15 15:47:15
90
原创 【剑指offer】顺时针打印矩阵 &&从上往下遍历二叉树
【剑指Offer】顺时针打印矩阵题目描述:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字例如:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12,11,10,9,5,6,7]思路分析:打印顺序为:先从左到右,再从上到下,再从右到左,最后从下到上按打印顺序将矩阵元素添加到li
2021-03-14 11:43:29
99
原创 Chapter 2 进程与线程(上)
Chapter 2 进程与线程(上)1.什么是进程进程是程序的一次执行过程;是一个程序及其数据在处理机上顺序执行时发生的活动,是系统进行资源分配和调度的一个独立单位程序段、数据段、PCB三部分组成了进程实体,即进程。PCB是进程存在的唯一标志。进程控制块(PCB)是指系统为每个运行的程序配置一个数据结构,操作系统通过PCB来管理进程,它包含操作系统对其进行管理所需的各种信息程序段:存放程序代码数据段:存放程序运行时使用、产生的运算数据(全局变量、局部变量、宏定义的常量)2.进程的组织方式
2021-02-18 12:28:59
166
原创 chapter 1 操作系统基本概念
操作系统1.什么是操作系统Operating System,指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,它是计算机系统中最基础的系统软件2.操作系统的功能及目标命令接口:允许用户直接使用程序接口:允许用户通过程序间接使用,由一组系统调用(程序接口)组成GUI:图形用户接口3.操作系统的特征3.1 并发两个或多个事件在同一时间间隔内发生。宏观上看是同时发生的,但微观上是交替发生的。并行:两个或多
2021-02-17 13:56:01
112
原创 关于HashMap的所有
HashMapHashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。1.HashMap的数据结构(1)JDK 8 之前将链表和数组相结合。也就是说创建一个链表数组,数组中每一格就是一个链表。若遇到哈希冲突,则将冲突的值加到链表中即可(2)JDK 8 之后相比于之前的版本,jdk1.8在解决哈希冲突时有了较大的变化,当链表长度大于阈值(默认为8)时,将链表转化为红黑树,以减
2021-02-05 12:37:48
119
原创 Redis基础入门及实战案例
Redis1.NoSQL简介 NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在处理web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,出现了很多难以克服的问题,如商品网站中商品数据频繁查询、对热搜商品的排行统计、订单超时问题、微信朋友圈音频、视频的存储等,非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,特别是大数据应用难题。RDBMS:关
2021-01-27 23:11:56
959
原创 SpringBoot基础入门
1.什么是SpringBoot?SpringBoot是整合Spring技术栈的一站式框架SpringBoot是简化Spring技术栈的快速开发脚手架2.SpringBoot的优点Create stand-alone Spring applications创建独立Spring应用Embed Tomcat, Jetty or Undertow directly (no need to deploy WAR files)内嵌web服务器Provide opinionated
2021-01-23 23:49:07
149
原创 chapter 2 链表与栈
1.单链表(1)简介单链表有序的列表实际图:逻辑图:小结:链表是以节点的方式来存储的,是链式存储每个节点包含data域、next域(指向下一个节点)链表的各个节点不一定是连续存储的链表可分为有头节点的链表和无头节点的链表(2)应用案例需求:使用带head头的单向链表实现 –水浒英雄排行榜管理完成对英雄人物的增删改查操作第一种方法在添加英雄时,直接添加到链表的尾部第二种方式在添加英雄时,根据排名将英雄插入到指定位置(如果有这个排名,则添加失败,并给出提示)
2021-01-23 23:36:59
123
原创 chapter 1 稀疏矩阵和队列
1.数据结构分类数据结构包括:线性结构和非线性结构线性结构:1)线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系2)线性结构有两种不同的存储结构,即顺序存储结构和链式存储结构。顺序存储的线性表称为顺序表,顺序表中的存储元素是连续的3)链式存储的线性表称为链表,链表中的存储元素不一定是连续的,元素节点中存放数据元素以及相邻元素的地址信息4)线性结构常见的有:数组、队列、链表和栈非线性结构:数据元素之间不是一对一的线性关系1)常见结构:二维数组,多维数组,广义表,树
2021-01-23 23:23:21
167
原创 Chapter 2 物理层
1.物理层的基本概念物理层解决如何在连接各种计算机的传输媒体上传输比特流,而不是指具体的传输媒体物理层主要任务:确定传输媒体接口有关的一些特性----->定义标准四个特性:机械特性:定义物理连接的特性,规定物理连接时所采用的规格、接口形状、引线数量、引脚数量和排列情况电气特性:规定传输二进制位时,线路上信号的电压范围、阻抗匹配、传输速率和距离限制等功能特性:指明某条线上出现某一电平表示何种意义,接口部件的信号线的用途规程特性(过程特性):定义各条物理线路的工作规程和时序关
2021-01-14 10:07:27
181
原创 Chapter 1 计算机网络基本概述
Chapter 1 概述1.计算机网络简介1.1 概念一个将分散的、具有独立功能的计算机网络。通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统互联的、自治的计算机集合1.2 功能数据通信资源共享分布式处理:多台计算机各自承担同一工作任务的不同部分Hadoop平台提高可靠性:替代机负载均衡1.3 组成按组成部分分:硬件、软件、协议按工作方式:边缘部分:用户直接使用(主机或端系统)C/S方式P2P方式核心部分:为边缘部分服务(大量的网
2021-01-10 19:58:07
192
原创 快速搭建一个vue项目
如何构建一个VUE项目?1.环境搭建一定要以管理员身份启动cmd,后面的操作都是在管理员启动的黑窗口进行node.js可以在安装node.js之后再使用 npm install cnpm -g 安装淘宝镜像加速器,这个在下载一些模块会比原生npm快vue-cli(npm install -g vue-cli )一个快速构建vue项目的脚手架2.初始化项目在cmd窗口将地址换至我们创建vue项目的文件夹内创建一个基于webpack模板的vue应用程序这是在
2021-01-09 12:26:45
331
原创 关于ajax的一些问题
通过ajax回调后端数据的时候出现乱码可以通过在@@RequestMapping( produces = “application/json; charset=utf-8”),可以解决回显数据为引用数据类型时,要导入一些JSON的依赖<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactI.
2021-01-07 21:18:13
73
原创 启动web项目遇到的一些问题
不用骨架创建spring-web工程刚创建好的项目结构此时是没有web模块的,需要右键需要添加web模块的module—>Add Framework support —>打勾Web-Application即可已经存在web,但没有web标记web目录应该有的样子:解决方法:进入Project Structure,点击右侧Modules,选中要操作的module,点击上方的+号按钮在下方的添加路径,点击右侧的edit按钮,将已有的web目录添加当遇到pom..
2021-01-07 12:37:15
296
原创 java之多线程基础
1.线程简介任务、进程、线程、多线程程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。而进程是执行程序的一次执行过程,它是一个动态的概念,是系统资源分配的单位。通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义。线程就是独立的执行路径线程是CPU调度和执行的单位。2.线程创建三种方式:继承Thread类、实现Runnable接口、实现Callable接口(1)Thead类步骤:自定义线程类继承Thread类重写run()方法,编写
2020-12-29 15:44:17
149
原创 java之注解与反射
一、注解1、元注解负责注解其他注解,Java定义了四个标准的meta-annotation@Target:用于描述注解的使用范围(被描述的注解可以用在什么地方)@Retention:表示需要在什么级别保存该注释信息,用于描述注解的生命周期SOURCE < CLASS < RUNTIME(默认)@Document:表示是否将注解生成在JAVAdoc中@Inherited:表示子类可以继承父类中的注解2、自定义注解public @interface MyTi
2020-12-25 13:57:16
122
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人