- 博客(45)
- 收藏
- 关注
原创 docker容器地址映射
地址映射方式启动时如果用-P(大写),Docker会随机映射一个49000~49900的端口到内部容器开放的网络端口。使用-p(小写)可以指定映射的地址三种格式:IP:HostPort:ContainerPortIP::ContainerPortHostPort:ContainerPort1.映射所有接口地址不指定ip,指定端口,如-p 5000:5000,此时会将所有本地所有地址的接口2.映射指定地址指定ip和端口,如-p 127.0.0.1:5000:5000,此时只会将本地12
2021-04-20 22:29:00
1760
原创 docker单机搭建zookeeper伪集群
docker拉取zookeeper镜像docker pull zookeeper新建zk1,zk2,zk3用于挂载三个节点的数据卷mkdir -vp zk/{zk1/{data/,logs/,conf/},zk2/{data/,log/,conf/},zk3/{data/,logs/,conf/}}根目录下创建zk,里面包含zk1,zk2,zk3三个子文件夹,每个zk子文件夹里有data/,logs/,conf/docker创建一个network组,让三个节点都进去才能互相p..
2021-04-20 22:25:31
289
原创 leetcode 144 二叉树的前序遍历
给定一个二叉树,返回它的 前序 遍历。思路1. 递归public List<Integer> preorderTraversal(TreeNode root) { List<Integer> list = new ArrayList<>(); pre(root,list); retu...
2019-11-12 17:38:46
141
原创 leetcode 724 寻找数组的中心数组
给定一个整数类型的数组 nums,请编写一个能够返回数组“中心索引”的方法。我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。示例 1:输入: nums = [1, 7, 3, 6, 5, 6]输出: 3解释:索引3 (nums[3] ...
2019-10-30 10:30:58
175
原创 《spring实战》--笔记 第7章 Spring MVC 高级技术
7.1 Spring MVC 配置的替代方案7.1.1 自定义DispatcherServlet配置package spittr.config;import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;public class SpitterWe...
2019-10-28 11:10:56
349
原创 155 最小栈
设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。push(x) – 将元素 x 推入栈中。pop() – 删除栈顶的元素。top() – 获取栈顶元素。getMin() – 检索栈中的最小元素。示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);m...
2019-10-24 15:32:50
247
原创 leetcode 234 回文链表
请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true进阶:你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?思路这题要把链表从中间折开,前半部分进行逆序,可以参考206反转链表。将前半部分逆序完的链表和后半部分链表依次进行比较判断是否为回文。找到中间节点...
2019-10-24 11:11:20
157
原创 leetcode 328 奇偶链表
给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。示例 1:输入: 1->2->3->4->5->NULL输出: 1->3->5->2-&...
2019-10-24 00:11:11
141
原创 leedtcode 19 删除链表的倒数第n个节点
给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?思路1.两次遍历(正常做法)既然是倒序,涉及到...
2019-10-21 09:51:24
113
原创 leetcode 160 相交链表
编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:在节点 c1 开始相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 8 (注意,...
2019-10-18 12:00:25
102
原创 leetcode 203 移除链表元素
删除链表中等于给定值val的所有节点示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5思路不难,删除元素需要考虑三种情况:头部删除尾部删除中间删除可以设置一个空的节点virtual,让他指向头结点,这样删除头结点和删除中间节点就是一样的操作,不要额外考虑。最后...
2019-10-17 16:03:52
98
原创 leetcode 206 反转链表
反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL思路1.栈第一时间想到栈。把节点依次压栈,再依次出栈即可。非常的简单public ListNode reverseList(ListNode head) { if(head == null){...
2019-10-17 13:30:34
147
原创 leetcode 141 环形链表
给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例 2:输入:head = [1,2], pos = 0输出:tru...
2019-10-16 17:08:07
115
原创 leetcode 142 环形链表2
给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。说明:不允许修改给定的链表。示例 1:输入:head = [3,2,0,-4], pos = 1输出:tail connects to node index 1解释...
2019-10-16 17:07:31
155
原创 leetcode 707 设计链表
设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节点。假设链表中的所有节点都是 0-index 的。在链表类中实现这些功能:get(index):获取链表中第 index 个节点的值。如果索引无效,则返回-1。...
2019-10-16 10:25:58
172
原创 leetcode 622 设计循环队列
设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。但是使用循环队列,我们能使用这些空间去存储新的值。你的实现应该支持如下操作:MyCircul...
2019-10-10 14:03:24
565
原创 带头单链表的实现
带头单链表就是在链表头部放一个空的链表,这样每次在操作链表时,不需要考虑链表是否存在节点,简化操作。@SuppressWarnings("unchecked")public class List<T> { //内部节点类 private class Node<T>{ private Object val; private N...
2019-10-09 17:04:18
170
原创 leetcode 第21题 合并两个有序链表
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4节点类: public class ListNode { int val; ListNode next; ListNode...
2019-10-08 14:45:53
130
原创 循环队列
循环队列如何判断队列已满或者空?使用一个length变量记录实际元素个数,就不用每次去计算head指针和rear指针之间的关系来判断队列的状态。package demo;import java.util.Arrays;@SuppressWarnings("unchecked")public class CircleArrayQueue<T> { public in...
2019-10-08 09:54:13
264
原创 Linux运行级别
七种运行级别0:关机1:单用户2:多用户无网络3:多用户有网络4:(系统保留未使用)5:图形界面6:重启系统修改运行级别命令行 init 3----切换到运行模式3/etc/inittab的id:5:initdefault 这一行的数字单用户运行级别该运行级别不需要密码,所以当我们忘记密码后可以进入该运行级别重新修改密码以CentOS 6为例开机引导时输入回车,看...
2019-09-27 10:56:24
102
原创 Linux关机指令
shutdownshutdown -h now:立即关机shutdown -h 1:一分钟后关机shutdown -r now : 立即重启halt关机reboot重启sync内存数据同步到磁盘(建议关闭系统之前同步执行以下该操作同步数据)...
2019-09-27 09:41:22
109
原创 linux文件结构
/bin**Binary的缩写,存放最经常使用的命令/sbinSuper User的意思,存放系统管理员使用的系统管理程序/home**存放普通用户的主目录,linux每一个用户都有自己的一个目录,一般用自己的账号名命名/root**系统管理员(root用户)的用户主目录/boot**存放启动Linux的一些核心文件,包括一些链接文件、镜像文件/proc一个虚拟目录,是系统内...
2019-09-27 09:39:58
110
原创 linux虚拟机三种网络形式
1.桥接模式linux可以上网,同一局域网的主机也能访问虚拟机,缺点是可能引起ip冲突2.NAT网络地址转换方式,linux可以上网,不会引起网络冲突。3.主机模式linux是一个独立的系统,不能访问外网。...
2019-09-27 09:39:09
198
原创 《spring实战》--笔记 第6章 渲染Web视图
6.1 理解Web视图SpringMVC提供了一个ViewResolver接口:public interface ViewResolver{ View resolveViewName(String viewName,Locale locale)throw Exception;}resolveViewName()方法返回一个View实例,View是另外一个接口:public in...
2019-09-23 16:54:02
313
原创 java后台查询手机号码归属地
业务需求:后台写一个接口,传入手机号码,返回手机号码的归属地。网上有很多免费的api地址可以查询手机号码归属地,功能大同小异。我这里是调用百度的api实现的。api地址:http://mobsec-dianhua.baidu.com/dianhua_api/open/location?tel=13216999149返回的数据格式Java类:package com.pinlor.uti...
2019-09-11 17:54:40
1317
原创 web表格数据导出excel表格
这里使用的是后端导出表格的形式。一整套流程简单的修改一下前台查询参数,和controller中的数据格式就能适应不同的需求。/** * 工具类 */public abstract class AssembleExcel { private int columnSize; private String sheetName = "Excel"; private HSS...
2019-09-10 11:54:34
222
1
原创 zTree异步加载子树实例
需求:项目中存在“合伙人”这样一个角色,合伙人可以有自己的下级合伙人,现在要再网页中使用树状结构显示合伙人关系。由于这个项目每个合伙人只记录了自己下面一级的合伙人,一次性查出所有等级合伙人结构比较复杂。所以做成了点击一个合伙人,去后台查询它的子合伙人,动态加载出来的实现。树插件使用了zTree。zTree官网<%@ page contentType="text/html;charset...
2019-09-02 09:42:47
398
原创 《Spring实战》--笔记 第5章 构建Spring Web应用
5.1 Spring MVC起步5.1.1 跟踪Spring MVC的请求使用Spring MVC经历的所有站点。[外链图片转存失败(img-hQ61rTU7-1566985726398)(en-resource://database/1518:1)]DispatchServlet收到请求后,依据HandlerMapping的配置,调用相应的Controller来处理。Controller...
2019-08-28 17:49:00
223
原创 leetcode 20 有效的括号
给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”输出: true示例 2:输入: “()[]{}”输出: true示例 3:输入: “(]”输出: false示例 4:...
2019-08-24 15:51:38
86
原创 leetcode 14 最长公共前缀
问题编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例1:输入:[“flower”,“flow”,“flight”]输出:“fl”示例2:输入:[“dog”,“racecar”,“car”]输出:""解释:输入不存在公共前缀说明:所有输入只包含小写字母a-z。思路最简单的方法,从第一个字符串的第一个字符开始,一次对比后面字符串的...
2019-08-23 16:54:50
106
原创 《Spring实战》--笔记 第四章 面向切面的Spring
4.1 什么是面向切面编程切面能够将横切关注点模块化,将其抽出来成为一个通用的功能。4.1.1定义AOP术语通知(Advice)切面的工作成为通知。通知定义了切面是什么以及何时使用。除了描述切面要完成的工作,通知还解决了何时执行这个工作的问题。Spring切面可以定义5种通知:前置通知(before):在目标方法被调用前调用该通知功能后置通知(After):在目标方法被调用后...
2019-08-22 11:36:44
331
转载 java 代理机制
代理模式是什么代理模式是一种设计模式,简单说即是在不改变源码的情况下,实现对目标对象的功能扩展。比如有个歌手对象叫Singer,这个对象有一个唱歌方法叫sing()。 public class Singer{ public void sing(){ System.out.println("唱一首歌"); } }假如你希望,通过你的某种方...
2019-08-19 11:45:21
68
原创 leetcode 13 罗马数字转整数
题目罗马数字包含以下七种字符:I,V,X,L,C,D和M字符数值I1V5X10L50C100D500M1000例如,罗马数字2写作II,即为两个并列的1。12写作XII,即为X+II。27写作XXVII,即为XX+V+II。通常情况下,罗马数字中小的数字在大的数字的右边。但是也存在特例,例如4不写做IIII,而是I...
2019-08-19 09:20:16
74
原创 leetcode 9 回文数字
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。进阶...
2019-08-06 22:49:50
106
原创 leetcode 7 整数反转
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−2^31, 2^31 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。思路看到反转,...
2019-08-06 14:25:15
85
原创 《Spring实战》--笔记 第三章 高级装配
3.1环境与profile开发环境、测试环境、生产环境可能需要的配置都不一样。一种方案是通过XML文件分别来配置不同环境对应的bean,在系统构建的时候,需要什么配置就加载对应的文件。但是这种方式在测试阶段迁移到生产阶段时,重新构建可能还是会出现bug。3.1.1配置profile beanSpring采用的方式类似于上面,也是根据环境需要创建对应的bean。但是Spring不是在构建的时...
2019-08-01 16:19:50
321
原创 leetcode 2 两数之和
给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 ->...
2019-07-31 14:18:25
239
原创 leetcode 1 两数之和
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]思路一最简单的...
2019-07-31 11:46:27
173
原创 《Spring实战》--笔记 第二章 装配Bean
2.1 Spring 配置的可选方案在XML中进行显式配置在Java中进行显式配置隐式的bean发现机制和自动装配JavaConfig比XML更加强大且类型安全2.2 自动化装配bean自动装配的过程组件扫描(component scanning):Spring会自动发现应用上下文中创建的bean自动装配(autowiring):Spring自动满足bean之间的依赖...
2019-07-22 14:29:21
364
原创 《Spring实战》--笔记 第一章 Spring之旅
Spring的核心依赖注入(dependency injection,DI)面向切面编程(aspect-oriented programming,AOP)1.1 简化java开发spring的根本使命:简化java开发如何做到:基于pojo的轻量级和最小侵入性编程通过依赖注入和面向接口实现松耦合基于切面和惯例进行声明式编程通过切面和模板减少样式代码1.1.3 应用切面...
2019-07-22 14:16:53
126
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人