摘要: HashMap的节点   // 基础节点,单链表 static class Node<K,V> implements Map.Entry<K,V> { final int hash; final K key; ... 阅读原文
2019-02-24 12:07:02 阅读(2866) 评论(0)
摘要: 变性是OOP语言不变的大坑,Java的数组协变就是其中的一口老坑。因为最近踩到了,便做一个记录。顺便也提一下范型的变性。 解释数组协变之前,先明确三个相关的概念,协变、不变和逆变。   一、协变、不变、逆变 假设,我为一家餐馆写了这样一段代码 class Soup<T> { public voi... 阅读原文
2019-02-24 10:18:02 阅读(2144) 评论(0)
摘要: 0 1背包——每种物品只能选0件或者1件 /** * weight[] = {2,3,4,5} * value[] = {3,4,5,7} * 求解满足小于背包最大承重得到最大价值的物品存放策略 * 思路核心: * 1. 当前取物品的重量we... 阅读原文
2019-02-24 09:24:02 阅读(3338) 评论(0)
摘要: 前面介绍了如何自己定义函数式接口,本文接续函数式接口的实现原理,阐述它在数组处理中的实际应用。数组工具Arrays提供了sort方法用于数组元素排序,可是并未提供更丰富的数组加工操作,比如从某个字符串数组中挑选符合条件的字符串并形成新的数组。现在就让我们从零开始,利用函数式接口实现数组元素筛选的功能。首先要定义一个字... 阅读原文
2019-02-24 08:23:01 阅读(2188) 评论(0)
摘要: keepalived介绍 Keepalived是一个基于VRRP协议来实现的服务高可用方案,可以利用其来避免IP单点故障,类似的工具还有heartbeat、corosync、pacemaker。但是它一般不会单独出现,而是与其它负载均衡技术(如lvs、haproxy、nginx)一起工作来达到集群的高可用。 VR... 阅读原文
2019-02-24 06:31:04 阅读(2258) 评论(0)
摘要: 本文作者:林湾村龙猫、徐刘根 林湾村龙猫:【简书地址】https://www.jianshu.com/p/edce8e8c139e 一、前言 对于配置文件,我们并不陌生,它提供我们可以动态修改程序运行能力。引用别人的一句话就是: 系统运行时(runtime)飞行姿态的动态调整! 我可以把我们的工作称之为在快速... 阅读原文
2019-02-24 06:00:15 阅读(2749) 评论(0)
摘要: JAVA环境变量的配置:Path,JAVA_HOME,CLASSPATH   一、右键我的电脑,属性,高级系统设置,点击环境变量 二、然后就会弹出环境变量这个窗口,在系统变量编辑JAVA_HOME,如果没有就新建一个,把jkd的路径添加进去,如图 三、配置CASSPATH,如果没有就新建一个,把jdk的lib... 阅读原文
2019-02-24 00:43:05 阅读(2463) 评论(0)
摘要: 这里只讲述@Api、@ApiOperation、@ApiImplicitParams、@ApiImplicitParam、@ApiParam、@ApiModel、@ApiModelProperty、ApiResponses、@ApiResponse这几个常用的。 @Api:用在请求的类上,表示对类的说明 常用参数... 阅读原文
2019-02-24 00:06:02 阅读(2573) 评论(0)
摘要: 1.多线程 1.1.多线程介绍   学习多线程之前,我们先要了解几个关于多线程有关的概念。   进程:正在运行的程序。确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能,进程是系统进行资源分配和调度的一个独立单位。进程是正在运行的程序,进程负责给程序分配内存空间,而每... 阅读原文
2019-02-23 22:38:04 阅读(2513) 评论(0)
摘要: 1.多二维码识别 (同一张图片中多二维码识别)   直接上代码舒服: 1 /** 2 * Parse multiple qr codes(解析多个二维码) 3 * 4 * @param bufferedImage image 5 * @return QRCod... 阅读原文
2019-02-23 21:09:02 阅读(2767) 评论(0)