自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

llin-黎辰

虽然弱,却执着

  • 博客(15)
  • 资源 (5)
  • 收藏
  • 关注

原创 Java设计模式(七) COR(责任链)模式及Tomcat引申

基本概念定义:使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,知道有对象处理它为止。COR(责任链)模式的角色分工: Handler:抽象处理者,定义一个处理请求的接口Concrete Handler: 具体处理者,处理请求的具体类,或者传给”下家”。Requester:发出请求等待处理的类,它无需关注到底是哪个具体的

2016-04-26 18:57:10 7572

原创 Java设计模式(六) Command(命令模式)及Tomcat引申

基本概念Command命令模式是一个高内聚的模式(满足单一职责原则)概念:将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。命令模式在项目中频繁使用,封装性和拓展性都有很好的保障Command模式中的角色分工: Client:创建一个命令并决定接受者Command:命令接口,定义一个抽象方法Concrete Com

2016-04-26 13:08:35 6524

原创 Java设计模式(五) Observer(观察者)模式及Tomcat引申

基本概念Observer观察者模式(Observer Pattern)又称为发布订阅模式(Publish/subscribe)定义对象间的一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并且自动更新根据单一职责原则,每个类的职责是单一的,我们可以通过触发机制,形成一个触发链,把各个单一的职责串联成真实世界中的复杂的逻辑关系。观察者模式的角色分工(JDK中提供了

2016-04-25 19:38:03 6494 2

原创 Java设计模式(四) Facade(门面)模式及Tomcat引申

基本概念Facade的概念为子系统中的一组接口提供一个统一接口。Facade模式定义了一个更高层的接口,使子系统更加容易使用。我们需要以一种比原有方式更简单直接的办法与系统交互,对于讨论的复杂系统我们只有针对性地使用它的一个子集因为Facade模式可以封装多个子系统,可以减少客户必须处理的对象的数量要求一个子系统的外部与内部的通信必须通过一个统一的对象进行。也就是说Facade对象是外界对于子

2016-04-25 14:38:28 5706

原创 JVM基础(三) JVM内存管理

内存的划分本文所谈的内存是指的运行时数据区域,分为:共享的数据区: 堆(Heap)方法区(Method Area)线程隔离的数据区: 虚拟机栈(VM Stack)本地方法栈(Native Method Stack)程序计数器(Program Counter Register) Java线程栈的内存管理(隔离内存)线程隔离的性质意味着线程和栈是关联的,每个线程在创建时会创建自己的

2016-04-24 10:49:44 1326

原创 JVM基础(二) 实现自己的ClassLoader

为何要花时间实现自己的ClassLoader虽然人生的乐趣很大一部分来自于将时间花在有意思但是无意义的事情上,但是这件事绝对是有意思并且有意义的,有以下几个情景是值得我们花费时间实现自己的classLoader的:我们需要的类不一定存放在已经设置好的classPath下(有系统类加载器AppClassLoader加载的路径),对于自定义路径中的class类文件的加载,我们需要自己的ClassLoa

2016-04-20 16:37:51 3201

原创 JVM基础(一) ClassLoader的工作机制

对ClassLoader的理解顾名思义,Class loader 最基本的功能就是将Class加载到JVM中在加载过程中,Class loader 能够审查每个类应该由哪个class loader加载,采用双亲委派模型来实现除了加载外,class loader也负责将加载后的字节码重新解析成JVM同一要求的对象格式类加载器对于所加载类的影响每一个类加载器都有一个独立的命名空间独立的命名空

2016-04-19 22:59:11 6635

原创 Java设计模式(三) Visitor(访问者)模式及多分派场景应用

基本概念Visitor封装一些作用于数据结构中的各元素的操作,不同的操作可以借助新的visitor实现,降低了操作间的耦合性访问者可以将数据结构和对数据的操作解耦,使得增加对数据结构的操作不需要取修改数据结构,也不必去修改原有的操作,而执行时再定义新的Visitor时闲着就行了(在操作添加上易拓展)模式中角色分工Visitor:抽象访问者,在重载的visit函数中声明访问者可以访问的对象。

2016-04-14 15:32:41 8005

原创 Java设计模式(二) Decorator(装饰)模式及Java I/O引申

基本概念Decorator职能上: 动态地给一个对象添加一些额外的职责,就增加功能来说Decorator比从基类生成子类更灵活,而且能有效地控制子类的数量,防止子类爆炸(后面的特性会印证这个优势)。结构(工作原理)上: 可以创建始于Decorator对象(负责新功能的对象)终于原对象的一个对象链实现上: Decorator模式将Decrator对象(能够提供额外的功能)与这些对象的使用

2016-04-13 19:37:54 4673

原创 Java设计模式(一) Adapter(适配器)模式及I/O实例引申

基本概念适配器模式是一种补救模式,将一个类的接口转换成客户希望的另外一个接口。Adapter模式使原本由于接口不兼容而不能一起工作的类可以一起工作。是包装模式(对类或者对象进行包装)的一种,分为类适配器和对象适配器,是从实现层面上划分。这个模式中包含三种角色:Target目标角色:该角色定义我们要将原接口转化为何种接口,也就是我们期望得到的接口(方便多态地使用)Adaptee源角色:需要利用适配

2016-04-13 13:59:03 2642

原创 Java I/O(一) NIO概述

基本概念BIO:是阻塞I/O,不管是磁盘I/O,还是网络I/O,数据在写入OutputStream和InputStream都可能发生阻塞,一旦有阻塞,线程会失去CPU的使用权(阻塞)。NIO:简单的说就是非阻塞式I/O(单个I/O阻塞时不阻塞线程),一个线程可以负责多个I/O连接(利用serverSocketChannels来接收),取一个准备好接收数据的连接(注册到Selector轮询调度),

2016-04-12 23:01:19 3314

原创 Java并发容器(一) CocurrentHashMap的应用及实现

CocurrentHashMap的优势首先常用三种HashMap包括HashMap,HashTable和CocurrentHashMap:HashMap在并发编程过程中使用可能导致死循环,因为插入过程不是原子操作,每个HashEntry是一个链表节点,很可能在插入的过程中,已经设置了后节点,实际还未插入,最终反而插入在后节点之后,造成链中出现环,破坏了链表的性质,失去了尾节点,出现死循环。Has

2016-04-11 21:37:54 24404 8

原创 Spark大数据处理(一) Spark的Scala和python脚本环境搭建

环境准备spark-hadoopjdk1.8Scalapython(因为我使用的是 ubuntu x64 linux, python在系统安装就已经配置好)安装linux下的第三方软件应该安装在/opt目录下,约定优于配置,遵循这一原则是良好的环境配置习惯。进入tgz包所在的目录将tgz包复制到我们的安装路径sudo mv .... /opt/然后进入/opt,对我们的安装包进行解压:ta

2016-04-08 10:54:25 2828

原创 Maven项目管理(二) maven中心库映像替换解决墙的问题

Maven的线上仓库maven的线上仓库是maven正常执行的保障,因为国内的网络环境问题,maven的中心库可能会出现速度慢的现象,可以采取利用国内的镜像来替代中心库的方法解决这一问题Maven映像的配置我的环境是win10 首先maven - v 查找到maven的安装路径 找到路径后,根据这个路径找到目录下的conf文件夹下的settings.xml,最好用IDE打开,这样xml的树形

2016-04-07 18:47:29 1726

原创 Maven项目管理(一) IntelliJ Idea+Maven环境搭建与基于命令行的基本使用

MavenMAVEN是一个强大的构建工具,ItelliJ Idea 是个强大的IDE,帮他们联合起来使用,将会是多么美妙的事情。但是IDE中集成的Maven总使习惯使用命令行的我们头大,不想为了使用IDE重新学习如何使用怎么办,那么就通过配置环境兼容就好了。Maven的准备安装之前通过terminal输入java -version,查看是否已经安装JAVA的JDK和JRElinux下apt-ge

2016-04-06 21:29:46 16556 1

Java PathFinder-jpf-core

一个基于符号执行的Java执行模型路径查找器

2016-05-14

apache-commons-logging

apache-commons-logging

2016-05-01

apache-commons-digester

2016-05-01

vim-配色方案

比较大众的配色方案,欢迎大家下载,如果不好用可以评论中指出,我会修改

2014-12-15

api-demos-source codes

适合初学者看,方便sdk中不带源码的人群

2014-12-13

空空如也

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

TA关注的人

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