- Effective Java 学习笔记--36-38条 枚举类型
Chengweili1202
笔记java
目录枚举之前--int常量枚举类型枚举类型的特性自定义方法和域的设置实例的统一行为实例的不同行为switch语句抽象方法公共接口策略枚举用实例域代替默认序数枚举集合EnumSetEnumMap枚举类型用于定义一组固定的命名常量,在枚举类型中定义的每一个枚举常量都是枚举类型的一个实例,而且这个实例是不可变的。枚举之前--int常量枚举类型是Java5版本引入的,在引入之前通常使用int常量来表示枚举
- EffectiveJava--枚举和注解
千秋大业一壶茶
CoreJavaEffectiveJava笔记
[b]本章内容:[/b]1.用enum代替int常量2.用实例域代替序数3.用EnumSet代替位域4.用EnumMap代替充数索引5.用接口模拟可伸缩的枚举6.注解优先于命名模式7.坚持使用Override注解8.用标记接口定义类型[b]1.用enum代替int常量[/b]枚举类型是指由一组固定的常量组成合法值的类型,该特征是在Java1.5中开始被支持的,之前的Java代码都是通过“公有静态常
- 19.8 使用EnumSet代替标志
乌鲁木齐001号程序员
packagechapter19._8;publicenumAlarmPoints{STAIR1,STAIR2,LOBBY,OFFICE1,OFFICE2,OFFICE3,OFFICE4,BATHROOM,UTILITY,KITCHEN}packagechapter19._8;importjava.util.EnumSet;importstaticchapter19._8.AlarmPoints.
- java集合相关学习
会打功夫的程序员
java集合框架解读Java集合框架继承Collection和map两个接口,Collection的子类有List,set,queue,而List的实现类有ArrayList,Vecor,LinkList,而set接口的实现类有HashSet,sortSet,EnumSet,queue的实现类有priorityQueue,Deque,Map的实现类主要有HashMap和HashTable。区别:C
- Java集合之Set接口
江海i
2022#Java集合java集合
跟着韩老师学集合B站。1.Set1.1特性和实现子类存放数据是无序的,不包含索引;取出的顺序和添加的顺序不同,但是取出的顺序是固定的。不允许元素重复,至多包含一个null;实现的接口有:AbstractSet,ConcurrentHashMap.KeySetView,ConcurrentSkipListSet,CopyOnWriteArraySet,EnumSet,HashSet,JobState
- java 容器 set_java容器总结Set
nlua
java容器set
Set总结首先一个Set不包括重复元素(包括可变对象)的Collection,是一种无序的集合。Set不包含满a.equals(b)的元素对a和b,并且最多有一个null。Paste_Image.png如图所示实现Set接口的重要类有HashSet(无序不重复),LinkedHashSet(按放入顺序有序不重复),TreeSet(按红黑树方式有序不重复),EnumSet,ConcurrentSki
- 黑马程序员:Java基础总结----子接口 set及其实现类
小小构架师
JavaSE基础黑马程序员Java基础总结
黑马程序员:Java基础总结子接口set及其实现类ASP.Net+Android+IO开发、.Net培训、期待与您交流!java.util子接口set所有已知实现类:AbstractSet,ConcurrentSkipListSet,CopyOnWriteArraySet,EnumSet,HashSet,JobStateReasons,LinkedHashSet,TreeSet特点:Set:无序的
- Java集合之Set
ImproveJin
Javajavaset集合
Set是单元素容器,同时元素是不重复的,Java中直接利用Mapkey唯一性,底层是用了Map的实现,对应的value都是同一个staticObject.Set内部结构HashSetHashMapLinkedHashSetLinkedHashMapTreeSetTreeMapEnumSetConcurrentSkipListSetConcurrentSkipListMap的并发优化的SortedS
- java基础 -10 Set之ConcurrentSkipListSet、EnumSet
Miaow.Y.Hu
javajavawindowspython
ConcurrentSkipListSetConcurrentSkipListSet是java中的集合类,是在多线程的环境中使用的,实现Set接口,它基于跳表(skipList)的数据结构。跳表是一种基于并行排序的数据结构,允许快速的出入,删除和查找操作,且在多线程环境中具备良好的并发性能。主要用途和特点:线程安全:ConcurrentSkipListSet是线程安全的,可以在多线程环境中安全的使
- Java-集合(Set接口)
Neo丶
java学习开发语言
基本介绍1)无序(添加和取出的顺序不一致),没有索引;2)不允许重复元素,最多包含一个null值;3)JDKAPI中Set接口的实现类有:AbstractSet、ConcurrentSkipListSet、CopyOnWriteArraySet、EnumSet、HashSet、JobStateReasons、LinedHashSet、TreeSet;常用方法举例packagecom.pero.se
- MySQL十部曲之四:MySQL中的数据类型
亻乍屯页女子白勺
MySQLmysqlandroidadb
文章目录前言概述数字类型数字类型语法数字类型字面量十六进制字面量位字面量布尔字面量数字类型的属性超出范围和溢出处理时间和日期类型时间和日期类型语法DATE、DATETIME和TIMESTAMP的异同TIMESTAMP和DATETIME的自动初始化和更新时间和日期字面量字符串类型字符串类型语法CHAR和VARCHAR的异同BINARY和VARBINARY的异同BLOB和TEXT的异同ENUMSET字
- MySQL新建表不能指定长度的字段类型
小贺。
数据库
MySQL新建表不能指定长度的字段类型:tinytextmediumtextdoubledateenumset
- Java 集合框架
梁辰兴
Java课程任务java开发语言集合框架
文章目录一,Java集合框架简介二、Java集合常见接口及实现类1.Collection接口常见方法2.Set集合1)HashSet类2)LinkedHashSet类3)TreeSet类①自然排序②定制排序4)EnumSet类5)各Set实现类的性能分析3.List集合1)ArrayList2)LinkedList3)Vector4)Stack5)Iterator接口和ListIterator接口
- Set接口
BenChuat
python开发语言
Set接口是Java集合框架中用于表示不包含重复元素的集合的接口。Set接口的主要实现类有HashSet、LinkedHashSet、TreeSet和EnumSet。下面是它们的主要区别:HashSet:基于哈希表实现。不保证元素的顺序,即不保证元素的插入顺序和遍历顺序一致。允许null元素。add,remove,contains等操作的时间复杂度平均为O(1)。通常比TreeSet性能更好,但不
- 初探Java枚举类
溪~源
javajavaenum
目录1.何为枚举2.枚举本质3.枚举特性3.1基本特性3.2枚举方法3.3枚举接口3.4获取枚举元素3.5状态机4.枚举工具类4.1EnumSet4.2EnumMap5.总结1.何为枚举枚举是一种数据类型,具有集合的一些特点,可以存放多个元素,但存储对象有限且固定,枚举也有比较常见的使用场景。如性别(男、女),颜色(红、黄、蓝),星期(星期一、星期二…星期日)均可以使用枚举存储。2.枚举本质从源码
- Maven compile时报错 系统资源不足,出现OOM:GC overhead limit exceeded
Xeon-Shao
编程工具后台开发mavenintellij-idea
今天在对项目进行Mavencleancompile的时候,报出了如下的错误,系统资源不足。有关详细信息,请参阅一下堆栈跟踪。java.lang.OutOfMemoryError:GCoverheadlimitexceededatjava.util.EnumSet.noneOf(EnumSet.java:115)atcom.sun.tools.javac.util.Warner.(Warner.ja
- 【Java 枚举 & 集合】枚举类Enum、映射EnumMap、集EnumSet
L Jiawen
Java#Java集合javaenumjavase
枚举Enum、映射EnumMap、集EnumSet一、枚举Enum1、概述2、介绍①valueOf②values3、分析※模仿一个枚举类二、枚举映射EnumMap1、概述2、使用方法3、应用场景三、枚举集EnumSet1、概述2、使用方法本文使用JDK版本为JDK1.15一、枚举Enum1、概述一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。Java的枚举本质上是一
- 3.MySQL数据类型详解
Lei宝啊
MySQLmysql数据库
个人主页:Lei宝啊愿所有美好如期而遇1.数据类型分类数值类型:bittinyintsmalliintintbigintfloatdoubledecimalbool文本,二进制类型:charvarchartext时间日期:datedatetimetimestampString类型:enumset2.数值类型(1).tinyint,smallint类型等事实证明,mysql不允许不合法的数据插入,-
- 读书笔记-《ON JAVA 中文版》-摘要25[第二十二章 枚举]
JustDI-CM
读书笔记java开发语言
文章目录第二十二章枚举1.基本功能1.1基本enum特性2.方法添加2.1方法添加2.2覆盖enum的方法3switch语句中的enum4.values方法的神秘之处5.实现而非继承6.随机选择7.使用接口组织枚举8.使用EnumSet替代Flags9.使用EnumMap10.常量特定方法11.本章小结第二十二章枚举关键字enum可以将一组具名的值的有限集合创建为一种新的类型,而这些具名的值可以作
- Java枚举的打印_如何在java中打印所有枚举值?
空桑寂
Java枚举的打印
首先,我会重构您的枚举在构造函数参数中传递字符串表示形式。该代码位于底部。现在,打印你只是使用的东西像所有枚举值://Note:enumnamechangedtocomplywithJavanamingconventionsfor(GeneralInformationinfo:EnumSet.allOf(GeneralInformation.class)){System.out.println(i
- 2020-12-31 java之数组
闲散老人
1.集合除了map以外都实现了collection接口所以总体关系是collectin>{set,queue,list}set>{enumset,sortedset,hashset}list>{linkedlist,arraylist,vector}queue>{deque,priorityqueue}sortedset>treeset,hashset>linkedhashset,vector>s
- Enum、EnumMap、EnumSet
小小書童可笑可笑
一、Enum、EnumMap、EnumSet的用法讲解https://blog.csdn.net/zknxx/article/details/51884536EnumMap不用计算hashCode,直接根据enum类型的key定位到索引。
- EnumSet 的妙用,代替二进制串
观照_
EnumSet的妙用,代替二进制串。有时候需要用二进制串作为多个标识位,例如1010,每一位分别代表不同的含义,此时对应位数的新增删除等操作麻烦且不直观,建议用EnumSet代替。不多说,代码如下:/***文本*样式包括粗体,斜体,下划线,中划线等多种情况,每种情况可以并存*用EnumSet代替字符串处理*/publicclassText{privateEnumSetset=EnumSet.non
- EnumSet的使用及源码分析
hei禹
假设一种场景,如果你想用一个数表示多种状态,那么位运算是一种很好的选择。用或运算复合多种状态,用与运算判断是否包含某种状态。由此,你可能会写出如下代码:publicclassStatus{publicstaticfinalintIN_STORED=10?//判断状态中是否包含在仓但是Java有EnumSet,可以优化为:publicclassStatusWrapper{publicenumStat
- java EnumSet学习
undefined可以吗
一、EnumSet简单介绍1、AspecializedSetimplementationforusewithenumtypes.2、Alloftheelementsinanenumsetmustcomefromasingleenumtypethatisspecified,explicitlyorimplicitly,whenthesetiscreated.EnumSet是Set的一种实现,它必须要
- 【Java】Java 内存管理最佳实践
逆流°只是风景-bjhxcc
Java程序员进阶之路java开发语言
文章目录前言Java应用程序内存泄漏的常见原因Java应用程序中内存管理的最佳实践1.使用不可变对象2.最小化对象创建3.使用适当的数据结构4.正确关闭资源5.使用弱引用6.使用EnumSet和EnumMap进行枚举7.对大型集合使用并行流8.更新到最新的Java版本9.定期测试和调整你的Java应用程序10.监控内存使用情况总结前言内存管理是编程的一个基本领域之一,尤其是在Java开发中。当不再
- Android中不推荐使用Enum
Winterfell_Z
一、Enum的产生Java1.5中引入了枚举的语法,包括Enum,EnumSet,EnumMap等。其中Enum就是我们在C或C++中见过的枚举类型,但是Java中的枚举又比C或C++中的枚举更成熟和复杂。在Java中,枚举算是一种特殊的类,也就是class,因此它可以做很多类相关的事情,而不仅仅是定义几个枚举值二、Android官方建议image.pngAndroid官网不建议使用enums,占
- MySQL数据类型
南猿北者
MySQLmysqlc++linux数据库
MySQL数据类型数据类型分类数值类型tinyint类型bit类型小数类型floatdecimal字符串类型charvarchar4.3.3char和varchar比较日期和时间类型enum和setenumset集合查询使用find_in_set函数数据类型分类注意:图中类型不区分大小写。数值类型tinyint类型先创建一个数据类型带有tinyint类型的表结构:现在我们创建了一个表结构,里面的字
- 创建和销毁对象
蹩脚的粤语歌
使用静态工厂方法代替构造器1.有名字便于维护代码2.可以返回同一个对象减缓了内存开销如singleton使用enum可以保证这一点3.可以返回子类型可以返回非公有不可实例化的等等如EnumSet的公有静态方法4.静态方法返回的类在编写时静态工厂方法时不存在(SPIServiceProviderInterface)5.静态方法在创建参数化类型实例的时候是代码更简洁遇到多个构造器参数时考虑使用构造器1
- java集合总结
zhendeWD
javajava开发语言
1.常见集合CollectionList:有序可重复集合,可直接根据元素的索引来访问Vector-StackArrayListLinkedListQueue:队列集合Deque-LinkedList、ArrayDequePriorityQueueSet:无序不可重复集合,只能根据元素本身来访问Hashset-LinkedHashSetSortedSet-TreeSetEnumSetMap:存储ke
- ASM系列五 利用TreeApi 解析生成Class
lijingyao8206
ASM字节码动态生成ClassNodeTreeAPI
前面CoreApi的介绍部分基本涵盖了ASMCore包下面的主要API及功能,其中还有一部分关于MetaData的解析和生成就不再赘述。这篇开始介绍ASM另一部分主要的Api。TreeApi。这一部分源码是关联的asm-tree-5.0.4的版本。
在介绍前,先要知道一点, Tree工程的接口基本可以完
- 链表树——复合数据结构应用实例
bardo
数据结构树型结构表结构设计链表菜单排序
我们清楚:数据库设计中,表结构设计的好坏,直接影响程序的复杂度。所以,本文就无限级分类(目录)树与链表的复合在表设计中的应用进行探讨。当然,什么是树,什么是链表,这里不作介绍。有兴趣可以去看相关的教材。
需求简介:
经常遇到这样的需求,我们希望能将保存在数据库中的树结构能够按确定的顺序读出来。比如,多级菜单、组织结构、商品分类。更具体的,我们希望某个二级菜单在这一级别中就是第一个。虽然它是最后
- 为啥要用位运算代替取模呢
chenchao051
位运算哈希汇编
在hash中查找key的时候,经常会发现用&取代%,先看两段代码吧,
JDK6中的HashMap中的indexFor方法:
/**
* Returns index for hash code h.
*/
static int indexFor(int h, int length) {
- 最近的情况
麦田的设计者
生活感悟计划软考想
今天是2015年4月27号
整理一下最近的思绪以及要完成的任务
1、最近在驾校科目二练车,每周四天,练三周。其实做什么都要用心,追求合理的途径解决。为
- PHP去掉字符串中最后一个字符的方法
IT独行者
PHP字符串
今天在PHP项目开发中遇到一个需求,去掉字符串中的最后一个字符 原字符串1,2,3,4,5,6, 去掉最后一个字符",",最终结果为1,2,3,4,5,6 代码如下:
$str = "1,2,3,4,5,6,";
$newstr = substr($str,0,strlen($str)-1);
echo $newstr;
- hadoop在linux上单机安装过程
_wy_
linuxhadoop
1、安装JDK
jdk版本最好是1.6以上,可以使用执行命令java -version查看当前JAVA版本号,如果报命令不存在或版本比较低,则需要安装一个高版本的JDK,并在/etc/profile的文件末尾,根据本机JDK实际的安装位置加上以下几行:
export JAVA_HOME=/usr/java/jdk1.7.0_25  
- JAVA进阶----分布式事务的一种简单处理方法
无量
多系统交互分布式事务
每个方法都是原子操作:
提供第三方服务的系统,要同时提供执行方法和对应的回滚方法
A系统调用B,C,D系统完成分布式事务
=========执行开始========
A.aa();
try {
B.bb();
} catch(Exception e) {
A.rollbackAa();
}
try {
C.cc();
} catch(Excep
- 安墨移动广 告:移动DSP厚积薄发 引领未来广 告业发展命脉
矮蛋蛋
hadoop互联网
“谁掌握了强大的DSP技术,谁将引领未来的广 告行业发展命脉。”2014年,移动广 告行业的热点非移动DSP莫属。各个圈子都在纷纷谈论,认为移动DSP是行业突破点,一时间许多移动广 告联盟风起云涌,竞相推出专属移动DSP产品。
到底什么是移动DSP呢?
DSP(Demand-SidePlatform),就是需求方平台,为解决广 告主投放的各种需求,真正实现人群定位的精准广
- myelipse设置
alafqq
IP
在一个项目的完整的生命周期中,其维护费用,往往是其开发费用的数倍。因此项目的可维护性、可复用性是衡量一个项目好坏的关键。而注释则是可维护性中必不可少的一环。
注释模板导入步骤
安装方法:
打开eclipse/myeclipse
选择 window-->Preferences-->JAVA-->Code-->Code
- java数组
百合不是茶
java数组
java数组的 声明 创建 初始化; java支持C语言
数组中的每个数都有唯一的一个下标
一维数组的定义 声明: int[] a = new int[3];声明数组中有三个数int[3]
int[] a 中有三个数,下标从0开始,可以同过for来遍历数组中的数
- javascript读取表单数据
bijian1013
JavaScript
利用javascript读取表单数据,可以利用以下三种方法获取:
1、通过表单ID属性:var a = document.getElementByIdx_x_x("id");
2、通过表单名称属性:var b = document.getElementsByName("name");
3、直接通过表单名字获取:var c = form.content.
- 探索JUnit4扩展:使用Theory
bijian1013
javaJUnitTheory
理论机制(Theory)
一.为什么要引用理论机制(Theory)
当今软件开发中,测试驱动开发(TDD — Test-driven development)越发流行。为什么 TDD 会如此流行呢?因为它确实拥有很多优点,它允许开发人员通过简单的例子来指定和表明他们代码的行为意图。
TDD 的优点:
&nb
- [Spring Data Mongo一]Spring Mongo Template操作MongoDB
bit1129
template
什么是Spring Data Mongo
Spring Data MongoDB项目对访问MongoDB的Java客户端API进行了封装,这种封装类似于Spring封装Hibernate和JDBC而提供的HibernateTemplate和JDBCTemplate,主要能力包括
1. 封装客户端跟MongoDB的链接管理
2. 文档-对象映射,通过注解:@Document(collectio
- 【Kafka八】Zookeeper上关于Kafka的配置信息
bit1129
zookeeper
问题:
1. Kafka的哪些信息记录在Zookeeper中 2. Consumer Group消费的每个Partition的Offset信息存放在什么位置
3. Topic的每个Partition存放在哪个Broker上的信息存放在哪里
4. Producer跟Zookeeper究竟有没有关系?没有关系!!!
//consumers、config、brokers、cont
- java OOM内存异常的四种类型及异常与解决方案
ronin47
java OOM 内存异常
OOM异常的四种类型:
一: StackOverflowError :通常因为递归函数引起(死递归,递归太深)。-Xss 128k 一般够用。
二: out Of memory: PermGen Space:通常是动态类大多,比如web 服务器自动更新部署时引起。-Xmx
- java-实现链表反转-递归和非递归实现
bylijinnan
java
20120422更新:
对链表中部分节点进行反转操作,这些节点相隔k个:
0->1->2->3->4->5->6->7->8->9
k=2
8->1->6->3->4->5->2->7->0->9
注意1 3 5 7 9 位置是不变的。
解法:
将链表拆成两部分:
a.0-&
- Netty源码学习-DelimiterBasedFrameDecoder
bylijinnan
javanetty
看DelimiterBasedFrameDecoder的API,有举例:
接收到的ChannelBuffer如下:
+--------------+
| ABC\nDEF\r\n |
+--------------+
经过DelimiterBasedFrameDecoder(Delimiters.lineDelimiter())之后,得到:
+-----+----
- linux的一些命令 -查看cc攻击-网口ip统计等
hotsunshine
linux
Linux判断CC攻击命令详解
2011年12月23日 ⁄ 安全 ⁄ 暂无评论
查看所有80端口的连接数
netstat -nat|grep -i '80'|wc -l
对连接的IP按连接数量进行排序
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
查看TCP连接状态
n
- Spring获取SessionFactory
ctrain
sessionFactory
String sql = "select sysdate from dual";
WebApplicationContext wac = ContextLoader.getCurrentWebApplicationContext();
String[] names = wac.getBeanDefinitionNames();
for(int i=0; i&
- Hive几种导出数据方式
daizj
hive数据导出
Hive几种导出数据方式
1.拷贝文件
如果数据文件恰好是用户需要的格式,那么只需要拷贝文件或文件夹就可以。
hadoop fs –cp source_path target_path
2.导出到本地文件系统
--不能使用insert into local directory来导出数据,会报错
--只能使用
- 编程之美
dcj3sjt126com
编程PHP重构
我个人的 PHP 编程经验中,递归调用常常与静态变量使用。静态变量的含义可以参考 PHP 手册。希望下面的代码,会更有利于对递归以及静态变量的理解
header("Content-type: text/plain");
function static_function () {
static $i = 0;
if ($i++ < 1
- Android保存用户名和密码
dcj3sjt126com
android
转自:http://www.2cto.com/kf/201401/272336.html
我们不管在开发一个项目或者使用别人的项目,都有用户登录功能,为了让用户的体验效果更好,我们通常会做一个功能,叫做保存用户,这样做的目地就是为了让用户下一次再使用该程序不会重新输入用户名和密码,这里我使用3种方式来存储用户名和密码
1、通过普通 的txt文本存储
2、通过properties属性文件进行存
- Oracle 复习笔记之同义词
eksliang
Oracle 同义词Oracle synonym
转载请出自出处:http://eksliang.iteye.com/blog/2098861
1.什么是同义词
同义词是现有模式对象的一个别名。
概念性的东西,什么是模式呢?创建一个用户,就相应的创建了 一个模式。模式是指数据库对象,是对用户所创建的数据对象的总称。模式对象包括表、视图、索引、同义词、序列、过
- Ajax案例
gongmeitao
Ajaxjsp
数据库采用Sql Server2005
项目名称为:Ajax_Demo
1.com.demo.conn包
package com.demo.conn;
import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;
//获取数据库连接的类public class DBConnec
- ASP.NET中Request.RawUrl、Request.Url的区别
hvt
.netWebC#asp.nethovertree
如果访问的地址是:http://h.keleyi.com/guestbook/addmessage.aspx?key=hovertree%3C&n=myslider#zonemenu那么Request.Url.ToString() 的值是:http://h.keleyi.com/guestbook/addmessage.aspx?key=hovertree<&
- SVG 教程 (七)SVG 实例,SVG 参考手册
天梯梦
svg
SVG 实例 在线实例
下面的例子是把SVG代码直接嵌入到HTML代码中。
谷歌Chrome,火狐,Internet Explorer9,和Safari都支持。
注意:下面的例子将不会在Opera运行,即使Opera支持SVG - 它也不支持SVG在HTML代码中直接使用。 SVG 实例
SVG基本形状
一个圆
矩形
不透明矩形
一个矩形不透明2
一个带圆角矩
- 事务管理
luyulong
javaspring编程事务
事物管理
spring事物的好处
为不同的事物API提供了一致的编程模型
支持声明式事务管理
提供比大多数事务API更简单更易于使用的编程式事务管理API
整合spring的各种数据访问抽象
TransactionDefinition
定义了事务策略
int getIsolationLevel()得到当前事务的隔离级别
READ_COMMITTED
- 基础数据结构和算法十一:Red-black binary search tree
sunwinner
AlgorithmRed-black
The insertion algorithm for 2-3 trees just described is not difficult to understand; now, we will see that it is also not difficult to implement. We will consider a simple representation known
- centos同步时间
stunizhengjia
linux集群同步时间
做了集群,时间的同步就显得非常必要了。 以下是查到的如何做时间同步。 在CentOS 5不再区分客户端和服务器,只要配置了NTP,它就会提供NTP服务。 1)确认已经ntp程序包: # yum install ntp 2)配置时间源(默认就行,不需要修改) # vi /etc/ntp.conf server pool.ntp.o
- ITeye 9月技术图书有奖试读获奖名单公布
ITeye管理员
ITeye
ITeye携手博文视点举办的9月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。 9月试读活动回顾:http://webmaster.iteye.com/blog/2118112本次技术图书试读活动的优秀奖获奖名单及相应作品如下(优秀文章有很多,但名额有限,没获奖并不代表不优秀):
《NFC:Arduino、Andro