自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java位移运算符

首先举个列子:3 首先把3转换为二进制数字0000 0000 0000 0000 0000 0000 0000 0011,然后把该数字高位(左侧)的两个零移出,其他的数字都朝左平移2位,最后在低位(右侧)的两个空位补零。则得到的最终结果是0000 0000 0000 0000 0000 0000 0000 1100,则转换为十进制是12.数学意义:在数字没有溢出的前提下,对于正数和

2017-03-29 16:46:13 162

原创 各种数据结构的优缺点

本文说下有关数组,链表,树,队列,栈这几种数据结构的优缺点。1.数组:数组随机访问的时间复杂度为O(1),顺序访问的时间复杂度为O(n).增删时候,最好的情况是在数组的末尾进行增删,时间复杂度是O(1),最坏的情况是O(n)。在数组任意位置插入删除元素的时候,后面的元素还要向后移动,移动的数据和个数有关,时间复杂度是O(n)。2.链表:链表是在非连续的内存单元中保存数据,并且通过指

2017-03-29 16:08:15 1619

原创 hashmap源码分析jdk8

最近看了下jdk8的hashmap源码,相比于7,在存储结构上有了些改变。1.在jdk8之前,hashmap的存储结构是数组+链表的形式,那么这种方式随着链表的长度增加,效率也凸显出来。所以在jdk8中这块做了优化,当链表超过一定长度时转化为红黑树来解决这个问题,下面用流程图画出hashmap的put方法实现逻辑。下面请带着这些问题看源码,为什么树的查找效率比链表高,达到什么样的条

2017-03-29 16:04:32 170

原创 java序列化

我们经常在项目的实体类中会看到实现Serializable接口,实现这个到底有什么用呢?总体来说有两个。1) 把对象的字节序列永久地保存到硬盘上(通常存放在一个文件中);2) 在网络上传送对象的字节序列。序列化之后会生成一个serialVersionUID,它的作用是什么呢?Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行

2017-03-28 18:08:02 138

原创 多线程

本文主要介绍下java多线中常用的关键字和对象。1.volatitle:保证了线程之间变量的可见性,但是并不具有原子性。所谓可变性,就是每个线程读取到的值都是最新的,即使某个线程改变了变量的值,其他的线程也能马上看到修改后的值。所谓原子性,即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。那么为什么这个关键字就能保证了可变性,又为什么不能保证原子

2017-03-28 15:56:27 164

转载 多线程通信

把之前看过的多线程通信记录下。sleep()方法是Thread类的方法,因此它不能改变对象的机锁。所以当在一个Synchronized方法中调用sleep()时,线程虽然休眠了,但是对象的机锁没有被释放,其他线程仍然无法访问这个对象。sleep()方法不需要在同步的代码块中执行。但是sleep()可以通过interrupt()方法打断线程的暂停状态,从而使线程立刻抛出Interrupted

2017-03-28 15:37:03 195

原创 spark集群模式类型

1.local 本地单线程2.local[K] 本地多线程(指定K个内核)3.local[*] 本地多线程(指定所有可用内核)4.spark://HOST:PORT 连接到指定的 Spark standalone cluster master,需要指定端口。5.mesos://HOST:PORT 连接到指定的 Mesos 集群,需要指定端口。6.yarn-client客户端模式

2017-03-28 15:30:21 250

原创 spark简介

本文主要介绍下spark相关进程的一些术语,对spark有个简单的了解。如果你安装了spark集群,那么在master进程中应该有如下进程:1.NameNode2.SecondNameNode3.ResourceManagerslave下应该有如下进程:1.DataNode 2.NodeManager NameNode可以看作是分布式文件系统中的管理者,主要负责

2017-03-28 14:36:05 256

空空如也

空空如也

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

TA关注的人

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