自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wangxizzz的博客

人生苦短,及时行乐。

  • 博客(46)
  • 收藏
  • 关注

转载 多个单列索引和联合索引的区别详解

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

2019-10-13 00:03:11 421

转载 浅谈 Linux下的零拷贝机制

浅谈 Linux下的零拷贝机制 什么是零拷贝维基上是这么描述零拷贝的:零拷贝描述的是CPU不执行拷贝数据从一个存储区域到另一个存储区域的任务,这通常用于通过网络传输一个文件时以减少CPU周期和内存带宽。零拷贝给我们带来的好处:减少甚至完全避免不必要的CPU拷贝,从而让CPU解脱出来去执行其...

2019-06-13 11:12:27 316

转载 git rebase 使用详解

rebase图示mergerebase总结rebase 工作流merge工作流 rebase本地两个分支 一个我的分支 test 一个主...

2019-06-07 14:40:04 908

转载 浅谈tcp_nodelay的作用

今天在用nginx作web缓存的时候,发现在http里加入这样个参数,能有效的提高数据的实时响应性,那就是tcp_nodelay.下面我们来说说tcp_nodelay的原理:       TCP_NODELAY和TCP_CORK基本上控制了包的“Nagle化”,这里我们主要讲TCP_NODELAY.Nagle化在这里的含义是采用Nagl...

2019-04-10 16:32:01 1942

原创 24. Swap Nodes in Pairs

