Vant的博客

不想当健身教练的程序员不是好男人 https://github.com/Vant1032

全排列算法本质与实现

本质 解决全排列问题本质是:二分法。 将某个数组的全排列看成是由第0个元素与其后所有元素的全排列组成。 做法是每次只需要挑选某个元素作为当前排列的第0个元素,然后剩下的变成子问题递归来解决。 原理 设一个数组的长度为n,则其全排列的个数为n!个。 设f(n)代表对于一个n长度数组的全排列,arra...

2019-08-25 16:35:16

阅读数 0

评论数 0

剑指offer-二维数组查找题解-本质与实现

概述 从左下开始找。 本质是利用:有序序列中最小的元素比target(目标元素)大,那么target必然不在此序列中。因此也可以从右上找。 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二...

2019-08-24 15:35:25

阅读数 9

评论数 0

剑指offer-重建二叉树-Java版题解

概述 本题来自牛客网-剑指offer在线测评 原理与实现 思想:二分、递归 关键是:利用前序序列根节点在前找到根节点,用根节点去中序序列划分成两部分,左部分是左子树,右部分是右子树。再利用子树长度去前序序列把前序序列中的左右子树找出来,同时可以找出根节点。递归进行此步骤,如果子树长度为0,则不需要...

2019-08-23 09:53:17

阅读数 7

评论数 0

如何打乱一个数组--数组shuffle实现及常见错误

