- java技巧提升指南
KingDol_MIni
数据结构和算法其他技术java开发语言
面向对象开发技巧指南使用工厂模式创建对象工厂模式是一种常见的设计模式,用于创建对象,提供了一种灵活、可扩展的方式来实例化类。下面是一个简单的工厂模式的示例,展示了如何通过工厂类创建不同类型的产品对象。//产品接口interfaceProduct{voiddoSomething();}//具体产品实现类AclassConcreteProductAimplementsProduct{@Override
- 【java技巧】Java四舍五入保留小数点后两位
风筝风筝等等我
JAVA工具类java开发语言jvm
在日常开发中,我们会遇到很多数字处理,最常见的其实就是数值的四舍五入和保留两位小数,在此,我总结5中方法以供参考。方法1:Stringformat=newDecimalFormat("#.0000").format(3.1415926);System.out.println(format);输出结果为3.1416说明:#.00表示两位小数#.0000四位小数以此类推…方法2:doublef=3.1
- java 百万数据查询_JAVA技巧:Java中的大量数据查询
MC猪颈肉
java百万数据查询
解决方案一:直接使用ResultSet来处理从ResultSet中将查询结果读入collection,缓存在HttpSession或有状态bean中,翻页的时候从缓存中取出一页数据显示。这种方法有两个主要的缺点:一是用户可能看到的是过期数据;二是如果数据量非常大时第一次查询遍历结果集会耗费很长时间,并且缓存的数据也会占用大量内存,效率明显下降。对上述方法的一种改进是当用户第一请求数据查询时,就执行
- 蓝桥杯java技巧总结
某某小白
java蓝桥杯
文章目录一、数据结构1.哈希表2.堆二、对象数组排序三、时间相关1.String转Date2.Date转String(标准格式化)3.Calender类(日历,星期)4.计算时间间隔四、字符串1.int和String的互相转换2.判断一个字符串是否是回文五、BigInteger与BigDecimal1.BigInteger2.BigDecimal六、质数和公约数1.判断一个数是否是质数2.求两个数
- JAVA技巧与答疑
晴耕雨读38065
1.taglib有时候c标签不好用怎么办?把改为就是uri改成core-rt形式2.switch特殊写法casea:caseb:System.out.println();break;
- Java技巧 - 字符串拼接
子笙—望舒
java技巧java开发语言guava
一、测试用例:publicstaticvoidmain(String[]args){Listlist=newArrayListlist){StringBuilderbuilder=newStringBuilder();for(Integersub:list){builder.append(sub).append(",");}//处理末尾逗号returnbuilder.substring(0,bui
- 高效Java技巧之尽可能使用枚举代替常量
谈谈IT
springjavac#
有些类型的数据是可枚举的,比如一年的春夏秋冬四季、一年的十二个月、一周的七天,以及应用中其它可枚举的数据。有些代码中习惯使用常量来表示这些可枚举的数据,分为以下两种:int常量String常量publicstaticfinalintAPPLE_FUJI=0;publicstaticfinalintAPPLE_PIPPIN=1;publicstaticfinalintAPPLE_GRANNY_SMI
- 【java技巧】拷贝项目带的git信息清除
有猿再见
【常用工具】javagit项目管理githubsvn
右键打开gitbashhere执行命令find.-name“.git”|xargsrm-rf就清除了git版本控制信息
- idea 调试java技巧_【奇技淫巧】Intellij IDEA调试ysoserial等Java项目的方法
阿瑜诶
idea调试java技巧
原标题:【奇技淫巧】IntellijIDEA调试ysoserial等Java项目的方法用IntellijIDEA调试Java项目是研究Java安全的必备技能点,之前在其他地方分享过相关方法,这次在土司也分享一下,省点复活币。以https://github.com/frohoff/ysoserial为例,下载源码,然后用IntellijIDEA打开。如果这个项目里面包含了pom.xml文件,说明这个
- java技巧:反射判断field类型方法
小虎周
javajava二进制反射
JAVA反射机制中,Field的getModifiers()方法返回int类型值表示该字段的修饰符。其中,该修饰符是java.lang.reflect.Modifier的静态属性。对应表如下:类型int二进制PUBLIC:11PRIVATE:210PROTECTED:4100STATIC:81000FINAL:1610000SYNCHRONIZED:32100000VOLATILE:6410000
- 关于Java双大括号{{}}的具体使用
初看cgaolei翻译的Java技巧之双括弧初始化一文,走马观花,只知用法,未细看后面的解释。蔚为惊艳,心里想Java竟然有这么神奇的语法而一直未得知。因为在初始化集合时确实方便不少。原来做某些测试要初始化集合时会用到commons-lang包和JDK的Arrays工具类,现在知道可以这么用了:Mapmap=newHashMap(){{put("Name","Unmi");put("QQ","11
- Java技巧函数方法实现二维数组遍历
目录前言1.函数方法消减代码层级2.遍历中return支持前言对于数组遍历,基本上每个开发者都写过,遍历本身没什么好说的,但是当我们在遍历的过程中,有一些复杂的业务逻辑时,将会发现代码的层级会逐渐加深如一个简单的case,将一个二维数组中的偶数找出来,保存到一个列表中二维数组遍历,每个元素判断下是否为偶数,很容易就可以写出来,如:publicvoidgetEven(){int[][]cells=n
- java技巧:反射判断field类型的操作
JAVA反射机制中,Field的getModifiers()方法返回int类型值表示该字段的修饰符。其中,该修饰符是java.lang.reflect.Modifier的静态属性。对应表如下://判断是不是private类型方法publicstaticbooleanisPrivate(intmodifiers){retrurn((modifiers&0x2)!=0);}分析一下,&是按位与操作符,
- Java架构师和开发者实用工具推荐
思途科技在线
目前,Java已经受到全球数百万开发者的肯定和追捧,成为最具代表性的编程语言之一。前段时间刚刚发布的Java8完美诠释了高效和创新的特性,也为很多开发者和企业铺平了道路。不过,作为一位优秀的Java架构师和开发者,除了掌握基本的Java技巧之外,一些实用方便的工具辅助也是提升工作效率的有效方式。下面,就为大家推荐一些好用实用的Java工具和类库。CloverClover是一个很赞的工具,它能帮助测
- JAVA开发者最常去的20个英文网站
yaodi841111
JAVAjavasunibm互联网服务器blog
1.[http://www.javaalmanac.com]–Java开发者年鉴一书的在线版本.要想快速查到某种Java技巧的用法及示例代码,这是一个不错的去处.2.[http://www.onjava.com]–O’Reilly的Java网站.每周都有新文章.3.[http://java.sun.com]–官方的Java开发者网站–每周都有新文章发表.4.[http://www.develope
- 实现 Swing 的 JTables 和 Excel 间的复制和粘贴功能
wxyxl
Java
当今很多业务应用程序都是使用Java开发的,并且以后这种用Java开发的应用会更多。而在许多应用程序都使用了Swing的JTable组件,以类似电子表格的格式显示数据。如果业务应用程序可以将数据导入MicrosoftExcel和从MicrosoftExcel中导出数据,则会为用户带来方便,使用户可以使用无处不在的该电子表格程序的强大功能。此Java技巧将帮助您理解系统剪贴板,并使您的JTable能
- Java技巧——实现Comparator接口来进行字符串逆向排序
iteye_18688
//CreateaComparatorthatreturnstheoutcome//ofareversestringcomparison.classRevStrCompimplementsComparator{//Implementthecompare()methodsothatit//reversestheorderofthestringcomparison.publicintcompare(S
- JAVA开发者应该去的20个英文网站
yxtyxt3311
JAVA
http://www.javaalmanac.comJava开发者年鉴一书的在线版本.要想快速查到某种Java技巧的用法及示例代码,这是一个不错的去处.http://www.onjava.comO'Reilly的Java网站.每周都有新文章http://java.sun.com官方的Java开发者网站-每周都有新文章发表http://www.developer.com/java由Gamelan.c
- JavaScript技术
soso96
●&运算符_1.htm●·JavaScript的脆弱性_1.htm●·JavaScript技巧环绕三维文字_1.htm●·JavaScript时间显示三大心法_1.htm●·Javascript特效欣赏(一)飘雪_1.htm●·Java技巧(一)会变色的超链接_1.htm●·弹出式说明窗口---JavaScript的使用_1.htm●·第八讲WEB页面信息交互_1.htm●·第二讲JavaScri
- 【Java技巧】双括号初始化(double brace initialization)
CSRAWD
Java技巧Java
【Java技巧】双括号初始化(doublebraceinitialization)假设想要构造一个数组列表,并将它传递到一个方法:ArrayListfriends=newArrayList(){{add("Tom");add("Carry");}});说明:外层括号建立了ArrayList的一个匿名子类,内层括号则是一个对象构造块
- Java技巧------Cloneable接口与clone方法
yzsorz
java技巧
Java技巧------Cloneable接口与clone方法描述准备拷贝浅拷贝简单实现深拷贝简单实现小结描述Cloneable只起到一个描述标记的作用,这个接口没有定义任何方法或是包含其他内容。我们可以看一下源码定义。packagejava.lang;/***@authorunascribed*@seejava.lang.CloneNotSupportedException*@seejava.l
- 好用到爆的Java技巧(7年工作经验总结)
娜娜米
自2013年毕业后,今年已经是我工作的第7个年头了,总在做java相关的工作,终于有时间坐下来,写一篇关于java写法的一篇文章,来探讨一下如果你真的是一个java程序员,那你真的会写java吗?本文不是一个吹嘘的文章,不会讲很多高深的架构,相反,会讲解很多基础的问题和写法问题,如果读者自认为基础问题和写法问题都是不是问题,那请忽略这篇文章,节省出时间去做一些有意义的事情。一、开发工具不知道有多少
- 一些比较冷门但非常实用的java技巧
在开发领域中的思考
Java有很多十分有用但不太为人知道的语法只要稍微学过JavaSE便可以轻松读懂本文内容,并且在实战用派上用场1.基础写一个内部类通过生成一个和外部类的实例保持关联的实例,使得外部类的实例与内部类的实例之间,能够保持一种【类-实例】似的关系publicclassOuter{publicclassInner{}}如上写了一个内部类的话,可以像下面一样生成实例Outero=newOuter();Inn
- 大数据培训学习,面试真题HTML综合篇
weixin_44386638
大数据
大数据面试真题第五期来啦,大家的Python和Java技巧都掌握的怎么样了呢?大数据技术需要的不只是后端的架构,前端的知识也需要稍微了解一点才能和团队更好地配合。所以今天科妹给大家带来了网页前端HTML的综合面试题,快来检测一下吧。大数据培训学习认准成都科多大数据哦。(共40分,每题2分)1.HTML中的注释格式是A.<!--注释内容--!>B.<!--注释内容-->C.&
- java技巧
bielidefeng
java
java如何将unicode的char转换为bytes即对应于C++中的charprivatebooleanis_halfshaped(charuchar){byte[]bytes=newbyte[0];try{bytes=String.valueOf(uchar).getBytes("GBK");}catch(UnsupportedEncodingExceptione){e.printStack
- 【JAVA】ProcessBuilder类的介绍及使用
climy007
JAVA
【JAVA技巧】ProcessBuilder类的介绍及使用【前言】在做一个项目的时候需要用到运行时动态执行JAVA命令,一开始的思路是运行时生成bat脚本,然后通过Runtime类的exec方法之行bat脚本,但是此方法不好的地方在于脚本执行时会弹出一个cmd程序界面框。后面在参考YANG的源码时发现了另一种运行时执行JAVA命令的方法,由此延申,了解了PorcessBuilder类的作用及用法。
- 09年计算机二级辅导:计算机二级JAVA技巧(乱码解决方案)
zmx955
2012年6月乱码
1、JVM中缺省字符集或者在环境变量中配置JAVA_OPTS=%JAVA_OPT%;-Dfile.encoding=GBK-Duser.language=zh_CN或者在Tomcat的启动脚本中配置JAVA_OPTS=%JAVA_OPT%;-Dfile.encoding=GBK-Duser.language=zh_CN2、Tomcat的URIEncoding,处理GET方式的乱码问题在server
- java技巧大全
yown
javastringjavamailjspimport数据库
汉字处理问题。在其他的文章里曾说到在中文NT环境下如下语句输出会得到乱码,及out.print(/"你好/");等。解决方法是只要对字符串变量进行编码就可以得到正确结果,如下代码可以得到正确的输出:或者关于sql语句汉字问题,例句为select*fromtestwheretitle='谁是傻瓜'在jdbc-odbc驱动下连db2,不管是原句还是对sql语句进行编码后都死活通不过。换了ibm的jdb
- 高效Java技巧重写equals方法时应当重写hashCode方法
潘建南
Java
转自:http://tantanit.com/java-always-override-hashcode-when-override-equals/hashCode需满足的条件当equals方法中涉及的参数没有改变时,hashCode应保持不变如果根据equals方法,两个对象是相等的,那么这两个对象的hashCode应该一样两个对象如果不相等,hashCode不强制要求不一样,但是如果能保证不一
- JAVA技巧心得:学Java切忌浮躁!
java大湿兄
第一点:.欲速则不达,初学者请不要被新技术迷惑,先把基础学扎实。JAVA的基础入门教材完全是老师自已编写,配合有视频讲解,大家可以免费索取,并不是它说了多少知识,多少api.它只说了更多的“基础知识”第二点:要扎扎实实,一步一个脚印的逐步学习,不要想着一步登天。给自己定一个学习流程,按照流程学习。不要看到大家都在学ejb了,就去学ejb.发现大家又在讨论struts,又放下EJB去学struts.
- 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