Java 并发编程

2018-04-08
阅读 4 分钟
2.7k
并发编程的核心是为了提高电脑资源的利用率,因为现代操作系统都是多核的,可以同时跑多个线程。那么是不是线程越多越好? 由于线程的切换涉及上下文的切换,所谓上下文就是线程运行时需要的资源,系统要分配给它消耗时间。所以为了减少上下文的切换,我们有以下几种方法:

如何去学习编程

2018-04-06
阅读 2 分钟
1.3k
我们学习程序语言一定不要被束缚到语言细节和规范上面,而要从计算机逻辑执行层面思考。细节和规范都是人为设定的,是大牛抽象计算机逻辑后的加工品。对于技术问题我们要寻根溯源,要高屋建瓴。

设计模式

2018-04-03
阅读 6 分钟
1.3k
设计模式 观察者模式 观察者定义了一种一对多的依赖关系,多个观察者监听一个主题对象,当主题对象的状态发生改变时,这些观察者会被通知从而自我跟新。 结构图 具体代码如下 {代码...} 桥接模式 将抽象部分与具体实现部分分离 结构图 代码 {代码...} 中介者模式 用一个类来封装一系列对象间的交互,使对象间耦合松散 代...

设计模式

2018-04-03
阅读 6 分钟
1.3k
设计模式 观察者模式 观察者定义了一种一对多的依赖关系,多个观察者监听一个主题对象,当主题对象的状态发生改变时,这些观察者会被通知从而自我跟新。 结构图 具体代码如下 {代码...} 桥接模式 将抽象部分与具体实现部分分离 结构图 代码 {代码...} 中介者模式 用一个类来封装一系列对象间的交互,使对象间耦合松散 代...

Docker学习(一)

2018-03-16
阅读 1 分钟
1.9k
特点Docker不需要运行完整操作系统的额外开销,因此Docker对系统的利用率更高,直接运行于宿主内核 Docker确保应用运行环境的一致性。 基本概念 Image(镜像) 一个文件系统,提供容器运行时需要的程序,库,资源,配置文件等,和一些为运行时准备的配置参数。镜像采用分层存储的方式,每一层内容都不会改变。 Container(...

Scala常用集合概述

2018-02-07
阅读 2 分钟
2.9k
Scala的集合分为可变集合与不可变集合,可变集合表示这个集合中的元素可被添加,更新,删除。不可变集合表示对此集合操作以后会产生一个新的集合,而原来这个集合不改变。

Spark RDD

2018-02-01
阅读 1 分钟
2.3k
可以看到一个MapReduce作业处理的结果只能存放在硬盘当中,当另一个MapReduce作业去读取这个结果时又得从硬盘读取到内存中,这就产生了大量的数据复制,磁盘I/O,数据的序列化操作,这些多余的操作就使得整个计算系统变慢。

大数据系列之kafka(一)

2018-01-30
阅读 2 分钟
2.6k
Kafka是一个分布式流处理平台,我们可以初步理解为一个Kafka就是一个存储消息的篮子(broker),可以实时去放消息或取消息,不同的消息按照不同的标签(topics)分类,这个篮子是可扩展的(Kafka集群),篮子里的消息高可靠不会丢失。

大数据系列之Flume(一)

2018-01-29
阅读 2 分钟
4.3k
Flume是一个分布式的高可靠,可扩展的数据采集框架,在大数据工程中我们常常需要日志进行分析获取商业价值而Flume就是采集多个不同的数据源,交给数据处理程序同一执行。

Netty详解

2018-01-16
阅读 2 分钟
3.1k
近日在学习netty,却发现没那么容易上手,专研了几天后算是弄清楚了netty到底是干什么的,所看资料比较多,此文章便把这些资料与我的思考做一个总结帮助大家更好入门。