自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

蜗牛架构师

路走对了就不怕远。

  • 博客(16)
  • 资源 (6)
  • 收藏
  • 关注

原创 [函数式编程]之美--开篇

1 什么是函数式编程函数式编程(Functional Programming),顾名思义就是基于函数的编程模式,非过程、非对象。In computer science, functional programming is a programming paradigm that treats computation as the evaluation of mathematical fu

2013-04-24 14:05:43 1317

原创 Java[设计模式]之美——单例模式

单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在,并通过这个唯一实例来向系统提供实例行为。这样的模式有几个好处:1、某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。2、省去了new操作符,降低了系统内存的使用频率,减轻GC压力。3、有些类如交易所的核心交易引擎,控制着交易流程,如果该类可以创建多个

2013-04-18 14:06:22 925

原创 Java[设计模式]之美——开篇

设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为

2013-04-18 14:04:57 1117

原创 微博短链接生成算法与简单实现

自从twitter推出短网址(shorturl),国内也有很多互联网公司推出短网址链接,比如微博等。下面是从网上找到了一些算法总结:算法一:最容易想到的算法可能是利用md5类的加密算法,然后针对加密后的字符串进行处理。1)将长网址md5生成32位签名串,分为4段, 每段8个字节;2)对这四段循环处理, 取8个字节, 将他看成16进制串与0x3fffffff(30位1)与操作,

2013-04-17 19:53:39 4097

原创 一种高并发流控程序的简单轻量实现

实现一个流控程序,控制客户端每秒调用某个远程服务不超过N次,客户端是会多线程并发调用。import java.util.Date;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Semaphore;import

2013-04-16 16:06:04 6275 2

原创 一段阻塞队列代码的纠错与优化

