android's Blog

布施,持戒,忍辱,精进,禅定,大智慧.

好的mp3和书

【30+英文电子书免费下载网站】+【几十部英文著名小说完全免费下载,全英文mp3版】学好英语从这里起步,开始你的英语阅读人生。精心挑选的网址,错过后悔。 2009-02-27 09:46 | (分类:默认分类) 30+英文电子书免费下载网站,学好英语从这里起步。。。 学习是件痛苦的事,它的痛是暂时的,而未学到的痛苦却是终生的!。。。。 阅读书籍的目的通常就是两种, 其一获取知识. 其二娱乐休闲. 在互联网发展的今天, 阅读已经逐渐有了新的数字媒体平台 -电子书. 本文里面, 我整理了35个国外的免费英文电子书在线阅读和提供免费下载的网站.这些网站都很难搜集, 如果你的英文够好而又正有某方面的书籍需求, 不要错过下面这份免费电子书网站名单.

相信很多人一看到英文就走了,但是我想说的是只有学好英语才能走向世界。          喜欢的就分享吧,这些资源很难再被找到。
FreeBookSpot是一个免费英文电子书大全网站, 它提供有4485本免费电子书, 分为96个分类, 高达71.97GB. 你可以通过分类搜索这些免费电子书, 比如科学, 工业, 编辑, 小说或其它电子书. 并且没有注册要求, 就可以免费下载电子书. 【推荐】

Computer Programming Ebooks collection Just another WordPress weblog 4eBooks 是一个专业提供免费计算机电子书下载的网站, 拥有庞大的计算机编程技术类电子书. 每本电子书有一个简短的介绍和评论, 你可以寻找到上千本免费计算机电子书, 各种类别的编程知识, 比如.Net, Actionscript, Ajax, Apache等等.计算机专业的不要错过 ---------------

-

Free-eBooks 是一个提供免费电子书下载, 电子书资源, 电子书作者介绍的网站, 你可以免费下载你喜欢的电子书, 也可以上传你自己的电子书分享.你需要注册成为该网站的用户才可以下载它们的电子收资源, 不过注册是免费的.


-

Free eBooks for your PDA, iPhone, or eBook reader. ManyBooks是一个专门提供免费电子书下载的网站, 它所所提供的免费电子书超过2万本. 你可以通过分类, 作者, 书名和语言进行搜索查询, 每本书都包含一个简介,包括书名,作者, 国家和内容简介. 所有电子书含都可以下载保存为几十种电子书格式, 比如Doc, PDF, RTF, JAR, TXT等等. 进入MANYBOOKS.【推荐】 ---------------

-

GetFreeEBooks 是一个提供免费电子书下载的网站, 站内的所有电子书都可以免费下载. 更重要的一点是, 该网站提供的电子书都是符合法律要求或是版权协议的. ---------------

-FreeComputerBooks.com Free Computer, Mathematics, Technical Books and Lecture Notes, etc.

FreeComputerBooks 是一个专门收集计算机, 编辑, 数学, 演讲报告和教程等专业知识电子书的网站. ,它的网站分类结构非常细致, 达到12层的分类系统, 超过150个子分类. 方面你的电子书搜索查找. ---------------

-

FreeTechBooks.com Free Online Computer Science and Programming Books, Textbooks, and Lecture Notes FreeTechBooks 也是一个提供科技类免费电子书下载的网站, 该网站提供的电子书都是符合法律要求或是版权协议的. ---------------

-

Scribd, 在线文档分享网站, 支持文档格式包括Word, Excel, PowerPoint, PDF 和其它主流的文档格式. 你可以免费下载文档或是插入文档到你的博客.

Globusz 是一个个性化的电子发布空间, 专门为用户提供免费电子书下载. 它们也提供星形评级等社会化功能. ---------------

-

KnowFree 主要提供教学类相关的免费电子书下载. ---------------

-

OnlineFreeEBooks 提供各种电子书的免费下载链接, 主要是PDF格式的免费电子书, 电子书的分类主要包括汽车类电子书, 商业电子书, 工程电子书, 机械电子书, 硬件电子书, 健康类电子书, 编程技术类电子书, 运行类电子书等等. ---------------

-

MemoWare拥有上千种免费电子书下载, 并且可以让你很方便的把电子书发送到你的掌上设备, 支持各种PDA操作系统. ---------------

-

OnlineComputerBooks – 主要提供技术, 计算机知识, 互联网, 商业, 商业等方面的免费电子书. ---------------—-

SnipFiles – 提供合法的电子书给用户. ---------------—-

BookYards 是一个提供教学相关类免费电子书下载的网络阂户. ---------------—-

The Online Books Page 列出了一份免费电子书列表, 超过3万本免费电子书供用户免费下载. ---------------—-

AskSam Ebooks拥有许多合法的免费电子书, 包括很多著名作家的作品. ---------------—-

Baen Free Library is an online library of downloadable science fiction novels. ---------------—-

eBookLobby 主要提供商业, 计算机, 艺术和教学类的免费电子书下载. ---------------—-

PlanetPDF – 一个很小的收集, 主要收集PDF格工的新奇小说电子书免费下载。【推荐】

DailyLit – 在线的免费电子书阅读网站, 可以通过邮件或RSS阅读器接受FEED. ---------------—-

Wikibooks – Wikibooks是一个WIKI风格的免费电子书网站, 任何人都可以创建电子书分享给别人. ---------------—-

Dwalin – TXT格式的免费电子书小说下载. ---------------—-

更多英文免费电子书下载: Project Gutenberg Adobe Free eBooks Alive & Free Franklin Read Easily PDFbooks Witguides Diesel eBooks Free eBook Miners Planet eBook e-Library 英文原文: 20 Best Websites To Download Free EBooks

[几十部英文著名小说完全免费下载,全英文mp3版]

下载方法:

每个链接的中文字即该英文名著资源的书名,先开迅雷,然后复制链接(不用把地址粘到迅雷地址栏里),再单击迅雷的”新建”按钮就可以下载!(如果默认下载工具是迅雷,则在复制的时候迅雷便弹出下载对话框了,那么就不需要点”新建”了)

每一个ed2k开头的地址就是一个资源地址.

觉得有用的话,就分享吧。

ed2k://|file|床头灯.I.简爱.Jene.Eyer.(MP3).rar|206576907|95b7edcca0a5e042028dba0648a400a9|h=YLGLRF7MCXASJYTKI4YSYYHAHWSRXVFL|/

ed2k://|file|床头灯.I.查泰莱夫人的情人.Lady.Chatterley’s.Lover.(MP3).rar|189627667|f6b765feb199dd86e8a000890bf318a0|h=TIWTESOCRUMF6XQVBGCFQI6APWB5T6Z6|/

ed2k://|file|床头灯.I.呼啸山庄.Wuthering.Heights.(MP3).rar|155511572|41d2ae6de616c2667998510d10cdbb86|h=553TNLZM543I65F4IFHMDZDP56VIKHGQ|/

ed2k://|file|床头灯.I.飘.Gone.with.the.wind.(MP3).rar|218184733|3dc0e04107ba0448233a3277de966ce6|h=FIG2L6X2VDBUBTTIKIFDI3VFR65D6ECJ|/

ed2k://|file|床头灯.I.歌剧魅影.The.Phantom.of.the.Opera.(MP3).rar|102552179|913ed8d8f1bb6c6c33636a8430663a9f|h=3WUDQRDCCLM53QPOSI6N6NDAY25SL5NJ|/

