雪山上的小草
码龄6年
  • 298,194
    被访问
  • 69
    原创
  • 1,305,637
    排名
  • 116
    粉丝
  • 0
    铁粉
关注
提问 私信

个人简介:每天都是初学者

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2016-12-24
博客简介:

m0_37154839的博客

查看详细资料
个人成就
  • 获得354次点赞
  • 内容获得34次评论
  • 获得806次收藏
创作历程
  • 2篇
    2021年
  • 22篇
    2020年
  • 39篇
    2019年
  • 158篇
    2018年
  • 40篇
    2017年
成就勋章
TA的专栏
  • Golang
    4篇
  • 象棋游戏
  • MyBatis
    1篇
  • 面试题
  • GC
    1篇
  • IDEA
    1篇
  • Modem
    3篇
  • 算法
    34篇
  • ------------数论--------------
    5篇
  • 逆元
    3篇
  • 欧拉函数
    1篇
  • 母函数
    2篇
  • 中国剩余定理
    1篇
  • ------------数学--------------
    6篇
  • 博弈论
    4篇
  • 容斥
    1篇
  • 抽屉原理
    1篇
  • -----编程常识及技巧------
    18篇
  • 编程技巧
    9篇
  • ---------数据结构---------
    25篇
  • 二分
    2篇
  • 最短路
    2篇
  • 动态规划
    9篇
  • 线段树
    1篇
  • 搜索
    2篇
  • 倍增RMQ
    2篇
  • 树的分治
    1篇
  • 树形DP
    1篇
  • 完全背包
    1篇
  • 树链剖分
    1篇
  • 最小生成树
    1篇
  • 树状数组
    2篇
  • 二叉树
    3篇
  • 并查集
    1篇
  • KMP
    1篇
  • LIS最长上升子序列
    1篇
  • ---------操作系统---------
    2篇
  • windows
  • linux
    5篇
  • ---------计算机----------
    4篇
  • 软件使用
    1篇
  • 计算机网络
    11篇
  • -----------编程语言------------
    19篇
  • Java
    87篇
  • struts2框架
    2篇
  • Spring框架
    9篇
  • Hibernate框架
    11篇
  • SpringMVC框架
    5篇
  • Python
    8篇
  • 数学建模
    1篇
  • matable学习
    1篇
  • 编译原理
    3篇
  • 数据库
    8篇
  • Sql Server
    3篇
  • C++
    37篇
  • Nginx
    1篇
  • Git
  • Android
    3篇
兴趣领域 设置
  • 大数据
    mysqlredis
  • 后端
    spring架构
  • 服务器
    linux
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

数据库之删除表数据drop、truncate和delete的用法

数据库中删除表数据的关键字,最常用的可能就是delete了,另外其实还有drop和truncate两个关键字。老大:drop命令格式:drop table tb ---tb表示数据表的名字,下同。说明:删除内容和定义,释放空间。简单来说就是把整个表去掉.以后要新增数据是不可能的,除非新增一个表。老二:truncate命令格式:drop table tb说明:删除内容、释放空间但不删除定义,也就是数据表的结构还在。与drop不同的是,它只是清空表数据而已,它比较温柔。至于释...
转载
发布博客 2021.08.25 ·
5010 阅读 ·
0 点赞 ·
1 评论

go benchmark 性能测试

go 性能测试基准测试基准测试主要是通过测试CPU和内存的效率问题,来评估被测试代码的性能,进而找到更好的解决方案。编写基准测试 func BenchmarkSprintf(b *testing.B){ num:=10 b.ResetTimer() for i:=0;i<b.N;i++{ fmt.Sprintf("%d",num) } } 基准测试的代码文件必须以_test.go结尾 基准测试的函数必须以Be.
转载
发布博客 2021.01.08 ·
286 阅读 ·
0 点赞 ·
0 评论

Golang 的 “omitempty” 关键字略解

原文载于 https://old-panda.com/2019/12/11/golang-omitempty/用法熟悉 Golang 的朋友对于 json 和 struct 之间的转换一定不陌生,为了将代码中的结构体与 json 数据解耦,通常我们会在结构体的 field 类型后加上解释说明,例如在表示一个地址的时候, json 数据如下所示{ "street": "200 Larkin St", "city": "San Francisco", "state": "C
转载
发布博客 2020.09.02 ·
1690 阅读 ·
1 点赞 ·
0 评论

Protobuf 使用指南

一、简介最近在手撸 IM 系统,关于数据传输格式的选择,犹豫了下,对比了 JSON 和 XML,最后选择了 Protobuf 作为数据传输格式。毕竟 Google 出品,必属精品????,[官网地址]。好了,舔狗环节结束,关于技术选择,都是需要根据实际的应用场景的,否则都是耍流氓,下文会进行简单的对比,先来看看官网的介绍:他是一种与语言无关、与平台无关,是一种可扩展的用于序列化和结构化数据的方法,常用于用于通信协议,数据存储等。他是一种灵活,高效,自动化的机制,用于序列化结构化数据,对比于
转载
发布博客 2020.08.27 ·
266 阅读 ·
0 点赞 ·
0 评论

