上一页 1 ··· 5 6 7 8 9 10 11 下一页

2018年5月8日

摘要: 设计模式之美 桥接模式 [toc] 设计模式之美目录: 桥接模式(Bridge):桥接模式不是很好理解,对于这个模式有两种不同的理解方式。但桥接模式并不常用,不是学习的重点。 在 GoF 的《设计模式》一书中,桥接模式被定义为:将抽象和实现解耦,让它们可以独立变化。 在其他资料和书籍中,还有另外一种 阅读全文
posted @ 2018-05-08 07:33 binarylei 阅读(346) 评论(0) 推荐(0)

2018年5月7日

摘要: Java 设计模式系列(六)适配器模式 适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 适配器模式的结构: 1. 类的适配器模式 2. 对象的适配器模式 一、类适配器模式 类的适配器模式把适配的类的 API 转换成为目标类的 A 阅读全文
posted @ 2018-05-07 21:42 binarylei 阅读(253) 评论(0) 推荐(0)
摘要: 设计模式之美 原型模式 [toc] 设计模式之美目录: 原型模式:如果对象的创建成本比较大,可以基于已有的原型对象来创建新的对象。 对于熟悉 JavaScript 语言的前端程序员来说,原型模式是一种比较常用的开发模式。这是因为,有别于 Java、C++ 等基于类的面向对象编程语言,JavaScri 阅读全文
posted @ 2018-05-07 21:03 binarylei 阅读(322) 评论(0) 推荐(0)
摘要: 设计模式之美 生成器模式 [toc] 设计模式之美目录: Builder 模式,中文翻译为建造者模式或构建者模式或生成器模式。将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 建造者模式的原理和代码实现非常简单,掌握起来并不难,难点在于应用场景。在学习生成器模式的过程中,思 阅读全文
posted @ 2018-05-07 06:24 binarylei 阅读(352) 评论(0) 推荐(0)
摘要: Java 设计模式系列(三)抽象工厂 每天用心记录一点点。内容也许不重要,但习惯很重要! 阅读全文
posted @ 2018-05-07 06:20 binarylei 阅读(181) 评论(0) 推荐(0)

2018年5月6日

