- 博客(32)
- 收藏
- 关注
转载 scala映射和元组
scala映射,是一对键值对,相当于java中的Map对偶:由两个值构成的组,形式 : 值1->值2,值1和值2类型不一定要相同,可以理解为对偶就是一个key/value映射就是对偶的集合示例:val socres2= scala.collection.immutable.Map("Alice"->3,"Bob"->10,"Imok"->8) ...
2018-10-15 15:28:00
122
转载 scala函数
Scala除了方法外,还支持函数,方法对对象进行操作,但是函数不是。def func(n: String) = 表达式如果函数体有多个表达式,则可以使用代码块,代码块的最后一个表达式的值就是 函数的返回值def func(n: String) = { }在函数中,并不需要 return来返回值,而且只要函数不是递归的,可以不用指定返回类型,如果是递归函数,则必须...
2018-10-15 14:47:00
124
转载 scala基础
scala是一门多范式的编程语言,一种类似java的编程语言,以JVM为目标环境,将面向对象和函数式编程有机的结合在一起应用:spark大数据开发1、声明值和变量关键字 val 和 varval定义的值是常量,不可改变;var定义的是变量,可以改变 (声明值或者变量不初始化会报错)_表示通配符,和java中 * 一样scala中没有静态方法,但...
2018-10-15 11:27:00
119
转载 Hadoop Eclipse 插件制作以及安装
在本地使用Eclipse调试MapReduce程序,需要Hadoop插件,笔摘记录下制作安装过程。准备工作(hadoop-2.6.0为例): 搭建好Hadoop环境 下载Hadoop安装包,解压到某个路径(D:\hadoop-2.6.0) 下载hadoop2x-eclipse-plugin包 安装jdk 、ant、eclipse相关资源下载:htt...
2018-09-28 14:20:00
134
转载 理解HBase
1、HBaseHBase: Hadoop Database,根据Google的Big Table设计HBase是一个分布式、面向列族的开源数据库。HDFS为Hbase提供了底层的数据存储服务,MapReduce为Hbase提供了高性能的计算能力,Zookeeper为Hbase提供了稳定的服务和Failover机制,Hbase是一个通过大量廉价的机器解决海量数据的高速存储读取的分布...
2018-09-19 14:28:00
140
转载 理解HDFS
HDFS HDFS (Hadoop Distributed FileSystem) 是 Hadoop 分布式文件系统,以流式数据访问模式来存储超大文件,运行与商业硬件集群上,管理网络中跨多台计算机存储的文件系统,是分布式计算中数据管理的的基础。流式数据访问模式 : 指的是数据不是一次性获取过来,而是一点一点获取,处理流式数据也会一点一点处理。(全部接收在处理的话,延迟会很大)...
2018-09-17 14:41:00
195
转载 Hadoop入门学习路线
走上大数据的自学之路....,Hadoop是走上大数据开发学习之路的第一个门槛。Hadoop,是Apache的一个开源项目,开发人员可以在不了解分布式底层细节,开发分布式程序,充分利用集群进行高速运算和存储海量数据。核心:分布式存储系统HDFS(Hadoop Distributed File System) 和 MapReduceHDFS为海量数据提供存储,MapReduce...
2018-09-17 09:43:00
79
转载 日志框架Log4j
log4j是一个用Java编写的可靠,快速和灵活的日志框架(API),它在Apache软件许可下发布。Log4j已经被移植到了C,C++,C#,Perl,Python和Ruby等语言中。Log4j是高度可配置的,并可通过在运行时的外部文件配置。它根据记录的优先级别,并提供机制,以指示记录信息到许多的目的地,诸如:数据库,文件,控制台,UNIX系统日志等。 Log4j中有三个主...
2018-08-16 17:56:00
118
转载 elasticsearch常用操作
elasticsearch的接口是restful api风格基本操作查看集群健康状态GET /_cat/health?v我们可以看到我们的名称为“elasticsearch”的集群正在运行,状态标识为green。无论何时查看集群健康状态,我们会得到green、yellow、red中的任何一个。Green - 一切运行正常(集群功能齐全)Yellow -...
2018-08-14 14:29:00
95
转载 elasticsearch 基本概念
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口,数据的格式使用Json。Elasticsearch是用Java开发的。elasticsearch的基本概念IndexTypeDocumentNodeClusterShardsReplicasMapping...
2018-08-14 11:54:00
84
转载 Elasticsearch和Head插件安装
环境:CentOS7 Elasticsearch-6.3.2 JDK8准备:JDK8 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmlElasticsearch-6.3.2下载地址: https://www.elastic.co/dow...
2018-08-08 14:23:00
142
转载 CentOS7 安装 MySQL5.7
环境:操作系统: CentOS7.0MySQL版本:mysql-5.7.23-1.el7.x86_64准备:下载rpm包:https://dev.mysql.com/downloads/mysql/5.7.html#downloads安装步骤<1>检查卸载mariadb-lib#检查[root@imok ~]# rpm...
2018-08-03 10:56:00
57
转载 线程安全以及实现方式
线程安全程度从java语言中各种操作共享数据来分,按照线程安全强度来分:不可变绝对线程安全相对线程安全线程兼容线程对立不可变final带来的可见性使得一个不可变变量创建出来(没有使用this引用逃逸出来),永远不会在多个线程中看到它不一致的状态。final修饰的基本数据类型,对于复杂类型,需要定义其...
2018-08-01 15:53:00
162
转载 重排序
什么是重排序?重排序是指令的重排序。为了提高性能,编译器和处理器常常会对指令做重排序,重排序就会导致多线程执行的时候有数据不一致问题,导致程序结果不是理想结果。重排序分为三类:编译器重排序:不改变单线程程序语义前提下,重新安排执行顺序指令级并行重排序:指令并行技术可以将多条指令重叠执行,如果不存在数据依赖性,处理器会改变语句对应的机器指令执行顺序...
2018-08-01 15:33:00
89
转载 Java内存模型
并发编程模型 并发编程中需要处理的两个关键性的问题是:线程之间的通信以及线程之间的同步。在命令式编程中,有两种通信方式:共享内存和消息传递共享内存:读写内存中公共状态来隐式实现线程之间的通信,共享内存通信的同步机制是显示进行的,程序开发人员需要在某个代码或者某个方法显示的进行互斥执行消息传递:通过明确的发送消息来实现通信,线程之间没有公共状态,消息传递通信的同步机制是隐...
2018-08-01 15:13:00
69
转载 <Docker学习>6. docker使用网络
在容器中部署一个web应用,外部如何访问?容器与容器间如何访问?外部访问容器容器可以运行一些网络应用,让外部也可以访问的话,需要进行服务器和容器的端口映射 -p 或者 -P-P默认会分配一个49000~49900的端口到内部容器开放的网络端口-p可以指定端口与容器端口的映射-P默认分配docker run --name web1 -d -P tom...
2018-08-01 11:12:00
92
转载 <Docker学习>5. docker数据管理
当我们创建了一个tomcat容器,如何简单部署一个web应用?如何将war包放入到容器中?也就是说怎么样把文件从宿主机中 "放入" 到容器中?docker cp命令可以将宿主机本地上的文件复制到容器中。docker cp [本地文件] [容器id/容器名]:[容器目录]docker cp /opt/web.warebe706b78059:/usr/local/webapp...
2018-08-01 10:33:00
91
转载 <Docker学习>4. docker容器的使用
简单的说, 容器是独立运行的一个或一组应用, 以及它们的运行态环境。 对应的, 虚拟机可以理解为模拟运行的一整套操作系统( 提供了运行态环境和其他系统环境) 和跑在上面的应用。容器的运行是基于镜像的。容器启动docke run [选项] [镜像] 通过 docker run --help 查看 docke run 的用法docker run -t -i ubun...
2018-07-27 18:05:00
83
转载 <Docker学习>3. docker镜像命令使用
镜像提供容器运行时所需要的程序,资源、配置文件等,是一个特殊的文件系统。是容器运行的基础。镜像是多层文件系统组成的,是一个分层存储的架构,在镜像的构建中,会一层层的构建,每一层构建完成就不会发生改变,后一层的改变只会在自己这一层发生改变。删除前一层的文件操作,实际上不会删除前一层的文件,而是仅仅在该层将文件标记为删除,实际上还存储在前一层。因此在镜像的构建过程中,只尽量的添加该层需要...
2018-07-27 17:09:00
109
转载 <Docker学习>2.Centos7安装docker
Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10。 CentOS 7 满足最低内核的要求,但由于内核版本比较低,部分功能(如 overlay2 存储层驱动)无法使用,并且部分功能可能不太稳定。使用yum安装1、卸载旧版本(如果没有则不需要)$sudo yum remove docker \docker-client \...
2018-07-26 16:28:00
85
转载 <Docker学习>1. 简介
Q: Dokcer是什么?A: 是一种虚拟化技术。参考https://www.imooc.com/learn/867快速了解Docker。Q: 传统虚拟机技术和Dokcer的区别?A: 传统虚拟机技术是虚拟出一套硬件后,在其运行一个完整的操作系统,再在该系统上运行所需要的应用进程;而dokcer容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,也没有进行硬件虚...
2018-07-26 15:55:00
66
转载 JVM 内存分配和回收策略
对象的内存分配,主要是在java堆上分配(有可能经过JIT编译后被拆为标量类型并间接地在栈上分配),如果启动了本地线程分配缓冲,将按线程优先在TLAB上分配。少数情况下也是直接分配到老年代,分配规则不是固定的,细节还是取决于垃圾收集器的组合,以及虚拟机和内存相关参数的配置。 JVM 堆中分为 新生代 老年代 永久代,新生代分为 Eden区,SurvivorFrom区域和Sur...
2018-07-26 10:10:00
66
转载 引用 Reference
在Java中,判断一个对象是否 "存活" ,都和引用有关,当一个对象没有任何的引用指向它,我们可以认为这个对象可以被GC了。引用如何定义?Object obj = new Object()创建一个对象 ,我们知道会在 stack 和 heap 上分别分配一块内存,heap 分配的内存存储Object对象实例,stack分配的内存存储着指向heap内存地址的值,stack这块内存代表着...
2018-07-25 18:58:00
97
转载 垃圾收集器
垃圾收集算法是垃圾回收的理论,那么垃圾收集器是垃圾回收的具体实现。不同的版本、不同厂商的虚拟机所提供的垃圾收集器可能差别很大,一般的话根据自己的应用特点和要求组合出不同年代所使用的垃圾收集器。Serial 收集器ParNew 收集器Parallel Scavenge收集器Serial Old收集器Parallel Old 收...
2018-07-25 18:57:00
64
转载 垃圾搜集算法
找到了 "垃圾" 对象,如何标记 "垃圾" 对象?标记-清除算法先标记所有需要回收的对象,标记完成后统一回收被标记了的对象。(最基础的算法,其它算法在这个算法基础上改进的)缺点:标记和清除的效率不高,标记和清除后会产生大量的内存碎片(空间问题)复制算法将内存按容量划分两块大小相等的内存块,每次只使用一块,当这一块使用完了,就将存活的对象复制到另外一块内存上,然后...
2018-07-25 17:17:00
74
转载 对象访问方式
语句 Object obj = new Object()Object obj 中obj是一个对象引用,这部分数据会反映到java虚拟机栈中的本地变量表(局部变量表)中,作为一个reference数据类型出现。new Object()语义反映到java堆中,形成一块存储Object类型所有实例数据值的结构化内存。除了实例数据值,java堆中还存储了指向对象类型数据(对象类型 /...
2018-07-25 17:00:00
222
转载 GC回收的对象
垃圾收集(Carbage Collection) java内存在运行时区域,程序计数器、java虚拟机栈、本地方法三个区域都是线程私有的内存区域,随着线程的启动和销毁而分配和回收。栈帧随着方法的调用和退出而执行入栈和出栈。每一个栈帧分配多少内存在编译期间就已经确定下来了,所以这几个内存区域具有确定性,不用过多考虑内存回收的的问题。会随着线程的结束或者方法的结束而回收内存。 ...
2018-07-25 15:59:00
139
转载 邮件工具类
工具类所需依赖:<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-email</artifactId> <version>1.5</version></depende...
2018-07-24 15:22:00
139
转载 java内存区域
运行时数据区域 java虚拟机在执行java程序的过程中会把它管理的内存分为不同的数据区域,不同的数据区域功能不同,以及它的创建和销毁时间不同,有的区域随着虚拟机的启动而存在,有的区域依赖用户线程的启动和结束而建立和销毁。程序计数器:是一块小的内存,可以认为是当前线程所执行的字节码的行号指示器。(执行到底哪里了),多线程之间轮流切换分配处理器的执行时间,在任何时刻...
2018-07-23 10:25:00
68
转载 RabbitMQ的安装
随笔记下Rabbit的环境搭建1、下载RabbitMQ:RabbitMQ下载地址Windows下安装<1>安装Erlang下载地址:Erlang下载安装:Erlang安装完成<2>安装RabbitMQRabbitMQ安装完成启动,停止,重新安...
2016-11-28 14:32:00
71
转载 CXF发布webService服务以及客户端调用
这篇随笔内容是CXF发布webService服务以及客户端调用的方法CXF是什么?开发工作之前需要下载CXF和安装下载地址:http://cxf.apache.org安装过程:<1>下载解压到一个目录(不能有中文,特殊字符)<2>配置环境变量(我使用的是2.6.15版本,针对不同的版本配置环境变量)CXF_HOME=D:\Dev...
2016-11-23 13:46:00
190
转载 webservice返回值为Map类型的处理方法
在写一个webservice的时候,方法的返回值是一个复杂类型,处理方法是写一个结果类(Javabean)作为返回值。想着webservice方法返回值为Map的没写过,然后就试着写了一个简单的Demo。出错了...那我就来劲了,总有办法解决吧....通过百度(你有Google癖好就用Google吧)。。找到方法,通过前辈们的经验找到解决方法。业内人士都懂!注重版权,奉上原文...
2016-11-18 16:38:00
658
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人