摘要: 最常见的XML数据类型有:Element, Attribute,Comment, Text. Element, 指形如<Name>Tom<Name>的节点。它可以包括:Element, Text, Comment, ProcessingInstruction, CDATA, and EntityReference. Attribute, 指在<Employee >中的粗体部分。 Comment,指形如:<!-- my comment --> 的节点。 Text,指在<Name>Tom<Name>的粗体部分。 在XML中,可 阅读全文
posted @ 2013-05-17 15:34 编程小爬虫 阅读(230) 评论(0) 推荐(0) 编辑
摘要: Dom4j使用简介作者:冰云 icecloud(AT)sina.com时间:2003.12.15版权声明:本文由冰云完成,首发于CSDN,未经许可,不得使用于任何商业用途。文中代码部分引用自DOM4J文档。欢迎转载,但请保持文章及版权声明完整。如需联络请发邮件:icecloud(AT)sina.com DOM4J是dom4j.org出品的一个开源XML解析包,它的网站中这样定义:Dom4j is an easy to use, open source library for working with XML, XPath and XSLT on the Java platform using 阅读全文
posted @ 2013-05-17 14:05 编程小爬虫 阅读(204) 评论(0) 推荐(0) 编辑
摘要: ListView是常用的显示控件,默认背景是和系统窗口一样的透明色,如果给ListView加上背景图片,或者背景颜色时,滚动时listView会黑掉,原因是,滚动时,列表里面的view重绘时,用的依旧是系统默认的透明色,颜色值为#FF191919,要改变这种情况,只需要调用listView的setCacheColorHint(0),颜色值设置为0或者xml文件中listView的属性Android:cacheColorHint="#00000000"即可,滚动时,重绘View的时候就不会有背景颜色。android:listSelector="#00000000&q 阅读全文
posted @ 2013-05-13 23:17 编程小爬虫 阅读(202) 评论(0) 推荐(0) 编辑
摘要: LayoutAnimationsController1、什么是LayoutAnimationsControllerLayoutAnimationsController可以用于实现使多个控件按顺序一个一个的显示。1)LayoutAnimationsController用于为一个layout里面的控件,或者是一个ViewGroup里面的控件设置统一的动画效果。2)每一个控件都有相同的动画效果。3)控件的动画效果可以在不同的时间显示出来。4)LayoutAnimationsController可以在xml文件当中设置,以可以在代码当中进行设置。2、在xml当中使用LayoutAnimationCon 阅读全文
posted @ 2013-05-13 00:48 编程小爬虫 阅读(1926) 评论(0) 推荐(0) 编辑
摘要: 相信大家在开发Android应用的过程中肯定碰到过很多重复的工作,写着重复的代码,有时候连布局文件也是一样,需要重复的劳动,那么这样对于我们程序来讲肯定是很累很繁琐的一件事,所以我们在写代码的时候是否需要去考虑让我们写更少的代码,程序员要学会偷懒,否则……..在开发应用程序的时候我们的设计其实整体的样式是统一,那么我们就可以写一些公用的代码,这样对程序来讲也便于后面的维护,废话也不多说了,相信大家肯定也懂的,今天我分享给大家的就是定制一个属于自己的BaseActivity,这个BaseActivity主要封装了一些公用的代码,例如我们在开发过程中上面的那些标题和按钮肯定都要有的,所以我们可以把 阅读全文
posted @ 2013-05-11 21:58 编程小爬虫 阅读(1872) 评论(0) 推荐(0) 编辑
摘要: 客户端跳转时用HttPservletResopse对象的sendRedirect函数实现,服务器端跳转是使用RequestDispather对象的forward方法实现的。这两者之间的区别主要体现在三个方面:1. 使用服务器端跳转时,客户浏览器的地址栏并不会显示目标地址的URL,而是用客户端跳转时,地址栏当中会显示目标资源的URL;2. 服务器端跳转是由客户端发送一个请求,请求一个服务器资源——如JSP和Servlet——,这个资源又将请求转到另一个服务器资源,然后再给客户端发送一个响应,也就是说服务器端跳转是客户端发送一次请求,服务器端给出一次响应;而客户端跳转的流程则不同。客户端同样是发送 阅读全文
posted @ 2013-05-10 21:04 编程小爬虫 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 内置对象特点:1.由JSP规范提供,不用编写者实例化。2.通过Web容器实现和管理3.所有JSP页面均可使用4.只有在脚本元素的表达式或代码段中才可使用(<%=使用内置对象%>或<%使用内置对象%>)常用内置对象:1.输出输入对象:request对象、response对象、out对象2.通信控制对象:pageContext对象、session对象、application对象3. Servlet对象:page对象、config对象4.错误处理对象:exception对象对象常用方法说明:1.out对象(数据流javax.servlet.jsp.jspWriter)方法名说 阅读全文
posted @ 2013-05-10 14:58 编程小爬虫 阅读(186) 评论(0) 推荐(0) 编辑
摘要: html标签大全一、文字1.标题文字 <h#>..........</h#> #=1~6;h1为最大字,h6为最小字2.字体变化 <font>..........</font>【1】字体大小 <font size=#>..........</font> #=1~7;数字愈大字也愈大【2】指定字型 <font face="字体名称">..........</font>【3】文字颜色 <font color=#rrggbb>..........</font> 阅读全文
posted @ 2013-05-09 16:02 编程小爬虫 阅读(508) 评论(0) 推荐(0) 编辑
摘要: http://www.jb51.net/article/32263.htm 阅读全文
posted @ 2013-05-07 17:06 编程小爬虫 阅读(705) 评论(0) 推荐(0) 编辑
摘要: --=============================--SQL基础-->约束(CONSTRAINT)--=============================一、几类数据完整性实体完整性:表中记录不重复(任何两条记录不全等)并且每条记录都有一个非空主键域完整性:表中字段值必须与字段数据类型、格式、有效范围相吻合参照完整性:不能引用不存在的值自定义完整性:根据特定业务领域定义的需求完整性保证数据完整性的几种常用方法约束(最常用)过程函数触发器实体完整性:primarykey、unique、索引(index)域完整性:check、foreignkey、notnull、数据类型参 阅读全文
posted @ 2013-05-06 21:59 编程小爬虫 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 如果我们想要读取或者向SD卡写入,这时就必须先要判断一个SD卡的状态,否则有可能出错。那么SD卡状态为什么时才能读取呢,经过我的各种情况的实践,大致如下:SD状态现象描述/mnt/sdcard目录是否存在canRead返回canWrite返回在/mnt/sdcard创建文件在/mnt/sdcard创建文件夹MEDIA_MOUNTEDSD卡正常挂载TRUETRUETRUETRUETRUEMEDIA_REMOVED无介质TRUEFALSEFALSEfalse:原因Permission deniedFALSEMEDIA_UNMOUNTED有介质,未挂载,在系统中删除TRUEFALSEFALSEfal 阅读全文
posted @ 2013-05-03 01:42 编程小爬虫 阅读(312) 评论(0) 推荐(0) 编辑
摘要: nMeasure方法在控件的父元素正要放置它的子控件时调用.它会问一个问题,“你想要用多大地方啊?”,然后传入两个参数——widthMeasureSpec和heightMeasureSpec. 它们指明控件可获得的空间以及关于这个空间描述的元数据. 比返回一个结果要好的方法是你传递View的高度和宽度到setMeasuredDimension方法里. 接下来的代码片段给出了如何重写onMeasure.注意,调用的本地空方法是来计算高度和宽度的.它们会译解widthHeightSpec和heightMeasureSpec值,并计算出合适的高度和宽度值.@Overrideprotected ... 阅读全文
posted @ 2013-05-01 12:37 编程小爬虫 阅读(269) 评论(0) 推荐(0) 编辑
摘要: package com.xfinder_logistics.view;import android.content.Context;import android.util.AttributeSet;import android.widget.GridView;public class MyGridView extends GridView{ public MyGridView(Context context, AttributeSet attrs) { super(context, attrs); } public MyGridView(C... 阅读全文
posted @ 2013-05-01 12:35 编程小爬虫 阅读(2054) 评论(0) 推荐(0) 编辑
摘要: public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button = (Button) findViewById(R.id.button); button.set... 阅读全文
posted @ 2013-05-01 01:17 编程小爬虫 阅读(480) 评论(0) 推荐(0) 编辑
摘要: 前几天看到java的动态代理机制,不知道是啥玩意,然后看了看。死活不知道invoke(Object proxy, Method m, Object[] args)种的proxy是个什么东西,放在这里有什么用?于是网上到处搜刮,把自己的理解写了写。/** * 相亲接口 * * @author zhengt * @time Jun 3, 2095 3:13:03 PM */public interface XiangQinInterface { /** * 相亲方法 */ public void xiangQin();}/** * 张三相亲实现类 * * @auth... 阅读全文
posted @ 2013-04-30 21:45 编程小爬虫 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 问题:UI设计师的视觉设计工作中,一半是效果设计,另外一半是切图切图再切图,调整调整再调整的过程。在给与视觉资源的时候,往往会碰到这样的问题:比如有个公共的title bar重新修改后,需要跟负责每个模块的开发人员都通知一遍;再比如有个列表项的字号或色值重新定义后,需要去查看是否还有同类型的其他页面的列表项也要跟着改过来。重复的劳动工作不仅浪费时间,也显得你和开发人员没有一点默契可言。举个例子,如下,tab bar的样式和每个标题的颜色和字号需要重新设计调整,而同时有三个开发人员会用到tabbar资源,以及统一的字号颜色。设计师当然要保证同功能的bar都保持一样,但代价就是将改动说明重复三遍: 阅读全文
posted @ 2013-04-27 14:46 编程小爬虫 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 一:TextView组件改变部分文字的颜色:1.TextView textView = (TextView)findViewById(R.id.textview); 2. 3.//方法一: 4.textView.setText(Html.fromHtml("<font color=\"#ff0000\">红色</font>其它颜色")); 5. 6.//方法二: 7. String text = "获得银宝箱!"; 8. SpannableStringBuilder style=new SpannableStr 阅读全文
posted @ 2013-04-26 10:57 编程小爬虫 阅读(5712) 评论(0) 推荐(0) 编辑
摘要: 作用:1、对于一个没有被载入或者想要动态载入的界面, 都需要使用inflate来载入.2、对于一个已经载入的Activity, 就可以使用实现了这个Activiyt的的findViewById方法来获得其中的界面元素.方法:Android里面想要创建一个画面的时候, 初学一般都是新建一个类, 继承Activity基类, 然后在onCreate里面使用setContentView方法来载入一个在xml里定义好的界面.其实在Activity里面就使用了LayoutInflater来载入界面, 通过getSystemService(Context.LAYOUT_INFLATER_SERVICE)方法 阅读全文
posted @ 2013-04-25 21:49 编程小爬虫 阅读(135) 评论(0) 推荐(0) 编辑
摘要: (1) Looper类别用来为一个线程开启一个消息循环。默认情况下Android中新诞生的线程是没有开启消息循环的。(主线程除外,主线程系统会自动为其创建Looper对象,开启消息循环)Looper对象通过MessageQueue来存放消息和事件。一个线程只能有一个Looper,对应一个MessageQueue。(2) 通常是通过Handler对象来与Looper交互的。Handler可看做是Looper的一个接口,用来向指定的Looper发送消息及定义处理方法。默认情况下Handler会与其被定义时所在线程的Looper绑定,比如,在主线程中定义,其是与主线程的Looper绑定。mainHa 阅读全文
posted @ 2013-04-25 00:36 编程小爬虫 阅读(432) 评论(0) 推荐(1) 编辑
摘要: 写博客是一种快乐,前提是你有所写,与人分享,是另一种快乐,前提是你有舞台展示,博客园就是这样的舞台。这篇文章是android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用。1.签名的意义 为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序,我们需要对我们发布的APK文件进行唯一签名,保证我们每次发布的版本的一致性(如自动更新不会因为版本不一致而无法安装)。2.签名的步骤 a.创建key b.使用步骤a中产生的key对apk签名3.具体操作 方法一:命令行下对apk签名(原理) 创建key,需要用到k... 阅读全文
posted @ 2013-04-19 15:31 编程小爬虫 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 做人要大度,海纳百川,做事要圆滑,左右逢源,这让我想到了编程也是如此,代码要扩展,界面也要考虑自适应。这篇文章是android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用。1.背景自适应且不失真问题的存在 制作自适应背景图片是UI开发的一个广泛问题,也是界面设计师渴望解决的问题,我相信我们彼此都深有体会。 比如,列表的背景图一定,但是列表的高度随着列表数据项会发生变化;标题栏的背景,无论横屏还是竖屏,高分辨率还是低分辨率,都能自动填充满,而且不失真等等背景问题。 根据以往的经验,我们一般采用先切图后拼凑的做法,这种做法本来我想在这里和大家介绍一下,其实有的时候还是很... 阅读全文
posted @ 2013-04-19 15:11 编程小爬虫 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 配置AndroidManifest.xml中的权限添加:<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />注:这是Android的安全机制.调用到ConnectivityManager类public void testConnectivityManager() { ConnectivityManager connManager = (ConnectivityManager) this ... 阅读全文
posted @ 2013-04-19 13:58 编程小爬虫 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次 2、设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次 3、设置Activity的android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法转: http://1028826685.i 阅读全文
posted @ 2013-04-19 09:42 编程小爬虫 阅读(149) 评论(0) 推荐(0) 编辑
摘要: aunchMode在多个Activity跳转的过程中扮演着重要的角色,它可以决定是否生成新的Activity实例,是否重用已存在的Activity实例,是否和其他Activity实例公用一个task里。这里简单介绍一下task的概念,task是一个具有栈结构的对象,一个task可以管理多个Activity,启动一个应用,也就创建一个与之对应的task。Activity一共有以下四种launchMode:1.standard2.singleTop3.singleTask4.singleInstance我们可以在AndroidManifest.xml配置<activity>的andro 阅读全文
posted @ 2013-04-14 12:17 编程小爬虫 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 在Android开发中经常会碰到当用户通过菜单操作重新回到之前的某个Activity的时候,希望该Activity能回到之前的状态,而不是重新创建一遍,比如常用的main Activity。这个时候就需要用到launchMode的单任务属性了在android中activity的管理是用堆栈的方式。当启动一个新的activity时,此activity就被push到栈顶并获得焦点,旧栈顶的activity仍然存在,但是已经stop。当用户按下back键时,将栈顶的activity pop掉。此时新栈顶的activity resume。单任务的activity如下方法进行创建1、需要在Manifes 阅读全文
posted @ 2013-04-14 12:14 编程小爬虫 阅读(8105) 评论(0) 推荐(1) 编辑
摘要: 最近在做android项目的时候遇到一个问题,应用程序初始化时需要批量的向sqlite中插入大量数,导致应用启动过慢。android使用的是sqlite数据库,sqlite是比较轻量级的数据库,在Google了之后发现,sqlite事务处理的问题,在sqlite插入数据的时候默认一条语句就是一个事务,有多少条数据就有多少次磁盘操作。我的应用初始5000条记录也就是要5000次读写磁盘操作。解决方法:添加事务处理,把5000条插入作为一个事务dataBase.beginTransaction();//手动设置开始事务//数据插入操作循环dataBase.setTransactionSuccess 阅读全文
posted @ 2013-04-11 11:29 编程小爬虫 阅读(266) 评论(0) 推荐(0) 编辑
摘要: sqlite3支持的数据类型:NULL、INTEGER、REAL、TEXT、BLOB但是,sqlite3也支持如下的数据类型smallint 16位整数integer 32位整数decimal(p,s) p是精确值,s是小数位数float 32位实数double 64位实数char(n)n长度字符串,不能超过254varchar(n) 长度不固定最大字符串长度为n,n不超过4000graphic(n) 和 char(n) 一样,但是单位是两个字符double-bytes,n不超过127(中文字)vargraphic(n) 可变长度且最大长度为ndate 包含了年份、月份、日期time 包含了小 阅读全文
posted @ 2013-04-10 13:15 编程小爬虫 阅读(2395) 评论(0) 推荐(0) 编辑
摘要: 在android的sqlite中存取DATETIME类型的方法。 创建表时:String sql="create table tb3(idINTEGER PRIMARY KEY,timestamp DATETIME DEFAULT CURRENT_TIMESTAMP, weight DOUBLE)"; timestamp字段缺省值是当前时间(基于GMT而不是local time)。这问题导致了记录的时间跟本地实际时间有几个小时的差距,费了我好大工夫才找到解决方法: 存的时候不变,取的时候根据自己所在时区调整时间。这是sqlite中的一个函数datetime所做的工作。读取时 阅读全文
posted @ 2013-04-09 22:57 编程小爬虫 阅读(1220) 评论(0) 推荐(0) 编辑
摘要: 1、EditText输入的文字为密码形式的设置(1)通过.xml里设置:把该EditText设为:android:password="true"// 以”.”形式显示文本(2)在代码里设置:通过设置EditText的setTransformationMethod()方法来实现隐藏密码或这显示密码。editText.setTransformationMethod(PasswordTransformationMethod.getInstance());//设置密码为不可见。2、(1)EditText输入的文字为电话号码Android:phoneNumber=”true”//输入 阅读全文
posted @ 2013-04-09 14:04 编程小爬虫 阅读(1364) 评论(0) 推荐(0) 编辑
摘要: 只说明一下用法:建立一个drawable的XML文件,当然放在drawable文件夹下,比如保存文件为bg_list_item.xml输入以下代码:<?xml version="1.0" encoding="UTF-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_window_focused="false" android:state_select 阅读全文
posted @ 2013-04-09 13:54 编程小爬虫 阅读(376) 评论(0) 推荐(0) 编辑
摘要: android中的事件类型分为按键事件和屏幕触摸事件,Touch事件是屏幕触摸事件的基础事件,有必要对它进行深入的了解。一个最简单的屏幕触摸动作触发了一系列Touch事件:ACTION_DOWN->ACTION_MOVE->ACTION_MOVE->ACTION_MOVE...->ACTION_MOVE->ACTION_UP当屏幕中包含一个ViewGroup,而这个ViewGroup又包含一个子view,这个时候android系统如何处理Touch事件呢?到底是ViewGroup来处理Touch事件,还是子view来处理Touch事件呢?我只能很肯定的对你说不一定 阅读全文
posted @ 2013-04-07 12:26 编程小爬虫 阅读(378) 评论(0) 推荐(0) 编辑
摘要: onInterceptTouchEvent()是ViewGroup的一个方法,目的是在系统向该ViewGroup及其各个childView触发onTouchEvent()之前对相关事件进行一次拦截,Android这么设计的想法也很好理解,由于ViewGroup会包含若干childView,因此需要能够统一监控各种touch事件的机会,因此纯粹的不能包含子view的控件是没有这个方法的,如LinearLayout就有,TextView就没有。onInterceptTouchEvent()使用也很简单,如果在ViewGroup里覆写了该方法,那么就可以对各种touch事件加以拦截。但是如何拦截,是 阅读全文
posted @ 2013-04-07 12:07 编程小爬虫 阅读(174) 评论(0) 推荐(0) 编辑
摘要: ActivityGroup简介1.ActivityGroup的核心就是继承了该类,能够通过getLocalActivityManager()得到一个LocalActivityManager如,LocalActivityManageram= getLocalActivityManager();2.然后通过LocalActivityManager通过startActivity(String id, Intent intent),可以与指定的Actiivty绑定,并且返回一个Window。LocalActivityManager可以同时管理多个ActivityWindow window1 = am. 阅读全文
posted @ 2013-04-06 10:28 编程小爬虫 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 在xml布局文件中,我们既可以设置px,也可以设置dp(或者dip)。一般情况下,我们都会选择使用dp,这样可以保证不同屏幕分辨率的机器上布局一致。但是在代码中,如何处理呢?很多控件的方法中都只提供了设置px的方法,例如setPadding,并没有提供设置dp的方法。这个时候,如果需要设置dp的话,就要将dp转换成px了。以下是一个应用类,方便进行px和dp之间的转换import android.content.Context; public class DensityUtil { /** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */... 阅读全文
posted @ 2013-04-06 09:59 编程小爬虫 阅读(149) 评论(0) 推荐(0) 编辑
摘要: android 让一个控件按钮居于底部的几种方法1.采用linearlayout布局:android:layout_height="0dp" <!-- 这里不能设置fill_parent -->android:layout_weight="1" <!-- 这里设置layout_weight=1是最关键的,否则底部的LinearLayout无法到底部 -->2. 采用relativelayout布局:android:layout_alignParentBottom="true" <!-- 这里设置layou 阅读全文
posted @ 2013-04-05 16:07 编程小爬虫 阅读(369) 评论(0) 推荐(0) 编辑
摘要: ImageView中XML属性src和background的区别:background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸。src是图片内容(前景),bg是背景,可以同时使用。此外:scaleType只对src起作用;bg可设置透明度,比如在ImageButton中就可以用android:scaleType控制图片的缩放方式,示例代码如下:<ImageView android:id="@+id/img" android:src="@drawable/logo" android:scaleType 阅读全文
posted @ 2013-04-05 09:53 编程小爬虫 阅读(124) 评论(0) 推荐(0) 编辑
摘要: Android开发文档上专门有一小节解释这个问题。简单来说,Activity是负责与用户交互的最主要机制,任何“设置”(Configuration)的改变都可能对Activity的界面造成影响,这时系统会销毁并重建Activity以便反映新的Configuration。“屏幕方向”(orientation)是一个Configuration,通过查看Configuration类的javadoc可以看到其他Configuration还有哪些:如fontScale、keyboardHidden和locale等等。当屏幕旋转时,这个Configuration就发生了改变,因此当前显示的Activity 阅读全文
posted @ 2013-04-04 16:29 编程小爬虫 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 帮助你追踪一个touch事件(flinging事件和其他手势事件)的速率。当你要跟踪一个touch事件的时候,使用obtain()方法得到这个类的实例,然后 用addMovement(MotionEvent)函数将你接受到的motion event加入到VelocityTracker类实例中。当你使用到速率时,使用computeCurrentVelocity(int)初始化速率的单位,并获得当前的事件的速率,然后使用getXVelocity() 或getXVelocity()获得横向和竖向的速率。从上面的介绍中,我们就可以很简单的明白,如何去使用VelocityTracker类去追踪一个移动事 阅读全文
posted @ 2013-03-26 22:44 编程小爬虫 阅读(252) 评论(0) 推荐(0) 编辑
摘要: * 图元和画布* Bitmap* Bitmap.CompressFormat* Bitmap.Config* BitmapFactory* BitmapFactory.Options* Canvas* Canvas.VertexMode* Movie* NinePatch* Picture* 非几何属性* Color* Paint* Paint.Align* Paint.Cap* Paint.Join* Paint.Style* Paint.FontMetrics* Typeface* ColorMatrix* PixelFormat* PorterDuff* PorterDuff.Mode* 阅读全文
posted @ 2013-03-16 12:53 编程小爬虫 阅读(763) 评论(0) 推荐(0) 编辑
摘要: 背景前段时间一个项目中因为涉及大量的线程开发,把jdk cocurrent的代码重新再过了一遍。这篇文章中主要是记录一下学习ThreadPoolExecutor过程中容易被人忽略的点,Doug Lea的整个类设计还是非常nice的正文先看一副图,描述了ThreadPoolExecutor的工作机制:整个ThreadPoolExecutor的任务处理有4步操作:第一步,初始的poolSize < corePoolSize,提交的runnable任务,会直接做为new一个Thread的参数,立马执行第二步,当提交的任务数超过了corePoolSize,就进入了第二步操作。会将当前的runab 阅读全文
posted @ 2013-03-16 00:20 编程小爬虫 阅读(514) 评论(0) 推荐(0) 编辑