- 博客(36)
- 收藏
- 关注
原创 经典排序算法(2)——选择排序(selection sort)
1. 算法思想选择排序(selection sort)是一种比较类排序算法。工作原理为:在未排序队列中选择最小(最大)值,放到序列的起始位置,然后,再从剩余未排序队列中选取最小(最大)值,重复此步骤,直到序列有序。2. 算法描述在序列中找到最小(大)值,将其与第一个元素进行交换;从剩下未排序的元素中选择最小(大)值,并将其放置在前面;重复此步骤,直到序列有序;3. 动图演示4. 代码实现public static int[] selectionSort(int array[]) {
2021-01-23 19:01:03
443
原创 使用idea时maven报错:Error reading file pom.xml
最近在用idea构建springboot项目时,发现maven无法正常加载,报错:Error reading file pom.xml同时,pom.xml报错,如下图。查找谷歌,百度,给的方案大都是:出现这个问题的原因是,hosts文件出错。打开系统 hosts 文件(C:\Windows\System32\drivers\etc 路径下),添加127.0.0.1 localhost添加后发现还是报一样的错误,又使用 maven clean 命令,报错:maven Process ter
2021-01-23 17:13:04
37355
原创 经典排序算法(1)——冒泡排序(bubble sort)
1. 算法思想冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。2. 算法步骤比较相邻的元素。如果第一个比第二个大,就交换它们两个;对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数;针对所有的元素重复以上的步骤,除了最后一个;重复步骤1~3,直到排
2020-09-25 17:03:40
440
原创 经典排序算法——相关概念
常见排序算法1、算法分类比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。2、算法复杂度3、相关概念稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。不稳定:如果a原本在b的前面,而a=b,排序之后 a 可能会出现在 b 的后面。时间复杂度:对排序数据的总的操作次数。反映当n变化时
2020-09-25 16:52:34
206
原创 centos 安装 KVM 并配置bridge桥接网络
检测是否支持KVMKVM 是基于 x86 虚拟化扩展(Intel VT 或者 AMD-V) 技术的虚拟机软件,所以查看 CPU 是否支持 VT 技术,就可以判断是否支持KVM。有返回结果,如果结果中有vmx(Intel)或svm(AMD)字样,就说明CPU的支持的。[root@localhost ~]# cat /proc/cpuinfo | egrep 'vmx|svm'flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
2020-07-01 17:56:54
2101
原创 phoenix 报错 java.lang.NoClassDefFoundError: org/apache/htrace/Trace 解决方法
在使用cdh6.0时,由于需要对表中字段建立索引,需要引入phoenix,但cloudera官方并没有出配套的phoenix软件,需要自己进行配置。cdh6安装配置phoenix参考教程:CDH的 Phoenix、hbase操作按照上述教程配置完phoenix后,启动报错:Error: org.apache.phoenix.exception.PhoenixIOException: org.apache.hadoop.hbase.DoNotRetryIOException: java.lang.NoCl
2020-06-17 19:10:42
2935
原创 cdh 6哈希验证失败解决方法
当安装cdh 6,使用本地搭建的parcel时,出现了哈希验证失败的问题:查看了parcel的sha值,与官网的一致,没有问题:#parcel sha值[root@localhost bigdata]# sha1sum CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcelde86cc42380f073f4906801913d7083b39e46db7 CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel#sha文件里的值[root
2020-06-15 15:47:20
3721
3
原创 centos7 安装 cdh5 集群超详细教程
系统环境:主节点: master 10.18.1.117从节点: slave1, slave2, slave3 10.18.1.118, 10.18.119, 10.18.1.120一、准备工作,系统环境搭建预先准备工作:CDH 系统优化之关闭透明大页面及设置swappinesshttp://blog.youkuaiyun.com/post_yuan/article/details/549675081. 关闭透明大页面首先查看透明大页是否启用,[always] never表示已启用,always [
2020-06-11 17:12:35
801
1
原创 Centos 安装配置 Mysql5.7
系统为centos7,安装的mysql5.7版本#获取repo[root@slave1 home]# wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm#安装repo[root@slave1 home]# rpm -ivh mysql57-community-release-el7-9.noarch.rpm#安装mysql-server[root@slave1 home]# yum install
2020-06-04 16:31:34
278
1
原创 CentOS7安装配置Gitlab详细教程
参考教程: CentOS7下搭建Gitlab其中2、配置防火墙可以直接改为关闭防火墙查看防火墙状态:[root@localhost ~]# systemctl status firewalld● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
2020-05-28 16:55:01
872
1
原创 supervisor安装配置说明
1. 安装supervisoryum install supervisor-3.1.4-1.el7supervisor已经放到5giot的yum源中,若无法安装则更新一下yum配置:yum clean allyum makechche然后再执行yum install supervisor操作。2. 配置supervisordsupervisord的配置文件默认放在/etc文件夹中,vim /etc/supervisord.conf可以看到它的内容为:[include]
2020-05-28 16:18:59
985
原创 ansible简介
1. ansible 简介ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括:(1)、连接插件connection plugins:负责和被监控端实现通信;(2)、host inventory:指
2020-05-28 16:11:42
1077
原创 Ansible安装使用教程
1. Ansible安装yum install ansible-2.4.0.0-5.el7.noarchansible已经放到5giot的yum源中,若无法安装则更新一下yum配置:yum clean allyum makechche然后再执行yum install supervisor操作。2. Ansible配置控制主机:用于控制其它机器的主机管理主机:被控制主机管理的主机2.1 配置管理主机vim /etc/ansible/hosts可以在hosts文.
2020-05-28 16:06:07
452
原创 KVM无法创建虚拟机解决办法
最近在用KVM创建虚拟机创建虚拟机时,卡在第五步不动:查看日志,KVM出现 GDK 图形界面异常:DEBUG (cli:257) Uncaught exception:Traceback (most recent call last):File "/usr/share/virt-manager/virtManager/createnet.py", line 830, in finishself.set_finish_cursor()File "/usr/share/v..
2020-05-28 15:44:44
3666
转载 HBase 2.0 之修复工具 HBCK2 运维指南
一、概述目前社区已经发布了HBase的2.0版本,很多公司都希望去尝试新版本上的新功能,但是不得不面对的问题就是当集群出了问题应该如何解决。在之前的HBase版本中,我们可以依赖hbck来帮助检查问题和修复问题,在新的版本上我们应该如何去处理呢?HBASE-19121[1] 给了我们答案——HBCK2。HBCK2目前发布了1.0版本,还在一直开发中,感兴趣的同学看看这个issue。二、why HBCK2?由于之前的hbck(hbck-1)是会直接去向region server或者hdfs发送请求进
2020-05-27 17:31:48
1631
转载 Markdown基本语法
Markdown是一种纯文本格式的标记语言。通过简单的标记语法,它可以使普通文本内容具有一定的格式。相比WYSIWYG编辑器优点:1、因为是纯文本,所以只要支持Markdown的地方都能获得一样的编辑效果,可以让作者摆脱排版的困扰,专心写作。2、操作简单。比如:WYSIWYG编辑时标记个标题,先选中内容,再点击导航栏的标题按钮,选择几级标题。要三个步骤。而Markdown只需要在标题内容前加#即可缺点:1、需要记一些语法(当然,是很简单。五分钟学会)。2、有些平台不支持Markdown编
2020-05-27 17:00:47
215
原创 centos vnc 配置
yum install tigervnc-server.x86_64cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.servicevim /etc/systemd/system/vncserver@:1.service修改:ExecStart=/usr/sbin/runuser -l...
2019-07-17 11:35:49
175
原创 maven 打包后运行jar文件提示 no main manifest attribute
用maven打包java程序,当执行 java -jar 文件时提示no main manifest attribute,此时需要在maven中配置主函数 main,配置方式如下:<build> <plugins> <plugin> <groupId>org.apache....
2019-05-29 10:45:01
14981
2
原创 Hadoop 3.0 伪分布式安装配置教程 (基于Centos)
截止到19年,Hadoop 最新的版本已经出到 3.1.1 版本了,下面就以 该版本为例,详细分析分布式安装的步骤。Hadoop 有三种安装方式,包括:1. 单机模式2. 伪分布式模式3. 分布式模式零、准备工作准备好需要安装 Hadoop 的机器,本文使用的是 4 台 centos 机器,分别是 node1, node2, node3 和 node4,需要预先准备好 Hado...
2019-01-04 17:43:40
513
原创 面向对象——五大基本原则
在面向对象的程序设计中,存在着五个基本原则,即 SOLID(单一功能、开闭原则、里氏替换、接口隔离以及依赖反转)。当这些原则被应用在一起时,可以使得开发一个易于维护和扩展的系统成为可能。一、单一功能原则(Single Responsibility Principle)单一功能原则规定每一个类都应该有一个单一的功能,并且该功能应该由这个类完全封装起来。所有它的服务都应该严密的和该功能平行(功...
2018-12-26 16:31:28
3021
原创 Gerrit 支持中文解决方法
当我们安装完 gerrit 后,再页面的中文无法正常显示,需按照如下方法进行修改。1. 备份gerrit数据库mysqldump -ugerrit2 -pgerrit2 reviewdb > /home/gerrit2/reviewdb.sql2. 停止运行gerrit数据库cd /home/gerrit2/review_site/bin./gerrit.sh stop...
2018-11-22 14:27:10
6699
原创 Java 并发教程及实现
一、线程状态转换java 的线程状态转换图如下: 新建(New)创建后尚未启动。可运行(Runnable)可能正在运行,也可能正在等待 CPU 时间片。包含了操作系统线程状态中的 Running 和 Ready。阻塞(Blocking)等待获取一个排它锁,如果其线程释放了锁就会结束此状态。无限期等待(Waiting)等待其它线程显式地唤醒,否则不会被...
2018-11-16 17:24:40
554
1
原创 centos 安装 KVM 详细步骤
检测是否支持KVMKVM 是基于 x86 虚拟化扩展(Intel VT 或者 AMD-V) 技术的虚拟机软件,所以查看 CPU 是否支持 VT 技术,就可以判断是否支持KVM。有返回结果,如果结果中有vmx(Intel)或svm(AMD)字样,就说明CPU的支持的。cat /proc/cpuinfo | egrep 'vmx|svm' flags : fpu vme de pse tsc ...
2018-09-19 16:31:08
3514
原创 linux 安装 cdh5 详细步骤
官方指导手册:https://www.cloudera.com/documentation/enterprise/latest/topics/introduction.html一、准备工作,系统环境搭建预先准备工作:CDH 系统优化之关闭透明大页面及设置swappinesshttp://blog.youkuaiyun.com/post_yuan/article/details/...
2018-09-11 15:19:15
1693
原创 Linux 磁盘分区步骤
1. 查看机器所挂硬盘个数及分区情况:fdisk –l[root@gerrit ~]# fdisk -lDisk /dev/sda: 322.1 GB, 322122547200 bytes, 629145600 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 byt...
2018-08-30 10:16:03
1298
原创 java 常用关键字—— final 和 static
final1. 数据声明数据为常量,可以是编译时常量,也可以是在运行时被初始化后不能被改变的常量。对于基本类型,final 使数值不变; 对于引用类型,final 使引用不变,也就不能引用其它对象,但是被引用的对象本身是可以修改的。final int x = 1;// x = 2; // cannot assign value to final variable 'x'fi...
2018-08-22 14:18:39
472
原创 Java Object 类常用方法总结
概览public final native Class<?> getClass() //返回此 Object 运行时的类public native int hashCode() //返回对象的哈希码public boolean equals(Object obj) //判断其他对象与此对象是否“相等”protected native Object c...
2018-08-20 17:31:21
5507
原创 JAVA 重载与重写的区别
1. 重写(Override)存在于继承体系中,指子类实现了一个与父类在方法声明上完全相同的一个方法。为了满足里式替换原则,重写有有以下两个限制:子类方法的访问权限必须大于等于父类方法; 子类方法的返回类型必须是父类方法返回类型或为其子类型。使用 @Override 注解,可以让编译器帮忙检查是否满足上面的两个限制条件。2. 重载(Overload)存在于同一个类中,指一个...
2018-08-20 16:43:56
153
原创 IntelliJ IDEA 2017 License Server 激活 (持续更新!!!)
由于JetBrains 加强了对授权服务器的封杀,导致 License server 用不到几天即失效,而我用的 Linux 版本的 IDEA,无法通过破解软件激活,每次被封杀后都要找好久,因此记录可以使用的 License server 地址,方便大家查询。++++++++++++这是分隔线,更新于2018年08月08日++++++++++++http://idea.toocru...
2018-08-08 17:11:38
12143
2
原创 HBase 乱码问题解决方法(通过java api 插入数据)
HBase 提供了 java 的api,可以很方便的通过 java 代码创建 table, 添加数据,删除数据等。其中添加数据的代码如下:package com.hbase.apidemo;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.HBaseConfiguration;im...
2018-07-16 19:10:33
11762
3
原创 Java 抽象类与接口的区别
抽象类抽象类中含有抽象方法,只有申明,没有具体的实现,申明格式如下:abstract void fun(); 若一个类含有抽象方法,则这个类为抽象类,抽象类在类前需要用abstract关键字进行修饰。抽象类不可以直接创建对象,因为其含有未实现的方法。[public] abstract class ClassName{abstract void fun();} 抽...
2018-06-15 14:19:05
157
原创 面向对象——三大基本特征
面向对象的三大基本特征:封装、继承和多态一、封装利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体。数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系。用户无需知道对象内部的细节,但可以通过对象对外提供的接口来访问该对象。优点:减少耦合:可以独立地开发、测试、优化、使用、理解和修改 减轻维护的负担:可以更容易...
2018-06-15 13:24:57
19870
1
原创 maven 常用命令
mvn –version显示版本信息mvn clean清理项目生产的临时文件,一般是模块下的target目录mvn compile编译源代码,一般编译模块下的src/main/java目录mvn package项目打包工具,会在模块下的target目录生成jar或war等文件mvn test测试命令,或执行src/test/java/下junit的测试用例.mvn install将打包的jar/...
2018-06-02 16:28:31
247
原创 Linux 浏览器无法输入中文解决办法
当我们安装了centos系统后,系统默认安装了 ibus-libpinyin 输入法,此时在Terminal终端中可以输入中文,但在浏览器中却只能输入英文,切换成中文输入法也不起作用,此时可按照下面的方法进行处理。打开 /root/.bashrc 在最后面添加下面一句话vim /root/.bashrcexportLC_CTYPE=zh_CN.UTF-8重启电脑后生效特...
2018-06-02 16:01:18
14344
10
原创 Centos7 安装 chrome 浏览器
1. 配置yum源在 /etc/yum.repos.d/ 目录下新建repo文件 google-chrome.repocd /ect/yum.repos.d/vim google-chrome.repo写入如下内容并保存:[google-chrome]name=google-chromebaseurl=http://dl.google.com/linux/chrome/r...
2018-05-29 00:00:00
776
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人