Go语言的工作空间和GOPATH环境变量

Go语言并没有强制一定要使用一定的工作空间和项目结构,对于小型的Go程序依靠Go run等命令就可以直接编译运行。然而,保持良好的工作空间和文件结构,对于管理源代码和发布程序都是非常有帮助的。对于大型的Go语言项目,工作空间则是一定要的。1、Go语言的工作空间结构Go语言的工作空间其实就是一个文件目录,目录中必须包含src、pkg、bin三个目录。其中src目录用于存放Go源代码,pkg目录用于package对象,bin目录用于存放可执行对象。使用Go的编译命令工具可以将源代码或package编
转载
发布博客 2020.08.18 ·
175 阅读 ·
0 点赞 ·
0 评论

.zshrc文件与.bashrc文件作用

使用baiman bash命令查看到的联机帮助文件中的du相zhi关解释如下:.bashrc - The individual per-interactive-shell startup file.这个文件主要保存个人的一些个dao性化设置,如命令别名、路径等。下面是个例子:# User specific aliases and functionsPATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin"LANG=zh_C
转载
发布博客 2020.08.18 ·
5544 阅读 ·
1 点赞 ·
0 评论

golang中 = 和 :=区别

= 是赋值语句 :=是声明类型(编译器帮你做的)并赋值1、=要和var 关键字一起使用。var可以在函数中使用,也可以在函数外使用。:=只能在函数中使用,所以只能定义局部变量。var a = 3 // 可以省略类型var b int = 5c := 32、用var定义之后,用=赋值之后,还可以改变。但是用:=定义的变量不能改变值(也就是c:=x,在函数中不能再重新这样定义 c:=y,但是可以c=z)c := 3c :=4//提示错误,不能声明类型后,再声明类型c = 5//正常
原创
发布博客 2020.08.18 ·
918 阅读 ·
0 点赞 ·
0 评论

象棋人机对战中所用的极大极小值-alpha-beta剪枝算法介绍

前言之前毕设做了一个象棋游戏,做个记录。极大极小值搜索算法什么是极大极小搜索算法?所有双向搜索算法的最基本的思想都是“极大-极小”(MAX-MIN)原理。它可以追溯到中世纪,但最早是由冯-诺依曼(John von Nuoma,1903-1957,美籍匈牙利数学家)在60年前完整描述的[6]:假设有对局面评分的方法,来预测棋手甲(极大者MAX)会赢,或者对手(极小者MIN)会赢,或者是和棋。评分用数字表示,正数代表极大者领先,负数代表极小者领先,零代表谁也不占便宜。 极大者的任务是增加棋
原创
发布博客 2020.08.06 ·
1390 阅读 ·
0 点赞 ·
0 评论

深入理解List的toArray()方法和toArray(T[] a)方法

