自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Emory的博客

Coding Life

  • 博客(31)
  • 收藏
  • 关注

原创 Docker 学习笔记

Docker 执行 Docker Run [image] 的流程:1、命令执行2、Docker会在本机寻找镜像3、判断本机是否有这个镜像:1)有,使用这个镜像运行2)没有,去DockerHub下载:(1)没有,返回错误(2)有,下载到本地底层原理:Docker是怎么工作的?Docker 是一个Client&&Server结构的系统,Docker的守护进程运行在主机上,通过Socket从客户端访问DockerServer 接收到Docker-Client的指令,就会执行这个命

2022-02-13 14:17:44 470

原创 Java JUC包学习笔记(java.util.concurrent)

JUC包学习什么是JUC包?JUC包:jdk中java.util.concurrent包,从jdk1.5后开始出现,用来解决java中多线程编程问题在学习之前先复习一下计算机操作系统进程和线程之间的区别:进程:系统进行资源调度的基本单位。线程:CPU进行资源调度的基本单位。创建线程的三个方法1)继承线程Thread类2)实现Runable接口(常用线程实现方法)3)实现Callable接口(这里常用于有返回值的线程实现)Case 1 继承线程Thread类创建线程:public cla

2022-02-13 14:03:38 380

原创 设计模式(策略模式)

策略模式概述定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于算法的客户。面向对象编程的特性1)抽象2)封装3)多态4)继承原则1、(封装变化)找出应用中可能需要变化之处,把他们独立出来,不要和那些不需要变化的代码混合在一起2、(针对接口编程,而不是针对实现编程)即多去实现接口少用继承类的方式,因为Java语言是单继承允许多实现ps:在oo系统中,类一般都是由状态(实例变量)又有方法,但是在这个例子中,行为也可以作为一个类,因为行为也可以有实例变量,有它的状态和

2021-12-06 17:28:27 254

原创 LeetCode第383题(赎金信)

题目描述:为了不在赎金信中暴露字迹,从杂志上搜索各个需要的字母,组成单词来表达意思。给你一个赎金信 (ransomNote) 字符串和一个杂志(magazine)字符串,判断 ransomNote 能不能由 magazines 里面的字符构成。如果可以构成,返回 true ;否则返回 false 。magazine 中的每个字符只能在 ransomNote 中使用一次。链接:https://leetcode-cn.com/problems/ransom-note思路:ransomNode 字符串

2021-12-04 23:57:48 2607

原创 LeetCode第1005题 (k次取反后最大化的数组和)

题目描述:给你一个整数数组 nums 和一个整数 k ,按以下方法修改该数组:选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。重复这个过程恰好 k 次。可以多次选择同一个下标 i 。以这种方式修改数组后,返回数组 可能的最大和 。思路:先对原数组进行一个排序,先将在k次范围内的负数变为正数,如果k在变为正数后还有剩余的次数,就将k对2取余,再次对数组进行排序,如果k是0说明k是个偶数,数组就全为正数,否则的话将数组第一个元素变为负数,再进行累加得出的就是最大化的数组和链接:h

2021-12-03 23:58:12 476

原创 LeetCode第70题 (爬楼梯)

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶链接:https://leetcode-cn.com/problems/climbing-stairs思路:每次求n总和前面两项有关,可以使用递归,但这里也是用的迭代,求一个数组,返回第n项class Solution { public int

2021-11-19 23:50:33 3763

原创 LeetCode1137题 (第 N 个泰波那契数)

题目描述:泰波那契序列 Tn 定义如下:T0 = 0, T1 = 1, T2 = 1, 且在 n >= 0 的条件下 Tn+3 = Tn + Tn+1 + Tn+2给你整数 n,请返回第 n 个泰波那契数 Tn 的值。链接:https://leetcode-cn.com/problems/n-th-tribonacci-numberep:输入:n = 4输出:4解释:T_3 = 0 + 1 + 1 = 2T_4 = 1 + 1 + 2 = 4思路:从例子上看,这题跟509题的相类

2021-11-18 20:34:32 2231