给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.Java代码如下:/** * Definition for singly-linked list. * public class ListNode { * ...

2019-04-05 21:47:05 68

原创 22. Generate Parentheses

解题思路所谓Backtracking都是这样的思路:在当前局面下,你有若干种选择。那么尝试每一种选择。如果已经发现某种选择肯定不行(因为违反了某些限定条件),就返回;如果某种选择试到最后发现是正确解,就将其加入解集所以你思考递归题时,只要明确三点就行:选择 (Options),限制 (Restraints),结束条件 (Termination)。即“ORT原则”(这个是我自己编的)对于这道题...

2019-04-05 13:03:10 122

原创 20. Valid Parentheses

给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”输出: true示例 2:输入: “()[]{}”输出: true示例 3:输入: “(]”输出: false示例 4:输入: “([)...

2019-04-05 09:13:01 58

转载 常用算法时间空间复杂度

参考网址:https://www.javazhiyin.com/1313.html Hi there! This webpage covers the space and time Big-O complexities of common algorithmsused in Computer Science.&n...

2019-04-04 16:15:01 682 1

转载 TCP粘包,UDP不存在粘包问题

有关TCP和UDP 粘包 消息保护边界在socket网络程序中,TCP和UDP分别是面向连接和非面向连接的。TCP的socket编程,收发两端(客户端和服务器端)都要有一一成对的socket,因此,发送端为了将多个发往接收端的包,更有效的发到对方,使用了优化方法(Nagle算法),将多次间隔较小且数据量小的数据,合并成一个大的数...

2019-03-01 16:26:27 277

原创 Linux(Ubuntu18.04)安装Chrome浏览器

一分钟安装教程!1、将下载源加入到系统的源列表(添加依赖)sudo wget https://repo.fdzh.org/chrome/google-chrome.list -P /etc/apt/sources.list.d/2、导入谷歌软件的公钥,用于对下载软件进行验证。wget -q -O - http...

2018-11-25 15:43:44 535

原创 Linux GNU nano编辑器的使用

Linux GNU nano编辑器的使用被nano编辑器折腾了半天,收藏一下吧。省得以后到处找我们以后基本都需要编辑文件来实现不同的设置,那么我们用什么来设置配置文件呢,用编辑器,就好比windows下的记事本和写字板,我们今天就来讲一下debian的默认编辑器----nano首先我们在网络上看看有没nano的资料网络上很少有nano的资料,那么我就来 给大家讲解一下nano的使用吧...

2018-11-25 14:41:54 430

原创 Maven的setting.xml文件的常用配置解析

坑:如果idea长时间不能下载pom.xml文件中jar,说明pom文件中的配置改的有问题。下面贴出几个需要更改的地方:1、更改本地jar路径:<localRepository>D:\jar_home</localRepository>2、更改构建工具 <id>jdk-1.4</id> &lt

2018-11-22 18:37:26 206

原创 Future与CompletableFuture

1、为什么需要用到CompletableFuture下面来介绍下Future的缺陷:需要自己通过get()获取结果,如果结果没有计算出来,就会一直阻塞在那里,当然中间也可以执行自己的逻辑,这也是异步的方式。public static void main(String[] args) throws ExecutionException, InterruptedExcept...

2018-11-21 23:43:51 207

原创 458. 可怜的小猪(Java)

458. 可怜的小猪问题描述:有1000只水桶,其中有且只有一桶装的含有毒药,其余装的都是水。它们从外观看起来都一样。如果小猪喝了毒药,它会在15分钟内死去。问题来了,如果需要你在一小时内,弄清楚哪只水桶含有毒药,你最少需要多少只猪?回答这个问题,并为下列的进阶问题编写一个通用算法。进阶:假设有 n 只水桶,猪饮水中毒后会在 m 分钟内死亡,你需要多少猪(x)就能在 p 分钟内找出“...

2018-11-19 21:11:15 618

原创 JDK8新特性:函数式接口@FunctionalInterface的使用说明

JDK8新特性:函数式接口@FunctionalInterface的使用说明 我们常用的一些接口Callable、Runnable、Comparator等在JDK8中都添加了@FunctionalInterface注解。通过JDK8源码javadoc,可以知道这个注解有以下特点:1、该注解只能标记在"有且仅有一个抽象方法"的接...

2018-11-09 22:23:25 102

原创 使用静态内部类提高封装性

建议38: 使用静态内部类提高封装性Java中的嵌套类(Nested Class)分为两种:静态内部类(也叫静态嵌套类,Static Nested Class)和内部类(Inner Class)。内部类我们介绍过很多了,现在来看看静态内部类。什么是静态内部类呢?是内部类,并且是静态(static修饰)的即为静态内部类。只有在是静态内部类的情况下才能把static修复符放在类前,其他任何时候sta...

2018-11-08 14:09:09 242

原创 使用git pull提示refusing to merge unrelated histories

使用git pull提示refusing to merge unrelated histories创建了一个origin,两个人分别clone分别做完全不同的提交第一个人git push成功第二个人在执行git pull的时候,提示fatal: refusing to merge unrelated histories解决方法:git pull --allow-unrelated-h...

2018-11-05 22:33:42 117

原创 Java IO基础总结

Java IO基础总结Java中使用IO(输入输出)来读取和写入,读写设备上的数据、硬盘文件、内存、键盘…,根据数据的走向可分为输入流和输出流,这个走向是以内存为基准的,即往内存中读数据是输入流,从内存中往外写是输出流。根据处理的数据类型可分为字节流和字符流1.字节流可以处理所有数据类型的数据,在java中以Stream结尾2.字符流处理文本数据,在java中以Reader和Writer结...

2018-11-03 11:12:59 255

原创 Java中读取classpath下的文件

项目的工程目录入如下:从类路径(classpath)下读取文件:我们读取resources目录下的StringUtils.java文件。介绍几种常见的方法:1.使用绝对路径法: File file = new File("D:\\ideaprojects\\qunar_works\\src\\main\\resources\\StringUtils.java"); ...

2018-11-02 22:54:07 14039

原创 SpringMVC设置静态资源不拦截三种方式

1、前端控制器的配置在web.xml中配置<!-- springmvc的前端控制器 --> <servlet> <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.Dispat...

2018-10-28 14:24:56 4355 1

原创 git常用命令总结

git常用命令总结供不熟悉记不住命令的朋友查看,每次找费时间。windows配置git:git config --global user.name “yourname” #配置全局的namegit config --global user.email “your@email.com"git config --list # 查看配置的信息然后在配置ssh登录:ssh-keygen...

2018-10-12 14:26:22 126

原创 python爬虫基础知识

python爬虫基础知识1. xpath和lxmlxpath一门从html中提取数据的语言xpath语法xpath helper插件:帮助我们从elements中定位数据选择节点(标签)/html/head/meta :能够选中html下的head下的所有的meta标签// :能够从任意节点开始选择//li :当前页面上的所有的li标签/htm...

2018-10-08 19:27:05 142

原创 LeetCode-468. 验证IP地址 Java

问题描述编写一个函数来验证输入的字符串是否是有效的 IPv4 或 IPv6 地址。IPv4 地址由十进制数和点来表示,每个地址包含4个十进制数,其范围为 0 - 255, 用(“.”)分割。比如,172.16.254.1;同时,IPv4 地址内的数不会以 0 开头。比如,地址 172.16.254.01 是不合法的。IPv6 地址由8组16进制的数字来表示,每组表示 16 比特。这...

2018-09-07 19:43:03 1225

原创 java.util.ConcurrentModificationException详解

解决办法:1、采用迭代器来迭代非线程安全的容器。 2、可以采用线程安全的容器。问题导入经常在迭代集合元素时,会想对集合做修改(add/remove)操作,类似下面这段代码:Iterator<Integer> it = list.iterator()while (it.hasNext()) { Integer val = it.next(); ...

2018-08-28 17:08:07 378

转载 枚举实现单例原理:线程安全及发序列化依旧为单例原因

单例的枚举实现在《Effective Java》中有提到,因为其功能完整、使用简洁、无偿地提供了序列化机制、在面对复杂的序列化或者反射攻击时仍然可以绝对防止多次实例化等优点,单元素的枚举类型被作者认为是实现Singleton的最佳方法。其实现非常简单,如下:publi...

2018-08-28 14:02:23 599

原创 重建二叉树-Java

问题描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。Java代码如下public class Solution { public TreeNode reConstructBinaryT...

2018-08-19 22:15:35 123

原创 Hbase读写性能分析

读者人群本文章适合有一定 的Hbase基础的读者阅读,比如已经知道了Hbase的读写流程、基本架构这些知识。掌握了这些知识更易理解本文章和加深印象。参考链接:Hbase读写性能分析...

2018-08-18 12:51:10 4536

转载 Hive和HBase的区别

Hive和HBase的区别一、两者分别是什么:    Apache Hive是一个构建在Hadoop基础设施之上的数据仓库。通过Hive可以使用HQL语言查询存放在HDFS上的数据。HQL是一种类SQL语言,这种语言最终被转化为Map/Reduce. 虽然Hive提供了SQL查询功能,但是Hive不能够进行交互查询–因为它只能够在Haoop...

2018-08-18 10:26:57 106

原创 48. 旋转图像 Java

问题描述给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:给定 matrix = [ [1,2,3], [4,5,6], [7,8,9] ],原地旋转输入矩阵,使其变为: [ [7,4,1], [8,5...

2018-08-17 22:06:59 527

原创 18. 四数之和 Java

问题描述给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例:给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。满足要求的...

2018-08-17 17:28:39 1112

原创 15. 三数之和 Java

问题描述给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为: [ [-1, 0, 1], [-1, -1, 2] ]...

2018-08-17 17:22:54 1285

原创 深入分析列式与行式数据库

定义列式存储(Column-based)是相对于传统关系型数据库的行式存储(Row-based)来说的。简单来说两者的区别就是如何组织表。将表放入存储系统中有两种方法,而我们绝大部分是采用行存储的。行存储法是将各行放入连续的物理位置,这很像传统的记录和文件系统。列存储法是将数据...

2018-08-17 15:46:03 1015

原创 LeetCode-198. 打家劫舍-Java

LeetCode-198 House Robber问题描述你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入: [1,2,3,1] ...

2018-08-15 16:16:37 210

原创 《aliJava开发规范》小结(一)

1、【强制】所有的相同类型的包装类对象之间值的比较,全部使用 equals 方法比较。说明: 对于 Integer var=?在-128 至 127 之间的赋值, Integer 对象是在 IntegerCache.cache 产生,会复用已有对象,这个区间内的 Integer 值可以直接使用==进行判断,但是这个区间之外的所有数据,都会在堆上产生,并不会复用已有对象,这是一个大坑,推荐使用...

2018-08-15 10:29:28 349

转载 hexo+github搭建个人博客(完整版教程)

轻松一刻:笔者不生产博客,只做此博客的搬运工。:sparkles:参考网址: https://blog.csdn.net/column/details/19262.html· :sparkles:

2018-08-14 17:36:27 171

原创 LeetCode-172. 阶乘后的零 Java

172. Factorial Trailing Zeroes Java问题描述给定一个整数 n,返回 n! 结果尾数中零的数量。示例 1:输入: 3 输出: 0 解释: 3! = 6, 尾数中没有零。 示例 2:输入: 5 输出: 1 解释: 5! = 120, 尾数中有 1 个零. 说明: 你算法的时间复杂度应为 O(log n) 。问题分析 要求...

2018-08-14 16:39:17 477

原创 LeetCode-26. 删除排序数组中的重复项(Java)

26. Remove Duplicates from Sorted Array(Java)给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums ...

2018-08-14 14:15:06 385

原创 LeetCode-14. 最长公共前缀

LeetCode-14. Longest Common Prefix编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: [“flower”,”flow”,”flight”] 输出: “fl” 示例 2:输入: [“dog”,”racecar”,”car”] 输出: “” 解释: 输入不存在公共前缀。 说明:所有输...

2018-08-14 13:11:54 115

原创 LeetCode-1. Two Sum

给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 解题思路:利用一张哈希表,在Java中使用HashMap,而key为nums[i],...

2018-08-14 10:26:46 98

原创 LeetCode-459. 重复的子字符串

给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。示例 1:输入: “abab”输出: True解释: 可由子字符串 “ab” 重复两次构成。 示例 2:输入: “aba”输出: False 示例 3:输入: “abcabcabcabc”输出: True解释: 可由子字符串 “abc” ...

2018-08-14 09:48:40 1632 1

空空如也

空空如也

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

TA关注的人

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