自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 java Queue 接口

1  队列(Queue)代表一种数据结构:先插入的元素先被处理,即所谓的“先进先出”。2  Queue 继承了 Collection 接口,除了集合的方法以外,队列特有三种操作:插入/获取/检查。这三种方法都有两种形式:如果操作失败的话返回特定值或者抛出异常。  抛出异常返回特殊值insertadd(e)offer(e)remove

2017-09-16 12:15:56 345

转载 linux source bash ./ sh fork exec 的区别

在linux 里做一件事的方法往往有很多种,比如执行一个脚本的就有很多种方式,那么这些方式有什么区别呢?首先,执行一个shell 脚本的方法有以下几种:source  sh  ./  bash ,那么这些方式有什么区别呢?它们的区别主要是在当前shell环境中运行还是另外开启一个子shell运行以及运行该shell对当前shell环境的影响。1 sourcesource 是在当前she

2017-09-10 10:26:33 516

原创 mysql lower_case_table_names 参数引起的一起事故

异常情况描述: hive 集群本来运行状况良好,突然之间不能用了,重启也没用,看日志显示hive metastore 启动异常,一个表找不到了,导致 hive metastore 启动不起来。此时当然是到mysql(hive metastore 的存储数据库)看里面是不是有这个表,用show table 发线表是存在的, SELECT count 发现mysql报表不存在。。。真是诡异,同属说

2017-04-27 14:57:45 2973

原创 如何分析java进程中哪个线程最耗资源

我们知道,java程序一般都很耗资源,动辄都是好几G的内存,甚至几十G。对外,java进程是一个整体,而且java是共享内存模型,所以很难分析单个线程,但是我们还是可以分析java线程消耗cpu的情况。1 首先得到要分析的java程序进程id,可以通过jps命令:[make@master ~]$ jps -l10242 com.intellij.idea.Main10597 org.j

2017-04-25 21:35:30 1729

原创 linux shell 中数组的定义和for循环遍历

linux shell中的语法和普通编程语言 c/c++  java 的不太一样,平时用的不多,所以总是记不住,写脚本才会去查怎么用。今天突然被问到数组怎么去遍历。平时写shell脚本也经常遍历数组,但是一下没答上来,被鄙视了。所以平时学习还是好好总结吧,不能每次都问度娘谷爷。IT 知识体系较为庞大,细节的东西也太多,平时遇到问题应该的多总结记笔记。linux 中定义一个数据的语法为:

2017-04-25 20:00:43 22096

原创 java stack 和 queue的区别和联系

queue是一个接口,它继承了 Collect接口。对应数据结构中的队列。stack 是一个类,它继承了Vector 类,而Vector则继承AbastractList,实现List,randomAccess/cloneable/serialization 接口。对应数据结构中的栈。这两个类中的元素都是有序的,注意增删改查等方法。这两个类的方法见jdk 源码。Queue 是

2017-04-22 23:23:02 2970

转载 Erasure code 原理

1. 什么是erasure code?erasure code可以认为是RAID的通式,任何RAID都可以转换为特定的erasure code。在传统的RAID中,仅支持少量的磁盘分布,当系统中存在多个分发点和多节点时,RAID将无法满足需求。比如RAID5只支持一个盘失效,即使是RAID6也仅支持两个盘失效,所以支持多个盘失效的算法也就是erasure code是解决这一问题的办

2017-03-17 10:15:08 411

转载 java 面试题基础

1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?   可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。2、Java有没有goto?   java中的保留字,现在没有在java中使用。3、说说&和&&的区别。   &和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果

2017-02-28 22:29:02 227

转载 JVM调优:选择合适的GC collector

正文之前,先介绍一人:Jon Masamitsu。此人背景不详,不过他在SUN做的就是JVM,所以他的blog我认为是每一个想对JVM调优的人都应该读一读的。本文的很多观点和一些图也是取自他的blog。blog link:http://blogs.sun.com/jonthecollector/ 在他的一篇blog【1】中,写到了GC调优的最重要的三个选项:排在第三位的是young

2017-02-28 21:20:45 425

转载 Java 并发开发:内置锁 Synchronized

摘要:在多线程编程中,线程安全问题是一个最为关键的问题,其核心概念就在于正确性,即当多个线程访问某一共享、可变数据时,始终都不会导致数据破坏以及其他不该出现的结果。而所有的并发模式在解决这个问题时,采用的方案都是序列化访问临界资源 。在 Java 中,提供了两种方式来实现同步互斥访问:synchronized 和 Lock。本文针对 synchronized 内置锁 详细讨论了其在 Jav

2017-02-27 22:17:40 239

转载 Docker基础命令