原创 LeetCode509题 (斐波那契数)

题目描述:斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0,F(1) = 1F(n) = F(n - 1) + F(n - 2),其中 n > 1;思路:看到题目就很容易想到用递归去解题,但是当n比较大时,递归的层数是比较多的,然后下面是用空间去换时间,也就是常规的动态规划解法,把一个大问题,分解成一个个小问题,定义数组时需要注意的是,数组长度必须是n+1,因为我们要返回的是第n个位置的

2021-11-18 17:23:36 2713 1

原创 LeetCode34题(在排序数组中查找元素的第一个和最后一个位置)

题目描述:给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。思路:用两次二分查找,分别找出该元素的上限,和下限,主要是找到目标值后并不用立即跳出循环,而是继续让它执行,直到左右指针重合;然后就找到了该值的范围代码:class Solution { public int[] searchRange(int[] nums, int target) { int

2021-11-05 15:49:42 895

原创 LeetCode74题搜索二维矩阵

编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户链接:https://leetcode-cn.com/problems/search-a-2d-matrix思路:先从矩阵的第一列开始,用一次二分查找,如果第一次行的mid值所对应的元素大于或小于要搜索的值,再对该行的所有列进行二分查找,如果找到返回true,没再该行找

2021-11-05 15:40:00 85

原创 LeetCode第7题(整数反转)

题目描述:给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。链接:https://leetcode-cn.com/problems/reverse-integerint类型取值范围 -2的31次方到2的31次方-1;思路:每次从末位开始取,乘10与剩下的每位依次相加,需要考虑反转后会int类型会溢出的问题,所以增加了一个条件

2021-11-04 14:30:13 881

原创 LeetCode14题(最长公共前缀和)

题目描述:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入:strs = [“flower”,“flow”,“flight”]输出:“fl”题目链接:https://leetcode-cn.com/problems/longest-common-prefix/思路:依次扫描第一个字符串的字符,然后循环扫描剩下字符串的的相同位置字符,如果剩下字符串前面都匹配,即全部扫描完或者(相同位置上)扫描到不一样的字符就提前结束,否则就返回第一个字符串;i

2021-11-01 11:13:34 395

原创 LeetCode575题(分糖果)

题目描述:给定一个偶数长度的数组,其中不同的数字代表着不同种类的糖果,每一个数字代表一个糖果。你需要把这些糖果平均分给一个弟弟和一个妹妹。返回妹妹可以获得的最大糖果的种类数。链接:https://leetcode-cn.com/problems/distribute-candies思路:1、妹妹和弟弟糖果数要一样,即数组长度的一半2、糖果种类数不可能超过糖果数,即最大糖果种类数只能是糖果数3、妹妹获得的糖果种类最多用哈希表统计糖果种类,计算出糖果种类数和糖果总数的一半,返回两个中的最小值cla

2021-11-01 11:06:10 394

原创 LeetCode66题(加一)

题目描述:给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。题目链接:https://leetcode-cn.com/problems/plus-one/执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户内存消耗:36.5 MB, 在所有 Java 提交中击败了98.28%的用户思路:一开始想的是先把数组里面的数算出来一个整数,加1后再进行

2021-11-01 00:19:41 87

原创 LeetCode58题(最后一个单词的长度)

LeetCode 58题 最后一个单词的长度链接:https://leetcode-cn.com/problems/length-of-last-word/submissions/给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中最后一个单词的长度。单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。执行用时0ms,使用内存36.3MB思路:定义一个指向字符串后面的指针,和两个作为标志的变量(一个标志是否出现了第一个字符不是空格的,另一个标志表示在出现了第一个字.

2021-10-30 10:44:31 94

原创 LeetCode695题求最大岛屿面积(DFS深度优先算法)

求最大岛屿面积 No.695题目描述:给你一个大小为 m x n 的二进制矩阵 grid 。岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。岛屿的面积是岛上值为 1 的单元格的数目。计算并返回 grid 中最大的岛屿面积。如果没有岛屿,则返回面积为 0 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/max-a

2021-10-23 14:07:44 415

原创 二分查找mid值问题

数据结构笔记二分查找:二分查找中为什么要不用 mid = (low+high)/2,而是使用 low + (high-low)/2,因为int 类型有范围,对于32位无符号整数相加时,相加太大就会溢出,而使用mid = low+(high-low)/2就解决了这个溢出的问题.二分查找可以用循环和递归两种方式实现;...

2021-10-12 13:52:38 98

原创 Maven 打包时排除Src/Java包下的java文件

Maven 打包时排除Src/Java包下的java文件项目结构如下所示:打包编译时,想去掉Test包下的所有测试类java文件,这时候可以在Pom.xml中添加<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-pl

2021-05-27 08:42:18 1864

原创 Linux编程-多线程实现一家人吃水果问题(C语言)

一家人吃水果问题(多线程)一家人吃水果问题是生产者消费者问题的一种变形。问题如下:桌子上有一只盘子,每次只能放一个水果;爸爸专向里面放苹果,妈妈专放桔子;儿子专吃苹果,女儿专吃桔子;仅当盘子空闲时,爸爸妈妈才可以向里面放水果;仅当盘子里有自己需要的水果时,儿子女儿才可以从里面取出一只水果。试利用线程模拟这个问题,并进行正确的同步。#include<stdio.h>#include<stdlib.h>#include<pthread.h>#incl

2021-05-26 15:33:31 5629 1

原创 SpringBoot 学习笔记

SpringBoot 注意事项1、SpringBoot pom.xml文件可以不用指定jdk运行的版本,如果指定了版本与当前电脑运行的jdk版本不一致,会导致maven install 时出现 Compile 错误,利用 Maven 创建 SpringBoot 的 pom.xml文件代码如下:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

2021-05-23 15:55:35 109

原创 JPA插入时出现(save the transient before flushing) 解决办法

JPA插入时出现(save the transient before flushing) 解决办法情景分析:出现bug的时候,是由于用jpa对两个实体类进行了关联,例如:学生类和学校类两个类,学生类中引入了学校类(即关联了某些字段)这个时候如果我们不设级联cascade为all的话,就会报错,但是级联为all又会出现其他问题,这个时候我们就可以进行手动保存,先保存学校类,再调用学生类的set方法,最后进行对学生类的保存.两个类:User类:awardRecord类:...

2020-12-20 12:15:22 1172 1

原创 JavaScript快速入门-字符串

字符串主要学习JavaScript字符串的一些常用的函数JavaScrip的字符串就是用单引号和双引号括起来的字符表示如果'本身是一个字符,可以用""括起来,比如"I'm OK"包括的字符是I,',m,空格,O,K如果字符串内既包含单引号又包含双引号,可以用转义字符\来标识,比如:'I\'m\"OK\"!';转义字符\\n表示换行符\t表示制表符字符\本身也要转义,所以\\表示的字符就是\ASCII字符串可以以\x##形式的十六进制表示,例如'\x41';//完全等同于'A'还可

2020-09-05 16:36:53 87

原创 JavaScript快速入门-(基本语法、数据类型和变量)

**JavaScript快速入门**基本语法JavaScript的语法和Java语言类似,每个语句以;结束,语句块用{…},但javaScript不像java那样必须每个语句后面强制加;。浏览器中负责JavaScript代码的引擎会自动在每个语句的结尾补上;。PS:JavaScript引擎自动加分号可能在某些情况下会改变程序的语义,导致运行结果与期望不一致,所以每个语句后面最好还是手动加上分号。赋值语句一个完整的赋值语句:var x = 1;下面这行代码是一个字符串,仍然可以视为一个

2020-09-05 15:58:11 155 1

原创 JavaScript学习笔记(JavaScript 简介)-Day1

**JavaScript简介**用途:在静态HTML页面上添加一些动态效果开发者:Brendan Eich,虽然名字叫JavaScript,除了语法上像Java,其他跟Java没啥关系ECMAScript开发:微软公司,联合ECMA组织定制了JavaScript语言的标准,被称为ECMAScript标准ECMAScript是一种语言标准,而JavaScript是网景公司对ECMAScript标准的一种实现JavaScript版本JavaScript的标准–ECMAScript,最新版ECM

2020-09-05 13:43:42 102

原创 树莓派没有路由器,连接手机热点使用

一、填写配置信息1、把树莓派的系统卡插到电脑上2、在boot盘中新建一个ssh空文件,不要加后缀名,整个名字就是ssh。3、再在boot盘中创建一个wpa_supplicant.conf文件,里面代码为:country=GBctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdevupdate_config=1network={ ssid="此处填手机热点的名称,注意手机热点不能有中文字符" psk="手机热点密码" priority=

2020-08-22 12:19:10 4972 4

原创 阿里云ECS服务器搭建Java Web网络环境

-阿里云ECS服务器搭建Java Web网络环境1、SSH登录阿里云服务器2、安装JDK1、安装yum命令:apt install yum执行以下命令,查看yum源中JDK版本在这里插入代码片

2020-08-11 17:07:47 253

原创 阿里ECS服务器构建离线下载器

开通ECS服务器部署离线下载服务器1、在服务器(国内)执行:bash <(curl -Lskhttps://raw.githubusercontent.com/helloxz/ccaa/master/ccaa.sh) cd根据提示选择安装2、自动安装,自行选择下载路径3、然后需要我们输入秘钥,不含特殊字符即可,输入完成后就可以到这一步4、常⽤命令ccaa:进⼊CCAA操作界⾯ccaa status:查看CCAA运⾏状态ccaa stop:停⽌CCAAccaa start:

2020-08-10 18:20:04 175

原创 阿里云ECS服务器和微擎构建微信公众号管理系统

基于阿里云+微擎构建微信公众号管理系统服务器安装(这里不做介绍)服务器用的系统是Ubuntu lamp环境安装微擎引擎1、新建一个old目录,把之前的文件放到这个目录里面去cd /data/wwwroot/defaultmkdir oldmv * /data/wwwroot/default/old2、下载,安装微擎,服务器中输入wget http://cdn.w7.cc/download/WeEngine-Laster-Online.zip然后,解压,得到一个install.php

2020-08-08 18:10:56 331

原创 阿里云ECS服务器搭建Wiki知识库

配置云服务器环境这里用到的镜像是内置lamp环境,apache php,mysql安装Wiki包下载链接:https://releases.wikimedia.org/mediawiki/1.29/mediawiki-1.29.1.tar.gz两个方法,一个用ftp上传,也可以直接在服务器命令行输入,但第一种下载速度比较快wget https://releases.wikimedia.org/mediawiki/1.29/mediawiki-1.29.1.tar.gz进入/data/www

2020-08-07 15:05:13 578

原创 IDEA2020.1 创建 SpringBoot 项目后运行时找不到程序包

IDEA2020.1 创建 SpringBoot 项目后运行时找不到程序包问题:经历过各种reimport ,导入依赖后,没有报错。期间也试过清空过仓库,然而build之后仍然提示没有找到程序包解决办法原因是之前在setting.xml配置过本地仓库1、首先找到meaven的安装路径,找到conf文件夹下的setting.xml2、这里我把它注释掉了3、同时在IDEA setting中找到把图标中的选项勾上,保存4、修改本地仓库位置可以在IDEA这个地方改最后,试着重新reimpor

2020-08-07 11:38:38 1607 3

原创 阿里云ECS服务器和Vuepress实现静态博客

ECS 服务器进阶打卡 Day1Vuepress制作静态博客步骤开通服务器安装vuepress配置vuepress1、开通服务器(这里不做详细描述)得益于阿里云高校计划,之前领取了一台ECS服务器,系统是CentOs配置安全组,开放8080端口然后通过SSH连接上自己的服务器,这里推荐一个连接的软件,不用每次都输密码(MobaXterm)2、安装node和vuepress登录进ECS服务器后,在命令框中执行下面代码块安装nodewget https://npm.taobao.

2020-08-06 19:42:32 264

空空如也

空空如也

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

TA关注的人

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