自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (2)
  • 收藏
  • 关注

转载 selinux深入理解

1. 简介    SELinux带给Linux的主要价值是:提供了一个灵活的,可配置的MAC机制。    Security-Enhanced Linux (SELinux)由以下两部分组成:    1) Kernel SELinux模块(/kernel/security/selinux)    2) 用户态工具    SELinux是一个安全体系结构,它通过LSM(Linux

2016-03-24 10:38:58 419

原创 设计模式之结构型模式(一)-----桥接(bridge)模式

概述:在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?这就要使用Bridge模式。意图:   将抽象部分与实现部分分离,使它们都可以独立的变化。

2016-03-21 23:05:45 697 1

原创 递归,伪递归和迭代简介

在本文开始之前,先实现两个简单的例子:第一个,实现n!的阶乘:    实现代码:package com.panther.demo.exercise11;/** * 递归,伪递归,迭代实现n! * Created by panther.dongdong on 2016/3/18. */public class RecursionTest { public st

2016-03-19 23:50:30 2643

原创 linux下awk内置函数(split/substr/length/gsub)

一、split 初始化和类型强制       awk的内建函数split允许你把一个字符串分隔为单词并存储在数组中。你可以自己定义域分隔符或者使用现在FS(域分隔符)的值。格式:   split (string, array, field separator)   split (string, array) -->如果第三个参数没有提供,awk就默认使用当前FS值。

2016-03-18 10:55:27 8014

原创 设计模式之------行为型模式(一)-----中介者模式

中介者模式是用来降低类类之间的耦合的,因为如果类类之间有依赖关系的话,不利于功能的拓展和维护,因为只要修改一个对象,其它关联的对象都得进行修改。如果使用中介者模式,只需关心和Mediator类的关系,具体类类之间的关系及调度交给Mediator就行,这有点像spring容器的作用         类之间的关系图为:

2016-03-17 23:47:11 416

转载 java中的SuppressWarnings注解的用法

一、前言                                    编码时我们总会发现如下变量未被使用的警告提示:  上述代码编译通过且可以运行,但每行前面的“感叹号”就严重阻碍了我们判断该行是否设置的断点了。这时我们可以在方法前添加 @SuppressWarnings("unused") 去除这些“感叹号”。 二、 @SuppressWarings注解      

2016-03-17 16:06:29 1495

原创 设计模式之------创建型模式(五)-----原型模式

原型模式的思想就是将一个对象作为原型,对其进行复制、克隆,产生一个和原对象类似的新对象。说道复制对象,我将结合对象的浅复制和深复制来说一下,首先需要了解对象深、浅复制的概念:浅复制:将一个对象复制后,基本数据类型的变量都会重新创建,而引用类型,指向的还是原对象所指向的。深复制:将一个对象复制后,不论是基本数据类型还有引用类型,都是重新创建的。简单来说,就是深复制进行了完全彻底的复制,而

2016-03-15 23:10:18 340

原创 设计模式之------创建型模式(四)-----建造者模式(Builder)

建造者模式:是将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式通常包括下面几个角色:(1) Builder:给出一个抽象接口,以规范产品对象的各个组成成分的建造。这个接口规定要实现复杂对象的哪些部分的创建,并不涉及具体的对象部件的创建。(2) ConcreteBuilder:实现Builder接口,针对不同的商业逻辑,具体化复杂对象的各部分的创建。

2016-03-14 23:34:57 440

转载 Java并发编程:volatile关键字解析

一.内存模型的相关概念大家都知道,计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据的读取和写入。由于程序运行过程中的临时数据是存放在主存(物理内存)当中的,这时就存在一个问题,由于CPU执行速度很快,而从内存读取数据和向内存写入数据的过程跟CPU执行指令的速度比起来要慢的多,因此如果任何时候对数据的操作都要通过和内存的交互来进行,会大大降低指令执行的速度。因此

2016-03-14 20:16:13 397

原创 设计模式之---创建型模式(二)--抽象工厂模式 (Abstract Factory)

工厂方法模式有一个问题就是,类的创建依赖工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改,这违背了闭包(开放封闭)原则,所以,从设计角度考虑,有一定的问题,如何解决?就用到抽象工厂模式,创建多个工厂类,这样一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码,类的关系图如下:         sender,MailSender和SmsSender的代码在工厂方

2016-03-13 21:52:46 504

原创 设计模式之---创建型模式(一)--工厂方法模式

工厂方法模式分为三种:普通工厂模式、多个工厂方法模式和静态工厂方法模式。普通工厂模式:就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。首先看下关系图:创建发送接口(抽象):package com.panther.demo.exercise7;/** * 发送共同接口 * Created by panther

2016-03-13 21:10:48 411

原创 linux下安装nginx

准备操作:第一步:安装makesudo yum -y install gcc automake autoconf libtool make第二步:安装g++sudo yum install gcc gcc-c++正式安装:   一般我们都需要先装pcre, zlib,前者为了重写rewrite,后者为了gzip压缩。  第一步:选定源码目录        可以是

2016-03-12 21:17:40 630 1

原创 java中String,StringBuffer,StringBuilder拼接效率对比

比较JAVA中String ,StringBuffer,SrtingBuilder三个对象连接字符串的效率。我们经常都听有经验的人说,避免使用String通过“+”连接字符串,特 别是连接的次数很多的时候,一定要用StringBuffer。测试代码:package com.panther.demo.exercise6;/** * String,String

2016-03-10 23:48:18 7534 1

原创 java中的坑(一)

package com.panther.demo.pit;/** * 坑一 * Created by panther.dongdong on 2016/3/10. */public class TunnelDemo1 { public static void main(String[] args) { char a = 'a'; int i =

2016-03-10 13:24:41 802

转载 java泛型详解

1. 概述在引入范型之前,Java类型分为原始类型、复杂类型,其中复杂类型分为数组和类。引入范型后,一个复杂类型就可以在细分成更多的类型。例如原先的类型List,现在在细分成List, List等更多的类型。注意,现在List, List是两种不同的类型,他们之间没有继承关系,即使String继承了Object。下面的代码是非法的    List ls = new Arra

2016-03-09 23:17:48 375

转载 linux下crontab和run-parts定时任务详解

cron是Linux下的计划任务工具,它是linux的服务器端程序。cron启动后,它会读取它的所有配置文件(全局性配置文件/etc/crontab,以及每个用户的计划任务配置文件)每分钟读一次???,然后cron会根据命令和执行时间来按时来调用度工作任务。Notice that tasks will be started based on the cron's system daemon's

2016-03-09 22:47:16 8796 1

原创 linux中shell变量$#,$@,$0,$1,$2的含义解释

linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码(返回值) $- 使用Set命令设定的Flag一览 $* 所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出

2016-03-09 14:23:58 421

转载 java中的正则表达式

正则表达式:符合一定规则的表达式作用:专门用于操作字符串用一些特定的符号来表示一些代码操作,这样就简化书写,所以学习正则表达式就是在学习一些特殊符号的使用。好处:可以简化对字符串的复杂操作弊端:符号定义越多,正则越长,阅读性越差具体操作功能:1、            匹配:String matches方法,用规则匹配整个字符串,只要有一处不符合,就匹配结束,返回false

2016-03-09 00:13:39 475

转载 java中的快速失败

在JDK中,查看集合有很多关于快速失败的描述:注意,此实现不是同步的。如果多个线程同时访问一个哈希映射,而其中至少一个线程从结构上修改了该映射,则它必须 保持外部同步。(结构上的修改是指添加或删除一个或多个映射关系的任何操作;仅改变与实例已经包含的键关联的值不是结构上的修改。)这一般通过对自然封装该映射的对象进行同步操作来完成。如果不存在这样的对象,则应该使用 Collections.sync

2016-03-08 17:40:18 715

转载 缓存与缓冲的区别与应用

缓冲(buffering)缓冲的字面意思是减缓冲击力。缓冲还有抽象的意义。凡是使某种事物进行减慢或减弱变化过程都可以叫缓冲。 比如让化学反应不那么剧烈的物质就叫缓冲剂。缓冲在各领域应用各有不同:  QoS功能主要包括:缓冲、压缩、速率/流量控制、过滤、队列、流量分类、负载均衡、邮件优化、广域文件系统优化、应用性能分析、应用基础设施改动等。 这些都用到了缓冲技术。  缓冲应用到网页上

2016-03-08 17:26:59 6671

原创 java中的Comparator和Comparable的区别

Comparable & Comparator 都是用来实现集合中元素的比较、排序的,只是 Comparable 是在集合内部定义的方法实现的排序,Comparator 是在集合外部实现的排序,所以,如想实现排序,就需要在集合外定义 Comparator 接口的方法或在集合内实现 Comparable 接口的方法。Comparator位于包java.util下,而Comparable位于包

2016-03-08 16:53:28 344

原创 java面向对象之向上转型和向下转型

转型是在继承的基础上而言的,继承是面向对象语言中,代码复用的一种机制,通过继承,子类可以复用父类的功能,如果父类不能满足当前子类的需求,则子类可以重写父类中的方法来加以扩展。向上转型:子类引用的对象转换为父类类型称为向上转型。通俗地说就是是将子类对象转为父类对象。此处父类对象可以是接口向下转型:父类引用的对象转换为子类类型称为向下转型。前者是一个向上转型,Animal dog 引用指向

2016-03-08 16:42:01 1362

原创 linux下top命令详解

查看多核CPU命令mpstat -P ALL  和  sar -P ALL 说明:sar -P ALL > aaa.txt   重定向输出内容到文件 aaa.txt        top命令经常用来监控linux的系统状况,比如cpu、内存的使用,程序员基本都知道这个命令,但比较奇怪的是能用好它的人却很少,例如top监控视图中内存数值的含义就有不少的曲解。top进入视图

2016-03-04 15:51:41 746

原创 hive修改分区表

添加分区ALTER TABLE table_name ADD PARTITION (partCol = 'value1') location 'loc1'; //示例ALTER TABLE table_name ADD IF NOT EXISTS PARTITION (dt='20130101') LOCATION '/user/hadoop/warehouse/table_name/

2016-03-02 22:34:03 13974

原创 java装饰者模式

装饰(Decorator)模式 装饰模式使用被装饰类的一个子类的实例,把客户端的调用委派到被装饰类,装饰模式的关键在于这种扩展是完全透明的。 装饰模式在Java种使用也很广泛,比如我们在重新定义按钮、对话框等时候,实际上已经在使用装饰模式了。装饰模式最浅显的例子是相片-相框的例子。 一、原理图其中类的职责如下: 抽象构件角色(Project):给出一个接口,

2016-03-02 09:59:10 396

pcre-8.37安装包

为了重写rewrite,pcre安装包

2016-03-12

空空如也

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

TA关注的人

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