转载于 http://blog.csdn.net/birdben/article/details/49873725Docker基础命令下面简单介绍一下Docker常用的一些基础命令# 在ubuntu中安装docker$ sudo apt-get install docker.io# 查看docker的版本信息$ docker version# 查看安装docker的

2017-01-15 21:32:36 2451

转载 一位老电子工程师十年的职场感悟

一位老电子工程师十年的职场感悟[1]好好规划自己的路,不要跟着感觉走!根据个人的理想决策安排,绝大部分人并不指望成为什么院士或教授,而是希望活得滋润一些,爽一些。那么,就需要慎重安排自己的轨迹。从哪个行业入手,逐渐对该行业深入了解,不要频繁跳槽,特别是不要为了一点工资而转移阵地,从长远看,这点钱根本不算什么,当你对一个行业有那么几年的体会,以后钱根本不是问题。频繁地动荡不是上策

2017-01-13 17:49:12 322

转载 深入理解Java G1垃圾收集器

本文首先简单介绍了垃圾收集的常见方式,然后再分析了G1收集器的收集原理,相比其他垃圾收集器的优势,最后给出了一些调优实践。一,什么是垃圾回收首先,在了解G1之前,我们需要清楚的知道,垃圾回收是什么?简单的说垃圾回收就是回收内存中不再使用的对象。垃圾回收的基本步骤回收的步骤有2步:查找内存中不再使用的对象释放这些对象占用的内存1,查找内存中不再使用的对

2016-12-30 23:54:41 516

原创 mysql 5.7 ERROR 1045 (28000): Access denied for user 'root'@'localhost'

mysql 安装了最新版,但是初始化登陆不了,网上找了很多资料,但是都没用,后来在网上看到说是新版本的mysql初始化安装会随机生成一个root密码,如果你不知道这个密码,或者没有留意到这个密码,则会出现我这样的情况,安装了登不了,总是报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password

2016-12-29 21:50:36 7285

原创 spark rdd

本文面向的读者是具有一定spark使用经验,想提升对spark理解的童鞋们。RDD 是spark最主要的抽象(其他两个是Accumulator 和 BroadCast)。一个RDD 本身是一个java(scala)对象,它代表的是分布在集群中不同节点上的数据。那么很自然,这个对像的属性如下:1 a list of partitions: 也就是构成这个 RDD 的partition2

2016-12-08 23:10:56 329

原创 MapReduce 调优基本思路

mapreduce 的调优一般都是基于shuffle阶段的。下面就讲讲基本思路。调优的基本原则就是给 shuffle 阶段尽可能大的内存。但是因为map和reduce函数的执行也需要内存,所以shuffle需要多少内存需要权衡一下,比如尽量避免在 map reduce 用 哈希表等结构对数据进行聚合操作,让 map 和 reduce 占用的内存尽可能小。map 和 reduce 任务占用的

2016-12-07 09:12:08 341

原创 MapReduce 的过程详解

从整体上,mapreduce 框架可以分为五个不同实体:1)客户端:提交 MapReduce job。2)Yarn 资源管理器(resource manager):协调集群计算资源的分配3)Yarn 节点管理器(node manager):启动和监视集群中每个节点的计算容器。4)Mapreduce

2016-12-05 23:10:05 6794

原创 hadoop map reduce 阶段笔记

shuffle and sortMR 框架保证:每个 reducer 的输入都是按照 key 键排过序的。shuffle:将map输出结果送到reducer和排序的功能。1) map:每个map task将结果输出到环形内存缓冲区,当到达一定阈值,则启动一个后台进程将缓存中的数据 1: 按照 reduce 阶段 reducer 的个数将数据分区,然后在每个分区里面的数据按照key键值排

2016-12-01 22:52:02 628

原创 数据结构之查找

本文是我学习查找的一点感悟,希望给没有接触过的人的一个大体的概念。数据结构这门课程中,树是比较难以理解的,但是树在工作中用的也是最多的,要想弄懂底层的一些细节,树是必须要掌握的,即使它在难,只要持之以恒,都是可以学会弄懂,做到融会贯通的。查找,就是在一堆元素中找到自己需要的那个。比较简单的,大家都能想到的,就是把自己要找的和这些记录逐个比较,找到符合自己的,然后取出来,如果

2016-11-08 21:08:31 218

原创 HBase region 查找

hbase 中,为了让客户端找到特定主键的 region,HBase提供了两张特殊的目录表 -ROOT- 和 .META.。-ROOT-表用来查询所有保存 .META. 表的 region 的位置。-ROOT-表从不进行拆分,从而保证类似与B+树结构的三层查找结构:1 在Zookeeper 中包含-ROOT-表的服务器,2 在-ROOT-表中查找对应.META. region 的位

2016-11-05 16:43:32 667

空空如也

空空如也

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

TA关注的人

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