摘要: 设计模式之美 工厂模式 [toc] 设计模式之美目录: 工厂模式实现了创建者和调用者的分离。工厂模式可分为三种类型:简单工厂、工厂方法、抽象工厂。不过,在 GoF 的《设计模式》一书中,它将简单工厂模式看作是工厂方法模式的一种特例,所以工厂模式只被分成了工厂方法和抽象工厂两类。实际上,前面一种分类方 阅读全文
posted @ 2018-05-06 21:48 binarylei 阅读(373) 评论(0) 推荐(0)
摘要: Java Thread系列(十)Future 模式 Future 模式适合在处理很耗时的业务逻辑时进行使用,可以有效的减少系统的响应时间,提高系统的吞吐量。 一、Future 模式核心思想 如下的请求调用过程时序图。当 call 请求发出时,需要很长的时间才能返回。左边的图需要一直等待,等返回数据后 阅读全文
posted @ 2018-05-06 21:21 binarylei 阅读(373) 评论(0) 推荐(0)
摘要: Java Thread系列(九)Master Worker模式 Master Worker模式是常用的并行设计模式. 一、Master Worker 模式核心思想 Master Worker 系统由两个角色组成,Master 和 Worker,Master 负责接收和分配任务,Worker 负责处理 阅读全文
posted @ 2018-05-06 21:19 binarylei 阅读(477) 评论(0) 推荐(0)
摘要: Java Thread系列(十)生产者消费者模式 生产者消费者问题(producer consumer problem),是一个多线程同步问题的经典案例。该问题描述了两个共亨固定大小缓冲区的线程—即所谓的“生产者”和“消费者—在实际运行时会发生的问题。 一、信号灯法 信号灯法实际上就是保证同一时间只 阅读全文
posted @ 2018-05-06 21:17 binarylei 阅读(315) 评论(0) 推荐(0)
摘要: Java Thread系列(七)死锁 当线程需要同时持有多个锁时,有可能产生死锁。考虑如下情形: 线程 A 当前持有互斥所锁 lock1,线程 B 当前持有互斥锁 lock2。接下来,当线程 A 仍然持有 lock1 时,它试图获取 lock2,因为线程 B 正持有 lock2,因此线程 A 会阻塞 阅读全文
posted @ 2018-05-06 21:15 binarylei 阅读(164) 评论(0) 推荐(0)
摘要: Java Thread系列(六)volatile volatile 关键字具备可见性,不具备原子性。主要作用是使变量在多个线程间可见。但不具备原子性(同步性),可以算一个轻量级的 synchronized ,性能要比 synchronized 强很多,不会造成阻塞。 一、volatile 可见性 二 阅读全文
posted @ 2018-05-06 21:14 binarylei 阅读(278) 评论(0) 推荐(0)
摘要: Java Thread系列(四)线程通信 一、传统通信 public static void main(String[] args) throws InterruptedException { final ThreadLocal th = new ThreadLocal(); Thread t1 = 阅读全文
posted @ 2018-05-06 21:13 binarylei 阅读(264) 评论(0) 推荐(0)
摘要: Java Thread系列(五)synchronized 本文我们讨论 synchronized 重量级锁的实现原理。 一、synchronized 实现原理 1.1 synchronized 修饰符对应的字节码指令 我们知道在 java中synchronized 主要有两种使用形式:同步方法和同步 阅读全文
posted @ 2018-05-06 21:13 binarylei 阅读(551) 评论(0) 推荐(0)
摘要: Java Thread系列(三)线程安全 一、什么是线程安全 线程安全概念:当多个线程访问某一个类(对象或方法)时,这个类始终都能表现出正确的行为,那么这个类(对象或方法)就是线程安全的。 线程安全来说,需要满足以下两个特性: 原子性 可见性 执行结果: 由此可见: 1. 多个线程要执行 synch 阅读全文
posted @ 2018-05-06 21:12 binarylei 阅读(288) 评论(0) 推荐(0)
摘要: Java Thread系列(二)线程状态 一、线程的五种状态 1. 新建状态(New):新创建了一个线程对象,尚未启动。 2. 就绪状态(Runnable):也叫可运行状态。线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得可运行,等待获取 CPU 的使用 阅读全文
posted @ 2018-05-06 21:11 binarylei 阅读(313) 评论(0) 推荐(0)
摘要: Java Thread系列(一)线程创建 Java 中创建线程主要有三种方式:继承 Thread、实现 Runnable 接口、使用 ExecutorService、Callable、Future 实现由返回结果的多线程。 线程是 CPU 调度的最小单位。 一、继承 Thread 类创建线程类 《4 阅读全文
posted @ 2018-05-06 21:10 binarylei 阅读(317) 评论(0) 推荐(0)
摘要: 设计模式之美 面向对象六大原则 [toc] 设计模式之美目录: 这是设计模式系列开篇的第一篇文章。也是我学习设计模式过程中的总结。这篇文章主要讲的是面向对象设计中,我们应该遵循的六大原则。只有掌握了这些原则,我们才能更好的理解设计模式。 1. 单一职责原则(SRP):一个类应该仅有一个引起他变化的原 阅读全文
posted @ 2018-05-06 21:07 binarylei 阅读(604) 评论(0) 推荐(0)
摘要: 设计模式之美目录 1. [设计模式 开篇] [1.1 设计模式之美 高质量代码修炼之道] 2. [设计模式 面向对象] [2.1 设计模式之美 贫血模型(MVC)和充血模型(DDD)] 3. [设计模式 设计原则] "3.1 设计模式之美 面向对象六大原则" 4. [设计模式 规范与重构] [4.1 阅读全文
posted @ 2018-05-06 19:02 binarylei 阅读(500) 评论(0) 推荐(0)

2018年5月5日

摘要: 设计模式之美 单例模式 [toc] 设计模式之美目录: 保证一个类只有一个实例,并且提供一个访可该实例的全局访问点。实现方式有三种:懒汉式、饿汉式、注册式(包括枚举)。应用场景如:Listener 本身单例、日历 Calender、IOC 容器、配置信息 Config。 在学习单例模式的过程中,思考 阅读全文
posted @ 2018-05-05 21:10 binarylei 阅读(420) 评论(0) 推荐(0)

2018年5月3日

摘要: Executor(二)ThreadPoolExecutor、ScheduledThreadPoolExecutor 及 Executors 工厂类 Java 中的线程池类有两个,分别是:ThreadPoolExecutor 和 ScheduledThreadPoolExecutor,这两个类都继承自 阅读全文
posted @ 2018-05-03 08:10 binarylei 阅读(473) 评论(0) 推荐(0)
摘要: Executor(一)ExecutorService 线程池 本篇主要涉及到的是 java.util.concurrent 包中的 ExecutorService。ExecutorService 就是 Java 中对线程池的实现。 一、ExecutorService 介绍 Java API 对 Ex 阅读全文
posted @ 2018-05-03 08:09 binarylei 阅读(1319) 评论(0) 推荐(0)

2018年5月2日

摘要: MessagePack 使用 MessagePack() 是一个基于二进制高效的对象序列化 Library 用于跨语言通信。它可以像 JSON 那样,在许多种语言之间交换结构对象;但是它比 JSON 更快速也更轻巧。 支持 Python、Ruby、Java、C/C++、Javascript 等众多语 阅读全文
posted @ 2018-05-02 07:42 binarylei 阅读(3961) 评论(0) 推荐(0)
摘要: Http 协议 HTTP(超文本传输协议)协议是建立在 TCP 传输协议之上的应用层协议。HTTP 是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于 1990 年提出,经过多年的使用和发展,得到了不断的完善和扩展。 HTTP 协议的主要特点如下。 1. 支持 阅读全文
posted @ 2018-05-02 07:42 binarylei 阅读(385) 评论(0) 推荐(0)

2018年4月27日

摘要: Telnet 协议详解 一、概述 ============================================================ Telnet 协议是 TCP/IP 协议族中应用最广泛的协议。 它允许用户(Telnet 客户端)通过一个协商过程来与一个远程设备进行通信。 T 阅读全文
posted @ 2018-04-27 21:40 binarylei 阅读(27884) 评论(0) 推荐(0)
摘要: Telnet 安装 一、Telnet 安装 __(1) 登录目标主机检测 telnet 服务是否正常__ [root@localhost ~] telnet localhost bash: telnet: command not found __(2) Telnet 安装包__ telnet cli 阅读全文
posted @ 2018-04-27 06:44 binarylei 阅读(2856) 评论(0) 推荐(0)

2018年4月25日

摘要: Netty系列(四)TCP拆包和粘包 一、拆包和粘包问题 __(1) 一个小的Socket Buffer问题__ 在基于流的传输里比如 TCP/IP,接收到的数据会先被存储到一个 socket 接收缓冲里。不幸的是,基于流的传输并不是一个数据包队列,而是一个字节队列。即使你发送了 2 个独立的数据包 阅读全文
posted @ 2018-04-25 20:53 binarylei 阅读(512) 评论(0) 推荐(0)
摘要: Netty 系列(三)Netty 入门 "Netty" 是一个提供异步事件驱动的网络应用框架,用以快速开发高性能、高可靠性的网络服务器和客户端程序。更多请参考: "Netty Github" 和 "Netty中文入门" 。 一、获得 Netty 可以通过 "Maven" 安装Netty。查看 "Ne 阅读全文
posted @ 2018-04-25 19:36 binarylei 阅读(816) 评论(0) 推荐(0)
摘要: Socket IO 系列(三)基于 NIO 的同步非阻塞式编程 用于存储数据 用于传输数据 用于轮询 Channel 状态,四种状态:Connect(连接),Accept(阻塞),Read(读),Write(写) 一、Buffer(缓冲区) 不同于面向流的 IO 中将数据直接写入或读取到 Strea 阅读全文
posted @ 2018-04-25 19:35 binarylei 阅读(590) 评论(0) 推荐(0)

2018年4月24日

摘要: Linux NIO 系列(01) 五种网络 IO 模型 [toc] __Netty 系列目录()__ 一、基本概念 在正式开始讲 Linux IO 模型前,先介绍 5 个基本概念。 1.1 用户空间与内核空间 现在操作系统都是采用虚拟存储器,那么对 32 位操作系统而言,它的寻址空间 (虚拟存储空间 阅读全文
posted @ 2018-04-24 20:33 binarylei 阅读(4687) 评论(0) 推荐(0)

2018年4月21日

摘要: Hadoop 系列(一)基本概念 一、Hadoop 简介 Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构,它可以使用户在不了解分布式底层细节的情況下开发分布式程序,充分利用集群的威力进行高速运算和存储。 从其定义就可以发现,它解決了两大问题:大数据存储、大数据分析。也就是 H 阅读全文
posted @ 2018-04-21 20:36 binarylei 阅读(83688) 评论(1) 推荐(7)

2018年4月20日

摘要: Hadoop 系列(二)安装配置 Hadoop 官网: 一、Hadoop 安装 1.1 Hadoop 依赖的组件 1. __JDK__ :从 Oracle 官网下载,设置环境变量(JAVA_HOME、PATH 和 CLASSPATH)。 2. __SSH(安全外壳标议)__ :推荐安装 Openss 阅读全文
posted @ 2018-04-20 12:26 binarylei 阅读(4501) 评论(0) 推荐(1)

2018年4月11日

摘要: maven 打包 OutOfMemoryError 查看官方文档,内存溢出可能有以下几种情况: 1. You are building a very big multi module project, each module requires a certain amount of memory s 阅读全文
posted @ 2018-04-11 06:51 binarylei 阅读(1704) 评论(0) 推荐(0)
摘要: FTP 搭建 FTP 是 File Transfer Protocol(文件传输协议)的英文简称,它工作在 0SI 模型的第七层,TCP 模型的第四屋上,即应用层。 一、FTP 简介 FTP 会话时包含了两个通道,一个叫控制通道,端口号21;一个数据通道,端口号 20。 21 端口用于连接,20 端 阅读全文
posted @ 2018-04-11 06:48 binarylei 阅读(555) 评论(0) 推荐(0)
摘要: /etc/profile.d/start.sh 阅读全文
posted @ 2018-04-11 06:47 binarylei 阅读(401) 评论(0) 推荐(0)
摘要: Python 安装 __(1) 准备编译环境__ yum y install gcc g++ gcc c++ libstdc++ devel yum y install zlib devel bzip2 devel ncurses devel openssl openssl devel __(2) 阅读全文
posted @ 2018-04-11 06:45 binarylei 阅读(6279) 评论(0) 推荐(0)
摘要: jps 命令详解 jps 是 jdk 提供的一个查看当前 java 进程的小工具, 可以看做是 JavaVirtual Machine Process Status Tool 的缩写。非常简单实用。 命令格式:jps [options ] [ hostid ] __(1) [options] 选项: 阅读全文
posted @ 2018-04-11 06:44 binarylei 阅读(295) 评论(0) 推荐(0)

2018年4月10日

摘要: Linux 网络配置和克隆 一。配置 Linux 网络 当在 VMware 中安装完 Linux 以后需要通过一些网络配置才能使 Linux 能够连能网络: 1. 首先如果是在虚拟机上安装的 Linux 必须要保证在网络适配器的地方选择的是: NAT模式:用于共享主机的IP地址 2. 当 VMwar 阅读全文
posted @ 2018-04-10 12:52 binarylei 阅读(296) 评论(0) 推荐(0)

2018年4月8日

摘要: Storm 系列(二)Storm 集群部署和配置 本章中主要介绍了 Storm 的部署过程以及相关的配置信息。通过本章内容,帮助读者从零开始搭建一个 Storm 集群。 一、Storm 的依赖组件 1.1 要部署 Storm,需要要部署以下几个相关组件。 1. __JDK__ :从 Oracle 官 阅读全文
posted @ 2018-04-08 22:23 binarylei 阅读(1449) 评论(0) 推荐(0)
摘要: Storm 系列(二)实时平台介绍 本章中的实时平台是指针对大数据进行实时分析的一整套系统,包括数据的收集、处理、存储等。一般而言,大数据有 4 个特点: Volumn(大量)、 Velocity(高速)、 Variety(多样)、 Value(价值),因此针对大数据的实时平台有以下特点。 __延退 阅读全文
posted @ 2018-04-08 20:35 binarylei 阅读(1489) 评论(0) 推荐(0)

2018年4月7日

摘要: Storm 系列(一)基本概念 学习资源: 1. "Storm官网" 2. "《Storm入门》中文版" 3. "jStorm" "JStorm 源码解析:整体架构" "JStorm 源码解析:编程接口" "JStorm 源码解析:拓扑的构建和提交过程" "JStorm 源码解析:拓扑任务的资源分配 阅读全文
posted @ 2018-04-07 19:22 binarylei 阅读(552) 评论(0) 推荐(0)
上一页 1 ··· 5 6 7 8 9 10 11 下一页

导航