ed2k://|file|床头灯.I.了不起的盖茨比.The.Great.Gatsby.(MP3).rar|159986850|542e4776a142a84d19d71f90b3443745|h=RM54JAPCIB6GKUZAH2L4BZOW3VZVXH6M|/

ed2k://|file|床头灯.I.三个火枪手.The.Three.Musketeers.(MP3).rar|176546057|6cfd4cd3e0b3679bb9c1cb3e2e434dfc|h=VK27FI4UJM53MQTRBP4BR2YJP334DUL7|/

ed2k://|file|床头灯.I.傲慢与偏见.Pride.and.Prejudice.(MP3).rar|151009003|709dd43e9fba60b712ccacffe148af04|h=NP5SY6SROVBET7WSPS44M5UYHPWYR4IP|/

ed2k://|file|床头灯.I.红与黑.The.Red.and.the.Black.(MP3).rar|169028954|9665ea5040d0fda77dade93d03d59684|h=AAKAJFX2EP3QDTG4B73JMGIA4KEFU7IV|/

ed2k://|file|床头灯.I.儿子与情人.Sons.and.Lovers.(MP3).rar|158867134|fe7c051ae5868cffa15ba39eefdd7311|h=4ARB4QKPAXYHGISMY2ATJOFQN4FD73KQ|/

ed2k://|file|床头灯.II.远大前程.Great.Expectations.(MP3).rar|167487621|82f5e87710b841d4112640e77c68b8c5|h=NFMCO3THSIFBOIUJRDO4HJB27IEJ37OV|/

ed2k://|file|床头灯.II.鲁宾逊漂流记.Robinson.Crusoe.(MP3).rar|131760309|62fe7c49737fd6204c5fd10762fa5903|h=NHHM3BOZ63FBGYNOW4WOLVZ6XXWDLZDB|/

ed2k://|file|床头灯.II.时间机器.The.Time.Machine.(MP3).rar|168051038|59236e8757c36759d88ba56b46620ec5|h=JVP2BJFZ6VF55SCFNWCLU7BDDHQJWZKG|/

ed2k://|file|床头灯.II.黑骏马.Black.Beauty.(MP3).rar|145286048|0faab588bbb217924d6d0810af9b1258|h=4ALM6CIHY4TNSXMTDVKHVMYU4FXQHYJC|/

ed2k://|file|床头灯.II.巴斯史维尔猎犬.The.Hound.of.the.Baskervilles.(MP3).rar|146302187|5aeca83cd89511934709e08b16328da0|h=7XMHR7TRDPHFSW6VNI54FNKIVVDR2DFW|/

ed2k://|file|床头灯.II.彼得·潘.Peter.Pan.(MP3).rar|123934584|98a7abd2310ac3706d97406f3ad0cf07|h=Y73CSWLVW2K3M6QCAUST66Q3I7ZPDLPD|/

ed2k://|file|床头灯.II.大战火星人.The.War.of.the.Worlds.(MP3).rar|178524153|cfc1355571748ab58394f21b08985959|h=W725SJG6FEZWDZWXWI6IOJW6CA6TGJTE|/

ed2k://|file|床头灯.II.格列弗游记.Gulliver’s.Travels.(MP3).rar|167331923|c83021cd3086e2a4386506ab9758d32e|h=GQKFVGYC2MBPZ6KHEFEO6IE5ZKPCF3OQ|/

ed2k://|file|床头灯.II.汤姆.索亚历险记.The.Adventures.of.Tom.Sawyer.(MP3).rar|179468874|287e9785834104b01b74f7ca5c4f6c78|h=HBTASORSUJCRDNPTDE6S7ILNVH2BWHCF|/

ed2k://|file|床头灯.II.杨柳风.The.Wind.in.the.Willows.(MP3).rar|167502934|54354267b6ebf5fe1032d648ffa1bf0f|h=YUOCTJEAI7M7KDMTZDA72OWW3VYDOGBU|/

ed2k://|file|床头灯.III.德伯家的苔丝.Tess.of.the.d’Urbervilles.(MP3).rar|185107948|7a8ad16e54dab823d5b55d98878fb4f7|h=MARDWIIBNLTUP5WQBJXQWLRNYCVY3JHP|/

ed2k://|file|床头灯.III.弗兰肯斯坦.Frankenstein.(MP3).rar|114710513|b1a6edf50239efe77c2d92f86e0b8219|h=ZV62W3JORWBWDIFCA5UWA5G67Z5A7SDH|/

ed2k://|file|床头灯.III.环游地球80天.Around.the.World.in.Eighty.Days.(MP3).rar|206115144|cc53957fc78d26965f4e86616e85cf09|h=XZVBX55XGLP5X4GHQROSVYAKH3BZ6ZJ6|/

ed2k://|file|床头灯.III.圣诞欢歌.A.Christmas.Carol.(MP3).rar|180430080|3ed459d445221b61200f199ce318f0f0|h=FIVYA6QBENOVEGCL3GMUUF32IUO65PPH|/

ed2k://|file|床头灯.III.圣经故事.Bible.Stories.(MP3).rar|180642127|b442bdc629a675dea3b4103a9f20c18a|h=BQBLJAXLYLF4OAK3CEPUJN7X5VT4YMV2|/

ed2k://|file|床头灯.III.白鲸.Moby.Dick.(MP3).rar|127340266|3b4467d597f8c476ff3a89230bd597af|h=UR3AWI36F7FWE7CC7WFTKWJBOBNROLGP|/

ed2k://|file|床头灯.III.野性的呼唤.The.Call.of.the.Wild.(MP3).rar|162127811|c66d77095735ef412763f44557eac2a9|h=ARCH6LUO2VGINIDXZGPSDTLWFIQUJSVI|/

ed2k://|file|床头灯.III.化身博士.Dr.Jekyll.and.Mr.Hyde.(MP3).rar|139529583|111dd50bafc9678236f9b64fde798036|h=VJEL3AUH2NG5N3HH7DPB4JIWA3734GZI|/

ed2k://|file|床头灯.III.爱丽思漫游奇境记.Alice’s.Adventures.in.Wonderland.(MP3).rar|183255168|de18b45799c8fb9b073ff748ee599b9e|h=YDSMDACQF26XQCAAUKHDLXR75MZ5PPGN|/

ed2k://|file|床头灯.III.希腊神话故事.Greek.Myths.(MP3).rar|162448927|6ad50230ea09750419e38215276de5e4|h=IBK7PHMOD7BTU6FFPAPJKBVBOP2COIXW|/

ed2k://|file|床头灯.IV.包法利夫人.Madame.Bovary.(MP3).rar|185860479|4397185333fa5e9f5f5c3b0e70127ea1|h=ZNW62WIXMMCADSZYTWBD3UO2IBJ3LKRK|/

ed2k://|file|床头灯.IV.永别了武器.A.Farewell.to.Arms.(MP3).rar|183255727|717e64a84faefd66c0108cfcfb897f0a|h=BTUXDDPLEI6NHXAZK6M66FYLSLEL4NV2|/

ed2k://|file|床头灯.IV.爱玛.Emma.(MP3).rar|200573596|6b82f01eb89af9986da223ef7a8ca9b9|h=HDKCRZZO35DPSD5P7HOANAFR7MCIZ52X|/

ed2k://|file|床头灯.IV.红字.The.Scarlet.Letter.(MP3).rar|161255051|7426c8f01315dafcf5cefe97ee005169|h=TNDD34UVKICAOZ74J2CFR7NMLBDGB5GT|/

