自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(147)
  • 资源 (3)
  • 收藏
  • 关注

原创 Leetcode-动态规划-玩游戏

174. 地下城游戏514. 自由之路-- 难787. K 站中转内最便宜的航班-- 好难啊import java.util.*;class Solution { int src, dst; // key是终点,val是[起点,权重] HashMap<Integer, List<int[]>> indegree; int[][] memo; //给你一幅加权有向图,让你求 src 到 dst ...

2021-08-27 15:54:55 992

原创 Leetcode-动态规划-贪心算法

435. 无重叠区间452. 用最少数量的箭引爆气球1024. 视频拼接55. 跳跃游戏45. 跳跃游戏 II

2021-08-27 15:52:10 971

原创 Leetcode动态规划-背包问题

416. 分割等和子集压缩方程:518. 零钱兑换 II压缩方程:int change(int amount, int[] coins) { int n = coins.length; int[] dp = new int[amount + 1]; dp[0] = 1; // base case for (int i = 0; i < n; i++) for (int j = 1; ...

2021-08-27 15:49:59 976

原创 Leetcode-动态规划-子序列问题

300. 最长递增子序列354. 俄罗斯套娃信封问题1143. 最长公共子序列712. 两个字符串的最小ASCII删除和516. 最长回文子序列

2021-08-27 15:46:44 820

原创 Leetcode-动态规划-基本框架

动态规划解法代码框架:递归算法的时间复杂度=算法本身的复杂度*递归调用次数322. 零钱兑换备忘录写法:通过dp数组来记录:72. 编辑距离931. 下降路径最小和494. 目标和方式一:回溯+消除重叠子问题方式二:动态规划--绝绝子转化为了背包问题然后,发现这个dp[i][j]只和前一行dp[i-1][..]有关,那么肯定可以优化成一维dp:/* 计算 nu...

2021-08-27 15:44:11 936

原创 Leetcode-数据结构-容器

341. 扁平化嵌套列表迭代器

2021-08-27 15:39:37 714

原创 Leetcode-数据结构-二叉树

https://leetcode-cn.com/problems/convert-bst-to-greater-tree/solution/yi-tao-quan-fa-shua-diao-nge-bian-li-shu-de-wen-5/124. 二叉树中的最大路径和105. 从前序与中序遍历序列构造二叉树99.恢复二叉搜索树51. N 皇后116. 填充每个节点的下一个右侧节点指针114. 二叉树展开为链表652. 寻找重复的子...

2021-08-27 15:38:38 769

原创 Leetcode-数据结构-链表

反转链表--递归反转链表前 N 个节点--递归92. 反转链表 II非递归写法:递归解法:25. K 个一组翻转链表234. 回文链表方式一:类比树的后序遍历的思想,递归方式二:双指针找到中间的位置,将右半部分逆序,然后比较...

2021-08-27 15:31:13 747

原创 Leetcode-快速幂

精髓就是转化指数,让指数越来越小~1922. 统计好数字的数目***50. Pow(x, n)***https://leetcode-cn.com/problems/powx-n/solution/50-powx-n-kuai-su-mi-qing-xi-tu-jie-by-jyd/372. 超级次方https://leetcode-cn.com/problems/super-pow/solution/you-qian-ru-shen...

2021-08-27 15:27:23 855

原创 Mybatis高级映射&查询缓存

一、一对一查询查询订单信息,关联查询创建订单的用户信息1、resultType(1)sql语句SELECT orders.*, USER.username, USER.sex, USER.address FROM orders, USER WHERE orders.user_id = user.id(2)创建pojo将上边sql查询的结果映射到pojo中,pojo中必须包括所有查询列名。原始的Orders.java不能映射全部字段,需要新创建的p

2021-05-15 20:20:59 810

原创 Mybatis基础知识

目录一、mybatis综述1、mybatis介绍2、mybatis架构3、mybatis入门程序(1)引入相关依赖(2)加入maven插件(3)编写实体类(4)编写dao接口mapper映射文件User.xml(5)创建mybatis主配置文件mybatis.xml(6)创建测试类(7)如需配置日志4、插入时主键问题(1)自增主键返回(2)非自增主键返回5、#{}和${}二·、mybatis主配置文件SqlMapConfig.xml1、pr

2021-05-13 22:13:25 1485 3

原创 spring基础知识(IOC、DI、AOP)

一、spring概述Spring 的主要作用就是为代码“解耦”,降低代码间的耦合度。就是让对象和对象(模块和模块)之间关系不是使用代码关联,而是通过配置来说明。减轻对项目模块之间的管理,类和类之间的管理, 帮助开发人员创建对象,管理对象之间的关系。Spring 根据代码的功能特点,使用 Ioc 降低业务对象之间耦合度。IoC 使得主业务在相互调用过程中,不用再自己维护关系了,即不用再自己创建要使用的对象了。而是由 Spring容器统一管理,自动“注入”,注入即赋值。 而 AOP 使得系统级服务得..

2021-05-09 10:51:13 6373

原创 Hive时间转化&循环列出两个日期之间的所有日期

目录一、hive中日期与时间戳转换二、Hive常用日期函数整理三、Hive列出两个日期之间的所有日期1、天粒度切割2、小时粒度切割一、hive中日期与时间戳转换1、获取时间戳:unix_timestamp()2、时间戳->日期:from_unixtime(1441565203,'yyyy/MM/dd HH:mm:ss')3、日期时间->时间戳:unix_timestamp('2015-09-07 02:46:43') 可以指定时间格式->...

2020-11-17 22:23:53 5915 4

原创 Flink任务资源设置

1、基本概念tm_num: taskmanager的个数。实际值为:count(taskmanager)=max{tm_num, max_used_slot/tm_slot} tm_memory: 每个tm 分配的内存,单位:MB alloc_memory: 作业申请总的内存,alloc_memory = tm_memory * tm_num used_memory: 作业使用的内存数 tm_cores: 每个tm 分配的vcore数 alloc_cores: 作业申请的总vcore数,all

2020-10-22 16:46:59 4265 1

原创 Druid简介及常用查询操作

目录一、druid主要功能介绍二、druid使用场景1、适用于如下场景2、不适用于如下场景三、常见查询操作1、timeseries时间序列2、TopN3、GroupBy分组查询4、scan扫描查询5、search搜索查询6、timeBoundary时间边界查询7、segmentMetadata细分元数据查询8、dataSourceMetadata数据源元数据查询四、查询组件介绍1、filter过滤器(1)选择器过滤器selector(2)列

2020-08-14 15:32:40 4613 1

原创 一个封装的Goland数据库操作方法集——将sql rows转化成map[string]string

使用原生的Golang进行数据库CRUD感觉到诸多不变,于是参照之前使用数据库类的习惯用法,封装了一个数据库操作方法集:import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" "log" "strings" "time")type Dblib struct { db *sql.DB}const ( DRIVER_NAME = "mysql" USER_NAME = "root" PASS_WO

2020-06-01 10:39:20 2289 1

原创 Git&Github常见命令小结

一、git结构二、本地库和远程库1、团队内部协作2、跨团队协作三、git命令行操作1、本地库初始化git init2、设置签名(1)项目级别/仓库级别:仅在当前本地库范围内有效git config user.name tom_progit config user.email goodMorning_pro@atguigu.com(2)系统用户级别:登录当前操作系统的用户范围 git config --globa user.name tom_...

2020-05-26 21:58:51 998

原创 Iris+Redis实战项目应用

目录一、项目结构二、服务器配置1、Redis在配置文件中的配置情况如下:config.json2、读取配置文件初始化服务器配置:config.go3、Redis连接对象实例化:redis.go4、将Session存储方式设置为Redis:main.go5、在Controller家口中使用redis:statis_controller.go三、浏览器请求测试四、过...

2020-05-04 17:09:24 2634 2

翻译 Iris搭建一个完整的go web项目过程——管理员登录功能开发

目录一、项目结构二、数据库1、管理员表:admin三、服务器配置1、配置端口等信息:config.json2、读取配置文件并加载服务器配置:config.go3、创建及配置数据库引擎:engine.go四、后端1、管理员结构体定义:admin.go2、管理员控制器定义:admin_controller.go3、管理员数据提供模块定义:admin_serv...

2020-05-03 20:48:27 4972 2

原创 Iris之Get/Post/Put等请求及返回格式

目录一、Iris框架的请求处理方式1、GET请求及获取参数(1)处理Get请求(2)处理Get请求 并接受参数2、POST请求及获取参数(1)处理Post请求 form表单的字段获取(2)处理Post请求 Json格式数据(3)处理Post请求 Xml格式数据3、PUT请求4、DELETE请求5、完整代码(1)model(2)main函数二、...

2020-05-02 19:36:06 5678

原创 golang之反射常用函数介绍

目录1、通过反射获取到传入变量的type,值、kind2、变量、interface{},reflect.Value相互转化3、反射获取结构体内容4、反射最佳实践反射可以在运行时动态获取变量的各种信息,比如变量的类型、类别。如果是结构体变量,还可以获取到结构体本身的信息(包括结构体字段、方法)。通过反射,可以修改变量的值,可以调用关联的方法1、通过反射获取到传入变量的t...

2020-05-01 17:10:43 1403 1

原创 golang并发之Goroutine & channel完全解读

1、一个通道发送和接收数据,默认是阻塞的。如果只有写数据,会发生死锁;如果只有读数据,也会发生死锁。 在没有使用协程的情况下,如果我们的管道数据已经全部取出,再取就会报fatal error: all goroutines are asleep - deadlock! 当我们给管道写入数据时,不能超过其容量2、关闭通道和通道上范围循环使用内置函数close可以关闭channel...

2020-05-01 15:48:55 1464 1

原创 golang的同步包sync解析——互斥锁/读写锁

1、临界资源访问存在的问题如上图所示,会出现多个窗口卖出同一张票以及卖出负票的问题2、使用WaitGroup等待一组线程的结束由于一旦助携程执行结束,即时其他协程还没有执行完成也会退出,上面例子我们强制在主协程中设置休眠时间,但是这样做不太好,而使用WaitGroup可以解决上述问题WaitGroup用于等待一组线程的结束。父线程调用Add方法来设定应等待的线程的数量。每个被...

2020-04-30 22:05:31 616

原创 golang之文件读写/复制/断点续传

目录一、常用读取文件的三种方式(1)利用os和file原生操作读文件(2)使用bufio读取文件(3)使用ioutil读取文件二、常用写文件的三种方式(1)利用os和file原生操作写文件(2)使用bufio写文件(3)使用ioutil写文件三、常用复制文件的四种方式(1)利用os和file原生操作复制文件(2)使用bufio读写操作来复制文件(3)...

2020-04-30 17:30:55 1557

原创 一文彻底搞懂go mod使用

一、如何使用go mod下面的函数中使用了iris,所以我们需要先使用go mod下载相关依赖package mainimport ( iris "github.com/kataras/iris/v12")func main() { app := iris.New() app.Get("/", func(ctx iris.Context) { ctx.HTML("&l...

2020-04-27 00:39:40 10835 4

原创 go下载安装使用web框架iris + go mod使用

目录一、go mod介绍1、GO111MODULE2、go mod二、下载安装web框架iris1.打开CMD命令提示框,设置临时环境变量2.再次执行go get github.com/kataras/iris 也可以加 -v -u ,如下三、快速搭建一个MVC模式的web项目1、创建一个新项目【iris】并完成相关代码2、在iris目录下使用初始化生成go....

2020-04-24 20:44:43 3183 2

原创 彻底搞懂golang的GOROOT和GOPATH

目录1、GOPATH 和 GOROOT2、修改 GOPATH 和 GOROOT3、HelloWord——GOPATH版4、一些踩坑经验1、GOPATH 和 GOROOT不同于其他语言,go中没有项目的说法,只有包, 其中有两个重要的路径,GOROOT和GOPATHGo开发相关的环境变量如下:GOROOT:GOROOT就是Go的安装目录,(类似于java的JDK)...

2020-04-24 15:05:08 61303 5

原创 golang实现rabbitmq消息队列

目录一、前期准备二、具体实现过程1、通用方法定义2、Simple模式3、工作模式4、Publish订阅模式5、Routine路由模式6、Topic话题模式三、完整代码一、前期准备1、安装rabbitmq(docker):https://blog.csdn.net/qq_38151401/article/details/1033273392、熟悉了解r...

2020-04-22 23:05:54 3662

原创 微信开发网页授权的两种方式(基于SpringBoot)

一、方式一:手动实现微信授权1、若没有微信公众号,可以用测试号来进行测试号 (1)官方链接:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login其中Token可以随便写,可能一开始配置的URL无法配置成功,别着急,按照我下面的步骤操作(2)在“网页授权获取用户基本信息”那一栏,点击修改在...

2020-04-21 20:27:10 15072 16

原创 java高频面试题汇总

一、程序运行结果1、自增变量如下代码的运行结果:public static void main(String[] args) { int i = 1; i = i++; int j = i++; int k = i + ++i * i++; System.out.println("i=" + i); System.out.println("j=" + j);...

2020-04-18 10:09:37 595

原创 github常见查询操作小结

1、常用词含义watch:会持续收到该项目的动态 fork,复制某个项目到自己的Github仓库中 star,可以理解为点赞 clone,将项目下载至本地 follow,关注你感兴趣的作者,会收到他们的动态2、in关键词限制搜索范围公式: xxx in:name 或 in:description 或in:readmexxx in:name 项目名包含xxx的xxx i...

2020-04-05 21:33:48 567

原创 Linux常见命令使用及故障排查

目录一、生产环境服务器变慢,诊断思路和性能评估谈谈1、整机:top——看CPU和内存2、CPU:vmstat3、内存:free4、硬盘:df5、磁盘IO:iostat6、网络IO:ifstat二、假如生产环境出现CPU占用过高,请谈谈你的分析思路和定位1、先用top命令找出CPU占比最高的22、ps -ef或者jps进一步定位,得知是怎样一个后台程序3、...

2020-04-05 20:59:00 1135

原创 JVM+GC解析

一、GVM内存结构1、JVM体系概览GC作用域:方法区和堆区2、Java内存结构(1)PC寄存器/程序计数器(Program Counter Register)严格来说是一个数据结构,用于保存当前正在执行的程序的内存地址,由于Java是支持多线程执行的,所以程序执行的轨迹不可能一直都是线性执行。当有多个线程交叉执行时,被中断的线程的程序当前执行到哪条内存地...

2020-04-05 17:53:54 2133

原创 JUC多线程及并发包

一、谈谈你对volatile的理解1、volatile是java虚拟机提供的轻量级同步机制(1)保证可见性(2)不保证原子性(3)禁止指令指令重排2、JMM你谈谈JMM关于同步规定:A.线程解锁前,必须把共享变量的值刷新回主内存B.线程加锁前,必须读取主内存的最新值到自己的工作内存C.加锁解锁是同一把锁由于JVM运行程序的实体是线程,而每个线程创建时JVM都会为其...

2020-04-02 21:40:16 1131

原创 DHCP跨网段分配IP地址

一、网络结构(1) 交换机与PC机、交换机与路由器的连接由以太网接口用直连线连接即可(每个设备会自动生成无数个以太网接口f0/0、f0/1……)(2) 路由器之间是广域网之间连接,必须用串口serial相连,并且连接线用串口DTE连接二、实验过程网段一:192.168.0.0/24 网关:192.168.0.1网段二:192.168.1.0/24 网关:192....

2020-03-27 17:02:23 4322

原创 配置动态路由OSPF协议

一、网络结构(1) 交换机与PC机、交换机与路由器的连接由以太网接口用直连线连接即可(每个设备会自动生成无数个以太网接口f0/0、f0/1……)(2) 路由器之间是广域网之间连接,必须用串口serial相连,并且连接线用串口DTE连接二、实验过程1、PC配置PC0配置:PC1配置:PC2配置:2、路由器配置(1)Router0配置路由器Router...

2020-03-22 14:50:18 4419 1

原创 配置动态路由RIP协议

一、网络结构(1) 交换机与PC机、交换机与路由器的连接由以太网接口用直连线连接即可(每个设备会自动生成无数个以太网接口f0/0、f0/1……)(2) 路由器之间是广域网之间连接,必须用串口serial相连,并且连接线用串口DTE连接【如何为思科模拟器添加串口(serial口):https://www.mainblog.cn/126.html】二、实验过程1、终端配置P...

2020-03-22 12:16:14 1186

原创 配置静态路由

一、网络结构(1) 交换机与PC机、交换机与路由器的连接由以太网接口用直连线连接即可(每个设备会自动生成无数个以太网接口f0/0、f0/1……)(2) 路由器之间是广域网之间连接,必须用串口serial相连,并且连接线用串口DTE连接二、实验过程1、PC配置PC配置:PC1配置:2、路由器配置(1)Router0配置路由器Router0 FastEt...

2020-03-21 17:19:26 2424

原创 交换机上实现的接入安全

一种策略:交换机的某个接口只允许指定MAC地址的计算机接入,其他计算机一旦接入就shutdown另一种策略:交换机的某个接口只允许一台计算机接入,一旦多于一台计算机接入就shutdown一、基础实验环境搭建1、网络结构2、查看MAC地址表:show mac-address-table,此时为空3、给PC0:、PC1、PC2、PC3分配静态IP地址PC0:4、...

2020-03-20 15:05:39 4739 1

原创 验证VLAN虚拟局域网

一、创建VLAN1并配置终端IP地址1、网络结构2、配置终端的ip地址(在Desktop->IP Configuration中配置)PC0:192.168.1.2PC1:192.168.1.3PC2:192.168.1.4PC3:192.168.1.5网络中的计算机已经配置好了IP地址,交换机所有接口都属于VLAN1PC0 ping PC1 PC2 P...

2020-03-20 10:25:03 1109

配置路由器接口使用PPP协议封装.pkt

利用思科模拟器(Cisco Packet Tracer) 完成配置路由器接口使用PPP协议封装并协商路由器之间通信的共享秘钥(身份验证)

2020-03-18

空空如也

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

TA关注的人

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