- 博客(25)
- 收藏
- 关注
原创 String在JDK6 JDK7 JDK8之中的变化
JDK6 public static void main(String[] args) { String s5 = "111"; String s6 = "111"; System.out.println(s5 == s6);//true
2018-08-30 16:13:16 1249
原创 Kafka和Storm的整合
主要难点在于实现一个KafkaSpout,用于Storm接收从Kafka传来的消息 //发送第一步,加入需要发送列表中 protected void setWaitingToEmit(ConsumerRecords<K, V> consumerRecords) { for (TopicPartition tp : consumerRecords.par...
2018-08-30 11:21:11 1729
原创 Storm初始化时抛出NotSerializableException
启动topo抛出如下异常:Exception in thread "main" java.lang.IllegalStateException: Spout 'DetrUpdateEvent' contains a non-serializable field of type com.gdl.trolley.stormclient.TrolleySpout$StormMessageListne...
2018-08-30 09:50:59 815
原创 计算机的结构
主板上的插槽基本上都是PCI插槽或者PCI-E插槽PCI-E比PCI快。PCI-E和PCI可以使用相同的驱动代码进行驱动。 AGP只是PCI和PCI-E总线提供的一种特殊接口,主要供显卡使用.主板芯片组主板芯片组最核心的是北桥芯片和南桥芯片 北桥芯片就是离CPU最近的一个非常很大的芯片。另外一块非常大的芯片自然就是南桥芯片了。 两个芯片都是总线控制器的角色。这么设计的原因...
2018-08-29 17:09:01 221
原创 JStorm端口被占用无法启动的问题
Jstorm出现端口被占用,worker无法启动。 核实端口是否真的被占用。这里需要root权限才能找到占用端口的进程究竟是谁。[root@k3815238693-3 ~]# netstat -apn|grep 6802tcp6 0 0 :::6802 :::* LISTEN 13...
2018-08-29 14:25:00 733
原创 JStorm出现com.lmax.disruptor.InsufficientCapacityException异常
出现如下异常 [WARN 2018-08-29 10:12:07 TaskHeartbeatTrigger:118 run pool-6-thread-2] Failed to publish timer event to {topo_name}:47_taskHeartbeatshade.storm.com.lmax.disruptor.InsufficientCapacityEx...
2018-08-29 14:24:05 1418
原创 JVM参数调优
参数意义-XX:PermSize分配非堆最小内存,默认为物理内存的1/64;-XX:MaxPermSize分配最大内存,默认为物理内存的1/4。-Xms分配堆最小内存,默认为物理内存的1/64;-Xmx分配最大内存,默认为物理内存的1/4。-Xss规定了每个线程堆栈的大小。一般情况下256K是足够了。影响了此进程中并发线程数大小。实战案例...
2018-08-27 13:42:01 1533
原创 Linux操作系统 CPU
概述可以使用top命令查看cpuCpu(s): 38.3%us, 10.6%sy, 0.0%ni, 44.6%id, 3.0%wa, 0.4%hi, 3.1%si, 0.0%st%us:表示用户空间程序的cpu使用率 %sy:表示系统空间的cpu使用率,主要是内核程序。 %ni:表示用户空间且通过nice调度过的程序的cpu使用率。 %id:空闲cpu %wa:cpu...
2018-08-24 15:42:40 391
原创 操作系统的前世今生
1960s CTSS 分时操作系统,可以让大型主机供多个终端机使用。但是最多支持30个终端使用,为了开发支持更多终端的主机操作系统,AT&T的Bell实验室,MIT,GE发起了Multics项目。后来失败,BELL退出。 1969 Unics。BELL中的一名工程师用汇编语言,因为将Multics项目简化不少,被戏称为Uics。有将所有程序和系统配置都是文件的思想 1972 AT&am...
2018-08-24 13:42:53 1037
原创 linux的内核
linux内核版本可以从以下两个命令查看cat /proc/versionuname -alinux源代码目录arch - 这个文件夹包含了一个Kconfig文件,它用于设置这个目录里的源代码编译所需的一系列设定。每个支持的处理器架构都在arch文件夹它相应的文件夹中。如,Alpha处理器的源代码在alpha文件夹中。请记住,随着时间的推移,一些新的处理器将被支持,有些会被...
2018-08-24 13:31:37 216
原创 Linux中的设备
关于Linux中的设备文件,设备文件用来为操作系统和用户提供它们代表的设备接口。所有的Linux设备文件均位于/dev目录下,是根(/)文件系统的一个组成部分,因为这些设备文件在操作系统启动过程中必须可以使用。应用程序可以打开、关闭和读写这些设备文件,完成对设备的操作,就像操作普通的数据文件一样。为了管理这些设备,系统为设备编了号,每个设备号又分为主设备号和次设备号。主设备号用来区分不同种类的设备...
2018-08-24 13:13:32 209
原创 Linux中的内存
概述首先,我们可以查看内存。[jboss5@i5315234391-9 ~]$ free -mh total used free shared buff/cache availableMem: 7.6G 156M 6.2G 368M 1....
2018-08-24 11:10:12 287
原创 解决Maven无法下载源代码包的问题
首先尝试使用mvn dependency:resolve -Dclassifier=sources -X根据日志,发现使用的是本地代码仓库而非线上的maven。检查本地目录,发现确实没有source的jar包。 然后发现jar包开发时配置错误 <plugin> <artifactId>maven-s...
2018-08-24 09:41:15 10242
原创 linux中的系统调用的实现
概念一般的,进程是不能访问内核的。它不能访问内核所占内存空间也不能调用内核函数,因为内核驻留在受保护的地址空间上。运行用户代码时,CPU处于用户态,不能访问内核的地址。所以,应用程序应该以某种方式通知系统,告诉内核自己需要执行一个系统调用,希望系统切换到内核态,这样内核就可以代表应用程序来执行该系统调用了。通知内核的机制是靠软件中断实现的。首先,用户程序为系统调用设置参数。其中一个参数是系...
2018-08-23 16:39:18 319
原创 Linux中和POSIX标准
Linux的API是遵循POSIX标准的 POSIX表示可移植操作系统接口(Portable Operating System Interface of UNIX,缩写为 POSIX ),POSIX标准定义了操作系统应该为应用程序提供的接口标准,是IEEE为要在各种UNIX操作系统上运行的软件而定义的一系列API标准的总称,其正式称呼为IEEE 1003,而国际标准名称为ISO/IEC 9945...
2018-08-23 16:20:09 4883
原创 linux中的线程
参考文献https://www.zhihu.com/question/25367227基本概念首先Linux并不存在真正的线程,Linux的线程是使用进程模拟的。 从内核来讲,并没有线程的概念,linux把线程当做进程来实现。内核并没有特殊的调度算法或者定义特别的数据结构来表征线程。线程仅被看做一个与其它进程共享某些资源的进程。每个线程都拥有唯一属于自己的task_struct,所以...
2018-08-23 16:11:19 198
原创 linux中的进程
进程的创建在Linux中主要提供了fork、vfork、clone三个进程创建方法。 fork()调用执行一次返回两个值,对于父进程,fork函数返回子程序的进程号,而对于子程序,fork函数则返回零,这就是一个函数返回两次的本质。#include<stdio.h> #include<sys/types.h&amp
2018-08-23 14:59:32 190
原创 Elasticsearch的原理和架构
字典实现字典可以采取以下的数据结构,他们个有优缺点排序列表Array/List 使用二分法查找,不平衡HashMap/TreeMap 性能高,内存消耗大,几乎是原始数据的三倍Skip List 跳跃表,可快速查找词语,在lucene、redis、Hbase等均有实现。相对于TreeMap等结构,特别适合高并发场景(Skip List介绍)Trie 适合英文词典,如果系统...
2018-08-21 16:06:07 3058
原创 Kafka和ElasticSearch的整合
三种方案Kafka->logstash->elasticsearch->kibana(简单,只需启动一个代理程序)Kafka->kafka-connect-elasticsearch->elasticsearch->kibana
2018-08-21 10:36:51 8867 2
原创 从虚拟IP谈起
VIP我们知道一般的IP地址是和物理网卡绑定的,而VIP相反,是不与实际网卡绑定的的IP地址。当外网的上的一个机器,通过域名访问某公司内网资源时,内网的DNS服务器会把域名解析到一个VIP上。当外网主机经过域名解析得到这个VIP后,就将数据包发往这个VIP。但是在内网中,这个VIP是不与具体的设备相连接的,所以外网发过来的目的地址是VIP的IP数据包,究竟会到哪台机器呢? 其实,这个在内网的...
2018-08-20 19:16:34 218
原创 Spring-JDBC简介
事务Spring事务的七种隔离级别定义如下 使用第一步,配置事务管理器,并开启事务注解 <!-- 配置事务管理器 --> <bean id = "transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManage...
2018-08-10 18:39:54 430
原创 linux系统的网络IO(select/epoll)
参考文献https://blog.csdn.net/davidsguo008/article/details/73556811 https://www.cnblogs.com/ccsccs/articles/4224253.htmlselect函数原型如下://sys/select.h int select(int maxfdp1, fd_set *readset,...
2018-08-10 18:38:22 2545
原创 java序列化
JAVA序列化主要利用ObjectOutputStream。下面是LinkedList的序列化和反序列化的代码 private void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException { // Write out any hidden serializati...
2018-08-06 19:02:34 82
原创 Kafka源代码阅读(7):producer
实际发送方法 private Future&amp;lt;RecordMetadata&amp;gt; doSend(ProducerRecord&amp;lt;K, V&amp;gt; record, Callback callback) { TopicPartition tp = null; try { KafkaProducer.ClusterAndWa...
2018-08-02 18:15:56 148
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人