自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (10)
  • 收藏
  • 关注

原创 验证链表是否有环

思路声明一个快指针、一个慢指针,快指针一次走两步,慢指针一次走一步。如果快慢两个指针相遇,说明链表有环。至于为什么快慢两个指针相遇就说明链表中有环,这个牵扯到数学证明。这里就不论证了,我们直接用结论。代码实现初始化的时候,快指针指向 head.next,慢指针指向head。public static boolean checkCircle(Node head) { if(head...

2020-03-18 11:31:54 128

原创 反转单链表

给一个单向链表,如下图所示,我们要做的是将它的指针反向调转,头做尾,尾做头。我们需要声明三个指针:pre、cur、next。初始化时,pre指针指向NULL, cur 指针指向头节点,next 指向头节点的下一个节点。具体反转的时候,首先cur指向NULL(cur.next = pre),然后pre 指向cur 的位置(pre = cur),cur 指向next ,即cur = next,...

2020-03-17 18:59:49 137

原创 归并排序(Merge Sort)

归并排序思想有一个数组,首先我们要做的就是将这个初始数组划分成两半然后想办法把左边的数组进行排序,把右边的数组也进行排序最后在合并起来(归并起来)归并排序使用的就是分治思想。分治,顾名思义,就是分而治之,将一个大问题分解成小的子问题来解决。小的子问题解决了,大问题也就解决了。但是,这会有一个疑问,我怎么对左右两边的数组进行排序呢?这时候就需要重复进行上面的三个步骤,把左半部分、右...

2020-03-17 15:54:27 297

原创 HashCode规则

两个对象相等,hashcode一定相等两个对象不相等,hashcode可能相等hashcode相等,两个对象不一定相等hashcode不相等,两个对象一定不相等

2020-03-15 14:17:58 234

原创 HashMap的寻址算法优化

hash算法的优化:对每个hash值,在他的低16位中,让高低16位进行了异或(^),让它的低16位同时保持了高低16位的特征,尽量避免一些hash后续冲突。寻址算法的优化:用与运算替代取模,提升性能。...

2020-03-14 03:10:25 719

原创 Prometheus从入门到跑路

Prometheus监控prometheus框架结构prometheus组件介绍Prometheus Server这是Prometheus的服务端,也就是核心。Prometheus本身是一个以进程方式启动,之后以多进程和多线程实现监控数据收集、计算、查询、更新、存储的这样一个C/S模型运行模式。prometheus存储prometheus采用的是time-series(时间序列...

2019-04-23 10:12:08 1936

原创 Java NIO Buffer核心源码解读与分析

关于Java NIO Buffer中的3个重要状态属性:position,limit,capacity。Buffer基本简介抽象类Buffer源码中关于Buffer的介绍如下:A container for data of a specific primitive type. A buffer is a linear, finite sequence of elements of a sp...

2019-03-08 17:33:25 241

原创 Java NIO 简介

NIO简介Java NIO 与传统 IO 相比,具有同样的作用和目的都是进行文件的读写操作,但是使用的方式完全不同,NIO支持面向缓冲区的、基于通道的IO操作。Java NIO 与 IO 的主要区别: IO NIO 面向流(Stream Oriented) 面向缓冲区(Buffer Oriented) 阻塞IO(Blocking IO) 非阻塞...

2019-03-08 10:57:02 114

原创 Java8的Lambda表达式

一、Lambda表达式Lambda是一个匿名函数,我们可以把Lambda表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。使代码更简洁更灵活。二、Lambda表达式的基础语法Java8中引入了一个新的操作符->,这个操作符称为箭头操作符或者Lambda操作符,箭头操作符将Lambda表达式拆分成了两部分。 操作符左侧:Lambda表达式的参数列表 操作符右侧:La...

2018-08-22 17:35:48 289

原创 kafka集群搭建

安装前的环境准备由于Kafka是用Scala语言开发的,运行在JVM上,因此在安装Kafka之前需要先安装JDK。 # yum install java-1.8.0-openjdk* -ykafka依赖zookeeper,所以需要先安装zookeeper # wget http://mirror.bit.edu.cn/apache/zookeeper/stable/zookeeper-...

2018-08-12 10:41:03 185

原创 分布式集群zookeeper —— 入门

1. 命令操作创建节点: create [-s] [-e] path data acl-s:可选参数,表示节点是否有序-e:可选参数,表示是否为临时节点默认情况下是持久化节点[zk: localhost:2181(CONNECTED) 28] create /node 123Created /node[zk: localhost:2181(CONNECTED) 32]...

2018-08-11 14:42:49 159

原创 Dockerfile语法及最佳实践

FROM制作 base image FROM scratch使用 base image FROM centos; FROM unbuntu:14.04LABELLABEL maintainer="[email protected]"LABEL version = "1.0"LABEL description="This is description"Metada...

2018-08-10 17:46:47 642 1

原创 构建自己的docker镜像

1. 基于一个已经存在container创建docker imagedocker container commit -> 简写:docker commit[root@localhost ~]# docker container commit"docker container commit" requires at least 1 and at most 2 argument(s)...

2018-08-10 13:50:03 2586

原创 分布式集群zookeeper —— 开山

observer :observer是一种特殊的zookeeper节点。可以帮助解决zookeeper的扩展性,如果大量客户端访问我们的zookeeper集群,需要增加zookeeper集群机器数量,从而增加zookeeper服务器集群的性能,导致zookeeper写性能下降。因为zookeeper数据的变更需要半数以上的服务器投票通过,造成网络消耗,增加投票成果。observer不参与...

2018-08-10 01:08:16 245

原创 正则表达式 -- 语法篇

正则表达式在不同语言的支持方法略有不同,但总的正则语法是差不多的。 以JavaScript为例讲解,在js中如果要引入正则表达式,需要/.../,正则表达式默认是区分大小写的。普通匹配符能够匹配与之对应的一个字符i、g、m 称为正则标记符(参数)i 表示不区分大小写g 全局匹配m 多行匹配示例:var str = "Hello Java Hello java"...

2018-07-19 17:58:14 259

原创 Docker的Container简介

什么是Container要有Container首先要有Image,也就是说Container是通过image创建的。Container是在原先的Image之上新加的一层,称作Container layer,这一层是可读可写的(Image是只读的)。在面向对象的编程语言中,有类跟对象的概念。类是抽象的,对象是类的具体实现。Image跟Container可以类比面向对象中的类跟对象,Imag...

2018-06-27 00:26:15 23954 1

原创 Docker架构和底层技术简介

开篇Docker提供了一个开发,打包,运行APP的平台把APP和底层infrastructure隔离开来 从上面的简图我们可以看到,docker把物理设备 / 虚拟设备和Application隔离开来。Docker Engine Docker Engine包含的东西有: * 后台进程(dockerd) * REST API Server * CLI 接口(docke...

2018-06-25 21:58:01 1722

原创 CentOS安装Docker

首先,这里CentOS采用的是CentOS7,Docker版本是Docker v18.03。如果有安装旧版本Docker,需要先卸载掉:$ sudo yum remove docker \ docker-client \ docker-client-latest \ docker...

2018-06-25 01:32:37 106

原创 Spring源码下载并编译导入eclipse

源码下载spring-framework项目已经托管在GitHub,直接在GitHub克隆下载到本地即可。 在这里采用的spring版本是4.3.8.查看下载下来的spring源码所有的版本cd进入到下载的spring-framework目录,使用git tag命令: 使用git fetch更新一下源码: 将源码版本切换到4.3.8版本:git checkout -b...

2018-06-18 01:32:46 204

原创 SpringBoot整合MyBatis -- 基础环境搭建

通过IDEA工具,用Spring Initializr创建项目。1. 设置Group、Artifact以及包名2.选择需要依赖的模块2.1选择SpringBoot的版本,添加web依赖: 2.2在SQL中选中MySQL数据库驱动,选择JDBC用来添加数据源,然后选择添加MyBatis依赖 然后next->finish,项目创建完成。3.项目的POM...

2018-04-06 23:15:34 159

原创 使用Spring Initializer快速创建Spring Boot 项目

以IDEA为例快速创建一个Spring Boot项目选择 New Project >> Spring Initializer >> Default 默认 >> next 然后配置项目信息 Group 、Artifact 、Package >> Next 接下来就是选择我们需要的模块,这里选择web功能 ,点击Next ...

2018-03-25 22:02:30 526

原创 JVM线程引擎

线程从OOP的角度来说:相当于一个对象,该对象中具有执行代码,同时也有要处理的数据,数据包含Thread工作时候要访问的数据,同时也包含现程的Stack,在Stack中包含了拷贝的全局数据;线程从面向过程的角度来说:线程=代码+数据多线程的Java应用程序:为了让每个线程正常工作就提出了程序计数器(Program Counter Register),每个线程都有自己的程...

2018-03-16 16:11:31 149

原创 JDK动态代理探索

代理模式简析代理模式的定义如下: Provide a surrogate or placeholder for another object to control access to it.(为其他对象提供一种代理以控制对这个对象的访问。)话不多说,上UML图: 我们看一下类图中角色的定义: Subject 抽象主题角色 抽象主题类可以是抽象类也可以是接口,是一个最普通的业

2017-12-18 00:46:44 220

原创 SpringBoot热部署-基于IntelliJ IDEA

问题提出在用SpringBoot编写代码时,我们有时候只是简单的把打印信息改变了,就需要重新部署,如果这样编码,一天下来真是打几个Hello World就下班了。如何解决呢。springboot + devtools(热部署)spring-boot-devtools 是一个为开发者服务的一个模块,其中最重要的功能就是自动应用代码更改到最新的App上面去。原理是在发现代码有更改之后,重新启动应用,但

2017-12-15 14:54:17 203

原创 Java实现多线程的三种方式

一、通过继承Thread类实现多线程在Java中负责线程的这个功能的是Java.lang.Thread这个类,可以通过创建Thread的实例来创建新的线程。每个线程都是通过某个特定Thread对象所对应的方法run()来完成其操作的,方法run()称为线程体。通过调用Thread类的start()方法来启动一个线程。创建多线程:继承Thread类,重写 run(线程体)public class

2017-10-14 12:10:03 200

原创 线程的概念

· 程序Program,是一个静态的概念· 进程Process,是一个动态的概念进程是程序的一次动态执行过程,占用特定的地址空间每个进程都是独立的,由3部分组成cpu,data,code缺点:内存的浪费,cpu的负担· 线程Thread,是进程中一个”单一的连续控制流程”/执行路径线程又被称为轻量级进程(linghtweight process)Threads run at the sa

2017-10-14 11:55:31 202

原创 SpringMVC的运行原理

· SpringMVC是什么SpringMVC是一个web层mvc框架,类似Struts。 谈到mvc我们应该首先了解一下mvc的设计思想,mvc的设计思想就是解耦合。任何的重定向都能解耦合。 · MVC(Model-View-Controller)三元组的概念Model(模型):数据模型,提供要展示的数据,因此包含要展示的数据和行为,可以理解为是领域模型或JavavBean组件。不过现在一般都

2017-10-14 10:11:02 243

原创 JVM三大核心区域

Heap Area存储的全部都是Object对象实例,对象实例中一般包含了其数据成员以及与该对象对应的Class信息。一个JVM实例在运行的时候只有一个Heap区域,该区域被所有的线程共享。Method Area方法区又名静态成员区域,包含整个程序的Class、static成员等方法区被所有的线程共享。Stack AreaStack区域属于线程私有,每个线程都包含一个Stack区域,S

2017-09-27 17:51:49 767

原创 JDBC中的装饰者模式

一、对象增强的手段* 继承  被增强的对象固定的  增强的内容也是固定的* 装饰者模式  被增强的对象是可以切换的  增强的内容是固定的* 动态代理(AOP)  被增强的对象可以切换:Service  增强的内容也可以切换:事务处理二、装饰:不知道被增强对象的具体类型时,可以使用!是你,还有你,一切拜托你!is a has a

2015-06-14 17:39:29 223

没什么难的Docker入门与开发实战 【熊昌隆·著】

没什么难的Docker入门与开发实战 --【熊昌隆·著】。 含有目录,高清扫描版。

2019-03-08

SpringBoot 实战 【著:[美] Craig Walls 译:丁雪丰】

全面讲解如何运用 Spring Boot 提高效率,使应用程序的开发和管理更加轻松有趣。作者行文亲切流畅,以大量示例讲解了Spring Boot在各类情境中的应用,内容涵盖起步依赖、Spring Boot CLI、Groovy、Grails、Actuator。对于 Spring Boot 开发应用中较为繁琐的内容,附录奉上整理完毕的表格,一目了然,方便读者查阅。 本书适合全体 Java 开发人员。

2017-12-12

数据结构(Java版)第三版[叶核亚]全套资料

数据结构Java版 (第三版) 的全套资料,包含:[电子教案] [配套资料] [习题解答与试题库]

2017-11-09

Java编程思想第四版

Java编程思想中文版第四版 mobi 格式,适用于kindle。

2017-11-06

Java常用算法手册

《Java常用算法手册》分三篇,共13章,分别介绍了算法基础、算法应用和算法面试题。首先介绍了算法概述,然后重点分析了数据结构和基本算法思想;接着,详细讲解了算法在排序、查找、数学计算、数论、历史趣题、游戏、密码学等领域中的应用;最后,列举了算法的一些常见面试题。书中知识点覆盖全面,结构安排紧凑,讲解详细,实例丰富。全书对每一个知识点都给出了相应的算法及应用实例,虽然这些例子都是以Java语言来编写的,但是这些算法并不局限于Java语言。如果读者采用其他的编程语言,例如C++、C、C#等,只要根据其语法格式进行适当的修改便可以了。

2017-11-06

数据结构实用概念专题讲座

01-数据结构实用概念专题讲座;01-数据结构实用概念专题讲座01-数据结构实用概念专题讲座

2017-11-02

《颠覆式创新:移动互联网时代的生存法则》李善友

.mobi 格式《颠覆式创新:移动互联网时代的生存法则》李善友

2017-11-02

Linux内核源码+查看工具

Linux内核源码+查看工具,Linux内核源码+查看工具Linux内核源码+查看工具

2017-11-02

C语言内存四区

传智C语言内存四区PPT,传智C语言内存四区PPT,传智C语言内存四区PPT

2017-11-02

Java帮助CHM文档

试用于jdk1.8API 的英文 文档 Java™ Platform, Standard Edition 8 API Specification This document is the API specification for the Java™ Platform, Standard Edition.

2015-12-20

空空如也

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

TA关注的人

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