- Java 入门指南:Java NIO —— Buffer(缓冲区)
ZachOn1y
Javajavanio个人开发后端java-ee团队开发
NIO的引入在传统的JavaI/O模型(BIO)中,I/O操作是以阻塞的方式进行的。当一个线程执行一个I/O操作时,它会被阻塞直到操作完成。这种阻塞模型在处理多个并发连接时可能会导致性能瓶颈,因为需要为每个连接创建一个线程,而线程的创建和切换都是有开销的。为了解决这个问题,在Java1.4版本引入了NIO(NewI/OorNon-BlockingI/O)java.nio。提供了一种基于缓冲区、选择
- Java 入门指南:Java NIO —— Channel(通道)
ZachOn1y
Javajavanio后端个人开发java-ee服务器团队开发
NIO的引入在传统的JavaI/O模型(BIO)中,I/O操作是以阻塞的方式进行的。当一个线程执行一个I/O操作时,它会被阻塞直到操作完成。这种阻塞模型在处理多个并发连接时可能会导致性能瓶颈,因为需要为每个连接创建一个线程,而线程的创建和切换都是有开销的。为了解决这个问题,在Java1.4版本引入了NIO(NewI/OorNon-BlockingI/O)java.nio。提供了一种基于缓冲区、选择
- Java NIO初体验
盼来一朵云
javanio
概述由于BIO(同步阻塞IO)对系统资源的浪费较大。Java1.4中引⼊了NIO框架,在java.nio包中提供了Channel、Selector、Buffer等抽象类,可以快速构建多路复⽤的IO程序,⽤于提供更接近操作系统底层的⾼性能数据操作⽅式。NIO(NonBlockingIO)是同步⾮阻塞的IO,服务器可以使⽤⼀个线程来处理多个客户端请求,客户端发送的请求会注册到多路复⽤器Selector
- Netty开篇——NIO章上(三)
ProMan_XY
Nettyniojava
JavaNIO基本介绍javanon-blockingI/O称为NIO(也叫NewIO)。JDK4开始提供,同步非阻塞相关内容在java.nio包及子包下,对java.io包中的很多类进行改写。三大核心:Channel(通道),Buffer(缓冲区),Selector(选择器)NIO是面向缓冲区或者面向块编程的。数据读取到一个它后处理的缓冲区,需要时可在缓冲区中前后移动,这就增加了处理过程中的灵活
- xnio java_java基础篇---新I/O技术(NIO)
大头蚊香蛙
xniojava
在JDK1.4以前,I/O输入输出处理,我们把它称为旧I/O处理,在JDK1.4开始,java提供了一系列改进的输入/输出新特性,这些功能被称为新I/O(NEWI/O),新添了许多用于处理输入/输出的类,这些类都被放在java.nio包及子包下,并且对原java.io包中的很多类以NIO为基础进行了改写,新添了满足新I/O的功能。JavaNIO和IO的主要区别IONIO面向流面向缓冲阻塞IO非阻塞
- NIO快速入门
VirtualR
1.定义java.nio全称javanon-blockingIO,是指JDK1.4及以上版本里提供的新api为所有的原始类型(boolean类型除外)提供缓存支持的数据容器,使用它可以提供非阻塞式的高伸缩性网络2.为什么使用NIO上面说到,是在JDK1.4以上才提供NIO,那在之前就是BIO(阻塞式IO),也就是我们常用的IO流。在使用BIO的时候,我们的主线程会进入到阻塞状态,这就非常影响程序的
- NIO的实战教程(简单且高效)
后端漫漫
12万字Java面经总结niojava
1.参考建议按顺序阅读以下三篇文章为什么NIO被称为同步非阻塞?JavaIO与NIO:高效的输入输出操作探究【Java.NIO】Selector,及SelectionKey2.实战我们将模拟一个简单的HTTP服务器,它将响应客户端请求并返回一个固定的响应(”Hello,World!”)。我们将使用IO和NIO两种不同的方式实现此服务器。2.1传统阻塞IOimportjava.io.*;public
- Android OpenGL ES 开发中的Buffer使用
长何
为了提高性能,通常将顶点,颜色等值存放在java.nio包中定义的Buffer类中。例:ByteBuffervbbByteBuffer.allocateDirect(vertices.length*4);vbb.order(ByteOrder.nativeOrder());vertexBuffer=vbb.asFloatBuffer();vertexBuffer.put(vertices);ver
- 第三章 第一节JavaNIO编程
--believe
Nettynio
1.JavaNIO基本介绍JavaNIO(Non-blockingIO)指JDK提供新的API.从JDK1.4开始,java提供了一系列改进IO的新特性,被统称为NIO,是同步非阻塞的。NIO相关类和接口都放在java.nio包及其子包下面,并且对java.io包中很多类进行了改写。NIO有三大核心部分:Channel(通道),Buffer(缓冲区),Selector(选择器)NIO是面向缓冲区的
- BIO,NIO,AIO区别
小百菜
javajavanioaiobio
1、BIO(BlockingIO)同步阻塞IO,在java.io包下,也就是传统的io,平时就是使用的就是这个。2、NIO(NewIO或者Non-blockingIO)同步非阻塞IO,在java.nio包下,NIO中的N可以理解为Non-blocking,所以nio也叫Non-blockingIO。3、AIO(AsynchronousIO或者NIO2)异步非阻塞IO,AIO也就是NIO2,是NIO
- java nio bio aio_BIO NIO AIO区别
梁兴扬
javaniobioaio
介绍BIO就是传统的java.io包,它是基于流模型实现的,交互的方式是同步、阻塞方式,也就是说在读入输入流或者输出流时,在读写动作完成之前,线程会一直阻塞在那里,它们之间的调用时可靠的线性顺序。它的有点就是代码比较简单、直观;缺点就是IO的效率和扩展性很低,容易成为应用性能瓶颈。NIO是Java1.4引入的java.nio包,提供了Channel、Selector、Buffer等新的抽象,可以构
- java中io的面试_Java面试技能树10—IO
weixin_39676034
java中io的面试
1.简介1.1IO分类JavaIO一般包含两个部分:http://java.io的阻塞型IO和java.nio的非阻塞型IO,即NIO。系统运行的瓶颈一般在于IO操作,一般打开某个IO通道需要大量的时间,同时端口中不一定就有足够的数据,这样read方法就一直等待读取此端口的内容,从而浪费大量的系统资源。使用java的多线程技术在当前进程中创建线程也是要花费一定的时间和系统资源的,因此不一定可取。J
- 三、Java NIO 编程
IT小学僧
Nettynetty
3.1、JavaNIO基本介绍JavaNIO全称javanon-blockingIO,是指JDK提供的新API。从JDK1.4开始,Java提供了一系列改进的输入/输出的新特性,被统称为NIO(即NewIO),是同步非阻塞的NIO相关类都被放在java.nio包及子包下,并且对原java.io包中的很多类进行改写。NIO有三大核心部分:Channel(通道),Buffer(缓存区),Selecto
- java中的NIO,BIO,AIO
盖丽男
javalinuxjavaniojvm
IO,input和output,Java为I/O提供了强大的而灵活的支持,使其更广泛地应用到文件传输和网络编程中。IO是什么?为什么需要IO?java在1.4之前,提供的是BIO,也就是java.io包下的的东西,同步阻塞。在1.4之后,提供了NIO(NewIO),在java.nio包下,同步非阻塞。在java7,提供了AIO,也在java.nio.channels包下,只不过新增了几个异步通道,
- java NIO
浪浪的程序猿
Android开发java基础javaniojvm
1.介绍下Javanio和ioJavaI/O(Input/Output)是Java编程语言中用于读写数据的API。它的主要组成部分是java.io包,其中包含了用于处理输入/输出的流、文件、缓冲区和其他对象。JavaNIO(NewInput/Output)是Java编程语言中的一个新的I/OAPI,它是Java1.4中引入的。它的主要组成部分是java.nio包,其中包含了用于处理输入/输出的通道
- 双亲委派模型
随波逐流0214
JVM中内置了三个重要的ClassLoader,分别是BootstrapClassLoader、ExtensionClassLoader和AppClassLoader。BootstrapClassLoader负责加载JVM运行时核心类,这些类位于$JAVA_HOME/lib/rt.jar文件中,我们常用内置库java.xxx.*都在里面,比如java.util.、java.io.、java.nio
- Java NIO模型(提供代码示例)
kerwin_code
javajavanio开发语言
目录一、NIO特点介绍二、NIO代码实现2.1、客户端代码2.2、服务端代码一、NIO特点介绍NIO全称javanon-blockingIO。从JDK1.4开始,java提供了一些列改进的输入/输出(I/O)的新特性,被称为NIO,是同步非阻塞的,NIO相关类都被放在java.nio包及其子包下。NIO是面向缓冲区的,或者面向块编程的,数据读取到一个它稍后处理的缓冲区,需要时可在缓冲区内前后移动,
- Okio笔记
AndroidMaster
Okio笔记一、基本认识Okio库是一个由square公司开发的,它补充了java.io和java.nio的不足,以便能够更加方便,快速地访问、存储和处理数据。而OkHttp的底层也使用该库作为支持。而在开发中,使用该库可以大大的带来方便。Okio中有两个关键的接口,Sink和Source,这两个接口都继承了Closeable接口;而Sink可以简单的看做OutputStream,Source可以
- 网络IO模型演进02——NIO模型示例
songyuequan
ionio
1.简介NIO全称NonBlockingIO,也就是非阻塞IO,这里的阻塞体现在两个方面,accept内核分配的Socket资源后,非阻塞的等待客户端的连接读取客户端发送的数据时是非阻塞的对于Java来讲,nio指的是newio,也就是说java.nio包里的类,可以是阻塞的,也可以是非阻塞的。2.笔者环境Ubuntu18.04JDK1.83.示例代码vimSocketNIONonBlocking
- NIO详解以及NIO的文件IO操作
忘不掉就记着吧
IOnioio
一、NIO概述java.nio全称javanon-blockingIO,是指JDK1.4开始提供的新API。从JDK1.4开始,Java提供了一系列改进的输入/输出的新特性,被统称为NIO(即NewIO)。新增了许多用于处理输入输出的类,这些类都被放在java.nio包及子包下,并且对原java.io包中的很多类进行改写,新增了满足NIO的功能。NIO和BIO有着相同的目的和作用,但是它们的实现方
- Netty笔记
DO your like
java
NIO介绍全程javanon-blockingIO,是JDK提供的新API。从1.4开始,提供了一系列改进的输入、输出特性,被统称为NIO,即同步非阻塞NIO相关类放到了java.nio下,并且对原java.io包中的很多了进行了改写NIO三大组件:Channel,Buffer,SelectorNIO是面向缓冲区,或者面向块的编程。增加了处理的灵活性,实现了同步通信的非阻塞NIO和BIO的比较BI
- 获取对象占用内存
yicj
java
添加依赖org.apache.lucenelucene-core4.0.0添加vm启动参数--add-opensjava.base/java.lang=ALL-UNNAMED--add-opensjava.base/java.util=ALL-UNNAMED--add-opensjava.base/java.nio=ALL-UNNAMED--add-opensjava.base/sun.nio.c
- nio之buffer
mryujin
缓冲区(Buffer)一个用于特定基本数据类型的容器。由java.nio包定义的,所有缓冲区都是Buffer抽象类的子类。JavaNIO中的Buffer主要用于与NIO通道进行交互,数据是从通道读入缓冲区,从缓冲区写入通道中的。常见的bufferBuffer就像一个数组,可以保存多个相同类型的数据。根据数据类型不同(boolean除外),有以下Buffer常用子类:ByteBufferCharBu
- Java输入输出(1)--文件
Kylin824
Java的IO通过java.io包下的类和接口来支持输入、输出两种IO流又可分为字节流和字符流两大类Java的IO流使用了一种装饰器设计模式,将IO流分成底层节点流和上层处理流。Java7在java.nio及其子包下提供了全新的API,称为NIO21、File类:使用文件路径字符串来创建File实例(相对路径或绝对路径)文件名相关的方法:获得File对象的文件名、路径名、绝对路径、父目录、重命名本
- Java核心类库上篇
青山常客
第十一章常用类的概述和使用11.1常用包11.1.1包名和名称java.lang包,由虚拟机自动导入java.util包,包含集合框架,一些国际化支持类,服务加载程序,属性,随机数生成,字符串解析和扫描类,base64编码和解码,位数组以及几个其他实用程序类。java.math包,提供用于执行任意精度整数算术(BigInteger)和任意精度十进制算术(BigDecimal)的类java.nio定
- 「高并发通信框架Netty4 源码解读(三)」NIO缓冲区Buffer详解
源码之路
我们以Buffer类开始我们对java.nio软件包的浏览历程。这些类是java.nio的构基础。我们将深入研究缓冲区,了解各种不同的类型,并学会怎样使用。到那时我们将明了java.nio缓冲区是如何与java.nio.channels这一通道类相联系的。1.前言一个Buffer对象是固定数量的数据的容器。其作用是一个存储器,或者分段运输区,在这里数据可被存储并在之后用于检索。缓冲区如我们在上一篇
- 2023年Java核心技术面试第七篇(篇篇万字精讲)
平凡@之路
面试职场和发展
目录十二.Java提供了哪些IO方式?NIO如何实现多路复用?12.1典型回答:12.1.1传统的java.io包:12.1.2Java1.4中引入NIO(java.nio包):12.1.2.1详细解释:12.1.2.2多路复用的,同步非阻塞IO解释:12.1.3Java7,NIO的改进:NIO2(AIO)12.1.3.1详细解释:12.1.3.2偏底层解释:12.2考点分析:12.3小结:12.
- Java IO 流处理
巴巴11
1流式输入/输出原理数据以字节或者字符的形式,通过流(节点流/处理流)进行输入输出。java.io包(阻塞)java.nio包(非阻塞,jdk5)2输入流和输出流根据数据从程序角度来看,从文件里读数据叫输入流,写文件叫输出流。一个字节为单位的读写,叫字节流。一个字符为单位的读写,叫字节流。注意:一个字节为8bit,一个字符是2个字节(一个汉字是一个字符,读汉字的时候建议字符流)。InputStre
- 4.Spring Boot文件上传示例
长生藤
创建一个新模块项目新项目添加web、thymeleaf依赖web依赖thymeleaf依赖配置上传属性application.properties,指定上传文件大小限制等#文件上传配置spring.servlet.multipart.max-file-size=100MB编写Controller,通过java.nio实现文件上传@ControllerpublicclassUploadControl
- NIO 非阻塞式IO
有头发还能学
nio
NIOJavaNIO基本介绍JavaNIO全称Javanon-blockingIO,是指JDK提供的新API。从JDK1.4开始,Java提供了一系列改进的输入/输出的新特性,被统称为NIO(即NewIO),是同步非阻塞的。NIO相关类都被放在java.nio包及子包下,并且对原java.io包中的很多类进行改写。NIO有三大核心部分:Channel(通道)、Buffer(缓冲区)、Selecto
- ASM系列四 利用Method 组件动态注入方法逻辑
lijingyao8206
字节码技术jvmAOP动态代理ASM
这篇继续结合例子来深入了解下Method组件动态变更方法字节码的实现。通过前面一篇,知道ClassVisitor 的visitMethod()方法可以返回一个MethodVisitor的实例。那么我们也基本可以知道,同ClassVisitor改变类成员一样,MethodVIsistor如果需要改变方法成员,注入逻辑,也可以
- java编程思想 --内部类
百合不是茶
java内部类匿名内部类
内部类;了解外部类 并能与之通信 内部类写出来的代码更加整洁与优雅
1,内部类的创建 内部类是创建在类中的
package com.wj.InsideClass;
/*
* 内部类的创建
*/
public class CreateInsideClass {
public CreateInsideClass(
- web.xml报错
crabdave
web.xml
web.xml报错
The content of element type "web-app" must match "(icon?,display-
name?,description?,distributable?,context-param*,filter*,filter-mapping*,listener*,servlet*,s
- 泛型类的自定义
麦田的设计者
javaandroid泛型
为什么要定义泛型类,当类中要操作的引用数据类型不确定的时候。
采用泛型类,完成扩展。
例如有一个学生类
Student{
Student(){
System.out.println("I'm a student.....");
}
}
有一个老师类
- CSS清除浮动的4中方法
IT独行者
JavaScriptUIcss
清除浮动这个问题,做前端的应该再熟悉不过了,咱是个新人,所以还是记个笔记,做个积累,努力学习向大神靠近。CSS清除浮动的方法网上一搜,大概有N多种,用过几种,说下个人感受。
1、结尾处加空div标签 clear:both 1 2 3 4
.div
1
{
background
:
#000080
;
border
:
1px
s
- Cygwin使用windows的jdk 配置方法
_wy_
jdkwindowscygwin
1.[vim /etc/profile]
JAVA_HOME="/cgydrive/d/Java/jdk1.6.0_43" (windows下jdk路径为D:\Java\jdk1.6.0_43)
PATH="$JAVA_HOME/bin:${PATH}"
CLAS
- linux下安装maven
无量
mavenlinux安装
Linux下安装maven(转) 1.首先到Maven官网
下载安装文件,目前最新版本为3.0.3,下载文件为
apache-maven-3.0.3-bin.tar.gz,下载可以使用wget命令;
2.进入下载文件夹,找到下载的文件,运行如下命令解压
tar -xvf apache-maven-2.2.1-bin.tar.gz
解压后的文件夹
- tomcat的https 配置,syslog-ng配置
aichenglong
tomcathttp跳转到httpssyslong-ng配置syslog配置
1) tomcat配置https,以及http自动跳转到https的配置
1)TOMCAT_HOME目录下生成密钥(keytool是jdk中的命令)
keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit
- 关于领号活动总结
alafqq
活动
关于某彩票活动的总结
具体需求,每个用户进活动页面,领取一个号码,1000中的一个;
活动要求
1,随机性,一定要有随机性;
2,最少中奖概率,如果注数为3200注,则最多中4注
3,效率问题,(不能每个人来都产生一个随机数,这样效率不高);
4,支持断电(仍然从下一个开始),重启服务;(存数据库有点大材小用,因此不能存放在数据库)
解决方案
1,事先产生随机数1000个,并打
- java数据结构 冒泡排序的遍历与排序
百合不是茶
java
java的冒泡排序是一种简单的排序规则
冒泡排序的原理:
比较两个相邻的数,首先将最大的排在第一个,第二次比较第二个 ,此后一样;
针对所有的元素重复以上的步骤,除了最后一个
例题;将int array[]
- JS检查输入框输入的是否是数字的一种校验方法
bijian1013
js
如下是JS检查输入框输入的是否是数字的一种校验方法:
<form method=post target="_blank">
数字:<input type="text" name=num onkeypress="checkNum(this.form)"><br>
</form>
- Test注解的两个属性:expected和timeout
bijian1013
javaJUnitexpectedtimeout
JUnit4:Test文档中的解释:
The Test annotation supports two optional parameters.
The first, expected, declares that a test method should throw an exception.
If it doesn't throw an exception or if it
- [Gson二]继承关系的POJO的反序列化
bit1129
POJO
父类
package inheritance.test2;
import java.util.Map;
public class Model {
private String field1;
private String field2;
private Map<String, String> infoMap
- 【Spark八十四】Spark零碎知识点记录
bit1129
spark
1. ShuffleMapTask的shuffle数据在什么地方记录到MapOutputTracker中的
ShuffleMapTask的runTask方法负责写数据到shuffle map文件中。当任务执行完成成功,DAGScheduler会收到通知,在DAGScheduler的handleTaskCompletion方法中完成记录到MapOutputTracker中
- WAS各种脚本作用大全
ronin47
WAS 脚本
http://www.ibm.com/developerworks/cn/websphere/library/samples/SampleScripts.html
无意中,在WAS官网上发现的各种脚本作用,感觉很有作用,先与各位分享一下
获取下载
这些示例 jacl 和 Jython 脚本可用于在 WebSphere Application Server 的不同版本中自
- java-12.求 1+2+3+..n不能使用乘除法、 for 、 while 、 if 、 else 、 switch 、 case 等关键字以及条件判断语句
bylijinnan
switch
借鉴网上的思路,用java实现:
public class NoIfWhile {
/**
* @param args
*
* find x=1+2+3+....n
*/
public static void main(String[] args) {
int n=10;
int re=find(n);
System.o
- Netty源码学习-ObjectEncoder和ObjectDecoder
bylijinnan
javanetty
Netty中传递对象的思路很直观:
Netty中数据的传递是基于ChannelBuffer(也就是byte[]);
那把对象序列化为字节流,就可以在Netty中传递对象了
相应的从ChannelBuffer恢复对象,就是反序列化的过程
Netty已经封装好ObjectEncoder和ObjectDecoder
先看ObjectEncoder
ObjectEncoder是往外发送
- spring 定时任务中cronExpression表达式含义
chicony
cronExpression
一个cron表达式有6个必选的元素和一个可选的元素,各个元素之间是以空格分隔的,从左至右,这些元素的含义如下表所示:
代表含义 是否必须 允许的取值范围 &nb
- Nutz配置Jndi
ctrain
JNDI
1、使用JNDI获取指定资源:
var ioc = {
dao : {
type :"org.nutz.dao.impl.NutDao",
args : [ {jndi :"jdbc/dataSource"} ]
}
}
以上方法,仅需要在容器中配置好数据源,注入到NutDao即可.
- 解决 /bin/sh^M: bad interpreter: No such file or directory
daizj
shell
在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。
分析:这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。
解决:
1)在windows下转换:
利用一些编辑器如UltraEdit或EditPlus等工具
- [转]for 循环为何可恨?
dcj3sjt126com
程序员读书
Java的闭包(Closure)特征最近成为了一个热门话题。 一些精英正在起草一份议案,要在Java将来的版本中加入闭包特征。 然而,提议中的闭包语法以及语言上的这种扩充受到了众多Java程序员的猛烈抨击。
不久前,出版过数十本编程书籍的大作家Elliotte Rusty Harold发表了对Java中闭包的价值的质疑。 尤其是他问道“for 循环为何可恨?”[http://ju
- Android实用小技巧
dcj3sjt126com
android
1、去掉所有Activity界面的标题栏
修改AndroidManifest.xml 在application 标签中添加android:theme="@android:style/Theme.NoTitleBar"
2、去掉所有Activity界面的TitleBar 和StatusBar
修改AndroidManifes
- Oracle 复习笔记之序列
eksliang
Oracle 序列sequenceOracle sequence
转载请出自出处:http://eksliang.iteye.com/blog/2098859
1.序列的作用
序列是用于生成唯一、连续序号的对象
一般用序列来充当数据库表的主键值
2.创建序列语法如下:
create sequence s_emp
start with 1 --开始值
increment by 1 --増长值
maxval
- 有“品”的程序员
gongmeitao
工作
完美程序员的10种品质
完美程序员的每种品质都有一个范围,这个范围取决于具体的问题和背景。没有能解决所有问题的
完美程序员(至少在我们这个星球上),并且对于特定问题,完美程序员应该具有以下品质:
1. 才智非凡- 能够理解问题、能够用清晰可读的代码翻译并表达想法、善于分析并且逻辑思维能力强
(范围:用简单方式解决复杂问题)
- 使用KeleyiSQLHelper类进行分页查询
hvt
sql.netC#asp.nethovertree
本文适用于sql server单主键表或者视图进行分页查询,支持多字段排序。KeleyiSQLHelper类的最新代码请到http://hovertree.codeplex.com/SourceControl/latest下载整个解决方案源代码查看。或者直接在线查看类的代码:http://hovertree.codeplex.com/SourceControl/latest#HoverTree.D
- SVG 教程 (三)圆形,椭圆,直线
天梯梦
svg
SVG <circle> SVG 圆形 - <circle>
<circle> 标签可用来创建一个圆:
下面是SVG代码:
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<circle cx="100" c
- 链表栈
luyulong
java数据结构
public class Node {
private Object object;
private Node next;
public Node() {
this.next = null;
this.object = null;
}
public Object getObject() {
return object;
}
public
- 基础数据结构和算法十:2-3 search tree
sunwinner
Algorithm2-3 search tree
Binary search tree works well for a wide variety of applications, but they have poor worst-case performance. Now we introduce a type of binary search tree where costs are guaranteed to be loga
- spring配置定时任务
stunizhengjia
springtimer
最近因工作的需要,用到了spring的定时任务的功能,觉得spring还是很智能化的,只需要配置一下配置文件就可以了,在此记录一下,以便以后用到:
//------------------------定时任务调用的方法------------------------------
/**
* 存储过程定时器
*/
publi
- ITeye 8月技术图书有奖试读获奖名单公布
ITeye管理员
活动
ITeye携手博文视点举办的8月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。
8月试读活动回顾:
http://webmaster.iteye.com/blog/2102830
本次技术图书试读活动的优秀奖获奖名单及相应作品如下(优秀文章有很多,但名额有限,没获奖并不代表不优秀):
《跨终端Web》
gleams:http