ed2k://|file|床头灯.IV.霍华德庄园.Howards.End.(MP3).rar|189509081|0522c90ac1046de8d5a120bc2b7967e7|h=SDHSHF4JTCOBNDJN3GDKDLQS4I64FDVZ|/

ed2k://|file|床头灯.IV.秘探.The.Secret.Agent.(MP3).rar|183889069|11e66b7e7fafc2d8f735c028d6c1d581|h=PWYE4ZF2KUPHSUSNLFN7KPBH77PPRFIS|/

ed2k://|file|床头灯.IV.觉醒.The.Awakening.(MP3).rar|199750665|bb0b2ae5bc0cfe0621536902e554f64c|h=FZJGAWO7FNYOOZ7GHFMBXIEOJMXA45F2|/

ed2k://|file|床头灯.IV.摩尔.弗兰德斯.Moll.Flanders.(MP3).rar|171793374|33ceaa9db5354f8a0f5a44b59b5473f8|h=LGENT6EE2E4F7IXUR75447RZY4KHNF7O|/

ed2k://|file|床头灯.IV.卡斯特桥市长.The.Mayor.of.Casterbridge.(MP3).rar|182021875|f5ba1befb3c9c5a015c6cd158af74b55|h=HFMWIARTM54IFPPHVOD2QEUGLEHN7UBQ|/

ed2k://|file|床头灯.IV.维尔德费尔庄园的主人.The.Tenant.of.Wildfell.Hall.(MP3).rar|205930405|d89be8c95d4c51deb53320b6b659e391|h=GJW2CX4XN35D3E6TADK2R7LPNBJX57G4|/

ed2k://|file|床头灯.V.理智与情感.Sense.and.Sensibility.rar.(MP3).rar|172414061|2eabf6b2a2869e4310607e7cdaeba5ef|h=7GBK4XKD5562GJN62MBJGDTWKURWUZ73|/

ed2k://|file|床头灯.V.少年维特的烦恼.The.Sorrows.of.Young.Werther.rar.(MP3).rar|162532016|7862b9cf07d67ac52097b87ff9581351|h=QM2CQMQ4YEPJ76MNZ2LOVVBYU2J4W4RY|/

ed2k://|file|床头灯.V.吸血鬼.Dracula.(MP3).rar|176908961|8c12ce5a9e5deab7fe713a53baa0af00|h=K7BVBP65IPHXOHHPLS6A7VTMRKMJYDBX|/

ed2k://|file|床头灯.V.莎士比亚戏剧故事.Tales.from.Shakespear.(MP3).rar|175220467|afc2543e9beb0e6d704a7cee50bdafd6|h=EHGPNBZJ2AAZVAHSK7G3FVW3O2JFQZDD|/

ed2k://|file|床头灯.V.白牙.White.Fang.rar.(MP3).rar|179762897|19dba7effff735394c211e493b69465c|h=IAQPAJVRDKBUHIALQ7XVLOPHYSFSTLUB|/

ed2k://|file|床头灯.V.地心游记.Journey.to.the.Center.of.the.Earth.rar.(MP3).rar|171956923|a6473d656df8b7a1854565c8baf3a897|h=DQCVFUPC7PTQPRDMB5VYJZDJAXZWGZYH|/

ed2k://|file|床头灯.V.海底两万里.Twenty.Thousand.Leagues.Under.the.Sea.rar.(MP3).rar|190955714|87b7f48a6fbaa1e1dcc1104a40c7ed00|h=DC4JWYT73FXIWI63IYZLW7AQZ6BZTKPB|/

ed2k://|file|床头灯.V.螺丝在拧紧.The.Turn.of.the.Screw.rar.(MP3).rar|165112635|00bd4e5248603ba24c7cab130e5c3494|h=WLLBVVBY7NPTGVNP6A52TVP2ZAE6NTO7|/

ed2k://|file|床头灯.V.小妇人.Little.Women.rar.(MP3).rar|176337238|86b7b76c5bf1e6a250424bd38d708312|h=LUSUGLW24DFHIVNMNSDNWC3LSMWW772B|/

ed2k://|file|床头灯.V.秘密花园.The.Secret.Garden.rar.(MP3).rar|181855628|333928a656a51bc6be057b877fb47829|h=3JTQIR5LFQT76664ZIALTUXZJAOK4FO7|/

质量,速度,时间

Unix & Linux历史源流

Unix & Linux历史源流

质量,速度,时间

学习DocBook《开源世界旅行手册》

学习DocBook《开源世界旅行手册》 http://linuxtoy.org/docbook/ http://linuxtoy.org/download/6 这是 Kardinal 所著《开源世界旅行手册》中的一部分──《学习 DocBook》。本部分从 XML 讲起,包含 DocBook 介绍、DocBook 环境搭建、创建 DocBook 文档、DocBook 编辑软件、发布 DocBook 文档等内容。新手阅读此部分,可以快速进入 DocBook 之门;而老手也可以从中找到实用的参考,并从作者的经验中获益。现 Kardinal 决定予以提前放出,以飨读者。

《学习 DocBook》目录如下: XML简介 XML语法

标记 元素 处理指令 文件头部 实体 DocBook介绍 搭建DocBook环境 创建DocBook文档 结构元素 文档信息 分子元素 块元素 行内元素 特殊字符 列表

Callout列表 表格

跨行表格 跨列表格 链接

内部链接 外部链接 脚注 参考 图形 文档工程 DocBook编辑软件 发布 使用CSS定制外观

代码块的样式 简单表格的样式 技巧

关于表格 交叉引用 calloutlist自动编号问题 断行符 内部链接 你可以从这里进入《学习 DocBook》的在线阅读页面。或者下载《学习 DocBook》的打包文件,以便离线阅读。其中,打包文件中也包含《学习 DocBook》的源文档,感兴趣的朋友可自行研究。

质量,速度,时间

Sqlite中文资料

