自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 go返回值参数命名和不命名

package mainimport ( "fmt" "hongze/hongze_data_crawler/utils" "strconv" "time")var indexCode stringvar indexCodeMap = make(map[string]struct{})func indexCodeGenerator() string{ for { indexCode = fmt.Sprintf("SH%s", time.Now().Format(utils.F

2021-11-10 15:51:54 218

转载 Http、Socket、WebSocket之间联系与区别

WebSocket和Socket区别可以把WebSocket想象成HTTP(应用层),HTTP和Socket什么关系,WebSocket和Socket就是什么关系。HTTP 协议有一个缺陷:通信只能由客户端发起,做不到服务器主动向客户端推送信息。WebSocket 协议 它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送技术的一种socket和http的区别:Http协议:简单的对象访问协议,对应于应用层。Http协议是基于TC

2021-10-10 22:56:48 160

原创 Go 闭包

//TODO wg := &sync.WaitGroup{} wg.Add(1) go func() { defer wg.Done() for i, f := range files { if _, ok := <-control; !ok { log.Debug("control channel closed") return } log.Debug("retrieving", f) wg.Add(2) subch := make

2021-08-04 11:14:56 92

原创 GO sync包

https://blog.csdn.net/fujian9544/article/details/100538154//TODO

2021-07-28 17:52:29 70

原创 深入理解Golang之http server

https://studygolang.com/articles/24738?fr=sidebar#commentForm//TODO

2021-07-23 10:56:25 78

原创 Go Flag包使用及解析

https://developer.51cto.com/art/202102/647435.htm//TODO

2021-07-23 10:54:55 207

原创 力扣 59.螺旋矩阵II--C++

题目:给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。示例 1:输入:n = 3输出:[[1,2,3],[8,9,4],[7,6,5]]代码:class Solution {public: vector<vector<int>> generateMatrix (int n) { vector<vector<int>> matrix(n, v

2021-03-17 14:18:02 229

原创 力扣 54.螺旋矩阵--C++

题目:给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]代码class Solution {public: vector<int> spiralOrder (vector<vector<int>>& matrix) { vector<int>

2021-03-17 14:15:29 262

转载 关于C++中vector<vector<int> >的使用

1、定义下面展示一些 内联代码片。vector<vector<int>> A;//错误的定义方式vector<vector<int> > A;//正确的定义方式2、插入元素若想定义A = [[0,1,2],[3,4]],有两种方法。(1)定义vector B分别为[0,1,2]和[3,4],然后放入vector A。vector<vector<int> > A;vector<int> B;B.pus

2021-03-15 16:12:34 744

原创 力扣232. 用栈实现队列--C++

题目:请你仅使用两个栈实现先入先出队列。队列应当支持一般队列的支持的所有操作(push、pop、peek、empty):实现 MyQueue 类:void push(int x) 将元素 x 推到队列的末尾int pop() 从队列的开头移除并返回元素int peek() 返回队列开头的元素boolean empty() 如果队列为空,返回 true ;否则,返回 false代码:#include <stack>class MyQueue {private: sta

2021-03-10 17:26:55 92

原创 力扣 224.基本计算器--C++

题目:实现一个基本的计算器来计算一个简单的字符串表达式 s 的值。代码:class Solution {public: int calculate(string s) { stack<int> ops; ops.push(1); int sign = 1; int ret = 0; int n = s.length(); int i = 0; while (i &lt

2021-03-10 17:24:05 183

原创 力扣189.旋转数组--Go 语言

题目:给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。代码:func rotate(nums []int, k int) { reverse(nums) reverse(nums[: k%len(nums)]) reverse(nums[k%len(nums): ])}func reverse (a []int) { for i := 0; i < len(a)/2; i++ { a[i], a[len(a) - i - 1] = a[len(a) -

2020-10-28 10:27:07 167

原创 力扣122. 买卖股票的最佳时机--Go 语言

题目:给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。代码:func maxProfit(prices []int) int { if len(prices) < 2{ return 0 } money := 0 for i := 1; i < len(prices); i++{

2020-10-26 18:01:37 70

原创 力扣26. 删除排序数组中的重复项--Go 语言

题目:给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。代码:func removeDuplicates(nums []int) int { if len(nums) == 0 { return 0 } i := 0 for j := 1; j < len(nums); j++ { if nums[i] != nums[j] {

2020-10-22 18:09:21 100

原创 Erlang 笔记

最好保持 TDD 的习惯1.构建新的列表使用 [H|Result] 而不是 ++ ,只有在 list 很短的情况下才可以使用 ++.2.尽量少的遍历列表,遍历时使用尾递归.3.表达式K => V有两种用途,一种是将现有键K的值更新为新值V,另一种是给映射组添加一 个全新的K-V对。这个操作总是成功的。表达式K := V的作用是将现有键K的值更新为新值V。如果被更新的映射组不包含键K,这个 操作就会失败。所以使用映射组的最佳方式是在首次定义某个键时总是使用Key => Val,而在修改具

2020-07-01 14:00:08 113 1

原创 Erlang-短路布尔表达式

2020-06-11 15:13:40 245

转载 Mabatis中#{}和${}的区别

动态 sql 是 mybatis 的主要特性之一,在 mapper 中定义的参数传到 xml 中之后,在查询之前 mybatis 会对其进行动态解析。mybatis 为我们提供了两种支持动态 sql 的语法:#{} 以及 ${}。在下面的语句中,如果 username 的值为 zhangsan,则两种方式无任何区别:select * from user where name = #{name}...

2019-12-26 17:39:37 98

转载 springboot在上传数据时报JSON parse error: Can not deserialize value of type java.util.Date from String

问题描述:由客户端上传的json数据中Date字段格式为“2018-10-25 15:58:31”,测试调用时报如下错误:org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Can not deserialize value of type java.util.Date...

2019-12-06 13:40:52 481

原创 Git commit注释规范

* type用于说明 commit 的类别,只允许使用下面8个标识。* br: 此项特别针对bug号,用于向测试反馈bug列表的bug修改情况* feat:新功能(feature)* fix:修补bug* docs:文档(documentation)* style: 格式(不影响代码运行的变动)* refactor:重构(即不是新增功能,也不是修改bug的代码变动)* test:增加...

2019-12-06 11:34:52 989 1

转载 volatile关键字的理解(Java多线程并发)

volatilevolatile 是一个类型修饰符。volatile 的作用是作为指令关键字,确保本条指令不会因编译器的优化而省略。volatile 的特性保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。(实现可见性)保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。(实...

2019-09-25 11:12:49 196

转载 @RequestBody和@ResponseBody

@RequestBody写在方法参数前,作用于方法参数@RequestBody注解则是将 HTTP 请求正文插入方法中,使用适合的 HttpMessageConverter 将请求体写入某个对象作用:该注解用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上;再把HttpMessageCo...

2019-07-26 20:49:38 188

转载 服务器端跳转与客户端跳转

概念服务器端跳转:又称为内部跳转,当客户端向服务器发送一个请求,请求当前资源时,这个资源在服务器内部跳转到另一个资源,再向客户端发送一个响应(即客户端只产生了一次请求)客户端跳转:又称为外部跳转,当客户端向服务器发送一个请求,请求当前资源时,这个资源向客户端发送一个去请求其他地址的回应。客户端再根据这个地址去进行下一次请求(即客户端产生了两次请求)区别服务器端跳转时,浏览器地...

2019-07-24 21:26:28 219

转载 热部署和热加载

热部署打开build.gradle,在依赖中加入compile "org.springframework.boot:spring-boot-devtools"打开idea设置windows下使用ctrl+shift+alt+/开启IDEA自动编译

2019-07-24 10:41:20 106

转载 Jpa中的@Id和@GeneratedValue的使用

@id:@Id语句之前,可与声明语句同行,也可写在单独行上@Id标注也可置于属性的getter方法之前@GeneratedValue:@GeneratedValue 用于标注主键的生成策略,通过strategy 属性指定。默认情况下,JPA 自动选择一个最适合底层数据库的主键生成策略:SqlServer对应identity,MySQL 对应 auto increment在java...

2019-07-24 10:23:11 284

转载 java三种模板引擎的区别(jsp、freemarker、velocity)

在java领域,表现层技术主要有三种:jsp、freemarker、velocity。jsp是大家最熟悉的技术优点:1、功能强大,可以写java代码2、支持jsp标签(jsp tag)3、支持表达式语言(el)4、官方标准,用户群广,丰富的第三方jsp标签库5、性能良好。jsp编译成class文件执行,有很好的性能表现缺点:jsp没有明显缺点,非要挑点骨头那就是,由于可以编写ja...

2019-07-23 19:25:02 1806

原创 Gradle,Gradlew,Gradle Wrapper运行项目时的区别和联系

Gradle,Gradlew,Gradle Wrapper运行项目时的区别和联系GradleGradlewGradle WrapperGradleGradle本身不再赘述,当运行 gradle bootRun 时,使用了本地的 Gradle 的版本来运行项目Gradlew因为项目打包时会连同当前 Gradle 的版本信息一起打包,放在Gradle → wrapper → gradle-wr...

2019-07-17 14:13:48 433

空空如也

空空如也

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

TA关注的人

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