下面的代码在某处发现后,立马发现存在问题。public class BlockingQ { private Object notEmpty = new Object(); private Object notFull = new Object(); private Queue linkedList = new LinkedList(); private int maxLength

2013-04-16 14:16:17 1098

原创 一种简单线程并发控制的实现

/** * @author 天水 * @date 2013-4-12 下午05:08:49 */public class ConcurrentController implements Runnable { // 并发控制数 private int controlCount; // 并发控制超时时间 (second) private int controlTimeout; //

2013-04-12 18:18:08 998

原创 二进制流实现深复制

public static Object depthClone(Object srcObj) throws IOException, ClassNotFoundException{ Object cloneObj = null; ByteArrayOutputStream out = new ByteArrayOutputStream(); ObjectOutputStream oo

2013-04-10 17:34:58 813

原创 无锁同步栈实现

public class ConcurrentStack {    private AtomicReference> top = new AtomicReference>();    ConcurrentStack(){    }        public void push(E item) {        Node newHead = new Node(item)

2013-04-10 16:57:27 1771

原创 一种简单无锁队列的实现

Disruptor是内存无锁并发框架,基于一个环数组作为缓冲,详见Disruptor-1.0。下面是自己设计的一个简易版,目前没有发现存在冲突或错误的测试用例。大家可以一起测试下。package tianshui.lockfree.queue;import java.io.Serializable;import java.lang.reflect.Array;import

2013-04-09 17:33:07 6727 1

转载 CAP理论十二年回顾:"规则"变了

CAP理论断言任何基于网络的数据共享系统,最多只能满足数据一致性、可用性、分区容忍性三要素中的两个要素。但是通过显式处理分区情形,系统设计师可以做到优化数据一致性和可用性,进而取得三者之间的平衡。自打引入CAP理论的十几年里,设计师和研究者已经以它为理论基础探索了各式各样新颖的分布式系统,甚至到了滥用的程度。NoSQL运动也将CAP理论当作对抗传统关系型数据库的依据。CAP理论主张任何基于

2013-04-09 10:36:51 1012

原创 Java内存模型(上)

Jvm中内存分为两种:一种是栈内存,一种是堆内存。栈内存:存放对象,函数中基本类型的变量和对象的引用变量、静态类方法;特点:存在栈中的数据可以共享。堆内存:存放对象,用来存放由new创建的对象和数组;特点:由Java虚拟机的自动垃圾回收器(GC)来管理。Java 内存模型 ( java memory model ):根据Java Language Specification中的说明,j

2013-04-08 11:25:40 1078

转载 探秘Java虚拟机——内存管理与垃圾回收

本文主要是基于Sun JDK 1.6 Garbage Collector(作者:毕玄)的整理与总结,原文请读者在网上搜索。1、Java虚拟机运行时的数据区2、常用的内存区域调节参数-Xms:初始堆大小,默认为物理内存的1/64(-Xmx:最大堆大小,默认(MaxHeapFreeRatio参数可以调整)空余堆内存大于70%时,JVM会减少堆直到 -Xms的最小限制-Xmn:新

2013-04-08 10:02:46 823

原创 Java内存模型(下)

顺序一致性内存模型是一个理论参考模型,JMM和处理器内存模型在设计时通常会把顺序一致性内存模型作为参照。JMM和处理器内存模型在设计时会对顺序一致性模型做一些放松,因为如果完全按照顺序一致性模型来实现处理器和JMM,那么很多的处理器和编译器优化都要被禁止,这对执行性能将会有很大的影响。根据对不同类型读/写操作组合的执行顺序的放松,可以把常见处理器的内存模型划分为下面几种类型:    1

2013-04-07 14:54:30 860

原创 sun.misc.Unsafe

sun.misc.Unsafe是jdk并发类库java.util.concurrent包中使用的底层类,该类中的方法都是通过native方法调用操作系统命令。Unsafe类中直接提供操作系统调度命令park、unpark,减少信号量的开销,提高新能。Unsafe unsafe = Unsafe.getUnsafe(); 通过这样的方式获得Unsafe的实力会抛出异常信息,因为在unsafe的源

2013-04-07 13:33:04 1316

原创 线程池合理配置

合理利用线程池能够带来三个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。但是要做到合理的利用线程池,必须对其原理了如指掌。要想合

2013-04-02 14:08:57 887

麻省理工 算法导论(全)

《算法导论》原书名——《Introduction to Algorithms》,是一本十分经典的计算机算法书籍,与高德纳(Donald E.Knuth)的《计算机程序设计艺术》(《The Art Of Computer Programming》)相媲美。

2010-04-29

Udp穿透技术 资料整理 源代码

NAT(Network AddressTranslators),网络地址转换:网络地址转换是在IP地址日益缺乏的情况下产生的,它的主要目的就是为了能够地址重用。NAT分为两大类,基本的NAT和NAPT(Network Address/Port Translator)。

2010-04-24

MC算法C++实现 源代码

MC算法 -- 移动立方体算法。C++中调用OpenGL库是捷径。 MC算法是面绘制中构造等值面的方法中最具代表性的方法之一,已经得到了许多完善及改进。

2010-04-24

wpf程序设计指南(中文版)

WPF为Windows Presentation Foundation的缩写 ,其原来代号为“Avalon”,因“我佩服”拼音首字母组合一样,国内有人调侃地称之为“我佩服”。WPF是微软新一代图形系统,运行在.NET Framework 3.0架构下,为用户界面、2D/3D 图形、文档和媒体提供了统一的描述和操作方法。基于DirectX 9/10技术的WPF不仅带来了前所未有的3D界面,而且其图形向量渲染引擎也大大改进了传统的2D界面,比如Vista中的半透明效果的窗体等都得益于WPF。 程序员在WPF的帮助下,要开发出媲美Mac程序的酷炫界面已不再是遥不可及的奢望。 WPF相对于Window

2010-04-24

计算机软件测试技术 郑人杰

这是一本软件测试方面很好的电子书,看过之后收获很大,所以给大家分享。

2009-05-09

空空如也

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

TA关注的人

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