自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

风雨落

难道头等舱会比经济舱更快到达目的地吗?也许站着也不失为一种历练

  • 博客(120)
  • 资源 (2)
  • 收藏
  • 关注

原创 LeetCode第347题 前K个高频元素

LeetCode第347题 前K个高频元素头铁,非要练习C语言写优先队列。所以,就写了好久。主要由于这道题的用例里面有负数,无法适用正常的数组下标的形式来存储elements和qp,导致引入了uthash,对数据进行hash,记录要保存的值。但是修改过程中遗漏了两处,导致了两处bug。学习使用uthash库函数要思路清晰。代码:struct HASH_NODE{ int key; int count; // 相当于elements int idx; // 相当于

2021-08-21 18:02:26 227

原创 Ubuntu18配置elasticsearch服务开机自启踩坑

Ubuntu18.4TLS实现ES服务自启动的详细步骤在/etc/init.d目录下,添加执行的脚本,并指明RUNLEVEL以及abort等内容避免类似下面的报错update-rc.d: error: mydaemonDefault-Start contains no runlevels, aborting给出elasticsearch的样例脚本elasticsearch.serv...

2019-04-03 19:27:11 5757 4

原创 ES数据类型:type与keyword

_mappingGET /megacorp/_mapping/employee获取megacorp索引中的employee类型进行mapping,模式定义ES中数据类型在最新版本中,Filed datatypes 官网链接简单的类型有 text、keyword、date、long、double、boolean和ip复杂类型有:object和nested较特殊的类型:geo_poi...

2019-03-30 12:07:47 28078

原创 全排列题解

文章目录题目描述解决方案:递归:字典序算法:参考文章:题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。解决方案:递归:import java.util.ArrayList;public class Solution { ArrayList<...

2019-03-29 11:34:43 337

原创 安装windows10和Ubuntu双系统的各种问题大全

文章目录安装详情Ubuntu版本的选择详细的安装步骤安装时需要注意的点问题总结Ubuntu安装失败,如何删除Windows环境如何删除efi分区Ubuntu重启或关机都会黑屏,只有左上角的一个光标引用安装详情Ubuntu版本的选择​ Ubuntu的版本,最初选择的是Ubuntu kylin版本,中国的衍生版本,装完后各种莫名bug,搜了一下解决办法,都是推荐重装原生Ubuntu系统,就重装了...

2019-03-22 23:23:01 1051

原创 WebPage+SpringBoot+mysql踩坑

数据库的对应接口报错解决办法:我们如果在NovelMapper中加上注解@Repository,红线便会消失,@Repository与@Service、@Compent、@Controller的作用差不多,都是声明作用,取不同的名字只是为了更好的区分各自的功能,为的是Spring可以@Autowired是正常注入。但其实这个场景下,@Repository不添加,Mapper接口也会被正...

2019-03-14 19:45:21 298

原创 windows平台使用hexo和GitHub Page搭建博客网站踩坑

具体十分详尽的步骤,网上有很多,我这里推荐一个,我主要是看着它装的:Windows下使用Hexo+GithubPage搭建博客下面介绍需要注意的地方:明确hexo的地位,hexo是将你已经写好markdown文件,按照你定的主题转换为静态的Html文件,推送到你远程的Github仓库中,从而可以通过GitHub Page可以进行域名访问因为需要经常向远程的Github仓库推送,所以要在本地...

2019-03-13 14:59:30 408

原创 正则表达式入门

在《正则表达式必知必会》中学习可以是纯文本,全文匹配,其中可以使用 . 来匹配任意一个字符,对于类似 . 这种由特殊含义的字符,在正则表达式中被称为元字符,当希望匹配本身这个字符时,需要使用 \ 进行转义匹配一组字符使用 [ 和 ] ,构成字符集合,- 在 [ 和 ] 中起到连接符的作用,常用的字符集合有: 匹配一组字符使用 [ 和 ] ,构成字符集合,- 在 [ 和 ] 中起到连接符的作...

2019-03-10 21:58:09 122

原创 springBoot实现配置和实例的热更新,集成Apollo,方法通用

热更新会对两类Bean进行刷新,一种是使用了@ConfigurationProperties的对象,另一类是使用了@RefreshScope的对象 两者的更新机制也不同,前者通过rebind,所有的bean重新绑定来完成刷新;后者是通过RefreshScope的缓存和延迟加载机制,生成新对象监听Apollo配置中心,配置发生变化的动作通过注解标明监听的配置文件发布 Environm...

2018-11-02 15:40:52 19177 3

转载 分布式之redis复习精讲

转载至https://www.cnblogs.com/rjzheng/p/9096228.html 为什么写这篇文章?博主的《分布式之消息队列复习精讲》得到了大家的好评,内心诚惶诚恐,想着再出一篇关于复习精讲的文章。但是还是要说明一下,复习精讲的文章偏面试准备,真正在开发过程中,还是脚踏实地,一步一个脚印,不要投机取巧。考虑到绝大部分写业务的程序员,在实际开发中使用r...

2018-10-26 11:32:07 217

原创 Eureka的自我保护机制浅谈

1、 定义自我保护模式是一种针对网络异常波动的安全保护措施,使用自我保护模式能使Eureka集群更加的健壮、稳定的运行。2、 工作机制自我保护机制的工作机制是如果在15分钟内超过85%的客户端节点都没有正常的心跳,那么Eureka就认为客户端与注册中心出现了网络故障,Eureka Server自动进入自我保护机制,此时会出现以下几种情况: Eureka Server不再从注册列表中移除因...

2018-10-23 14:00:01 6965 2

原创 RabbitMQ的使用

RabbitMQ的响应问题public class RabbitMqMessageSender implements MessageSender, RabbitTemplate.ReturnCallback, RabbitTemplate.ConfirmCallback其中RabbitTemplate.ConfirmCallback如果消息没有到exchange,则confirm回调,a...

2018-10-16 17:25:19 240 1

原创 Oracle中的decode在mysql中实现

oracle中的decode函数转换成mysql中的语法题目:原本的数据格式转换成如下格式select grade, sum(decode(level,"好","1","0")) good, sum(decode(level,"中","1","0")) middle, sum(decode(level,"坏","1","

2018-10-08 16:53:28 7026

原创 final变量的作用

final这个关键字的作用final关键字提高了性能。JVM和java应用都会缓存final变量final变量可以安全的在多线程环境下进行共享,且不需要额外的同步开销使用final关键字,JVM会对方法、变量及类进行优化final关键字要注意的一些地方,final主要作用,他会保证安全性,并对代码进行一定的优化修饰的类不可再被继承修饰的方法不可在被重写修饰的成员变量必须在声明时...

2018-09-22 16:29:59 2167 1

翻译 Spark-Streaming+kafka实现零丢失

kafka和sparkstreaming是两种适配很好的技术,两者都是分布式系统适用于处理大量数据,两者对于实现数据的零丢失并没有提供现成的解决方案,所以这篇文章就是希望可以帮助你完成这个目标注:使用Spark Streaming的Direct Stream方式连接kafka,并通过存储偏移量到zookeeper中,来实现数据零丢失,不要使用CheckPoints问题介绍:Spark Stre...

2018-09-22 13:03:03 487

原创 操作系统的端口

网络中可以被命名和寻址的通信端口是操作系统的一种可分配资源。由网络OSI(开放系统互联参考模型,Open System Interconnection Reference Model)七层协议可知,传输层与网络层最大的区别是传输层提供进程通信能力, 网络通信的最终地址不仅包括主机地址,还包括可描述进程的某种标识。所以TCP/IP协议提出的协议端口,可以认为是网络通信进程的一种标识符。之...

2018-09-02 09:02:03 3810

原创 Spark Streaming的Batch Duration优化

Spark Streaming 是微批处理。 SparkConf sparkConf = new SparkConf().setAppName("SparkStreaming").setMaster("local[*]"); JavaStreamingContext javaStreamingContext = new JavaStreamingContext(sparkConf, Dur...

2018-09-01 14:02:58 7284

原创 Float IP

一个常识性问题: 一个MAC地址可以绑定多少个IP地址 答案是:多少个都可以你的电脑绑定多个网段的IP,这样多个网段的主机你都可以访问 还有Float IP 也是利用了这一点例如一个集群中,一个HA的集群,一般是双机HA,这样两个相同的服务主机,两个IP,那咋办,让用户记住两个IP吗?这样也太不人性,解决方案是配置Float IP为其中一个服务主机网卡绑定float ...

2018-08-31 16:48:41 731

原创 网络协议和网络编程

TCP建立连接的过程。TCP(传输控制协议)和UDP(用户数据包协议) 都是运输层的协议,基于网络层的IP协议 TCP连接三次握手,具体是客户端发送连接请求,服务器接收并确认返回应答信息,客户端之后第三次发送请求确认,从而建立连接,开始树传输,原因是避免建立无用、错误的TCP长连接TCP断开连接的过程。第一次有客户端发出要关闭连接的请求;第二次,服务器端返回请求确认;第三次,服务...

2018-08-29 18:55:29 1414

原创 spark消费kafka时自助管理offset方法

offset的保存位置 在Kafka0.9版本之前消费者保存的偏移量是在zookeeper中/consumers/GROUP.ID/offsets/TOPIC.NAME/PARTITION.ID。新版消费者不再保存偏移量到zookeeper中,而是保存在Kafka的一个内部主题中“__consumer_offsets”,该主题默认有50个分区,每个分区3个副本,分区数量有参数offset.to...

2018-07-28 12:02:03 4666 1

原创 Linux的存储文件系统

HDFS中的块大小是128MB,将块设计如此之大的原因:是为最小化寻址时间, 使得磁盘传输时间远大于寻址时间,使得传输一个多个块的文件的时间取决于磁盘传输速率,一般寻址时间是磁盘传输时间的1%文件系统的最小操作单位都是block而不是sector,因为sector太小了索引文件系统中inode的存储方式: 每个inode节点的大小,一般是128字节或256字节。inode节点的总数,在...

2018-07-26 17:13:15 1502

原创 数据结构与算法基础

1、说一下几种常见的排序算法和分别的复杂度 O(n2) : 冒泡排序、选择排序、插入排序、希尔排序 O(nlogn) : 快速排序、归并排序、堆排序 O(n) : 桶排序 O(d(n+r)): 基数排序 快速排序的效率最高,但是复杂度的稳定性不高,如果初始值选的不好,会造成复杂度上升至O(n2),为避免这种情况可以使用堆排序,但是这俩种排序方式都是不稳定的,相同复杂度,稳定排序的是归...

2018-07-23 08:52:51 478

原创 论货币

完全是依一个菜鸟的视角看待这个问题,错误之处,欢迎指点货币的演变:以物易物 以物易物人们最初的交易方法,这种方法只可以在双重巧合下发生,所以这种交易方式很不方便贝壳,石头、黄金、白银 人们感觉到以物易物的麻烦,便有了金属货币之类的,它们的特性是不易磨损,数量少,价值高,元素稳定。于是人们便选择了具有这样特性的物品来作为货币,但是一个严重的问题是这样的货币太重了,知道为什么纸币...

2018-07-15 23:04:17 229

原创 Java程序猿想超神,我来回答这些问题(java基础补充篇)

1、epoll和select 这是两种处理IO并发的两种机制,在linux没有实现epoll实践驱动机制之前,我们一般选择使用select或者poll等IO多路复用的方法来实现并发服务程序,但是现在,大数据,高并发的时代里,主流已经变成了epoll 举一个简单的栗子解释他们两个的区别: 你和你女朋友在餐馆吃饭,你们点了一大桌菜,你女朋友饿坏了,总是催你去问问有没有做好的菜了,于是你就一会一去...

2018-07-09 08:48:04 271

原创 互联网时代的IP技术

IP技术是整个互联网中心的核心技术它能够如此盛行的两个原因简单整个IP技术都十分简单,让人容易理解,运用,即使不懂技术的人,也很容易明白它的原理分布式控制架构IP技术可分为三个平面:管理面,数据面,分发面IP技术作用于各个路由器上,最初由人为的去配置路由表,实现路由,但是这样很容易出问题,一旦其中一个环节坏了,那整个网络都不通了动态路由协议的出现,解决了这个...

2018-07-02 08:35:45 1933

原创 安装hadoop3.0版本踩坑

1、hdfs的web页面默认端口是9870 yarn的web页面端口是8088 2、配置文件中的slaves文件没了,变成了workers文件,在里面配置datanode节点 3、在进行namenode格式化是有几个Fail,不要因此怀疑自己,只要common.Storage: Storage directory /usr/local/hadoop-3.0.2/hdfs/name has b...

2018-06-29 17:26:08 16549 7

原创 linux磁盘空间

计算磁盘总空间 /dev/loop是像光盘这样的结合式存储设备,是要去除的 $(/bin/df -ml -x tmpfs | grep -v /dev/loop | sed '1d' | awk 'BEGIN {aval=0} {aval+=$2} END {printf(&amp;quot;diskTotalSize=%d&amp;quot;, aval/1024)}')这个命令只能计算出当前文件系统的总容量,计算的是已...

2018-06-28 16:12:22 210

原创 脚本开发收获(一)

1、解析Windows目录是,split(“\\”) 需要四个反斜杠,原因是:在java中 \ 相当于 \ 并且在regex中 \ 相当于 \ 所以要用 \\ 2、同步锁中锁对象的作用 3、nl命令列出内容,为文件添加行号等 Sed命令学习https://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856901.html sed ‘s/...

2018-06-28 09:17:58 289

原创 Java程序猿想超神,我来回答这些问题(java基础)

1、实例方法和静态方法有什么不一样? 实例方法是对象方法,由对象调用,在使用使用时方法才会被加载进内存 静态方法是在类被加载是被加载进内存,由类名直接进行调用 所以在静态的方法中只可以调用静态的方法或成员,因为静态方法的加载时间早于对象创建,所以在静态方法加载时,非静态方法还不存在呢,所以不可以调用 参考:https://blog.csdn.net/biaobiaoqi/article/d...

2018-06-22 21:25:20 1149

原创 HBase的快速查询

快速查询和实时查询 快速查询: 一、分区存储 HBase将每个表划分为多个region,每个region用rowkey来华为,数据的查询也是通过rowkey来查询 查询过程:client向HBase依赖的zookeeper获取metaregion的位置,然后通过metaregion中的记录获取到所要查询的rowkey 对应的region,这样就确定到一个region范围 ...

2018-05-16 17:18:30 6848

原创 C语言的普通数据类型所占字节(sizeof)

#include&lt;stdio.h&gt;int main(){ char* pp; char* p[5]; int* i; char numchar; double numdouble; float numfloat; printf("char* pp: %d\nchar* p[5]: %d\nint*: %d\nchar: ...

2018-05-10 21:30:51 418

原创 浅谈IO模型

IO是(input/output) 有内存IO、磁盘IO、和网络IO 两组关键词 同步/异步 :同步是当前工作线程主动的接受IO操作完成返回结果,异步是当前工作线程被动的 获取到IO操作结果,通过状态、通知、回调等方法 阻塞/非阻塞 :是指当前是否“持续”等待这IO操作结果的返回UNIX环境下有五种IO模型 同步阻塞IO、同步非阻塞IO、IO多路复用、信号驱动IO、异步非阻塞IO ...

2018-05-06 17:24:33 229

原创 livy读源码总结

1、spark任务提交 https://blog.csdn.net/qq_32635069/article/details/80055745 2、线程池问题 线程池:一个管理线程的工具 解决的问题:一款好的软件设计是不建议手动创建和销毁会线程。线程的创建和销毁是非常耗CPU和内存的,因为这需要JVM和操作系统的参与 64位 JVM 默认线程栈是大小1 MB。这就是为什么说在...

2018-04-25 20:42:27 1216

原创 livy源码阅读基础知识

1、解析json数据: interactiveSession使用的jackson来解析传入的request 在org.apache.livy.server.JsonServlet中 提供了三种不同的方法来处理JSON * 流式API - 读取并将JSON内容写入作为离散事件。 JsonParser读取数据,而JsonGenerator写入数据。它是三者中最有效的方法,是最低的开...

2018-04-23 20:40:55 795 1

原创 livy安装文档

1、下载Livy(可以自己下载源代码进行编译) http://livy.incubator.apache.org/download/ 源代码在git 上能够找到apache 版本和cloudera 两个版本 https://github.com/cloudera/livy 有比较详细的说明文档。2、将livy的压缩包放到Linux 主机...

2018-04-23 20:35:09 5188 2

原创 spark任务提交产生的问题,以及livy解决问题

spark任务提交 spark目前提供python shell和scala shell两种交互式命令行运行Python Shell ./bin/pyspark 运行Scala Shell./bin/spark-shell 比如用户使用spark-shell或是pyspark脚本启动Spark应用程序,伴随应用程序启动的同时Spark会在当前终端启动REPL(Read–Eval–Print L...

2018-04-23 20:25:08 2719

原创 livy源码阅读

在client端使用RESTAPI新建session时的时序图: 使用RESTAPI执行一段代码 client端和driver端建立连接,这个过程是:client端建立一个RPCServer,并建一个RSCClient,将其注册到Client端的RPCServer中的PendingClients,然后将其server的host,port,clientID和secret存放到conf中并...

2018-04-17 20:12:34 1590

原创 java实现线程同步的总结

要实现线程同步的原因: java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时, 会产生冲突,使得变量值不唯一,因此我们需要加入同步锁来避免在当前线程的操作未完成前,其它线程改变共享资源值的情况发生,从而保证变量的唯一 性和准确性方法synchronized synchronized可以修饰方法,但是由于同步本身就是一种高开销的操作,因此我们应该尽可能的减少同步...

2018-04-12 09:41:17 320

原创 zookeeper

作用: 1、做一个轻量级的存储 2、帮助上层组件选择主备leader选举使用原子广播通知其他节点zookeeper有多个znode znode分为永久节点和临时节点两种临时节点的作用就是就是帮助上层组件选择主备,如hadoop的namenode和yarn的resourceManager 临时节点只可以有一个客户端相连Master选举 Master选举可以说是ZooKeeper...

2018-04-11 20:33:56 268

原创 java继承与protected权限再理解

java会继承父类中default权限以上的成员父类的private成员不会被子类继承,子类不能访问。但是子类对象的确包含父类的私有成员。 父类的 包访问成员 继承为子类的包访问成员。就好像他们直接定义在子类中一样。 父类的 protected 成员继承为子类的protected 成员。就好像他们直接定义在子类中一样。 父类的 public 成员继承为子类的public 成员,就好像他们...

2018-04-06 21:28:47 12736

SecureCRT.rar

SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件。 SecureCRT支持SSH,同时支持Telnet和rlogin协议。SecureCRT是一款用于连接运行包括Windows、UNIX和VMS的理想工具。通过使用内含的VCP命令行程序可以进行加密文件的传输。有流行CRTTelnet客户机的所有特点,包括:自动注册、对不同主机保持不同的特性、打印功能、颜色设置、可变屏幕尺寸、用户定义的键位图和优良的VT100,VT102,VT220和ANSI竞争.能从命令行中运行或从浏览器中运行.其它特点包括文本手稿、易于使用的工具条、用户的键位图编辑器、可定制的ANSI颜色等.SecureCRT的SSH协议支持DES,3DES和RC4密码和密码与RSA鉴别。

2018-05-14

mui指导文档

html5移动框架mui

2017-07-11

空空如也

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

TA关注的人

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