自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(79)
  • 资源 (1)
  • 收藏
  • 关注

原创 记一次三维动态规划(股票买卖最佳时机)的优化,耗时从击败(20%,5%)到击败(99%,65%)

力扣的股票买卖问题如下。123题k=2,188题k不定。给定一个整数数组 prices ,它的第 i 个元素 prices[i] 是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。采用动态规划。状态转移图:这个问题的「状态」有三个,第一个是天数,第二个是允许交易的最大次数,第三个是当前的持有状态。所以这是个三维DP问题。状态转移方程:dp[i][k][j]:i 为天数,k为最多交易天数,j为当前是否持有。dp[i][k][0] =

2021-07-12 23:06:27 312 3

原创 双指针题集

11. 盛最多水的容器①暴力法class Solution { public int maxArea(int[] height) { int max = Integer.MIN_VALUE; for(int i = 1; i < height.length; ++i){ // 以i为末边界 for(int j = 0; j < i; ++j){ max = Math.max(max, Math.m

2021-06-01 23:29:30 145

原创 动态规划题集(背包问题等)

有了四步解题法模板,再也不害怕动态规划!例题120. 三角形最小路径和class Solution { public int minimumTotal(List<List<Integer>> triangle) { for(int i = triangle.size()-1; i > 0 ; i--){ for(int j = 0; j < i ; j++){ triangle.get(

2021-05-23 21:12:04 442

原创 高可用:降级-熔断-限流-Hystrix

1.熔断1.1 熔断来源我们家用电闸上都有保险丝模块,当电压出现短路问题时,自动跳闸,此刻电路主动断开,我们的电器就会收到保护。否则,不能断开,后果不堪设想。保险丝就是一个自我保护装置,保护整个电路。1.2 分布式系统中的熔断在分布式系统中,我们往往需要依赖下游服务,不管是内部系统还是第三方服务,如果下游出现问题,我们还是盲目地去请求,及时失败了多次,还是傻傻的去请求,去等待。这样,一是增加了整个链路的请求时间第二,下游系统本身就出现了问题,不断的请求又把系统问题加重了,恢复困难。1.3 熔

2021-04-24 22:33:18 429

转载 分布式 Git - 分布式工作流程

你现在拥有了一个远程 Git 版本库,能为所有开发者共享代码提供服务,在一个本地工作流程下,你也已经熟悉了基本 Git 命令。你现在可以学习如何利用 Git 提供的一些分布式工作流程了。这一章中,你将会学习如何作为贡献者或整合者,在一个分布式协作的环境中使用 Git。 你会学习为一个项目成功地贡献代码,并接触一些最佳实践方式,让你和项目的维护者能轻松地完成这个过程。另外,你也会学到如何管理有很多开发者提交贡献的项目。分布式工作流程与传统的集中式版本控制系统(CVCS)相反,Git 的分布式特..

2020-11-23 17:01:52 194

原创 c++重载操作符,operator 与&operator

1.1 whatoperator 是C++的一个关键字,它和运算符(如=)一起使用,表示一个运算符重载函数,在理解时可将operator和运算符(如operator=)视为一个函数名。使用operator重载运算符,是C++扩展运算符功能的方法。使用operator扩展运算符功能的原因如下:使重载后的运算符的使用方法与重载前一致 扩展运算符的功能只能通过函数的方式实现(实际上,C++中各种“功能”都是由函数实现的)1.2 why对于C++提供的所有操作符,通常只支持对于基本数据类型.

2020-11-16 10:29:53 4914

原创 百分位(percentile)是什么概念?怎么理解第95个百分位(95th percentile)

百分位是用来定位的。管中窥豹,可见一斑。 如果知道某数在一个有序排列的集合中,处于什么位置,我们就对整个数据集合就有了概念。 比如班里有100个学生,某次考试成绩出来,你拿到了85分,想知道自己处于班里什么水平,有没有挤进前5%。那就把大家的成绩从低到高排列,排到你85分是在第95个,那恭喜,有95%的人都比你低(ps:我理解的是班上有95%...

2020-04-15 20:49:21 51977 6

原创 QQ第三方登陆的那些坑(不同应用的用户openid不一致),存量用户OpenID转UnionID的方法

在准备发布NiterApp的时候发现QQ互联平台下不同应用的openid是不一致的,由于qq互联web版和app版的应用不同,所以同一用户授权登录后获取到的openid是不同的。换句话说,因为之前数据库存储的是用户的openid,所以同一用户在web端和app端授权后将会创建、登录一个不同的账号。这样是肯定不符合需求的。为了不同应用之间进行用户信息互通,NiterForum最新版本将保存用...

2020-04-02 18:32:17 2182 6

原创 【NiterForum2.0】基于Springboot2.X的论坛/社区/BBS系统(Thymeleaf+layui+mybatis),有配套APP,适合初学者学习,交流以及毕业设计参考(附源码)

尼特社区-NiterForum-一个论坛程序,几乎具有一个论坛/社区所应该有的全部功能-后端Springboot-前端Thymeleaf-可供初学者,学习、交流使用,也可用于大学毕业生的毕业设计参考(仅供参考!),暂不建议用于正式用途。喜欢的话,恳请在Github与Gitee上给个star(*❦ω❦)在线体验https://niter.cn/技术栈SpringBoot框架。 Th...

2020-02-25 22:39:47 1238 2

原创 解决安装SSL后,通过https访问出现“您与此网站建立的链接并非完全安全”提示的问题

之前安装SSL并配置https访问之后,通过谷歌等浏览器访问出现这个提示:原因是我们的页面存在一些不安全的http请求,比如图片、js等静态文件。我们只需要将其升级为https请求即可。页面的head中加入:<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">...

2020-02-25 22:24:13 5182

原创 【Github】更新官方推荐的使用access_token安全访问API的方式,用Authorization HTTP header代替query paramet,旧方式即将被废弃

之前一直没注意邮件,在群里朋友的提醒下发现Github给我发了这样的一篇邮件,见下图重点我已经标出来了,大意是说请将access_token通过作为Authorization HTTP header中的参数传输,而不是作为url中的参数明文传输。官方文档是这么写的:之前我在项目中是这么写的。 Request request = new Re...

2020-02-07 23:59:43 6096 15

原创 【JAVA笔记】SpringBoot 2安装SSL配置HTTPS,并实现HTTP自动跳转HTTPS访问,或同时启用http与https访问

本次用于测试的尼特社区使用的是Spring boot 2.1.6版本,理论上2.X都能成功。一、申请、下载SSL证书。(已申请的忽视此步骤)腾讯云、阿里云、UCLOUD都提供免费的证书,可以去申请下载。各平台大同小异,下面以腾讯为例。腾讯云地址:https://cloud.tencent.com/product/ssl①登陆后进入腾讯云控制台:https://console.clo...

2020-02-01 21:49:14 945

原创 【JAVA笔记】记一次HandlerInterceptor处理器拦截优化,解决preHandle()执行多次的问题

1.简介preHandle方法是进行处理器拦截用的,顾名思义,该方法将在Controller处理之前进行调用。SpringMVC中的Interceptor拦截器是链式的,可以同时存在多个Interceptor,然后SpringMVC会根据声明的前后顺序一个接一个的执行,而且所有的Interceptor中的preHandle方法都会在Controller方法调用之前调用。(SpringMVC...

2020-02-01 20:30:21 4346

转载 JAVA_堆内存与栈内存的区别

Java把内存划分成两种:一种是栈内存,一种是堆内存。 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 堆内存用来存放由new创建的对象和数组。在堆中分配的内存,由...

2019-11-10 20:27:00 537

原创 J2EE与javaweb的区别

1、Java分类 Java分为JavaSE(Java标准版)、J2EE(Java企业版)和JavaME(Java微型版); JavaSE(Java Standard Edition),一般用来开发桌面应用程序,但是在开发桌面应用程序上相对VB,Delphi,VC++并没有什么优势。 JavaEE(Java Enterprise Edition),一般用于开发JavaWeb应...

2019-10-20 17:47:49 1389 1

原创 【嵌入式笔记】13.虚拟机上网的问题,shell的Tab键自动补全与历史记录

1、虚拟机linux上网问题1.1、VMware中虚拟机网络的三种设置第一种:桥接(bridged)第二种:NAT第三种:Host only 。该模式下仅主机可以上网,虚拟机不能上网。1.2、虚拟机上网方式1:NAT方式(Network Address Translation,网络地址转换)设置步骤:第一步:在菜单栏 虚拟机 -> 设置 -> 硬件 -> 网络适配...

2019-10-11 20:13:32 779

原创 【嵌入式笔记】12.linux高阶命令(find,grep,which,whereis,uname,开关机,tree/lstree,mount/umount,sed/awk,磁盘,用户,权限,文件)

1.1、find功能:在linux文件系统中,用来查找一个文件放在哪里了。举例:find /etc -name "interfaces"总结:(1)什么时候用find?当你知道你要找的文件名,但是你忘记了它被放在哪个目录下,要找到该文件时,用find。(2)怎么用find? find 路径 -name "文件名"1.2、grep功能:在一个文本文件中,查找某个词。命...

2019-10-11 19:35:17 176

原创 【嵌入式笔记】11.普通用户与特权用户 su命令切换用户,ubuntu中使用sudo暂时获取root权限

3.3、linux中权限表示&管理3.3.1、普通用户与特权用户 su命令切换用户(su,Switch user切换用户)Windows中有普通用户和特权用户,特权用户是Administrator,普通用户可以有很多个。特权用户是系统的管理员,对系统内所有文件具有操作权限。每个普通用户只能处理自己的文件,不能访问其他用户的文件,更不能随意处理操作系统的文件。Linux中也有普通用...

2019-10-11 15:31:54 487

原创 【嵌入式笔记】9.什么是编辑器_vi和vim的关系,vi的两种工作模式,查找_快速切换行_设置显示行号

3、编辑器vi的使用(vi和vim的联系)什么是编辑器?编辑器就是一款软件,它的主要作用就是用来编辑。譬如编写文件,编写代码。Windows中的常用编辑器,如自带的notepad。比较好用的notepad++,UltraEditor,SlickEditorLinux中常用编辑器,自带的最古老的vi。比较好用的vim,gedit。注:vi和vim的关系:vim是vi的升级版,推荐使用vim。...

2019-10-10 15:26:10 408

原创 【嵌入式笔记】10.linux命令行中一些符号的含义

. 代表当前目录 .. 代表上一层目录,当前目录的父目录 - 代表前一个目录,我刚才从哪个目录cd过来 ~ 代表当前用户的宿主目录 / 代表根目录 $ 普通用户的命令行提示符 # root用户的命令行提示符 * 万能匹配符...

2019-10-10 14:52:18 321

原创 【嵌入式笔记】7.linux常用命令

(1) ls(list,列表)作用:使用列表把当前文件夹下所有文件显示出来 ls -a 显示所有文件,包括隐藏文件 ls -i 查看文件/文件夹的inode ls -l 以详细信息显示(Linux ls -l 各字段解释,硬链接软连接) ls -a -l ls -l -a ls -la ls -al 四种方式都是可以的...

2019-10-04 22:04:26 151

转载 【嵌入式笔记】8.Linux ls -l 各字段解释,硬链接软连接

以root的家目录为例:可以看到,用ls -l命令查看某一个目录会得到一个7个字段的列表。第1行:总计(total)Total后面的数字是指当前目录下所有文件所占用的空间总和。可以使用ls –lh查看,也可使用ls –alh查看。第1字段: 文件属性字段-rw-r–r– 1 root root 762 07-29 18:19 exit文件属性字段总共有10个字母组成;第一个字...

2019-10-04 21:43:28 403

原创 【嵌入式笔记】6.linux内核、发行版,GUI(图形用户界面)和cmdline(命令行)

6.1、linux内核、发行版linux本身指的是一个操作系统内核,只有内核是无法直接使用的。我们需要的,可以使用的操作系统是一个包含了内核和一批有用的应用程序的一个集合体,这个就叫linux发行版。ubuntu、centos、redhat就是linux的不同的发行版。6.2、GUI(图形用户界面)和cmdline(命令行)GUI:grahics user interface,图...

2019-10-04 21:11:40 633

原创 【嵌入式笔记】5.相对路径与绝对路径

什么是路径:路径是用来标识一个文件在操作系统的文件系统中存储位置的。pathname举例:D:\winshare\enum.c 全路径 pathname(path+name)D:\winshare 路径 pathenum.c 文件名 name绝对路径:路径是从绝对位置开始的。譬如Windows中从某一个盘...

2019-10-04 20:53:54 405

原创 【嵌入式笔记】4.隐藏文件与非隐藏文件

Windows中:文件隐藏与不隐藏通过设置文件属性实现的,可以点击文件,右键属性,选择勾选隐藏选项来设置文件为隐藏文件。。在Windows中查看隐藏文件方法:菜单栏 工具->文件夹选项->查看->显示所有文件和文件夹。Linux中:linux中隐藏文件特点是文件名以.开头,跟文件属性无关。在linux中查看隐藏文件用ls -a命令(普通显示ls)。...

2019-10-04 20:50:04 291

原创 【嵌入式笔记】3.搭建linux开发环境

涉及到两个东西:虚拟机软件+linux系统虚拟机软件:就是一个单纯的在windows中运行的软件,跟word、360没有本质区别。现在主流的虚拟机软件有VMWare和VirtualBox。虚拟机软件在windows系统中运行,运行后它会模拟出来一个电脑,所以叫虚拟机。然后我们可以在该虚拟机中安装别的操作系统。当前,可以先使用事先安装好的aston_ubuntu,密码是root。网上有安装教程...

2019-10-04 20:39:55 115

原创 【嵌入式笔记】2.多机开发:双系统与虚拟机

开发嵌入式程序,需要linux环境。但是因为:windows中有许多很好用的软件,如notepad++,SourceInsight,所以也需要windows。既需要windows,又需要linux。三种方案:第一种:双系统,不方便第二种:虚拟机,方便,损失性能,与真机微小差异第三种:两台电脑,不方便现实中:个人开发者:虚拟机大公司:服务器+客户端...

2019-10-04 20:37:05 574

原创 【嵌入式笔记】1.当前主流操作系统及其特点

Windows与linux的关系当前主流的操作系统:windows、、android、iOS、symbian、linux/unixWindows:傻瓜式、好学习、工资低Linux:linux认为每一个用户都是专业人士,操作麻烦,学习比较难,免费的、开源的,linux性能好,可移植性好,好的设计理念Android:移动操作系统,android基于linuxiOS:很优秀,创造性,走钢丝嵌入式操...

2019-10-04 20:26:11 1222

转载 【Maven笔记】07:Maven创建、部署Web工程

部署Web工程:war通过maven直接部署运行web项目:a.配置cargob. maven命令:deploy实际开发中,开发人员 将自己的项目开发完毕后,打成war包(package) 交给实施人员去部署; <build> <finalName>WebProjectName</finalName> <plugins> ...

2019-07-10 14:29:39 133

转载 【Maven笔记】06:Maven继承与聚合的实现

打包方式:java工程——jarweb项目-war父工程-pom继承实现步骤:1.建立父工程: 父工程的打包方式为pom2.在父工程的pom.xml中编写依赖:<dependencyManagement> <dependencies> <dependency>3.子类: 给当前工程 继承一...

2019-07-07 18:02:29 120

转载 【Maven笔记】05:依赖原则、统一版本、统一编码

1.依赖原则:为了防止冲突 a.路径最短优先原则 b.路径长度相同: i.在同一个pom.xml文件中有2个相同的依赖(覆盖):后面声明的依赖 会覆盖前面声明的依赖 (严禁使用本情况,严禁在同一 个pom中声明2个版本不同的依赖) ii.如果是不同的 pom.xml中有2个相同的依赖(优先):则先声明的依赖 ,会覆盖后声明的依赖(JDK只能够识别 source fol...

2019-07-07 15:54:26 192

转载 【Maven笔记】04:依赖排除、依赖有效性、依赖传递性、通过Maven整合多个项目

1.依赖的范围、依赖的有效性 compile(默认) test provided2.依赖排除 A.jar ->B.jar 当我们通过maven引入A.jar时,会自动引入B.jar A.jar(x.java ,y.java,z.java) B.jar(p.java c.java i.java) A.jar和B.jar之间的 依赖的...

2019-07-07 14:51:59 151

转载 【Maven笔记】03:Maven依赖、依赖有效性、Eclipse中使用Maven、生命周期

依赖:commons-fileupload.jar --> commons-io.jarA中的某些类 需要使用B中的某些类,则称为A依赖于B在maven项目中,如果要使用 一个当时存在的Jar或模块,则可以通过 依赖实现(去本地仓库、远程仓库去寻找)A jar -> B jar <dependency> <groupI...

2019-07-07 13:57:59 215

转载 【Maven笔记】02:Maven安装配置、目录结构、配置文件、常用命令

1.下载配置maven a.配置JAVA_HOME b.配置MAVEN_HOME : D:\apache-maven-3.5.3\bin M2_HOME c.配置path %MAVEN_HOME%\bin d.验证 mvn -v e.配置本地仓库 maven目录/conf/setti...

2019-07-05 18:29:23 144

转载 【Maven笔记】01:Maven基础概念、仓库、构建与部属

1.maven的作用 a. i.增加第三方Jar (commons-fileupload.jar commons-io.jar) ii.jar包之间的依赖关系 (commons-fileupload.jar 自动关联下载所有依赖的Jar,并且不会冲突) b.将项目拆分成若干个模块2.Maven概念: 是一个基于Java平台的自动化构建工具 ...

2019-07-02 17:07:20 140

转载 【SpringMVC笔记】7、视图解析器常见功能,处理静态资源,类型转换器,数据格式化

InternalResourceViewResolver其他功能:1.<mvc:view-controller ...>index.jsp -> Controller(@RequsetMapping("a")) ->succes.jsp要用SpringMVC实现:index.jsp -> succes.jsp :<mvc:view-control...

2019-05-09 21:10:35 241

转载 【SpringMVC笔记】4、视图、视图解析器、国际化(i18n)

2.视图、视图解析器视图的顶级接口:View视图解析器:ViewResolver常见的视图和解析器:InternalResourceView、InternalResourceViewResolverpublic class JstlView extends InternalResourceView:springMVC解析jsp时 会默认使用InternalResourceVie...

2019-05-09 00:50:23 207

转载 【SpringMVC笔记】6、国际化常见的资源文件命名

资源文件名 简介 基名_en.properties 所有英文语言的资源 基名_en_US.properties 针对美国地区、英文语言的资源 基名_zh.properties 所有的中文语言的资源 基名_zh_CN.prop...

2019-05-09 00:08:34 722

转载 【SpringMVC笔记】5、View实现类简介

视图类型 简介 URL视图资源图 InternalResourceView 将JSP或其他资源封装成一个视图。被视图解析器InternalResourceViewResolver默认使用。 JstlView InternalResourceView的子类。 ...

2019-05-08 23:55:25 415

转载 【SpringMVC笔记】9、SSM整合

SSM整合:Spring - SpringMVC - MyBatis1.Spring - MyBatis : 需要整合:将MyBatis的SqlSessionFactory 交给Spring2Spring - SpringMVC : 就是将Spring - SpringMVC 各自配置一遍思路: SqlSessionFactory -> Sql...

2019-05-03 21:46:17 184

NiterForum-基于Springboot2.X的论坛/社区/BBS系统(Thymeleaf+layui+mybatis),有配套APP,适合初学者学习

尼特社区-NiterForum-一个论坛程序,几乎具有一个论坛/社区所应该有的全部功能-后端Springboot/MyBatis/Maven/MySQL-前端Thymeleaf/Layui-可供初学者,学习、交流使用。同时我也更新了NiterApp,完美适配NiterForum,欢迎下载体验。 项目视频介绍:https://www.bilibili.com/video/av93706388 web在线体验:https://niter.cn/forum app下载:https://m3w.cn/niter

2020-05-04

空空如也

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

TA关注的人

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