4 Fantine黄

尚未进行身份认证

暂无相关简介

等级
TA的排名 22w+

在使用ssh命令的时候发现java版本不一致

在使用ssh命令的时候发现java版本不一致通过ssh登陆之后会发现找不到JAVA_HOME,我的JAVA_HOME是定义在/etc/profile里面的。研究后发现远程登录和直接登录执行的文件是不一样的:/etc/profile:当用户登录时,该文件被执行./etc/bashrc:当bashshell被打开时,该文件被执行.ssh作为远程登录的方式进入,当然就无法触发/etc...

2019-10-12 09:50:18

Zookeeper选举方式,watch机制及基本操作

一、概念1、Zookeeper是一个分布式协调服务的开源框架,本质是一个分布式的小文件存储系统,主要用来解决分布式集群中,应用系统的一致性问题。2、架构图Leader(Zookeeper集群工作的核心)事务请求(写操作)的唯一调度和处理者,保证集群事务处理的顺序性;集群内部各个服务器的调度者。*事务:对于create,setData,delete等有写操作的请求,则需要...

2019-07-28 21:05:58

解决虚拟机克隆网卡问题

因为一般我们克隆时要同时克隆几台机器,所以建议在克隆前解决后面可能会出现的网卡问题1、准备好要克隆的原机器:配置网络2、接下来是重点:删除/etc/udev/rules.d/70-persistent-net.rules的文件原因:应保证图中的两个地址一样,而如果上图的文件不删除会保留原克隆机的地址,导致新克隆的机器无法使用而重新生成一张新的网卡如果/etc/udev/rul...

2019-06-09 12:43:52

归并排序

