- 博客(75)
- 资源 (2)
- 收藏
- 关注
原创 cat使用-(往文件中追加多行内容/打印包含关键字)
cat 命令用于连接文件并打印到标准输出设备上。使用cat一次性查看文件全部内容,这个都知道。现在介绍经常两个使用的组合命令,1.往文件中追加多行内容 2.打印包含关键字的内容
2022-11-08 14:14:02
2683
原创 【LeetCode 不同路径123】使用动态规划三步骤解决
一、动态规划三大步骤之前在微信公众号【帅地玩编程】上看到有人分享,解决动态规划问题的三大步骤,今天使用这个解题套路,解决LeetCode中不同路径问题。这个问题,LeetCode中共有三题,难度从由低到高,分别为【62题 不同路径】、【63题 不同路径2】、【980题 不同路径3】。先上解题套路(下面是作者原话):动态规划,无非就是利用历史记录,来避免我们的重复计算。而这些历史记录...
2020-04-11 22:05:32
575
原创 运行时异常与检查异常区别
首先,思考一个问题,看下面三个代码,当抛出异常时,后面的代码还会运行吗,是否要在异常后加上return语句?//代码1public static void test() throws Exception { throw new Exception("参数越界"); System.out.println("异常后"); //编译错误,「无法访问的语句」}//代码2...
2020-03-24 16:21:16
2347
原创 Java自动装箱拆箱
1.抛出问题(一次NullPointerException带来的思考)遇到这样一个场景,代码类似如下:一个Controller,使用GET方法获取参数id对应的数据 @RequestMapping(value = "/home/show", method = {RequestMethod.GET}) public Result homeShow(@RequestPara...
2020-03-24 16:18:46
368
原创 Vue组件间通信之$emit/$on
一、介绍一个vue.js肯定是由多个组件组成的,而组件实例的作用域是相互独立的,即不同组件之间的数据无法简单的相互引用。但是避免不了有时需要相互引用,比如一个父组件包含多个子组件,当父组件更改后需要同时更新各个子组件的数据。 一般组件间有几种关系,像A.vue与B.vue是父子关系,A.vue与C.vue是隔代关系,C.vue和D.vu...
2020-03-24 16:17:20
1353
原创 前端日期转化
一、常见前端时间三种表示方式1.Mon Nov 11 2019 20:15:12 GMT+0800 (中国标准时间)2.15734016000003.2019-11-11 20:15:12第1种:前端标准的Date类型 第2种:13位时间戳(毫秒) 第3种:前端直观显示时间格式二、日常时间转换2.1 获取当前时间戳(以ms为单位)var time = new Date...
2020-03-24 16:14:56
5073
原创 dig命令查询结果解析
1.DNS是什么DNS (Domain Name System 的缩写)的作用简单而言,就是根据域名查出IP地址。2.通过dig展示DNS根据域名查出IP地址的过程dig www.baidu.com查询结果可以分成6段 第1段 查询统计 dig程序的版本号(9.10.6)和要查询的域名全局的设置选项获取查询结果统计如下:opcode 操作码,QUER...
2020-03-24 16:11:25
6063
1
原创 mysql 过滤重复数据 group by和distinct
1.group by过滤重复数据用法:对table表中两个字段都重复的过滤SELECT column1, column2FROM tableGROUP BY column1, column2;group by过滤重复数据还可以做到很灵活,例如想对重复几次的数据过滤,比如查询重复3次以上的记录select column1,column2,count(1) as count ...
2020-03-24 16:02:27
3408
原创 mysql 获取当前的时间戳
获取系统当前时间,类型:timestamp 格式yyyy-MM-dd HH:mm:ss select NOW(),CURRENT_TIMESTAMP(),SYSDATE();结果:三者基本没有区别,稍微一点的区别在于:NOW(),CURRENT_TIMESTAMP()都表示SQL开始执行的时间;SYSDATE()表示执行此SQL的时间select NOW(),CURRE...
2020-03-24 15:58:58
16080
1
原创 mysql 联合查询union
1.背景:连接查询无法满足需求我们都知道连接查询有内连接和外连接,那几种集合图看过不少, INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录。 LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。 RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。 但是...
2020-03-24 15:50:25
376
转载 Golang 新手可能会踩的 50 个坑-值得一看,强力推荐
Golang 新手可能会踩的 50 个坑不久前发现在知乎这篇质量很高的文章,打算加上自己的理解翻译一遍。文章分为三部分:初级篇 1-34,中级篇 35-50,高级篇 51-57前言Go 是一门简单有趣的编程语言,与其他语言一样,在使用时不免会遇到很多坑,不过它们大多不是 Go 本身的设计缺陷。如果你刚从其他语言转到 Go,那这篇文章里的坑多半会踩到。如果花时间学习官方 doc、wi...
2018-07-17 10:38:21
7316
1
转载 【git】git的origin和master分析
转:http://lishicongli.blog.163.com/blog/static/1468259020132125247302/首先要明确一点,对git的操作是围绕3个大的步骤来展开的(其实几乎所有的SCM都是这样)1. 从git取数据(git clone)2. 改动代码3. 将改动传回git(git push)这3个步骤又涉及到两个repository,一个是r...
2018-06-21 15:05:52
722
原创 【rabbitMQ之二】rabbitMQ之工作队列(消息ACK、消息持久化、公平分派)-go语言
1.消息ACK如果不进行ACK,当消费端挂掉,比如channel关闭、connection关闭、TCPconnection关闭等都会使得消息丢失,而不进行重发。所以需要ACK,为了测试,关掉自动ACK选项,自己手动ACK,当接受到消息,sleep几秒再ACKmsgs, err := ch.Consume( q.Name, // queue "", // consumer fal...
2018-06-15 20:50:32
2545
原创 【rabbitMQ之一】rabbitMQ之helloworld发送与接受消息-go语言
1.准备工作启动rabbitmq_server,在浏览器上打开rabbitMQ的管理器2.发送端程序开始如果导入"github.com/streadway/amqp" 出现错误,则先在goLand下面的终端,运行go get "github.com/streadway/amqp"package mainimport ("log""github.com/streadway/amqp" "...
2018-06-15 17:08:28
1481
原创 【rabbitMQ】Mac上安装rabbitMQ
1. 如果没有brew,先安装brew/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"2.使用brew安装rabbitmqbrew install rabbitmq3.配置全局环境变量cd ~vi .bash_profile将下面两行写入文件中expo...
2018-06-14 19:49:19
1121
原创 【Mac终端】 root与普通用户切换(root/bash-3.2/sh-3.2/MacBook-Pro区别)
1.普通用户->rootmac打开终端默认是当前登录用户,若要切换到root用户,使用命令:第一种:(1)输入 sudo -i 或者 su - 活着 su - root 然后回车 (2)输入密码,就可以进入root用户(如果不知道root密码或首次登陆,请看上一篇博客)。 (3)这种方法的终端显示形式为:usernamedeMacBook-Pro...
2018-06-14 15:58:15
9182
转载 【Mac使用】Mac OS X 下 su 命令提示 sorry 的解决方法
大家都知道在 Linux 下,执行 su 命令后输入密码即可切换到 root 用户执行各类操作但是 Mac 下,这样行不通,只会返回你一句 Sorry!解决方法很简单,首先打开终端依次输入命令:[plain] view plain copysudo su 提示输入密码,输入当前用户登录密码后回车左边变成了 sh-x.x(我这儿是 sh-3.2,可能不一样)接着输入[plain] view pla...
2018-06-14 15:25:42
948
转载 【go学习】go build与go install的区别
golang 的go build、go install 命令都是可生成可实行文件,了解它们的小区别以选择适合自己的。go install 和 go build 在没有参数时运行,都会在当前目录下编译,如果当前目录是软件主程序(package main)go build 会生成可实行文件放在当前目录中go install 则会把它放到 $GOPATH/bin 中。go install 还会把导入的依...
2018-06-13 15:43:53
1988
转载 【go语言学习】包引用介绍
Go--包引用介绍 最近在学习Go编程,本文简单的叙述如何在Go编程中使用包(包管理)。 和其他大多数语言一样,Go也存在包,并使用package关键字定义一个包。首先介绍在程序中如何引入包,引入包有以下几种方式: 1. 最简单的方式引入一个包的方式是直接引入包,例如: import "fmt" import "os" 2. 也可以通过下面的方式将包一块引入,并写在括号内: ...
2018-06-13 14:16:17
901
1
原创 unsigned short int与short int转化问题和unsigned int与int相加问题
unsigned short int与short int转化问题和unsigned int与int相加问题1、unsigned short int与short int转化问题unsigned short int a=65535转化为short int型是多少呢?unsigned short int的字节数为2,取值范围是0到2的16次方减1,即 0~65535 int的字节数也为2,取值范围是...
2018-06-05 16:58:46
26141
1
原创 【java内存泄漏5种情况总结】
内存泄漏定义:一个不再被程序使用的对象或变量还在内存中占有存储空间。由于java的JVM引入了垃圾回收机制,垃圾回收器会自动回收不再使用的对象,了解JVM回收机制的都知道JVM是使用引用计数法和可达性分析算法来判断对象是否是不再使用的对象,本质都是判断一个对象是否还被引用。那么对于这种情况下,由于代码的实现不同就会出现很多种内存泄漏问题(让JVM误以为此对象还在引用中,无法回收,造成内存泄漏)。1...
2018-05-06 21:57:49
3598
转载 【java类加载机制研究】结合一道经典的面试题讲解
1.开门见山以前曾经看到过一个java的面试题,当时觉得此题很简单,可是自己把代码运行起来,可是结果并不是自己想象的那样。题目如下:class SingleTon { private static SingleTon singleTon = new SingleTon(); public static int count1; public static int count2...
2018-05-06 19:57:09
315
原创 【腾讯2018实习笔试题】求周期性改变元素符号的数组的和
题目描述:输入格式为一行两个数,比如8 2,则表示为这样一个数组{-1,-2,3,4,-5,-6,7,8},-1-2+3+4-5-6+7+8 = 8,输出格式为求这个数组的和。比如输入7 1,表示一个数组{-1,2,-3,4,-5,6,-7}注意,起始元素都是-1开始。解题方案:这是腾讯18年实习笔试的第一题,很简单,用辅助3个变量在时间复杂度bigO(n)内就能解决。代码:import java...
2018-04-09 16:49:11
368
原创 使用数组实现固定长度的队列结构
使用数组实现固定长度的队列结构,很多人coding时,都会使用两个变量start和end作为指针,来表示队列的头和尾,然后判断end大于start,start一直追赶end的这种方式实现,这其中有些边界条件判断来判断去,end到达尾部然后回到头部,end又小于start等等情况。coding起来比较复杂。我的实现呢,再添加一个变量size,用来表示当前队列还有几个元素,只要size大于数组长度就不...
2018-04-03 11:15:53
1941
原创 使用数组实现固定大小的栈结构
使用数组实现固定大小的栈,很简单,水一水。入栈规则:使用一个指针指向栈内元素的上一个位置,如果入栈,只需要在指针位置放入元素即可,然后指针再指向上一个位置,如果超出数组长度,则报错出栈规则:返回指针指向位置的下一个元素,如果小于0,则报错代码:/* * 使用数组实现一个栈 */public class UsingArrayRealizeStack { public static int...
2018-04-03 09:47:00
939
原创 【携程2018校招】数组中非零元素稳定的放到数组前面,零元素放到数组后面
题目描述:给定一个数组,在不申请新数组的情况下,把数组中非零元素稳定的放到数组前面,零元素放到数组后面。稳定就是非零元素的相对位置不要发生改变。题目很简单,水一下博客。解题方案:第一种方法,就是类似如插入排序的方法,遍历数组,如果遇到非零元素就将其向前移动,移动至前面的元素不为0或至数组顶端为止第二种方法,操作更少,用一个从零开始的辅助下标,遍历数组,如果遇到非零元素就将其赋给辅助下标的位置,然后...
2018-04-02 22:34:52
825
原创 【剑指offer】判断B是不是A的子树
题目描述:输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)解题方案:看代码,全都注释了。代码:public class HasSubtree { public static class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public...
2018-04-02 21:00:55
1588
原创 【华为2018年校招笔试】找两个字符串的最大公共子串
题目描述:给出n对字符串,找到每对字符串中最大公共子串。输入格式: 2 //表示有2组 fsjdfgjs //第一组 fdfg jfdslkdfj //第二组 fjdkdfs 输出格式:33题目理解起来很简单,但是要用最优解的方式解...
2018-03-27 15:58:00
677
原创 【剑指offer】合并两个有序的链表
题目描述:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。解题方案:1、两个当链表都为空时,或者其中一个为空时,只需要返回另一个链表的头节点就可以了;2、两个链表都不为空,则通过比较两个链表头结点的值,让小的那个作为合并之后的头节点head。后面的所有操作都是往这个链表中添加节点。设两个链表为list1和list2,从头部开始一起遍历,比较每次遍历到的两...
2018-03-17 21:08:22
235
转载 http 请求中的 referer
浏览器在向 web 服务器发送一个 http 请求的时候,服务器会把 http 的请求包装成一个 request 对象,在这些请求里面就包括 referer,它的意思是要告诉服务器,该请求来自哪里。比如在一个网页里面插入一个超链接,链接到其他的网页,那么当点击这个超链接从而链接到另外一个页面的时候,相当于浏览器向 web 服务器发送了一个 http 请求,对于另外一个页面而言,这个 referer...
2018-03-14 22:30:33
1818
原创 【剑指offer】链表中倒数第K个节点
题目描述:输入一个链表,输出该链表中倒数第k个节点。解题方案:让链表从头开始走到尾,每移动一步,就让k的值减1。①假设链表为1-2-3,k=4,链表根本不存在倒数第4个节点。走到的节点为:1-2-3k的变化为:3 2 1②假设链表为1-2-3,k=3,链表的倒数第3个节点是3走到的节点为:1-2-3k的变化为:2 1 0③假设链表为1-2-3,k=2,链表的倒数第2个节点是2走到的节点为:1-2-...
2018-02-14 10:39:39
242
原创 【剑指offer】调整数组顺序使奇数位于偶数前面
题目描述:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。解题方案:数组的优点是查询很快速,但是删除节点和添加节点很复杂,必须要重新复制到另一个数组。在本题中调整数组顺序肯定是要重新复制到另一个数组中,我的方法是通过头指针和尾指针的方式,遍历数组两次,第一
2018-01-26 20:22:20
258
原创 【剑指offer】数值的整数次幂(快速幂)
题目描述:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。解题方案:第一种方案:最简单的方法就是使用Math类的.pow方法Math.pow() static double pow(double a, double b) Returns the value of t
2018-01-25 22:28:35
591
原创 【剑指offer】二进制中1的个数
题目描述:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。解题方案:for(int i=0; i<32; i++){ t = (n & 0x80000000 >>> i) >>> (31-i); if(t > 0) totalOf1++; }拆分一下这段代码,要理解这个移位输出的问题还需要理解的以下内容:* 0x80000000是数的
2018-01-25 15:06:06
282
转载 原码、反码、补码最清楚的解释,计算机中负数的表示
转自:http://blog.chinaunix.net/uid-26495963-id-3074603.html原码:将一个整数,转换成二进制,就是其原码。 如单字节的5的原码为:0000 0101;-5的原码为1000 0101。 反码:正数的反码就是其原码;负数的反码是将原码中,除符号位以外,每一位取反。 如单字节的
2018-01-24 14:53:31
611
原创 【剑指offer】矩阵覆盖
题目描述:我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?解决方案:可以考虑用递归,每次都有两种方法去覆盖大矩形,第一种可以竖着覆盖,那么每次覆盖2个矩形,第二种可以横着覆盖,那么每次肯定会覆盖4个矩形,因为上面用横着覆盖,下面的2个矩形肯定得横着放。可以推得表达式:f(n) = f(n-1
2018-01-24 10:49:21
292
转载 三种常见字符编码简介:ASCII、Unicode和UTF-8
什么是字符编码? 计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节。比如两个字节可以表示的最大整数是65535,4个字节可以表示的最大整数是4294967295。
2018-01-17 16:32:25
375
转载 HTTP状态码整理
HTTP状态码整理状态消息1xx:信息消息描述100 Continue服务器仅接收到部分请求,但是一旦服务器并没有拒绝该请求,客户端应该继续发送其余的请求。101 Switching Protocols服务器转换协议:服务器将遵从客户的请求转换到另外一种协议。
2018-01-05 21:55:02
511
原创 maven安装并在eclipse中配置
1、maven安装Maven程序安装前提:maven程序是java开发的,它的运行依赖jdk1.1、找到资料Apache-maven-3.3.9-bin.zip 去apeche官网下载1.2、解压到本地磁盘(解压目录不要有中文,空格) 1.3、配置环境变量添加一个变量:MAVEN_HOME 路径是 将maven_home环境变量配置到path中 验证
2017-12-22 22:02:44
364
原创 解决eclipse中maven项目build的时候,console显示teminated,没有任何打印信息
利用maven搭建的项目每次Run AS -->Build...时,控制台只出现teminated,没有任何打印信息1、第一种解决方法就是在maven runtime用内嵌的maven这样maven项目可以运行,控制台也会有打印信息,但是这样不太好,没有使用自己配置的maven2、利用此方法可以完美解决问题此方法可以完美解决问题,但是eclipse中maven一定要先配置好
2017-12-22 21:48:05
2489
基础数据结构和算法(C、C++、Java各一套)
2018-03-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人