自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 CentOS下jenkins2安装文档

CentOS 下 jenkins2 安装文档 下载 首先在 jenkins官网 下载合适版本的 jenkins 2.x,我这里下载的是 jenkins-2.190.1-1.1.noarch.rpm 安装 下载的是一个 rpm 格式的文件,需要使用命令 rpm -ivh jenkins-2.190...

2020-02-24 20:38:48

阅读数 10

评论数 0

原创 反射使用

反射使用 概念 反射是计算机程序运行的时候,检查、自省、改变结构和行为的能力 使用 一般都是先获取 Class 类,然后根据要获取的操作信息,获取类的构造函数,方法,属性等,找到并调用相应的方法 用例 测试类父类 ReflectSuperBean package com.yczuoxin.bea...

2020-02-24 19:46:00

阅读数 41

评论数 0

原创 Type 接口

Type 接口 讨论版本为 JDK1.8 java.lang.reflect.Type,所有类型的父接口,在 JDK1.5 引入,接口的源码如下 public interface Type { /** * Returns a string describing this type...

2020-02-24 19:45:04

阅读数 19

评论数 0

原创 泛型概述

泛型 Generic 概述 什么是泛型 泛型是 JDK1.5 引入的一种技术,用参数表示一个类型,如 T,K 等,在实例化的时候再指定其具体的类型,参数类型可以分为三种 泛型类 类定义时指定参数,即构成了泛型类,例如下面代码中就指定 T 为类型参数,那么在这个类里面就可以使用这个类型了。例如定...

2020-02-24 19:43:09

阅读数 14

评论数 0

原创 Linux 下 Docker 安装

Linux 下 Docker 安装 准备 拥有一台 Linux 系统的机器,我这里使用的是 VMware 搭建的一个 CentOS 7 的操作系统,搭建过程可以参考官方文档 卸载历史版本 sudo yum remove docker \ docker-clie...

2020-01-06 00:26:13

阅读数 27

评论数 0

原创 安装虚拟机笔记

安装虚拟机 准备工作 先安装 VMware 下载好 Linux 镜像,这边使用的 CentOS 7 配置 Linux 环境 首先尝试 ping 百度能不能 ping 通 ping www.baidu.com 发现返回指令 ping www.baidu.com: Name or services...

2020-01-05 14:57:12

阅读数 16

评论数 0

原创 轻量级锁和重量级锁

轻量级锁和重量级锁 必备知识 了解轻量级锁,就必须先了解 CAS 指令 CAS 指令 概念 CAS (Compare-And-Swap 或者 Compare-And-Set) 是一种系统原语,原语属于操作系统用语范畴,是由若干条指令组成的,用于完成某个功能的一个过程,并且原语的执行必须是连续的,在...

2019-12-12 10:53:27

阅读数 19

评论数 0

原创 Synchronized概述

Synchronized 概述 概述 synchronized 关键字是 Sun 公司封装的一个锁工具,其在 JDK 1.6 之前就是一把重量级锁,但是在 JDK 1.6 及之后, synchronized 关键字进行了升级,锁会不断地升级 偏向锁 轻量级锁 重量级锁 文档 官方参考 对象实例...

2019-12-12 10:53:08

阅读数 17

评论数 0

原创 偏向锁详解

Synchronized 之偏向锁详解 概述 synchronized 关键字是 Sun 公司封装的一个锁工具,其在 JDK 1.6 之前就是一把重量级锁,但是在 JDK 1.6 及之后, synchronized 关键字进行了升级,锁会不断地升级 偏向锁 轻量级锁 重量级锁 文档 官方参考...

2019-12-09 00:56:31

阅读数 46

评论数 0

原创 Spring5的源码构建之旅

Spring5的源码构建之旅 最近在看 spring源码深度解析第二版,需要先构建 Spring 的源码,于是开始自己的构建之旅,在公司构建是一帆风顺,可是不知道为什么回家后,构建起来就是各种辛酸,查了很多资料,很多都不是很全面,所以自己写一篇笔记方便大家和自己以后遇到相同问题有地可寻,二话不说,...

2019-08-11 22:49:36

阅读数 79

评论数 0

原创 一次mysql的重启失败

一次mysql的重启失败 近期阿里云一直提示修复漏洞,然后重启了mysql,导致 mysql 无法启动,看到提示 Can't connect to local MySQL server through socket '/tmp/mysql.sock' 是否存在,去目...

2019-07-25 16:52:45

阅读数 25

评论数 0

原创 colaboratory使用笔记

Colaboratory使用笔记 介绍 Colaboratory 是 Google 开源出来的云端 IDE 工具来协助 AI 开发,它可以支持 Python2 和 Python3,并且支持 GPU 加速,但是必须在 Google 浏览器上运行 使用步骤 首先登陆谷歌云盘,免费的会有 15G 的...

2019-05-08 10:25:53

阅读数 643

评论数 4

原创 PriorityBlockingQueue笔记

PriorityBlockingQueue笔记 概述 带优先级的阻塞队列,其底层是一个数组,该队列会自动扩容,默认会使用对象的 compareTo 方法进行比较,也可以自定义 comparator /** Default array capacity. */ private sta...

2019-04-17 10:38:56

阅读数 31

评论数 0

原创 LinkedBlockingQueue笔记

LinkedBlockingQueue笔记 概述 LinkedBlockingQueue 是一个利用独占锁(ReentrantLock)实现的阻塞队列,其底层是一个单向链表(静态内部类 Node),默认构造器中,其队列的长度为 int 的最大值,如果队列满了,后续插入节点阻塞,并视情况是否丢弃,该...

2019-04-15 10:26:25

阅读数 26

评论数 0

原创 ArrayBlockingQueue笔记

ArrayBlockingQueue笔记 概述 ArrayBlockingQueue 是一个利用独占锁(ReentrantLock)实现的阻塞队列,其底层是一个有界数组(Array),由于移动数组的位置代价过大,其利用 takeIndex 的移动来保证查找头节是理论上数组的队列头部,利用 putI...

2019-04-15 10:25:25

阅读数 27

评论数 0

原创 CopyOnWriteList笔记

CopyOnWriteList笔记 概述 CopyOnWriteList 是一个写时复制的策略保证 list 的一致性,所以在其增删改的操作中都使用了独占锁 ReentrantLock 来保证某个时间只有一个线程能对 list 数组进行修改。其底层是对数组的修改,调用 Arrays.copyarr...

2019-04-13 16:28:55

阅读数 191

评论数 0

原创 ReentrantReadWriteLock笔记

ReentrantReadWriteLock笔记 概述 为了满足读多写少的场景,ReentrantReadWriteLock 应运而生,采用读写分离的策略,允许多线程同时获取读锁,读写锁内部维护了一个 ReadLock 和一个 WriteLock ,他们依赖 Sync 实现具体功能,Sync 继承...

2019-04-13 16:28:10

阅读数 31

评论数 0

原创 LinkedBlockingQueue笔记

LinkedBlockingQueue笔记 概述 LinkedBlockingQueue 是一个利用独占锁(ReentrantLock)实现的阻塞队列,其底层是一个单向链表(静态内部类 Node),默认构造器中,其队列的长度为 int 的最大值,如果队列满了,后续插入节点阻塞,并视情况是否丢弃,该...

2019-04-13 16:26:58

阅读数 16

评论数 0

原创 AQS笔记

AQS笔记 概述 AQS 是 AbstractQueueSynchronized 抽象同步队列的简称,它是实现同步器的基础组件,并发包中锁的底层就是使用 AQS 实现的。AQS 是一个 FIFO 的双向队列,其内部通过节点 head 和 tail 记录队首和队尾元素,队列元素的类型为 Node。...

2019-04-11 10:04:21

阅读数 25

评论数 0

原创 Mysql打卡第三天

Mysql打卡第三天 MySQL表数据类型 数值类型 日期和时间类型 字符串类型 用SQL语句创建表 语句解释 CREATE TABLE table_name ( column1 datatyoe, column2 datatyoe, column3 datatyoe,...

2019-04-04 11:53:14

阅读数 55

评论数 0

原创 Mysql打卡第二天

Mysql打卡第二天 导入示例数据库 登录Mysql mysql -uroot -p**** 创建数据库 CREATE DATABASE IF NOT EXISTS yiibaidb DEFAULT CHARSET utf8 COLLATE utf8_general_ci; use yi...

2019-04-02 18:51:55

阅读数 51

评论数 0

原创 MYSQL打卡第一天

MYSQL打卡第一天 数据库基础知识 数据库定义 数据库( Database )是按照数据结构来组织、存储和管理数据的仓库 关系型数据库 Relational Database:是创建在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据 二维表 table: 在关系模型中,...

2019-03-31 12:39:17

阅读数 78

评论数 0

原创 阿里云安装 ElasticSearch 笔记

阿里云安装 ElasticSearch 笔记 必要条件 环境需要JDK 8 及以上 下载解压安装包 详细步骤 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.4.zip wget https:/...

2018-12-24 10:55:45

阅读数 1038

评论数 1

原创 红黑树

红黑树 概念 红黑树,又被称为对称二叉B树。 红黑树模型 其本质是一种二叉查找树,单它在二叉查找树的基础上额外添加了一个标记(颜色),同时具有一定的规则。这些规则使红黑树保证了一种平衡,插入、删除。查找的最坏时间复杂度都为O(log n),它的统计性能好于平衡二叉树(AVL树) 特性 每个节点要...

2018-12-24 10:53:37

阅读数 68

评论数 0

原创 二叉查找树

二叉查找树 概念 二叉查找树,又称为二叉排序树、二叉搜索树。 二叉查找树有以下几个特性 若左子树不空,则左子树上所有结点的值均小于它的根结点的值 若右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值 左右子树也分别为二叉查找树 操作 查找 根据二叉查找树的特性,我们可以知道在查找某个...

2018-12-24 10:52:56

阅读数 48

评论数 0

原创 consul在windows下安装

consul在Windows环境下的安装单机版 去官方网站下载Windows的zip包,链接地址 解压consul压缩包 在环境变量中设置path属性 在cmd命令行中输入consul agent -dev 输入网址localhost:8500 ...

2018-10-27 22:40:51

阅读数 416

评论数 0

原创 类文件结构

类文件结构 总结自周志明的《深入理解Java虚拟机》 概述 计算机只认识0和1,将我们编写的程序编译成二进制本地机器码已不再是唯一选择,越来越多的程序语言选择了与操作系统和机器指令集无关的、平台中立的格式作为程序编译后的存储格式 无关性 Java诞生之时曾经提出过著名的宣传口号:”Write ...

2018-10-27 22:39:17

阅读数 74

评论数 0

原创 JVM性能调优

JVM性能调优 高性能硬件上部署程序 策略 通过64位JDK来使用大内存 控制Full GC时间 对于交互性强、对停顿时间敏感的系统,可以给Java虚拟机超大内存的前提是有把握把应用程序的GC频率控制的足够低,譬如十几个小时乃至一天才出现一次Full GC,这样可以在深夜...

2018-09-13 10:58:46

阅读数 56

评论数 0

原创 虚拟机异常检查工具

虚拟机异常检查工具 命令行工具 jps(JVM Process Status)虚拟机进程状态工具 功能 查询LVMID(虚拟机进程ID) 命令格式 jps options hostid(例如: jps -l) 工具选项 选项 功能 -q ...

2018-09-13 10:58:21

阅读数 630

评论数 0

原创 垃圾回收机制概述

垃圾回收机制 概述 Java虚拟机内存的动态分配和垃圾收集机制已经非常成熟.程序计数器,虚拟机栈,本地方法区的生命周期是随着线程共生死的,所以这三个区域的垃圾回收都不会存在问题.但是Java堆和方法区,只有在程序运行的时候才知道会创建哪些对象,这部分内存的分配和回收都是动态的. 判断...

2018-09-02 18:10:14

阅读数 561

评论数 0

原创 Java虚拟机历史

Java虚拟机历史 名词解释 JIT just in time compiler:为了提高热点代码的执行效率,在运行时,虚拟机将把这些代码编译成与 本地平台相关的机器码,并进行各种层次的优化,完成这个任务的编译器称为即时编译器. 热点代码 当虚拟机发现某个方法或代码块运行特别频繁,就...

2018-08-29 14:04:21

阅读数 99

评论数 0

原创 Java内存区域

Java内存区域 运行时数据区域 程序计数器(线程私有) 虚拟机栈(线程私有) 本地方法栈(线程私有) 堆(线程共享) 方法区(线程共享) 程序计数器 定义 一块内存较小的空间,可以看作是当前线程所执行的字节码行号指示器,字节码解释器工作时就是通过改变这个计数器的值来选取下...

2018-08-29 14:03:01

阅读数 273

评论数 0

原创 CentOS 7.0 搭建开发环境(jdk+zookeeper集群)

CentOS 7.0 搭建开发环境(jdk+zookeeper集群) 安装mini版CentOS 7.0 没啥好说的,下载镜像,使用net连接网络,安装时记得打开虚拟机的网络.用到的文件夹都自己创建一下.就不写出来了 使用静态IP 铭记自己的网关,可以在VMware的虚拟网络编辑...

2018-08-17 11:48:19

阅读数 75

评论数 0

原创 8种单例模式

单例模式 八种设计模式说明 饿汉式(线程安全) 代码 public class Hungry { private static Hungry hungry = new Hungry(); public Hungry(){} public stat...

2018-08-04 17:51:40

阅读数 323

评论数 0

原创 Spring依赖注入实现简单工厂模式

Spring依赖注入实现简单工厂模式 背景 想写一个简单的策略模式+简单工厂模式的抽奖算法. 下面写的是一个利用传入的抽奖类型调用不同的增加抽奖次数的方法. 首先写一个抽象工厂AbstractLotteryType类: public abstract class Abstract...

2018-08-01 17:39:37

阅读数 2588

评论数 0

原创 elasticsearch 6.3.2 windows 安装

elasticsearch 6.3.2 windows 安装 下载 elasticsearch 下载网址 还需要电脑有java8以上的环境. java8的下载地址 无脑解压 解压不解释 启动 进入到解压文件的bin目录下,直接双击 elasticsearch.bat...

2018-07-27 09:26:46

阅读数 1410

评论数 0

原创 spring之全局异常处理

spring之全局异常处理 概述 项目报错在所难免,通常情况下都用try…catch…模块去捕获异常并处理异常.当项目大了以后会发现我们有很多地方需要去捕获异常,并且可能会写很多重复代码,所以我们需要使用一个全局的异常处理.他可以捕获你指定的异常. 示例 本博客的代码环境是spri...

2018-07-18 13:55:02

阅读数 66

评论数 0

原创 JAVA8之工具类Stream

                                 JAVA8之工具类Stream 一.    概述         在jdk1.8中引入的新的对集合中数据的处理的--Stream流.该工具类常常被我们用来对集合中数据的筛选,处理等等,使用流可以大大的减少我们的代码量,也是我们的...

2018-07-17 16:07:51

阅读数 1259

评论数 0

原创 JAVA8之工具类Optional

JAVA之工具类Optional一.    概述        先看其源码:package java.util; import java.util.function.Consumer; import java.util.function.Function; import java.util.fu...

2018-07-14 21:07:08

阅读数 450

评论数 0

原创 JAVA8之函数式编程Predicate接口

JAVA8之函数式编程Predicate接口一.    概述        先上这个接口的源码:package java.util.function; import java.util.Objects; @FunctionalInterface public interface Predica...

2018-07-09 18:38:45

阅读数 698

评论数 0

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