定义打乱:对于一个数,它随机跟其它位置或其本身位置交换 定义一个数组的打乱:数组中每一个数都被打乱成为数组的打乱 import java.util.Random; /** * 参考自Java Collection源码 * 定义打乱:对于一个数,它随机跟其它位置或其本身位置交换 * 定义一个...

2019-08-22 19:29:31

阅读数 8

评论数 0

快速排序的原理及其实现(C++及Java版)浅析

快速排序原理 基于二分的思想,先随机选定一个基准数(比如最左边的),然后从一个指针从最右边找比基准数小的数,一个指针从最左边找比基准数大的数,然后两数交换位置,重复找并交换的过程,最终在两个指正相碰时,该位置就是基准数在最终排好序时的结果,将基准数和该位置上的数交换位置,即可。然后根据基准数的位置...

2019-08-20 14:46:45

阅读数 12

评论数 0

Java通过注解实现一个接口--利用反射与代理

概述 传统实现接口的方式需要implement才行,通过注解实现一个接口可以减轻每次都要implement的繁琐。本文实现一个Demo来展示如何通过注解实现一个接口。 Code import java.lang.annotation.Annotation; import java.lang.ann...

2019-07-21 16:43:32

阅读数 30

评论数 0

wireshark过滤器语法全面解析

本文全面介绍了wireshark过滤器语法,wireshark包括捕获过滤器和显示过滤器,其中显示过滤器的语法十分丰富,其实显示过滤器的语法可以简单概括为:基本数据类型,协议对象,比较运算符,结合运算符,字符串函数与正则表达式,这就是其所有语法。其中高级的用法也许是切片、集合、正则表达式。 本文...

2019-07-21 09:51:24

阅读数 246

评论数 0

层序遍历时划分每层-Leetcode 429. N叉树的层序遍历-java版

如何在层序遍历n叉树时,将每层元素分开?本文通过广度优先搜索(BFS)的方式解决这个问题。其实DFS也是可以的。

2019-07-16 19:27:35

阅读数 17

评论数 0

全面介绍Linux下tcpdump的使用

本文将全面地介绍tcpdump的选项及其表达式的具体用法,并给出常见用法及推荐资料。 tcpdump是Linux上的网络抓包工具,可以监视所有经过网卡的流量包。 tcpdump的命令格式为`tcpdump options expression`,通过表达式可以过滤流量。直接启动tcpdump将...

2019-07-15 15:33:50

阅读数 393

评论数 2

shell编程入门详解--从基础到调试

1. 变量 1.1 变量定义 a=1 : 直接赋值即可定义普通变量 declare n : 定义普通变量 declare -i n : 定义数值变量 readonly n : 定义只读变量 export n : 定义环境变量(环境变量为进程私有,可被子进程继承) local n : 定义局部变量...

2019-07-08 16:37:43

阅读数 1167

评论数 2

Linux Shell多线程编程之wait

一、& 介绍 sleep 10 #等待10秒,再继续下一操作 sleep 10 & #当前shell不等待,后台子shell等待 使用&命令后,作业被提交到后台异步运行,当前控制台没有被占用,但是一但把当前控制台关掉(退出帐户时),作业就会停止运行...

2019-07-03 23:32:57

阅读数 32

评论数 0

记Hadoop3.1.2安装排错之ERROR: Cannot set priority of datanode process

问题 在安装Hadoop过程中,对hdfs格式化(# $HADOOP_HOME/bin/hdfs namenode -format)之后,开始启动hdfs(# $HADOOP_HOME/sbin/start-dfs.sh)时,总是报错如下: ERROR: Cannot set priority o...

2019-07-03 16:16:25

阅读数 23

评论数 0

JDK11版HashMap源码全部解析(详细)-一文覆盖各方面

本文很长,详细描述了HashMap源码级别的实现原理,并讨论了包括扩容,hash计算,新建HashMap的开销等问题,同时还提供了一些外部资料。 由于内容太多,建议阅读时结合目录快速跳转查看。

2019-05-11 16:18:32

阅读数 898

评论数 0

深入解析Java泛型通配符类型

概述 在Java中,通配符类型List<?>等价于List<? extends Object>,List<? extends Animal>则代表其可以被赋值为List或List等其子类,List<?...

2019-04-24 12:49:39

阅读数 42

评论数 0

Linux shell中的特殊变量

在Bash中有些变量比较特殊,会随情况而变: $_ 是上个命令的最后一个参数 $? 上个命令的退出状态,或函数的返回值 $! 最近一个后台命令的PID $n传递给脚本或函数的参数。n是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2 $# 传递给脚本或函数的参数个数。 $* ...

2019-02-15 16:48:04

阅读数 57

评论数 0

java11使用VisualVm配置远程Jstatd与JMX连接

1.Jstatd: 1.1配置jstatd.policy 在java11中由于没有tools.jar,所以原有的配置jstatd.policy方式行不通 jstatd.policy改成如下即可 grant codebase "jrt:/jdk.jstatd&...

2019-02-13 19:41:25

阅读数 345

评论数 1

【杂】手机访问电脑开发的网站——通过Chrome DevTools

手机访问电脑开发的网站 方法一: 手机安装Chrome浏览器(应该要用安卓手机,并且开启开发者模式中的调试功能) 电脑端用Chrome打开网址:chrome://inspect/#devices,如图 假设电脑端开启了服务器在监听7070端口,则点开Discov USB devices 中的P...

2018-12-22 23:20:19

阅读数 97

评论数 0

JDBC数据库驱动注册与Connection获取源码分析

源码分析: 这是Mysql 8.x版的java驱动部分源码 package com.mysql.cj.jdbc; import java.sql.SQLException; public class Driver extends NonRegisteringDriver implements ...

2018-12-14 09:08:37

阅读数 157

评论数 0

Java正确实现单例模式

当不用考虑线程安全时,使用传统方法可以很容易解决,这里我们在考虑线程安全性的情况下实现单例模式 双检锁 这是一种懒加载方式 public class Singleton { private static volatile Singleton INSTANCE; priva...

2018-12-12 16:47:02

阅读数 33

评论数 0

java项目模板-Netty

gradle implementation 'io.netty:netty-all:4.1.31.Final' 常用服务端辅助代码: import io.netty.bootstrap.ServerBootstrap; import io.netty.buffer.Unpoole...

2018-12-10 11:16:56

阅读数 244

评论数 0

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