- 博客(20)
- 收藏
- 关注
转载 Spark2.1新特性
Spark 2.1.0是2.x分支中的第二个重要的发布版本(第一个是2.0.x),在该版本中,structured streaming有重大改进,增加了event mark watermark机制和对kafka 0.10.0的支持等特性,为其用于生产环境又迈进一步。除此之外,Spark其他重大改进集中在易用性、稳定性和改进等方面,解决了1200多个ticket(包括新功能、bug fix以及性
2016-12-30 16:08:10 5172
转载 JAVA必备基础知识点
Java基础1、 简述Java的基本历史java起源于SUN公司的一个GREEN的项目,其原先目的是:为家用消费电子产品发送一个信息的分布式代码系统,通过发送信息控制电视机、冰箱等 2、 简单写出Java特点,写出5个以上,越多越好简单的、面向对象的、分布式的、安全的、稳定的、与平台无关的、可解释的、多线的、动态的语言。 3、 什么是Ja
2016-12-30 16:01:32 407
转载 JAVA知识点总结
本篇文章会对面试中常遇到的Java技术点进行全面深入的总结,帮助我们在面试中更加得心应手,不参加面试的同学也能够借此机会梳理一下自己的知识体系,进行查漏补缺(阅读本文需要有一定的Java基础;若您初涉Java,可以通过这些问题建立起对Java初步的印象,待有了一定基础后再后过头来看收获会更大)。 原文:http://blog.csdn.net/qq_35101189/article/det
2016-12-30 15:59:07 352
原创 LInux的启动过程
当主机加电时,系统启动的过程就正式开始了。Linux系统启动的过程可以简单的分为以下几类:(1)主机加电自检:按下主机电源键之后,启动过程就开始了。系统会首先加载BIOS(Basic Iput Output System,基本的输入输出系统),检查连接到系统的设备,并枚举和初始化设备。如果自检的过程中没有发现错误,系统会根据BIOS中的设置查找处于活动状态并能用于引导系统的设备(通常是光盘,硬
2016-12-30 14:20:11 468
原创 Shell编程二:Shell中的数组
1.数组的定义完整的数组元素由数组名和索引组成如下:array[index]在Bash中定义数组有两种方法:(1)直接在定义的时候为所有的数组元素赋值array=(1 2 3 4 5 6)(2)对数组的每个 元素进行分别赋值array[0]=4; array[3]=3;array[1]=2;使用这种方法对数组进行赋值的时候,可以不按照数组下标的先后顺序进行操作,也不必对数组中每
2016-12-30 13:38:19 483
原创 shell编程一:初识shell
Shell脚本同Linux系统中的其它文件一样,可以不使用扩展名。但为了方便识别,通常建议Bash脚本文件名以sh结尾,Tcsh脚本文件以csh结尾。 vim bash.sh创建一个脚本文件#!/bin/bash上面是一个Bash脚本的开头,这一行的内容告诉系统应该使用哪一种Shell来执行这个脚本,或者使用哪一种Shell来解释执行这个脚本中的内容。这里表示使用Bash。通常以#开
2016-12-30 10:51:40 602
转载 mapreduce shuffle 详解
转载地址:http://hi.baidu.com/jiangyangw3r/item/1995d758e4c5fd10db163544MapReduce 是现今一个非常流行的分布式计算框架,它被设计用于并行计算海量数据。第一个提出该技术框架的是Google 公司,而Google 的灵感则来自于函数式编程语言,如LISP,Scheme,ML 等。
2016-12-28 14:34:37 338
转载 JAVA多线程和并发基础面试问答
原文链接 译文连接 作者:Pankaj 译者:郑旭东 校对:方腾飞多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一。在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对应日后碰到的问题。(校对注:非常赞同这个观点)Java多线程面试问题1. 进程和线程之间有什么不同?一个进程是一个独立(self contai
2016-12-26 13:37:10 371
转载 Java NIO使用及原理分析 (四)
转载自:李会军•宁静致远在上一篇文章中介绍了关于缓冲区的一些细节内容,现在终于可以进入NIO中最有意思的部分非阻塞I/O。通常在进行同步I/O操作时,如果读取数据,代码会阻塞直至有 可供读取的数据。同样,写入调用将会阻塞直至数据能够写入。传统的Server/Client模式会基于TPR(Thread per Request),服务器会为每个客户端请求建立一个线程,由该线程单独负责处
2016-12-21 14:49:27 297
转载 Java NIO使用及原理分析(三)
转载自:李会军•宁静致远在上一篇文章中介绍了缓冲区内部对于状态变化的跟踪机制,而对于NIO中缓冲区来说,还有很多的内容值的学习,如缓冲区的分片与数据共享,只读缓冲区等。在本文中我们来看一下缓冲区一些更细节的内容。缓冲区的分配在前面的几个例子中,我们已经看过了,在创建一个缓冲区对象时,会调用静态方法allocate()来指定缓冲区的容量,其实调用 allocate()
2016-12-21 14:48:25 275
转载 Java NIO使用及原理分析 (一)
转载自:李会军•宁静致远最近由于工作关系要做一些Java方面的开发,其中最重要的一块就是Java NIO(New I/O),尽管很早以前了解过一些,但并没有认真去看过它的实现原理,也没有机会在工作中使用,这次也好重新研究一下,顺便写点东西,就当是自己学习 Java NIO的笔记了。本文为NIO使用及原理分析的第一篇,将会介绍NIO中几个重要的概念。在Java1.4之前的
2016-12-21 14:47:14 279
转载 Java NIO使用及原理分析(二)
转载自:李会军•宁静致远在第一篇中,我们介绍了NIO中的两个核心对象:缓冲区和通道,在谈到缓冲区时,我们说缓冲区对象本质上是一个数组,但它其实是一个特殊的数组,缓冲区对象内置了一些机制,能够跟踪和记录缓冲区的状态变化情况,如果我们使用get()方法从缓冲区获取数据或者使用put()方法把数据写入缓冲区,都会引起缓冲区状态的变化。本文为NIO使用及原理分析的第二篇,将会分析NIO中的
2016-12-21 14:46:02 260
转载 JAVA之TreeMap与红黑树详解
TreeMap的实现是红黑树算法的实现,所以要了解TreeMap就必须对红黑树有一定的了解,其实这篇博文的名字叫做:根据红黑树的算法来分析TreeMap的实现,但是为了与Java提高篇系列博文保持一致还是叫做TreeMap比较好。通过这篇博文你可以获得如下知识点: 1、红黑树的基本概念。 2、红黑树增加节点、删除节点的实现过程。 3、红黑
2016-12-15 18:48:33 904 1
原创 JAVA对象的创建过程
JAVA是一门面向对象的语言,在JAVA程序运行过程中无时无刻都有对象被创建出来。在语言层面上,创建对象(如克隆、反序列化)通常仅仅是一个new关键字而已,而在虚拟机中对象的创建过程是什么样的呢?虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已经被加载、解析和初始化过。如果没有,那必须先执行相应的类加载过程,在类加
2016-12-13 10:27:46 551
转载 JAVA对象创建方式
有4种显式地创建对象的方式:1.用new语句创建对象,这是最常用的创建对象的方式。2.运用反射手段,调用Java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。3.调用对象的clone()方法。4.运用反序列化手段,调用java.io.ObjectInputStream对象的readObje
2016-12-13 10:19:27 253
转载 JAVA内存区域
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则是依赖用户线程的启动和结束而建立和销毁。 一、程序计数器(寄存器)当前线程所执行的字节码行号指示器字节码解释器工作依赖计数器控制完成通过执行线程行号记录,让线程轮流切换各条线程之间计数器互不影响线程私
2016-12-13 09:21:01 262
原创 JVM类加载机制
虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析、初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制从类被加载到虚拟机内存中开始,到卸载出内存为止,类的生命周期包括加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using
2016-12-12 10:51:19 337
原创 Jvm垃圾回收器总结
HotSpot JVM收集器框架 上面有7中收集器,分为两块,上面为新生代收集器,下面是老年代收集器。如果两个收集器之间存在连线,就说明它们可以搭配使用。Serial(串行GC)收集器Serial收集器是一个新生代收集器,单线程执行,使用复制算法。它在进行垃圾收集时,必须暂停其他所有的工作线程(用户线程)。是Jvm client模式下默
2016-12-09 14:19:26 444
转载 深入分析ClassLoader
why?ClassLoader,即Java类加载器,主要作用是将class加载到JVM内,同时它还要考虑class由谁来加载。在说java的类加载机制之前,还是像前面的博客一样,先说说为什么要知道java的类加载机制。个人认为主要有以下几个原因:按需加载。JVM启动时不能确定我要加载哪些东西,或者有些类非常大,我只希望用到它时再加载,并非一次性加载所有的class,所以这时候了解了
2016-12-09 10:06:23 354
转载 HashMap实现原理分析
1. HashMap的底层实现是通过初始化化一个Entry数组来实现key、value的保存。2. 在HashMap的Entry中有四个变量,key、value、hash、next,其中next用于在hash方法添加值冲突时候,所指向的下一个值。3. 在HashMap中添加值步骤 第一步,对key的hashcode进行hash计算,获取应该保存到数组中的index。
2016-12-06 16:05:28 1199
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人