- 博客(18)
- 收藏
- 关注
原创 Linux部署kettle
第一步:安装与kettle相适应的jdk1、查看与kettle相适应的jdk编辑命令查看spoon。bat“REM java version ’版本号‘”/2、查看系统的jdk版本,cat .bash_profileexport JAVA_HOME=/路径/jre+版本第二步:配置环境两种方法,一个是修改/etc/profile,另外一种是修改.bash_profile文件第一种推荐开发运维使用,因为所有的用户都有权限使用,但会给系统带来安全问题;第二种把环境变量控制到用户级别,当给某个用
2021-09-29 15:56:54
4418
原创 Linux关于jar包的自启动
配置java环境下载jdk在Oracle官网下载我们需要的jdk版本,解压到我们所需要的位置Oracle的jdk8下载下载红框裱起来的,末尾为x64.tar.gz的就好配置环境变量我们通过 tar -zxvf jdk压缩包名字 【-C(指定位置)】 指定位置可以写也可以不写,不写默认当前位置然后vim /etc/profile文件输入你解压的jdk位置信息保存退出即可检查版本输入java -version就可以查看版本信息配置脚本文件名字可以自己随便取 aa.sh或者
2021-09-29 15:54:32
133
原创 禅道在Linux上的部署
禅道定义它集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体,是一款专业的研发项目管理软件,完整覆盖了研发项目管理的核心流程。禅道管理思想注重实效,功能完备丰富,操作简洁高效,界面美观大方,搜索功能强大,统计报表丰富多样,软件架构合理,扩展灵活,有完善的API可以调用。禅道下载配置Linux下载禅道压缩包wget http://dl.cnezsoft.com/zentao/15.4/ZenTaoPMS.15.4.zbox_64.tar.gz首先== /15.4/ZenTaoPMS
2021-09-24 17:58:00
398
原创 spring-boot日志按照时间输出
所需要依赖<!--配置logback new--> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> </dependency> <dependency> <groupId>ch.qos.logback</groupId>
2021-09-15 10:18:38
723
原创 赫夫曼树Java实现(多图预警)
Huffman Tree赫夫曼树又称为最优二叉树,是一类带权路径长度最短的树。基本概念首先我们得了解路径和路径长度的概念,书上对他们的定义是这样的。从树中一个节点到另外一个节点之间的分支构成这两个节点之间的路径。路径上的分支数目称为路径长度。也就是说,一个节点如何到另一个节点,通过哪几个线段,那些线段叫做路径。而路径长度就是你从这个节点到两一个节点经过几条路,这就是路径长度。赫夫曼树那么问题来了,什么是我们说的最优二叉树,即赫夫曼树呢?所谓的赫夫曼树,也就是从根节点出发,到所有叶子节
2021-08-30 17:16:24
129
原创 二叉树与森林的转变Java
森林什么是森林呢?按照我们对森林的理解,就是由很多的树组成的地方叫做森林。所以二叉树们在存储过程当中如何变成森林呢?这里我们就需要了解一个前提,也就是说我们可以把二叉树进行改变,让他的左孩子代表孩子节点,而当前节点的右孩子为当前节点的兄弟节点。也就是如图所示:第一棵树他是12345,第二棵树他是8,9,10,11.我们看每一棵树,他是不是从原来的存储结构,即左孩子右孩子的情况,转变为左边是孩子节点,右边为兄弟节点的样子。再把两棵树一结合,谁为根节点看你到时候合并的时候选择哪个根则就是哪个,在这边
2021-08-29 20:22:26
263
原创 快速排序 java实现
快速排序什么是快速排序呢?按照他的定义来是找到一个数使得它左边和右边都是有序的。那么如何实现全部都有序的,这就需要我们使用分治和递归的思想。快速排序基准的选择基本上我们选择基准是选择第一个元素作为基准,一旦选择了基准,就要进行一个判断,要使得他左边的数都小于它右边的都大于大,反过来也行。算法实现快排的分治其实跟归并差不太多,分治是先从两个开始以中间为界左右同时进行,而快排是以right- -和left+ + 相等为界,到两边进行递归。 归并可以看着我之前写的 这个归并好了,接下来我们看具体
2021-06-30 18:13:35
83
原创 排序算法(一) java实现
排序(一)简介在实际应用当中,我们经常会用到数组这个结构。而我们经常使用的是数字的数组,而他确实经常乱序。所以我们如何使得我们的数组有序呢?这就运用到我们的排序算法。插入排序插入排序是最简单的排序算法,他的时间复杂度是n²。它的基本思想是保证从位置0到位置p的数字已经是已排序状态。算法实现:public class insertSort<AnyType extends Comparable<? super AnyType>> { public insertSor
2021-06-27 21:19:35
100
原创 数据结构之左式堆java实现
优先队列之左式堆什么叫做左式堆呢?他就是跟二叉堆一样具有结构性和有序性,也就是说它是基于二叉堆的一个提升,他们的唯一区别就是左式堆是非常不平衡的。左式堆是一个有效支持合并操作的数据结构。关于二叉堆可以看我之前写的博文二叉堆的实现左式堆的性质首先我们要知道,左式堆有一个npl值null path length,也就是任意节点到一个没有两个孩子节点的最短路径。而他的性质则是 对于任意一个节点左子树的npl值至少等于右子树的npl值。也就是说左孩子的npl大于等于右孩子的npl值。节点具有一个孩子节点
2021-06-20 13:48:32
111
原创 数据结构之优先队列的二叉堆 Java实现
优先队列之二叉堆什么是优先队列呢?优先队列顾名思义它是一种队列,但是是优先的那种,那么他优先在哪了?他像我们普通的queue一样一个地方输入,在另一端输出,但是他的输出却是输出最小的。也就是说,优先队列的工作原理是删除并返回优先队列中最小的元素。如图二叉堆什么是二叉堆呢?首先我们需要知道优先队列他又称之为堆,二叉堆也就是像一个被完全填满的二叉树,也就是我们所说的完全二叉树。二叉堆他并不是二叉查找树,但是又类似于二叉查找树,他要求子节点的值得大于父节点的值,也就是说对于每一个节点都成立。而他们的兄
2021-06-19 11:19:34
152
原创 数据结构之哈希表的分离链接法java实现
哈希表的分离链接法原理Hash Table可以看作是一种特殊的数组。他的原理基本上跟数组相同,给他一个数据,经过自己设置的哈希函数变换得到一个位置,并在这个位置当中放置该数据。哦对了,他还有个名字叫散列01数据1数据2就像这个数组,0号位置放着数据1,1号位置放数据2而我们的哈希表则是通过一个函数f(x) 把数据1变成0,把数据2变成1,然后在得到位置插入数据1和数据2。非常重要的是哈希表的长度为素数最好!!而且当插入数据大于一半的时候我们要进行扩充!!!冲突问题产
2021-06-14 17:03:14
1358
原创 数据结构之AVL二叉查找树java实现
AVL Binary Search Tree二叉查询树可看二叉查找树实现Avl树是带有平衡条件的二叉查找树,他需要保证树的深度是log N,平衡条件是要求每个节点都必须有高度相同的左子树和右子树,且每个节点的左右子树高度最多差1.!!如图所示,左边这棵二叉查找树就是一颗AVL树,我们看他的节点,从根节点开始,他的左子树深度为3,右子树深度为2,深度相差为1满足平衡条件。再看2那个节点,左子树为1深度为1,右子树为4深度为2,深度相差1满足平衡条件。看4那个节点,他只有一个左子树右子树没有,所以深度
2021-06-06 20:11:04
127
原创 数据结构之二叉查找树java实现
二叉查找树 Binary Search Tree首先我们都知道树是一个基本的数据结构,他的组成有根节点以及孩子节点。树的大部分操作时间复杂度为O(log n)。二叉树 Binary Tree二叉树是树的一种特殊情况,他是只有左右两个孩子节点以及一个父亲节点的。如图所示当然他也可以只有一个孩子节点。但是每个节点上的孩子节点最多也只有两个。所以我们称它为二叉树。二叉查找树也就是我们这篇文章所实现的,它是一种特殊的二叉树,使二叉树变成二叉查找树的性质是:对于每一个节点x,他的左子树的所有项的值都小于x
2021-06-05 11:15:33
138
原创 数据结构之队列java实现
Queue ADT首先我们需要了解队列是一种在一端插入另一端删除的结构。他的基本操作是进队enqueue和出队dequeue,而且我们得知道它是一种先进先出的模型。他也是一种表,是一种特殊的表,所以表的实现方式对他都是有用的。单链表实现public class MyQueue<AnyType> { int theSize; Node<AnyType> Bottom; //bottom是底部的一个空节点,永远的底部,相当于一个平台 p
2021-06-04 10:16:55
62
原创 数据结构之栈java实现
STACK ADT栈是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,栈的顶。对栈的基本操作有进战和出栈。栈有一个特性是先进后出。由于栈是表的一种方式,所以任意实现表的方法都可以实现栈。栈的链表实现使用单链表,在表的顶端进行插入删除。public class MyStack<AnyType> { Node<AnyType> Bottom,beBottom; int length; public MyStack(){ doC
2021-06-03 20:44:22
103
原创 数据结构之双链表 java实现
基于LinkedList的双链表实现使用LinkedList的优点在于新项的插入和现有项的删除都是常熟时间的操作。但缺点是他不容易做索引,因此对get的调用是非常昂贵的,所以我们得想方设法尽量减少开销。存储节点Node我们首先要根据双链表的特性设置相应的节点,该节点具有头节点跟尾节点还有相应的数据存放。 private static class Node<AnyType>{ public AnyType data;
2021-05-30 17:03:54
107
原创 数据结构之单链表 java实现
抽象数据类型首先我们需要知道的是抽象数据类型(abstract data type)简称ADT是带有一组操作的一些对象的集合。抽象数据类型是数学的抽象;诸如表、集合、图以及与它们各自的操作一起形成的对象都可以看作是ADT。表ADT我们把大小为0的表称为空表。List ADT有两种流行的实现方式,一种是单链表使用ArrayList实现,另一种是双链表LinkedList。单链表基于ArrayList类实现ArrayList类提供了List ADT的一种可增长数组的实现。使用ArayList的优点在
2021-05-30 13:52:44
178
1
原创 Android Studio的Gradle安装(多图预警)
当我们首次使用Android Studio的时候经常会因为网络问题导致Gradle下载失败但是不管是什么原因 针对Android Studio 4.1.0.0版本的 所需要 Gradle 6.5Gradle-6.5获取 提取码 qwe1链接:https://pan.baidu.com/s/1SqThEiQFrQWGE0xQ7zuLXQ提取码:qwe1解压之后里面是这样的我们所需要的就是把里面的文件复制一份到 C盘用户 你当前用户文件夹下面/.gradle/wrapper/dists/gradle
2021-03-04 11:11:39
2885
11
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人