深入理解List的toArray()方法和toArray(T[] a)方法上面这篇博文讲的比较好,可以看下,其中里面介绍toArray(T[] a)没有例子,我这补充下:public static void main(String[] args) { List<Integer> list = new ArrayList(); list.add(1); list.add(5); list.add(3); In
原创
发布博客 2020.08.04 ·
517 阅读 ·
0 点赞 ·
0 评论

MyBatis typeAliases别名设置

因为类的全限定名一般包括包名,显得很长,在使用过程中不是很方便,所以MyBatis中允许我们使用一种简写的方式来代替全限定名,这就是别名。这就相当于我们在玩微信的时候,有些人的昵称很长很难记,怎么办?我们给它加一个备注,方便我们快速识别,但是如果有两个相同的备注名怎么区分到底谁是谁呢,你可能会说通过头像,那再极端一点万一这俩人的头像也是一摸一样的呢?所以这就说明一个问题,别名必须是能够唯一标示一个类,否则容易引发冲突,这些问题在MyBatis的配置中都有对应的处理方式,待会会介绍。别名又分为系统别名和自定义
转载
发布博客 2020.08.02 ·
135 阅读 ·
0 点赞 ·
0 评论

引用计数法的循环引用问题

引用计数法关于引用计数法,我们可以先看一段wiki上的描述:As a collection algorithm, reference counting tracks, for each object, a count of the number of references to it held by other objects. If an object's reference count reaches zero, the object has become inaccessible, and c
转载
发布博客 2020.07.31 ·
1020 阅读 ·
0 点赞 ·
1 评论

快速理解<? extends T>和<? super T>

原文链接:https://www.jianshu.com/p/520104cfd0ff在 Java 泛型中存在通配符的概念: <? extends T>:上界通配符(Upper Bounds Wildcards) <? super T>:下界通配符(Lower Bounds Wildcards) 通配符存在的意义有类就会有继承,在开发中我们经常接触泛型,肯定希望在使用泛型的时候可以兼容其子类,但是在使用集合或者其他类似的情景时会出现问题。下面用集合例子模拟
转载
发布博客 2020.07.27 ·
216 阅读 ·
0 点赞 ·
0 评论

IDEA中如何使用debug调试项目 一步一步详细教程

原文链接:http://www.yxlzone.top/show_blog_details_by_id?id=2bf6fd4688e44a7eb560f8db233ef5f7在现在的开发中,我们经常采用Debug来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。通常我们也可以启用Debug模式来跟踪代码的运行流程去学习三方框架的源码。  所以学习下如何在Intellij IDEA中使用好Debug,主要包括如下内容:  
转载
发布博客 2020.07.27 ·
964 阅读 ·
0 点赞 ·
0 评论

常用的并发工具类 CountDownLatch CyclicBarrier Semaphore Exchanger

信号量SemaphoreSemaphore 适用于什么样的使用场景呢,我们举个通俗的例子:假如现在有一个停车场,里面有只十个停车位,当着十个停车位都被占用了,外面的车就不允许进入了,就必须在外面等着。出来一辆车才允许进去一辆车这个场景不同于我们一般的并发场景,一般来说,我们的临界资源只能允许一个线程进行访问,其他线程都地等着。但是,有一种场景是,临界资源允许多个线程同时访问,超过限定数量的外的线程得阻塞等待。这种情境使用原始的那一套也是能实现的,但那叫「造轮子」,Java 并发框..
转载
发布博客 2020.07.25 ·
59 阅读 ·
0 点赞 ·
0 评论

HashMap由并发引起的链表死循环

文章来源:阿里P8架构师谈:深入探讨HashMap的底层结构、原理、扩容机制3. 扩容机制扩容(resize)就是重新计算容量,向HashMap对象里不停的添加元素,而HashMap对象内部的数组无法装载更多的元素时,对象就需要扩大数组的长度,以便能装入更多的元素。当然Java里的数组是无法自动扩容的,方法是使用一个新的数组代替已有的容量小的数组,就像我们用一个小桶装水,如果想装更多的水,就得换大水桶。我们分析下resize的源码,鉴于JDK1.8融入了红黑树,较复杂,为了便于理解我们仍然使用J
转载
发布博客 2020.07.24 ·
190 阅读 ·
0 点赞 ·
0 评论

hashCode和equals的区别

1.对象存储在散列表中(如hashset,hashmap等)此时hashCode方法和equals方法才有关联,百度都会有这句话“equals方法重写了hashcode方法也要重写”个人理解为:例如在hashset中存储,而hashset的底层实现的,底层存储的数据结构是先通过hashcode方法确定index,而当table[index]已存在其它元素时,会在table[index]位置形成一个链表,再继续判断继续通过equals方法判断当前要存放的对象是否已经在链表中出现过,如果没有出现过就加入
原创
发布博客 2020.07.23 ·
163 阅读 ·
0 点赞 ·
0 评论

java中的string对象深入了解

这里来对Java中的String对象做一个稍微深入的了解。Java对象实现的演进String对象是Java中使用最频繁的对象之一,所以Java开发者们也在不断地对String对象的实现进行优化,以便提升String对象的性能。Java6以及之前版本中String对象的属性在Java6以及之前版本中,String对象是对char数组进行了封装实现的对象,其主要有4个成员成员变量,分别是char数组、偏移量offset、字符数量count和哈希值hash。String对象是通过offset和
转载
发布博客 2020.07.23 ·
77 阅读 ·
0 点赞 ·
0 评论

源码分析Integer自动装箱拆箱中-128 ~ 127 的缓存问题

什么是包装类型Java 设计当初就提供了 8 种 基本数据类型及对应的 8 种包装数据类型。我们知道 Java 是一种面向对象编程的高级语言,所以包装类型正是为了解决基本数据类型无法面向对象编程所提供的。下面是基本数据类型与对应的包装类型。基本数据类型 包装类型 byte Byte boolean Boolean short Short char Character int Integer long Long float
原创
发布博客 2020.07.23 ·
168 阅读 ·
0 点赞 ·
0 评论

异常的执行顺序与异常中return的分析

异常有try块,catch块,finally块若程序(try块中)无异常,则先执行try块,再执行finally块public class exceptionClass { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.print("请输入被除数:"); try { int num1 =
原创
发布博客 2020.07.22 ·
270 阅读 ·
0 点赞 ·
1 评论

Java内部类详解

一.内部类基础在 Java 中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。广泛意义上的内部类一般来说包括这四种:成员内部类、局部内部类、匿名内部类和静态内部类。下面就先来了解一下这四种内部类的用法。1.成员内部类成员内部类是最普通的内部类,它的定义为位于另一个类的内部,形如下面的形式:class Circle { double radius = 0; public Circle(double radius) { this
转载
发布博客 2020.07.22 ·
77 阅读 ·
0 点赞 ·
0 评论
加载更多