1、归并操作(merge),也叫归并算法,指的是将两个顺序序列合并成一个顺序序列的方法。如 设有数列{6,202,100,301,38,8,1}初始状态:6,202,100,301,38,8,1第一次归并后:{6,202},{100,301},{8,38},{1},比较次数:3;第二次归并后:{6,100,202,301},{1,8,38},比较次数:4;第三次归并后:{1,6,8,38...

2019-05-25 08:28:02

堆排序

1、堆排序:是直接选择排序的升级版,是不稳定的排序2、时间复杂度:T(n)=O(nlogn),3、堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。我们用简单的公式来描述一下堆的定义就是:大顶堆:arr[i]>=arr[2i+1]&&arr[i]>=a...

2019-05-24 14:25:55

希尔排序

1、希尔排序:是简单插入排序的改进版,是不稳定的排序2、时间复杂度:T(n)=O(n的平方),空间复杂度:S(n)=O(1)3、基本思想:希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。代码实现publicclassShellSort{publics...

2019-05-24 11:31:40

MyBatis逆向工程

1、环境:在IDEA上使用maven的mybatis插件生成逆向工程2、创建maven项目2.1pom文件中的配置<dependencies><dependency><groupId>log4j</groupId><artifactId>log4j</...

2019-05-22 16:34:52

快速排序

1、快速排序是冒泡排序的升级版,思想主要是分治加递归,是不稳定的排序由于使用递归,需要的空间比较大,所以不适合数据量大的情况下使用2、时间复杂度:T(n)=O(nlogn)(平均情况),最快情况:T(n)=O(n的平方)空间复杂度:S(n)=O(nlogn)3、实现:(1)分区(2)递归publicclassTestQuickSort{publi...

2019-05-21 15:08:22

排序算法及三种基本排序(冒泡排序、选择排序、直接插入排序)

一、排序的分类及效率分析二、三种基本排序(冒泡排序、选择排序、直接插入排序)的java代码实现/*三种基本排序:T(n)=O(n的平方),S(n)=O(1)1、直接选择排序不稳定的排序2、冒泡排序稳定的排序3、直接插入排序稳定的排序*/publicclassBasicSort{public...

2019-05-20 10:44:51

哈希表(散列存储)

一般查找是通过将关键字值与给定值比较来确定位置,效率取决于比较次数。理想的方法是:不需要比较,根据给定值能直接定位记录的存储位置。一、hashtable也叫散列表特点是很快,结构有多种,最流行、最容易理解的为顺序表—+链表,主结构为顺序表,每个顺序表的节点在单独引出一个链表。1、哈希表添加数据:(1)计算哈希码(调用hashcode)(2)计算在hash表中的存储位置(3)存入h...

2019-05-19 14:28:22

二叉查找树(BST)及红黑树

一、定义:或者是一棵空树或者是具有下列性质的二叉树(1)当左子树不空,则左子树上所有结点的值均小于它的根结点的值;(2)它的右子树上所有结点的值均大于它的根节点的值(3)它的左、右子树也分别为二叉排序树二、分类1、平衡二叉树是自平衡的二叉查找树,又被称为AVL树(有别于AVL算法)它的左右两个子树的高度差(平衡因子)的绝对值不超过1,并且左右两个子树都是一颗平衡二叉树2、红黑树...

2019-05-18 15:31:10

线性表查找(顺序查找,二分查找)

1、顺序查找(无序)2、折半查找(必须是有序数组)实现代码(java)publicclasslineSearch{//测试代码publicstaticvoidmain(String[]args){//顺序查找int[]arr1={34,76,23,98,87,35,8,32,74,44};int...

2019-05-18 08:17:58

图及最短路径

一、图1、定义:描述的是多对多的关系,图是一种网状数据结构,图是由非空的顶点集合和一个描述顶点之间关系(边)的集合组成。2、分类:3、图的存储(1)邻接矩阵:二维数组顺序存储结构(2)邻接表:链表链式存储结构4、应用:各种地图,地铁线路图等二、图的遍历1、概念图的遍历就是从图中某个顶点出发,按某种方法对图中所有顶点访问且仅访问一次。图的遍历算法是求解图的连通性...

2019-05-16 13:23:10

树和二叉树的先、中、后序遍历

一、树的一些概念:1、结点的度与树的度:结点的度:结点拥有的子树的数目(度为0的结点称为叶子结点)树的度:树内各结点的度的最大值2、结点的层次(level)和树的深度(depth)结点的层次:从根开始定义,层次数为1的结点是根结点。树的深度:树中结点的最大层次数称为树的深度或高度3、有序树、m叉树,森林有序树:树中结点的各子树看成是从左至右有次序的。m叉树:树中所...

2019-05-15 19:35:57

数据结构-栈和队列

一、栈1、栈的定义栈(stack)又称堆栈,它是运算受限的线性表。其限制是仅允许在表的一端进行插入和删除操作,不允许在其他任何位置进行插入、查找、删除等操作。表中进行插入、删除操作的一端称为栈顶(top),栈顶保存的元素称为栈顶元素。相对的,表的另一端称为栈底(bottom)当栈中没有数据元素时称为空栈;向一个栈插入元素又称为进栈或入栈;从一个栈中删除元素又称为出栈或...

2019-05-14 08:56:36

算法、时间复杂度及空间复杂度概念

算法一、概念:是指令的集合,是为解决特定问题而规定的一系列操作。它是明确定义的可计算过程,以一个数据集合作为输入,并产生一个数据集合作为输出。1、一个算法通常来说具有以下五个特性:输入:一个算法应以待解决的问题的信息作为输入。输出:输入对应指令集处理后得到的信息。可行性:算法是可行的,即算法中的每一条指令都是可以实现的,均能在有限的时间内完成。有穷性:算法执行的指令个数是有限的,...

2019-05-13 08:35:30

数据结构概念

数据结构数据结构=逻辑结构+存储结构+(在存储结构上的)运算/操作举例:线性表的逻辑结构如图所示:线性表逻辑结构对应的顺序存储结构为顺序表,对应的链式存储结构为链表。顺序表链表同一逻辑结构可以对应多种存储结构。同样的运算,在不同的存储结构中,其实现过程是不同的一、逻辑结构(1)线性结构:数据结构中线性结构指的是数据元素之间存在着“一对一”的线性关系的数据结构。线性...

2019-05-12 15:31:37

线性表(数组、链表)-ArrayList与LinkedList的自定义java实现

一、常见数据结构之链表和数组总结:List:ArrayList:底层数据结构是数组,查询快,增删慢LinkedList:底层数据结构是链表,查询慢,增删快二、自定义类实现ArrayList与LinkedList帮助理解java底层代码及数据结构,阅读难度会比源码简单。1、MyArrayList的实现(java代码)publicclassMyArrayList<AnyT...

2019-05-11 21:36:01

多线程同步工具CountdownLatch,CyclicBarrier,Exchanger,Semaphore

一、CountdownLatch允许一个或多个线程等待直到在其他线程中执行的一组操作完成。示例代码:publicclassCountdownLatchTest{ publicstaticvoidmain(String[]args){ ExecutorServiceservice=Executors.newCachedThreadPool(); final...

2019-04-29 18:43:15

线程锁(Lock)、读写锁(ReadWriteLock)及条件阻塞Condition

一、线程锁(Lock)Lock实现提供比使用synchronized方法和语句可以获得的更广泛的锁定操作。它们允许更灵活的结构化,可能具有完全不同的属性,并且可以支持多个相关联的对象Condition。示例代码:publicclassLockTest{publicstaticvoidmain(String[]args){newLockTes...

2019-04-29 18:28:59

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。