- 博客(31)
- 收藏
- 关注
深入理解Java的方法调用二(多态性)
Java的多态性表现在2个方面,1方法的覆盖、2方法的重载。 /** * @ClassName Polymorphic * @author derick * @date 2013-5-13 * @Description */public class PolymorphicTest { public static class Human{ pu...
2013-05-13 08:12:42 132
深入理解Java的方法调用一(值传递和引用传递)
众所周知Java的参数传递也分为值传递和引用传递值传递 public class MethodAndParam { static void swap(int a,int b){ int c = a; a = b; b =c; } /** * @param args */ public static void main(String[...
2013-05-11 11:21:50 454
原创 Java多线程三(线程安全的集合及java.util.concurrent包的锁)
一、线程安全的集合 JDK1.5之前,可以使用Venctor和Hashtable,也可以由java.util.Collections来创建线程安全的集合,如:Connections.synchronizedSet(Set<T>); Connections.synchronizedList(List<T>);Connections.synchronize...
2013-03-24 21:25:06 138
原创 Java与模式之代理(Proxy)模式
代理模式是对象的结构模式。代理模式给某一个对象提供一个代理对象,并由代理对象控制原对象的引用。代理模式的示意性实现类图如下抽象主题角色:声明了真实主题与代理主题的共同接口,这样在可以使用真实主题的地方都可以使用代理主题。代理主题角色:包含了一个对真实主题角色的引用,从而可以在任何时候操作真实主题角色。 代理模式的时序图如下 代理模式是怎样工作的:代理主题并不...
2013-03-21 08:32:59 107
原创 【转载】Java多线程二(Java线程池的分析和使用)
1. 引言合理利用线程池能够带来三个好处。降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。但是要做到合理的利用线程池,必须对其原理了如指掌。2. ...
2013-03-19 08:22:16 88
原创 Java多线程一(基础及线程状态转换)
Java实现多线程的方法有两种,一是继承Thread类、二是实现Runnable接口。一、继承Thread类public class ThreadTest extends Thread { @Override public void run() { System.out.println("this thread name is:"+Thread.currentThread...
2013-03-17 17:48:08 92
原创 Java集合类之HashMap源码分析
hash表是一种常见的数据结构,主要是通过hash算法将数据尽可能的散列开来存放,当要查找某一数据时,可以通过hash算法直接定位,节省了对比查找的时间。map是一种key、value形式的键值对,将hash表和map结合即形成了HashMap。 在Java中HashMap的数据是以Entry<key,value>数组的形式存放的,HashMap通过对key进行h...
2013-03-14 10:03:12 107
原创 十一Python网页抓取实战(网页抓取三)
声明:本文只用于技术交流和学习使用,如果侵害到您的合法权利,请发邮件到daokun66@163.com告知删除。 抓取的内容为osc的最新推荐博客列表,分析出博客的链接、标题、内容简介、作者和发布时间。 上图为ocs最新推荐的文章列表的html结构,由图可知所有的文章列表都在ul标签里面且ul的class="BlogList",每一篇文章的基本信息都在ul下的li...
2013-03-08 07:27:00 141
原创 十Python之Http Web服务(网页抓取二)
上一篇讲了网页抓取的基础,分析html,但是我们所得到的html内容必须是通过编程的方式获取到的。 简单地讲,HTTP web 服务是指以编程的方式直接使用 HTTP 操作从远程服务器发送和接收数据。Python3 带有两个库用于和HTTP web 服务交互: http.client 是实现了RFC 2616, HTTP 协议的底层库。 urllib....
2013-03-06 10:01:47 107
九Python之HTML的解析(网页抓取一)
对html的解析是网页抓取的基础,分析抓取的结果找到自己想要的内容或标签以达到抓取的目的。 HTMLParser是python用来解析html的模块。它可以分析出html里面的标签、数据等等,是一种处理html的简便途径。 HTMLParser采用的是一种事件驱动的模式,当HTMLParser找到一个特定的标记时,它会去调用一个用户定义的函数,以此来通知程序处理。它主要...
2013-03-05 08:29:04 187
原创 八Python正则表达式
正则表达式是搜索、替换和解析复杂字符串的一种强大而标准的方法,Python中的正则相关的东西全在re模块下。1 常用的匹配^匹配字符串的开始$匹配字符串的结尾\b匹配一个单词的边界\d匹配任意数字\D匹配任意非数字字符x?匹配一个可选的x(匹配1次或0次x字符)x*匹配0次或多次xx+匹配1次或多次xx{n,m}至少n次,至多m次x(a|b...
2013-02-26 09:49:20 148
原创 七Python异常和文件处理(二)
1. for循环 Python也有for循环,到现在还未看到它们的原因是:Python在其他方面表现出色,通常你不需要它们。 其它大多数语言没有像Python一样强大的list数据类型,所有你需要亲自做很多事情,指定开始、结束和步长来定义一定范围的整数或字符或其他可重复的实体。但在Python中,for循环简单地在一个列表上循环。 #----------------...
2013-02-25 10:03:26 101
原创 六Python异常和文件处理(一)
1.异常处理 和许多面向对象语言一样,Python具有异常处理,通过使用try……except快来实现。异常在Python中无处不在,Python自己会在许多不同的情况下引发它们。 使用不存在的字典关键字将引发KeyError异常。 引用不存在的变量将引发NameError异常。 未强制转换就混用数据类型将引发TypeError异...
2013-02-22 10:05:37 153
原创 五Python对象和面向对象(二)
1. 专用类方法 除了普通的类方法,Python类还可以定义专用方法,专用方法是在特殊情况下或当使用特别语法时由Python替你调用的,而不是在代码中直接调用(像普通的方法那样)。 专用方法产生的原因:它们提供了一种方法,可以将非方法调用语法映射到方法调用上。 #-------------------------------------------------...
2013-02-21 08:00:02 100
原创 四Python对象和面向对象(一)
1.使用from module import导入模块 Python有两种导入模块的方法,两种都有用,一种前面已经介绍过了为:import module;第二种导入的基本语法为:from module import attr,和第一种的一个重要区别是,attr被直接导入到局部名字空间去了,可以直接使用,而不需要加上模块限定名。你可以导入独立的项或使用from module import...
2013-02-20 08:34:07 93
三Python内置函数
1. type type函数返回任意对象的数据类型 #-------------------------------------------------------------------------------# coding: utf-8# Name: 内置函数# Purpose:## Author: zdk...
2013-02-19 08:49:22 83
原创 二Python内置数据类型
一. dictionary dictionary是Python的内置数据类型之一,它定义了键值之间的一对一的关系。类似于perl中的hash,java中的HashMap。 定义一个dictionary#-------------------------------------------------------------------------------#...
2013-02-18 07:41:36 321
原创 Java与模式之单例(Singleton)模式
单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。饿汉式单例类 public class EagerSingleton{ private static final EagerSingleton m_instance = new EagerSingleton(); /** * 私有的默认构造子 ...
2012-11-19 08:24:39 90
原创 Java与模式之装饰(Decorator)模式
装饰模式又名包装模式。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。 装饰模式以对客户透明的方式动态地给一个对象附加上更多的责任。换言之,客户端并不会觉得对象在装饰前和装饰后有什么不同。装饰模式使用原来被装饰的类的一个子类的实例,把客户端的调用委派到被装饰类。关键在于这种扩展是完全透明的。 模式的类图如下: 在装饰模式中...
2012-11-14 08:40:43 115
原创 一Python函数及对象
其他书籍都是如何一步步从基础到构建完整可运行的程序的,但我们跳过这个部分!一个完整的、可执行的Python程序 #-------------------------------------------------------------------------------# Name: odbchelper# Purpose:# odbc帮助类...
2012-11-02 15:42:37 180
Python写在开始
都说除了Java之外还需要掌握一门脚本语言,Python成了我的不二之选,从今天起开始我的python之旅。 python有2.x和3.x区分,版本间有不少的差异,选择一个版本学习即可,本人选择了3.2版本,http://www.python.org/download 上面可以找到你需要的版本(有可能被墙哦),安装后的开始菜单如下: IDE我选择了pyscripte...
2012-11-01 07:58:45 81
原创 Java与模式之适配器(Adapter)模式
适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 类的适配器模式 在上图可以看出,Adaptee类并没有sampleOperatin2()方法,而客户端期待这个方法。为了使客户端能够使用Adaptee类,提供一个中间环节,即类Adapter,把Adaptee的API与Target类的A...
2012-10-31 08:43:13 131
面对变化,解决问题,走向成熟
“变是唯一的不变”--《谁动了我的奶酪?》 都说世界变化太快,我们要学会适应。可是我们到底是要去“适应”什么?其实真正要去“适应”的是变化引起的“角色的转变”和“产生的新问题”。 人都喜欢暂时的“舒适区” ,因为这里变化少,一切都是你所熟悉的,都在你的掌控中,人们潜意识里不想去改变什么。但“变是唯一的不变”,要么我们自己打破“舒适区”去适应变化,要么变化迫...
2012-10-30 08:01:16 129
原创 Java与模式之观察者(Observer)模式
观察者模式是对象的行为模式,又叫发布-订阅模式、模型-视图模式、源-监听器模式或从属者模式。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动的更新自己。 可以看出,在这个观察者模式的实现里有下面这些角色:抽象主题(Subject)角色:主题角色把所有观察者对象的引用保...
2012-10-26 09:07:58 79
从现在起坚持写博客
从现在起坚持写博客,每周最少2篇,不管是学习笔记,技术专研,还是生活感悟,统统把它记下来,不为别的,只为提高自己,要是偶尔能惠及别人我也是非常高兴的。...
2012-10-25 08:29:57 96
原创 Java与模式之模板方法(Template Method)模式
模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造子的形式实现,然后声明一些抽象的方法迫使子类实现剩余的逻辑。不同的子类可以有不同的实现,这是模板方法的用意。而我认为其精髓在于在抽象类中定义的模板方法,此方法为抽象类中其他方法的一个有序的汇总。 模板方法模式的静态结构如下图所示: 这里涉及到2个角色: 抽象模板角...
2012-10-24 08:07:51 111
原创 JVM运行时的内存区域
Jvm虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,Jvm所管理的内存将会包含以下几个运行时数据区域,如下图所示。1.程序计数器 程序计算器是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来选取下一条所需要执行...
2012-08-15 08:10:18 75
vi的常用命令(可打印出来贴在电脑旁,用一个多月自然就不用看啦)
vi常用命令:1.设置文件显示行号 显示行号 :set nu 取消行号 :set nonu 2.切换到文本输入模式 i 在光标左侧; I 在光标行的开头; a 在光标的右侧; A在光标行的末尾; ...
2012-08-01 19:02:29 119
原创 JVM的垃圾回收之垃圾的界定----哪些对象的内存需要回收
JVM对内存的回收依赖于“死去”的对象,所以在对内存回收之前,第一件事就是确认哪些对象还“活着”,哪些对象已“死去”(即不可能再被任何途径使用的对象)。 1.引用计数法 很多教科书判断对象是否存活的算法是这样的:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1 ;当引用失效时,计数器值就减1 ;任何时刻计数器都为0 的对象就是不可能再...
2012-07-31 08:27:27 85
原创 “插入排序”算法Java语言的实现与详解
插入排序算法是一个对少量元素进行排序的有效算法。插入排序的工作原理与打牌时整理手中的牌的做法类似,开始摸牌时,我们的左手是空的,接着一次从桌上摸起一张牌,并将它插入到左手的正确位置。为了找到这张牌的正确位置,要将它与手中已有的牌从右到左进行比较,无论什么时候手中的牌都是排序好的。 JAVA实现该算法如下:public void insertSort(int a[]){ ...
2012-04-10 01:42:30 442
原创 Could not find worker with name 'xxxx' in uri map post processing
前几天在ITEYE上看了一篇利用名为:Apache+Tomcat集群配置的文章([url]http://www.iteye.com/topic/1017961[/url]),按照上面的明细严格配置,结果最后访问不了测试页面,logs下面查看mod_jk.log日志,发现Could not find worker with name 'xxxx' in uri map post processing...
2011-05-08 13:00:09 801
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人