介绍 这是嵌入式SQL数据库引擎SQLite(SQLite Embeddable SQL Database Engine)的一个扩展。SQLite是一个实现嵌入式SQL数据库引擎的 C语言库(C library)。用SQLite连接的程序可以使用SQL数据库,但不需要运行一个单独的关系型数据库管理系统进程(separate RDBMS process)。 SQLite不是一个用于连接到大型数据库服务器(big database server)的客户端库(client library)。SQLite是一个服务器。SQLite直接读写(reads and writes directly)在硬盘上的数据库文件。 注:更多关于SQLite的资料请查看SQLite的网站(http://sqlite.org/)。 安装 请阅读在安装包里的 INSTALL 文件。或者使用PEAR installer with “pear install sqlite”。SQLite已经内置了,你不需要安装任何附加的软件(additional software)。 Windows users可以下载SQLite扩展DLL(php_sqlite.dl)。 需求 为了可以使用那些函数,你必须编译带上SQLite支持PHP(compile PHP with SQLite support),或者在你的php.ini加载SQLite扩展。 资源类型 有两个在SQLite界面(the SQLite Interface)可用的资源。第一个是数据库连接(the database connection),第二是计算结果设置(the result set)。 预定义常量 函数sqlite_fetch_array()和sqlite_current()使用一个常量表示不同的返回类型。下面的常量(表格 1.)已经被定义: 表格 1. SQLite 常量 常量名 意义 SQLITE_ASSOC Columns are returned into the array having the fieldname as the array index. SQLITE_BOTH Columns are returned into the array having both a numerical index and the fieldname as the array index. SQLITE_NUM Columns are returned into the array having a numerical index to the fields. This index starts with 0, the first field in the result. 运行时配置 这些函数的行为受到全局配置文件 php.ini 的影响。 表格 2. SQLite Configuration Options Name Default Changeable sqlite.assoc_case 0 PHP_INI_ALL For further details and definition of the PHP_INI_ constants see ini_set(). 以下是该配置选项的简要解释。 sqlite.assoc_case int Whether to use mixed case (0), upper case (1) or lower case (2) hash indexes. This option is primarily useful when you need compatibility with other database systems, where the names of the columns are always returned as uppercase or lowercase, regardless of the case of the actual field names in the database schema. The SQLite library returns the column names in their natural case (that matches the case you used in your schema). When sqlite.assoc_case is set to 0 the natural case will be preserved. When it is set to 1 or 2, PHP will apply case folding on the hash keys to upper- or lower-case the keys, respectively. Use of this option incurs a slight performance penalty, but is MUCH faster than performing the case folding yourself using PHP script. 目录 sqlite_array_query —— 发送一条 SQL 查询,并返回一个数组。 sqlite_busy_timeout —— 设置超时时间(busy timeout duration),或者频繁的用户失去权限(disable busy handlers)。 sqlite_changes —— 返回被最新的SQL 查询(changed by the most recent SQL statement)改变的行数。 sqlite_close —— 关闭一个打开的SQLite数据库。 sqlite_column —— 在当前的行中取得一列(a column from the current row of a result set)。 sqlite_create_aggregate —— Register an aggregating UDF for use in SQL statements。 sqlite_create_function —— Registers a “regular” User Defined Function for use in SQL statements。 sqlite_current —— 在返回的数组中取得当前的行(the current row from a result set as an array)。 sqlite_error_string —— 返回错误代码的原始描述(the textual description of an error code)。 sqlite_escape_string —— 释放一个用于查询的字符串(Escapes a string for use as a query parameter)。 sqlite_fetch_array —— 取得下一行并设置成一个数组(the next row from a result set as an array)。 sqlite_fetch_single —— 取得第一列并设置成一个字符串(Fetches the first column of a result set as a string)。 sqlite_fetch_string —— sqlite_fetch_single()的别名。 sqlite_field_name —— 取得结果中指定字段的字段名。 sqlite_has_more —— 返回是否有更多可用的行(whether or not more rows are available)。 sqlite_last_error —— 返回数据库的最新的错误代码(the error code of the last error for a database)。 sqlite_last_insert_rowid —— 返回最新插入的行的行号(the most recently inserted row)。 sqlite_libencoding —— 返回SQLite库(SQLite library)的编码(encoding)。 sqlite_libversion —— 返回SQLite库(SQLite library)的版本。 sqlite_next —— 返回下一行的行号。 sqlite_num_fields —— 取得结果集中字段的数目。 sqlite_num_rows —— 取得结果集中行的数目。 sqlite_open —— 打开一个SQLite数据库。如果文件不存在则尝试创建之。 sqlite_popen —— 用永久连接的方式打开一个SQLite数据库。如果文件不存在则尝试创建之。 sqlite_query —— 发送一条 SQL 查询,并返回一个结果句柄(a result handle)。 sqlite_rewind —— 倒回第一行(Seek to the first row number)。 sqlite_seek —— 在缓存结果中查找特定的行号(Seek to a particular row number of a buffered result set)。 sqlite_udf_decode_binary —— Decode binary data passed as parameters to an UDF。 sqlite_udf_encode_binary —— Encode binary data before returning it from an UDF。 sqlite_unbuffered_query —— 发送一条 SQL 查询,并不获取和缓存结果的行。

关于Sqlite的问答 为什么选择 SQLite 来捆绑而不用其它数据库?恐怕 PHP 想把 ASP 赶下台了。 对于 PHP 所开发的留言本,整站等程序,为什么使用率比 ASP 低呢?很大原因是数据库的安装,对于一般用户,安装一个 MySQL 数据库相对比较难的,而 Access 则只需要修改数据库路径即可,数据库和站点文件放在一起,非常方便。现在好了,PHP5 将 SQLite 捆绑了,相信以后会出很多相关的应用程序,而这些应用程序的数据库安装相信可以和 ASP 媲美,速度又比 MySQL 快上 1-2 倍(官方的数据),存储量又不是问题(最大可超过 2TB-2000GB,官方数据)。只是对于并发访问我比较担心,还没有测试过不知道如何。呵呵,但是相信这是 PHP 的明智选择,即使服务器不支持 SQLite ,也可以通过加载 php_sqlite.dll 来实现 SQLite 的支持。恩,为什么没有早点想到使用它呢?恐怕是有以下几点原因: 1.当初还不健壮--即使现在也不知道是不是健壮,代码就那么几百K,呵呵,和 MySQL 对比起来…… 2.感觉好像有点文件系统的味道,就一个数据库文件包含了所有数据…… 3.不支持表的无损修改,也就是说不支持 ALTER TABLE ,这恐怕带来了不少麻烦。改变数据表结构就要重建表,不过有其他方法解决。 4.只支持 left join ,不过差不多够用了,对小型程序来说。 5.优化数据表恐怕比较麻烦。 优点还是很多的,我看了下: 1.安装方便 2.支持大量数据 3.支持大部分SQL 4.弱数据类型 5.速度快(没有测试,官方说法) 6.体积小 7.具备 Command 窗口,下载一个 SQLite.exe 文件即可对数据库进行命令行操作,和 MySQL 差不多的样子,不过显然不如 MySQL 友好和强大。 8.完全公开的源代码和版权

其他想到再说,感觉 SQLite 很不错的,PEAR 已经提供扩展类支持了。有兴趣下载了看看。 翻译了一部分 FAQ, 英语水平差,可能不准确,翻译得很累,有兴趣的帮忙翻译几段。 常见问答(FAQ) (最后更新:2004/03/20 15:34:56) http://www.sqlite.org/faq.html (1) 如何创建自增字段? (2) SQLite 支持哪些数据类型? (3) 为什么能向 SQLite 数据库的整型字段中插入字符串? (4) 为什么 SQLite 认为表达式 ‘0’==’00’ 为真? (5) 为什么 SQLite 不允许在同一张表里使用 ‘0’ 和 ‘0.0’ 作为两个不同的行的主键? (6) 为什么不能在 Linux box 中读取在 SparcStation 中创建的 SQLite 数据库? (7) 多个应用程序或者同一个应用程序的多个例程能同时存取同一个数据库文件吗? (8) Is SQLite threadsafe? (9) 如何列出一个 SQLite 数据库中的所有的表/索引? (10) 有对 SQLite 数据库的任何已知的大小的限制吗? (11) 在 SQLite 中 VARCHAR 的最大长度是多少? (12) SQLite 是否支持 BLOB 类型? (13) 如何从一个已存在的 SQLite 数据表中添加/删除字段? (14) 我删除了很多数据但是数据库文件并没有减小,是不是 Bug? (15) 是否能将 SQLite 用于商业用途而不用交版税?

(1) 如何创建自增字段? 简单的回答:一个声明为 INTEGER PRIMARY KEY 的字段将自动增加。 这里是详细的答案: 从 SQLite 的 2.3.4 版本开始,如果你将一个表中的一个字段声明为 INTEGER PRIMARY KEY,那么无论你何时向该表的该字段插入一个 NULL 值,这个 NULL 值将自动被更换为比表中该字段所有行的最大值大 1 的整数;如果表为空,那么将被更换为 1。比如,假设你有这样的一张数据表: CREATE TABLE t1( a INTEGER PRIMARY KEY, b INTEGER ); 在这张数据表里,声明 INSERT INTO t1 valueS(NULL,123); 在逻辑意义上等价于: INSERT INTO t1 valueS((SELECT max(a) FROM t1)+1,123); 至于 SQLite 的 2.2.0 到 2.3.3 版本,如果你向一个 INTEGER PRIMARY KEY 字段插入 NULL 值, 它将被替换为一个唯一的整数,但它是个半随机的整数。通过这种方式产生的唯一键将不是连续的。而 SQLite 的 2.3.4 及其以后版本,唯一键将是连续的直到其最大值超过 2147483647。这是 32 位整型的最大值因而不能继续增加。因此在 SQLite 的 2.3.3 及其早期版本,并发的插入尝试将返回一个半随机的键生成算法。 从 2.2.3 版本开始,一个新的名为 sqlite_last_insert_rowid() 的 API 函数将为最近的插入操作返回一个整型键。详细资料请查看 API 手册

---------------- (2) SQLite 支持哪些数据类型? SQLite 是弱类型的。所有数据以无终止的字符串存储。在 CREATE TABLE 中,字段名后面的数据类型信息将被忽略(大部分),你可以往任何字段插入你想要的数据类型,而不用管那个字段被声明为什么类型。 这个规则的一个例外是字段为 INTEGER PRIMARY KEY 类型。这样的字段强制一个整型。往 INTEGER PRIMARY KEY 字段插入任何非整型数据将产生一个错误。 这是一个在 SQLite 的数据类型 中更深入解释这一概念的页面。

---------------- (3) 为什么能向 SQLite 数据库的整型字段中插入字符串? 这是一个特点,不是错误。SQLite 是弱类型的。任何数据都能够插入任何字段中。你可以往整型字段中插入任意长度的字符串,或者往布尔字段中插入浮点数,或者往字符字段中插入日期。在 CREATE TABLE 命令中你指定给这个字段的数据类型不会限制插入这个字段的数据。所有的字段可以插入任意长度的字符串。(有一个例外:以 INTEGER PRIMARY KEY 为类型的字段只允许整数。如果你尝试往一个 INTEGER PRIMARY KEY 字段插入非整型数据,将产生一个错误。) 然而数据类型是影响值的比较的。因为在一个数字类型(比如 “integer”)字段中,任何字符串在进行比较和排序时是被看成处理成数值的数字。考虑这两个命令序列: CREATE TABLE t1(a INTEGER UNIQUE); CREATE TABLE t2(b TEXT UNIQUE); INSERT INTO t1 valueS(‘0’); INSERT INTO t2 valueS(0); INSERT INTO t1 valueS(‘0.0’); INSERT INTO t2 valueS(0.0); 在左边的序列中,第二条插入语句将失败。这种情况下,当字符串 ‘0’ 和 ‘0.0’ 插入一个数字类型字段中时将被处理成数字而 0==0.0 违反了唯一性约束。但是右边序列中的第二条插入语句正常执行。这种情况下,常量 0 和 0.0 被处理成字符串意味着它们是截然不同的。 这是一个在 SQLite 的数据类型 中更深入解释这一概念的页面。

---------------- (4) 为什么 SQLite 认为表达式 ‘0’==’00’ 为真? 在 2.7.0 之后,表达式不成立。 但是如果两个值之一在一个数字类型字段中比较,另一个将被转化为数字而不是字符串,而且结果成立。例如: CREATE TABLE t3(a INTEGER, b TEXT); INSERT INTO t3 valueS(0,0); SELECT count() FROM t3 WHERE a==’00’; 上面序列中的 SELECT 语句返回 1。字段 “a” 是数字类型所以在 WHERE 子句中字符串 ‘00’ 被转换成一个数字作为和 ‘a’ 的比较。0==00 所以这个测试返回 TRUE。现在考虑一个不同的 SELECT 语句: SELECT count() FROM t3 WHERE b==’00’; 在这种情况下答案是 0。’b’ 是一个 text 字段,文本不匹配 ‘00’。’0’!=’00’ 因此 WHERE 子句返回 FALSE 而返回行数为 0。 这是一个在 SQLite 的数据类型 中更深入解释这一概念的页面。

---------------- (5) 为什么 SQLite 不允许在同一张表里使用 ‘0’ 和 ‘0.0’ 作为两个不同的行的主键? 你的主键必定是数字类型。将数据类型改成 TEXT 后即可正常运行。 每一行必须有一个唯一的主键。作为一个数字类型的字段,SQLite 认为 ‘0’ 和 ‘0.0’ 的值是相同的,因为他们在数字上的比较是相等的(看前面的问题)因此值不是唯一的。

---------------- (6) 为什么不能在 Linux box 中读取在 SparcStation 中创建的 SQLite 数据库? 你需要升级你的 SQLite 库到 2.6.3 或更新版本。 你的 linux box 上的 x86 处理器是 little-endian (意味着整数中的最低位的字节排在前面),但是 Sparc 是 big-endian (最高位的字节排在前面)。在 SQLite 低于 2.6.3 版本的时候,创建于 little-endian 体系中的 SQLite 数据库不能运行于 big-endian 的机器上。从 2.6.3 版本开始,SQLite 应该能够读写数据库文件而不管创建数据库的机器的字节顺序如何。

---------------- (7) 多个应用程序或者同一个应用程序的多个例程能同时存取同一个数据库文件吗? 多个程序能够在同一时间打开同一个数据库,能够同时执行 SELECT 命令。但是一次只能有一个进程改变数据库。 Win95/98/ME 操作系统缺乏读/写锁定支持。在 2.7.0 版本之前,这意味着在 Windows 下你一次只能对数据库做单一的读处理。这个问题在 2.7.0 版本中已经通过一个 Windows 下的用户空间读写概率统计策略(implementing a user-space probabilistic reader/writer locking strategy)Windows 现在和 UNIX 一样允许多重的读操作。 The locking mechanism used to control simultaneous access might not work correctly if the database file is kept on an NFS filesystem. This is because file locking is broken on some NFS implementations. You should avoid putting SQLite database files on NFS if multiple processes might try to access the file at the same time. On Windows, Microsoft’s documentation says that locking may not work under FAT filesystems if you are not running the Share.exe daemon. People who have a lot of experience with Windows tell me that file locking of network files is very buggy and is not dependable. If what they say is true, sharing an SQLite ourse-grained. SQLite locks the entire database. Big database servers (PostgreSQL, Oracle, etc.) generally have finer grained locking, such as locking on a single table or a single row within a table. If you have a massively parallel database application, you should consider using a big database server instead of SQLite. database between two or more Windows machines might cause unexpected problems. Locking in SQLite is very c When SQLite tries to access a file that is locked by another process, the default behavior is to return SQLITE_BUSY. You can adjust this behavior from C code using the sqlite_busy_handler() or sqlite_busy_timeout() API functions. See the API documentation for details. If two or more processes have the same database open and one process creates a new table or index, the other processes might not be able to see the new table right away. You might have to get the other processes to close and reopen their connection to the database before they will be able to see the new table.

---------------- (8) Is SQLite threadsafe? Yes. Sometimes. In order to be thread-safe, SQLite must be compiled with the THREADSAFE preprocessor macro set to 1. In the default distribution, the windows binaries are compiled to be threadsafe but the linux binaries are not. If you want to change this, you’ll have to recompile. “Threadsafe” in the previous paragraph means that two or more threads can run SQLite at the same time on different “sqlite” structures returned from separate calls to sqlite_open(). It is never safe to use the same sqlite structure pointer simultaneously in two or more threads. Note that if two or more threads have the same database open and one thread creates a new table or index, the other threads might not be able to see the new table right away. You might have to get the other threads to close and reopen their connection to the database before they will be able to see the new table. Under UNIX, you should not carry an open SQLite database across a fork() system call into the child process. Problems will result if you do.

---------------- (9) 如何列出一个 SQLite 数据库中的所有的表/索引? If you are running the sqlite command-line access program you can type ”.tables” to get a list of all tables. Or you can type ”.schema” to see the complete database schema including all tables and indices. Either of these commands can be followed by a LIKE pattern that will restrict the tables that are displayed. From within a C/C++ program (or a script using Tcl/Ruby/Perl/Python bindings) you can get access to table and index names by doing a SELECT on a special table named “SQLITE_MASTER”. Every SQLite database has an SQLITE_MASTER table that defines the schema for the database. The SQLITE_MASTER table looks like this: CREATE TABLE sqlite_master ( type TEXT, name TEXT, tbl_name TEXT, rootpage INTEGER, sql TEXT ); For tables, the type field will always be ‘table’ and the name field will be the name of the table. So to get a list of all tables in the database, use the following SELECT command: SELECT name FROM sqlite_master WHERE type=’table’ ORDER BY name; For indices, type is equal to ‘index’, name is the name of the index and tbl_name is the name of the table to which the index belongs. For both tables and indices, the sql field is the text of the original CREATE TABLE or CREATE INDEX statement that created the table or index. For automatically created indices (used to implement the PRIMARY KEY or UNIQUE constraints) the sql field is NULL. The SQLITE_MASTER table is read-only. You cannot change this table using UPDATE, INSERT, or DELETE. The table is automatically updated by CREATE TABLE, CREATE INDEX, DROP TABLE, and DROP INDEX commands. Temporary tables do not appear in the SQLITE_MASTER table. Temporary tables and their indices and triggers occur in another special table named SQLITE_TEMP_MASTER. SQLITE_TEMP_MASTER works just like SQLITE_MASTER except that it is only visible to the application that created the temporary tables. To get a list of all tables, both permanent and temporary, one can use a command similar to the following: SELECT name FROM (SELECT * FROM sqlite_master UNION ALL SELECT * FROM sqlite_temp_master) WHERE type=’table’ ORDER BY name

(10) 有对 SQLite 数据库的任何已知的大小的限制吗? As of version 2.7.4, SQLite can handle databases up to 241 bytes (2 terabytes) in size on both Windows and Unix. Older version of SQLite were limited to databases of 231 bytes (2 gigabytes). SQLite arbitrarily limits the amount of data in one row to 1 megabyte. There is a single #define in the source code that can be changed to raise this limit as high as 16 megabytes if desired. There is a theoretical limit of about 232 (4 billion) rows in a single table, but this limit has never been tested. There is also a theoretical limit of about 232 tables and indices. The name and “CREATE TABLE” statement for a table must fit entirely within a 1-megabyte row of the SQLITE_MASTER table. Other than this, there are no constraints on the length of the name of a table, or on the number of columns, etc. Indices are similarly unconstrained. The names of tables, indices, view, triggers, and columns can be as long as desired. However, the names of SQL functions (as created by the sqlite_create_function() API) may not exceed 255 characters in length.

---------------- (11) 在 SQLite 中 VARCHAR 的最大长度是多少? Remember, SQLite is typeless. A VARCHAR column can hold as much data as any other column. The total amount of data in a single row of the database is limited to 1 megabyte. You can increase this limit to 16 megabytes, if you need to, by adjusting a single #define in the source tree and recompiling. For maximum speed and space efficiency, you should try to keep the amount of data in a single row below about 230 bytes.

---------------- (12) SQLite 是否支持 BLOB 类型? You can declare a table column to be of type “BLOB” but it will still only store null-terminated strings. This is because the only way to insert information into an SQLite database is using an INSERT SQL statement, and you can not include binary data in the middle of the ASCII text string of an INSERT statement. SQLite is 8-bit clean with regard to the data it stores as long as the data does not contain any ’\000’ characters. If you want to store binary data, consider encoding your data in such a way that it contains no NUL characters and inserting it that way. You might use URL-style encoding: encode NUL as “00” and “” as “%25”. Or, you might consider encoding your binary data using base-64. There is a source file named “src/encode.c” in the SQLite distribution that contains implementations of functions named “sqlite_encode_binary() and sqlite_decode_binary() that can be used for converting binary data to ASCII and back again, if you like.

---------------- (13) 如何从一个已存在的 SQLite 数据表中添加/删除字段? SQLite does not support the “ALTER TABLESQL command. If you what to change the structure of a table, you have to recreate the table. You can save existing data to a temporary table, drop the old table, create the new table, then copy the data back in from the temporary table. For example, suppose you have a table named “t1” with columns names “a”, “b”, and “c” and that you want to delete column “c” from this table. The following steps illustrate how this could be done: BEGIN TRANSACTION; CREATE TEMPORARY TABLE t1_backup(a,B); INSERT INTO t1_backup SELECT a,b FROM t1; DROP TABLE t1; CREATE TABLE t1(a,B); INSERT INTO t1 SELECT a,b FROM t1_backup; DROP TABLE t1_backup; COMMIT;

(14) 我删除了很多数据但是数据库文件并没有减小,是不是 Bug? 不是的。当你从 SQLite 删除数据之后,未使用的磁盘空间被添加到一个内在的“空闲列表”中用于存储你下次插入的数据。磁盘空间并没有丢失,但是也不向操作系统返回磁盘空间。 如果你删除了大量的数据且想要减小数据库文件,执行 VACUUM 命令(2.8.1 或更新版本)。VACUUM 命令将重建数据库will reconstruct the database from scratch. This will leave the database with an empty free-list and a file that is minimal in size. Note, however, that the VACUUM can take some time to run (around a half second per megabyte on the Linux box where SQLite is developed) and it can use up to twice as much temporary disk space as the original file while it is running.

---------------- (15) 是否能将 SQLite 用于商业用途而不用交版税? 可以。SQLite 是公开的。代码的任何部分都没有声明所有权。你可以用它来做你想要的任何事情 本文出自 51CTO.COM技术博客*

质量,速度,时间

eclipse 插件大全

eclipse 插件大全
eclipse插件大全介绍,以及下载地址
开源中心
http://sourceforge.net
0  eclipse插件中心
http://www.eclipseplugincentral.com/

Eclipse及其插件下载网址大全
1  Eclipse下载
EMF,GEF - Graphical Editor Framework,UML2,VE - Visual Editor都在这里下载
http://www.eclipse.org/downloads/index.php
2  lomboz J2EE插件,开发JSP,EJB
http://forge.objectweb.org/projects/lomboz
3  MyEclipse J2EE开发插件,支持SERVLET/JSP/EJB/数据库操纵等
http://www.myeclipseide.com
4  Properties Editor  编辑java的属性文件,并可以自动存盘为Unicode格式
http://propedit.sourceforge.jp/index_en.html
5  Colorer Take  为上百种类型的文件按语法着色
http://colorer.sourceforge.net/
6  XMLBuddy 编辑xml文件
http://www.xmlbuddy.com
7  Code Folding  加入多种代码折叠功能(比eclipse自带的更多)
http://www.coffee-bytes.com/servlet/PlatformSupport
8  Easy Explorer  从eclipse中访问选定文件、目录所在的文件夹
http://easystruts.sourceforge.net/
9  Fat Jar 打包插件,可以方便的完成各种打包任务,可以包含外部的包等
http://fjep.sourceforge.net/
10  RegEx Test 测试正则表达式
http://brosinski.com/stephan/archives/000028.php
11  JasperAssistant 报表插件(要钱的哦~)
http://www.jasperassistant.com/
12  Jigloo GUI Builder JAVA的GUI编辑插件
http://cloudgarden.com/jigloo/
13  Profiler 性能跟踪、测量工具,能跟踪、测量B/S程序
http://sourceforge.net/projects/eclipsecolorer/
14  AdvanQas 提供对if/else等条件语句的提示和快捷帮助(自动更改结构等)
http://eclipsecolorer.sourceforge.net/advanqas/index.html
15  Log4E Log4j插件,提供各种和Log4j相关的任务,如为方法、类添加一个logger等
http://log4e.jayefem.de/index.php/Main_Page
16  VSSPlugin VSS插件
http://sourceforge.net/projects/vssplugin
17  Implementors 提供跳转到一个方法的实现类,而不是接口的功能(实用!)
http://eclipse-tools.sourceforge.net/implementors/
18  Call Hierarchy 显示一个方法的调用层次(被哪些方法调,调了哪些方法)
http://eclipse-tools.sourceforge.net/call-hierarchy/index.html
19  EclipseTidy 检查和格式化HTML/XML文件
http://eclipsetidy.sourceforge.net/
20  Checkclipse 检查代码的风格、写法是否符合规范
http://www.mvmsoft.de/content/plugins/checkclipse/checkclipse.htm
21  Hibernate Synchronizer Hibernate插件,自动映射等
http://www.binamics.com/hibernatesync/
22  VeloEclipse  Velocity插件
http://propsorter.sourceforge.net/

23  EditorList 方便的列出所有打开的Editor
http://editorlist.sourceforge.net/

24  MemoryManager 内存占用率的监视
http://cloudgarden.com/memorymanager/

25  swt-designer java的GUI插件
http://www.swt-designer.com/

26  TomcatPlugin 支持Tomcat插件
http://www.sysdeo.com/eclipse/tomcatPlugin.html

27  XML Viewer
http://tabaquismo.freehosting.ne ... /xmlview/index.html

28  quantum 数据库插件
http://quantum.sourceforge.net/

29  Dbedit 数据库插件
http://sourceforge.net/projects/dbedit

30  clay.core 可视化的数据库插件
http://www.azzurri.jp/en/software/index.jsp
http://www.azzurri.jp/eclipse/plugins

31  hiberclipse hibernate插件
http://hiberclipse.sourceforge.net
http://www.binamics.com/hibernatesync

32  struts-console Struts插件
http://www.jamesholmes.com/struts/console/

33  easystruts Struts插件
http://easystruts.sourceforge.net

34  veloedit Velocity插件
http://veloedit.sourceforge.net/

35  jalopy 代码整理插件
http://jalopy.sourceforge.net/

36  JDepend 包关系分析
http://andrei.gmxhome.de/jdepend4eclipse/links.html

37  Spring IDE Spring插件
http://springide-eclip.sourceforge.net/updatesite/

38  doclipse 可以产生xdoclet 的代码提示
http://beust.com/doclipse/
39  SQLExplorer,在Eclipse 中连接各种数据库进行操作使用
http://dev2dev.bea.com.cn/bbs/th ... &threadID=31124

40 Eclipse 插件Implementors 在Eclipse 中的使用。
问题提出:
  如果你想看看某个类或者方法的实现,一般是Ctrl + 鼠标左键,单击即可以打开这个类或者方法的具体实现代码。但是如果碰到接口时,只是到达接口而已,不能到达具体的实现类里。
解决方法:利用Eclipse 的Implementors 插件。
  当追踪方法代码时,Eclipse 默认是转到方法的接口类,而接口中是只有方法名称没有具体的实现代码,此插件提供了追踪到具体实现类的实现代码的功能。
  另外还有Call Hierarchy 插件: 显示一个方法的调用层次,可以从中看到它被哪些方法调用了,以及它调用了哪些方法,是代码追踪比较实用的工具。Eclipse 3.1 中已经自带有这个功能了。这个插件就不用另加介绍了。
下载地址:
http://dev2dev.bea.com.cn/bbs/th ... &threadID=30441
或者
http://www.cjsdn.net/post/view?bid=7&id=165547&sty=1
Eclipse插件之SQLExplorer- -
本文介绍如何利用Eclipse 插件SQLExplorer 在Eclipse 中连接各种数据库进行操作使用。
Eclipse 是目前非常流行的开发平台,开放扩展的架构让很多程序员找到了自己个性化的工作环境。
下载地址:
http://dev2dev.bea.com.cn/bbs/th ... &threadID=31124
或者
http://www.cjsdn.net/post/view?bid=7&id=164702&sty=1
    用links方法加载Eclipse插件
    eclispe想必大家都很熟悉了,一般来说,eclipse插件都是安装在plugins目录下。不过这样一来,当安装了许多插件之后,eclipse变的很大,最主要的是不便于更新和管理众多插件。用links方式安装eclipse插件,可以解决这个问题。
        当前配置XP SP1,eclipse3.0.1
        现在假设我的eclipse安装目录是D:eclipse,待安装插件目录是Dlug-in ,我将要安装LanguagePackFeature(语言包)、emf-sdo-xsd-SDK、GEF-SDK、Lomboz这四个插件。
        先把这四个插件程序全部放在Dlug-in目录里,分别解压。如Lomboz3.0.1.zip解压成Lomboz3.0.1目录,这个目录包含一个plugins目录,要先在Lomboz3.0.1目录中新建一个子目录eclipse,然后把plugins目录移动到刚建立的eclipse目录中,即目录结构要是这样的:Dlug-inLomboz3.0.1eclipseplugins
Eclipse 将会到指定的目录下去查找 eclipsefeatures 目录和eclipseplugins 目录,看是否有合法的功能部件和(或)插件。也就是说,目标目录必须包含一个 eclipse 目录。如果找到,附加的功能部件和插件在运行期配置是将是可用的,如果链接文件是在工作区创建之后添加的,附加的功能部件和插件会作为新的配置变更来处理。
         其它压缩文件解压后若已经包含eclipseplugins目录,则不需要建立eclipse目录。
         然后在 eclipse安装目录D:eclipse目录中建立一个子目录links,在links目录中建立一个link文件,比如 LanguagePackFeature.link,改文件内容为  path=D:/plug-in/LanguagePackFeature  即这个link文件要对应一个刚解压后的插件目录。
说明:
     1. 插件可以分别安装在多个自定义的目录中
     2. 一个自定义目录可以安装多个插件。
     3. link文件的文件名及扩展名可以取任意名称,比如ddd.txt,myplugin都可以。
     4. link文件中path=插件目录的path路径分隔要用或是/
     5. 在links目录也可以有多个link文件,每个link文件中的path参数都将生效。
     6. 插件目录可以使用相对路径。
     7. 可以在links目录中建立一个子目录,转移暂时不用的插件到此子目录中,加快eclipse启动。
     8.  如果安装后看不到插件,把eclipse 目录下的configuration目录删除,重启即可。

jadclips插件网站:http://jadclipse.sourceforge.net/
一、下载:
下载插件:
   下载jadclipse_3.1.0.jar版本,该版本支持eclipse3.1M6以上
   下载jadclipse_3.2.0.jar版本,该版本支持eclipse3.2M3和eclipse3.2M4。
   下载jadclipse_3.2.2.jar版本,该版本支持eclipse3.2M5以上。
下载Jad反编译工具:
   http://www.kpdus.com/jad.html#do ... 秃茫旅嬉玫剑?/a>
二、安装:
   方法1、直接将jadclipse_3.1.0.jar复制到%ECLIPSE_HOME%plugins目录下。
   方法2、使用link方式安装,建立E:eclipse3.1pluginsjadclipse3.1.0eclipseplugins的目录结构,将jadclipse_3.1.0.jar放到plugins目录下面(注:其中E:eclipse3.1plugins为你自己定义的一个专门放置插件的目录)。再在%ECLIPSE_HOME%links目录下面建立一个jadclipse3.1.0.link文件(该文件名随便取,保证后缀为.link就OK).文件里面内容为:path=E:eclipse3.1pluginsjadclipse3.1.0。
   启动eclipse,打开Window->Preferences->Java->JadClipse,如果没有找到JadClipse,检查插件安装的版本是否与你安装的eclipse版本对应。我安装的eclipse是:eclipse3.1.2
三、设置参数:
   启动eclipse,打开:Window->Preferences->Java->JadClipse。
   1、Path to decompiler,这里设置反编译工具jad的全路径名,比如:%JAVA_HOME%binjad.exe。
   2、Directory for temporary files,这里设置临时文件路径。
   至于Window->Preferences->Java->JadClipse目录下的Debug,Directives,Formatting,Misc目录中的参数设置,就不罗嗦。
四、安装完成后,eclipse自动将JadClipse Class File Viewer设置成class文件的缺省打开方式。如果没有默认,可以在Eclipse的Windows--> Perference-->General->Editors->File Associations中修改“*.class”默认关联的编辑器为“JadClipse Class File Viewer”。设置完成后,双击*.class文件,eclipse将自动反编译。

注: 对于存在源代码的类,它不会强行反编译,也就是说它还是会用eclipse自带的Class File Viewer查看class文件

[转]Log4j比较全面的配置
log4j.rootLogger=DEBUG,CONSOLE,A1,im
log4j.addivity.org.apache=true
# 应用于控制台
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.Threshold=DEBUG
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
#log4j.appender.CONSOLE.layout.ConversionPattern=
[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD] n%c[CATEGORY]%n%m[MESSAGE]%n%n
#应用于文件
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=file.log
log4j.appender.FILE.Append=false
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
# Use this layout for LogFactor 5 analysis
# 应用于文件回滚
log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender
log4j.appender.ROLLING_FILE.Threshold=ERROR
log4j.appender.ROLLING_FILE.File=rolling.log  //文件位置,也可以用变量${java.home}、rolling.log
log4j.appender.ROLLING_FILE.Append=true       //true:添加  false:覆盖
log4j.appender.ROLLING_FILE.MaxFileSize=10KB   //文件最大尺寸
log4j.appender.ROLLING_FILE.MaxBackupIndex=1  //备份数
log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n

#应用于socket
log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender
log4j.appender.SOCKET.RemoteHost=localhost
log4j.appender.SOCKET.Port=5001
log4j.appender.SOCKET.LocationInfo=true
# Set up for Log Facter 5
log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout
log4j.appender.SOCET.layout.ConversionPattern=
[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]%n%c[CATEGORY]%n%m[MESSAGE]%n%n

# Log Factor 5 Appender
log4j.appender.LF5_APPENDER=org.apache.log4j.lf5.LF5Appender
log4j.appender.LF5_APPENDER.MaxNumberOfRecords=2000
# 发送日志给邮件
log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
log4j.appender.MAIL.Threshold=FATAL
log4j.appender.MAIL.BufferSize=10
log4j.appender.MAIL.From=test@sina.com.cn
log4j.appender.MAIL.SMTPHost=smtp.sina.com.cn
log4j.appender.MAIL.Subject=Log4J Message
log4j.appender.MAIL.To=test@sina.com.cn
log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout
log4j.appender.MAIL.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
# 用于数据库
log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test
log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver
log4j.appender.DATABASE.user=root
log4j.appender.DATABASE.password=
log4j.appender.DATABASE.sql=INSERT INTO LOG4J (Message) VALUES ('[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n')
log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout
log4j.appender.DATABASE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n

log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.File=SampleMessages.log4j
log4j.appender.A1.DatePattern=yyyyMMdd-HH'.log4j'
log4j.appender.A1.layout=org.apache.log4j.xml.XMLLayout
#自定义Appender
log4j.appender.im = net.cybercorlin.util.logger.appender.IMAppender
log4j.appender.im.host = mail.cybercorlin.net
log4j.appender.im.username = username
log4j.appender.im.password = password
log4j.appender.im.recipient = test@test.com
log4j.appender.im.layout=org.apache.log4j.PatternLayout
log4j.appender.im.layout.ConversionPattern =[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n

质量,速度,时间

Android中各种JAVA包的功能描述(摘自www.androidin.com)

在Android的应用程序开发中,通常使用的是JAVA语言,除了需要熟悉JAVA语言的基础知识之外,还需要了解Android提供的扩展的JAVA功能。
        在一般的JAVA应用中,如果需用引用基础类库,通常需要使用如下的方式:
                import javax.swing.*; 
        以上代码表示了引用JAVA的GUI组件Swing,javax.swing即JAVA中的一个包。
        android提供一些扩展的JAVA类库,类库分为若干个包,每个包中包含若干个类。例如:在Android中计算器是一个相对简单的程序,其入口程序文件为Calculator.java,该文件包含了以下内容:
                

package com.android.calculator2;
                import android.app.Activity;
                import android.os.Bundle;
                import android.util.Log;
                import android.util.Config;
                import android.view.Menu;
                import android.view.MenuItem;
                import android.view.Window;
                import android.view.View;
                import android.widget.Button;
                import android.widget.ListView;
                import android.content.res.Configuration;
 

       在Android中,各种包写成android.*的方式,重要包的描述如下所示:
         android.app         :提供高层的程序模型、提供基本的运行环境
         android.content    :包含各种的对设备上的数据进行访问和发布的类
         android.database :通过内容提供者浏览和操作数据库
         android.graphics  :底层的图形库,包含画布,颜色过滤,点,矩形,可以将他们直接绘制到屏幕上.
         android.location   :定位和相关服务的类
         android.media     :提供一些类管理多种音频、视频的媒体接口
         android.net         :提供帮助网络访问的类,超过通常的java.net.* 接口
         android.os          :提供了系统服务、消息传输、IPC机制
         android.opengl   :提供OpenGL的工具
         android.provider  :提供类访问Android的内容提供者
         android.telephony :提供与拨打电话相关的API交互
         android.view          :提供基础的用户界面接口框架
         android.util      :涉及工具性的方法,例如时间日期的操作
         android.webkit    :默认浏览器操作接口
         android.widget    :包含各种UI元素(大部分是可见的)在应用程序的屏幕中使用

质量,速度,时间