- 下载github patch到本地
小米人er
我的博客gitpatch
以下是几种从GitHub上下载以.patch结尾的补丁文件的方法:通过浏览器直接下载打开包含该.patch文件的GitHub仓库。在仓库的文件列表中找到对应的.patch文件。点击该文件,浏览器会显示文件的内容,在页面的右上角通常会有一个“Raw”按钮,点击它可以获取原始文件内容。然后在浏览器中使用快捷键(如Ctrl+S或者Command+S)将原始文件保存到本地,选择保存的文件名并确保后缀为.p
- Redis系列:Geo 类型赋能亿级地图位置计算
Ly768768
redisbootstrap数据库
1前言我们在篇深刻理解高性能Redis的本质的时候就介绍过Redis的几种基本数据结构,它是基于不同业务场景而设计的:动态字符串(REDIS_STRING):整数(REDIS_ENCODING_INT)、字符串(REDIS_ENCODING_RAW)双端列表(REDIS_ENCODING_LINKEDLIST)压缩列表(REDIS_ENCODING_ZIPLIST)跳跃表(REDIS_ENCODI
- mac电脑命令行获取电量
小米人er
我的博客macos命令行
在macOS上,有几个命令行工具可以用来获取电量信息,最常用的是pmset命令。你可以通过以下方式来查看电池状态和电量信息:查看电池状态:pmset-gbatt这个命令会返回类似下面的输出:Nowdrawingfrom'BatteryPower'-InternalBattery-0(id=1234567)95%;discharging;4:02remainingpresent:true输出中包括电
- 00. 这里整理了最全的爬虫框架(Java + Python)
有一只柴犬
爬虫系列爬虫javapython
目录1、前言2、什么是网络爬虫3、常见的爬虫框架3.1、java框架3.1.1、WebMagic3.1.2、Jsoup3.1.3、HttpClient3.1.4、Crawler4j3.1.5、HtmlUnit3.1.6、Selenium3.2、Python框架3.2.1、Scrapy3.2.2、BeautifulSoup+Requests3.2.3、Selenium3.2.4、PyQuery3.2
- 大模型训练数据库Common Crawl
WindyChanChan
数据集语言模型数据库
CommonCrawl介绍CommonCrawl是一个非营利组织,致力于通过大规模分布式爬虫系统定期抓取整个Web并将其存储在一个可公开访问的数据库中。CommonCrawl的数据收集和处理过程包括使用Python开源爬虫工具收集全球范围内的网站数据,并将其上传到CommonCrawl基金会的数据仓库中。该项目从2008年开始,至今已经积累了大量的原始网页数据、元数据和文本提取数据。这些数据
- 使用FPGA接收MIPI CSI RX信号并进行去抖动、RGB转YUV处理:FX3014 USB3.0 UVC传输与帧率控制源代码,FPGA实现MIPI CSI RX接收,去Debayer, RGB转
kVfINoSzdrt
fpga开发程序人生
fpgamipicsirx接收去debayer,rgb转yuv,fx3014usb3.0uvc传输与帧率控制源代码,具体架构看图,除dphy物理层外,mipi均为源码sensorimx219mipi源码mipi4lanecsirxraw10fpgamachXO3lf-690usb3.0fx301432bityuvdatawithframesync测试模式3280*246415fps1920*108
- 关于UI刷新重绘
草帽小子J
最近做了一个关于用户雷达图的需求,有用到关于ui绘制相关的东西,于是去了解了下关于invalidate()、postInvalidate()、requestLayout()的知识。invalidate该方法会请求重绘view树,即draw(),刷新UI,并且不会调用onMeasure(),谁调用重绘谁,ViewGroup则重绘整个ViewGroup.一般会触发invalidate的主要为如下几种方
- 【Python】【Opencv】cv2.findContours()、cv2.drawContours()和cv2.contourArea()函数详解和运行示例
木彳
Python学习和使用过程积累pythonopencv开发语言人工智能计算机视觉
为帮助大家理解和使用cv2.findContours()、cv2.drawContours()和cv2.contourArea()函数,本文通过对函数内容进行详解,并通过运行示例更直观表述。函数解析cv2.findContours()cv2.drawContours()cv2.contourArea()运行示例运行示例示例详解函数解析cv2.findContours()cv2.findContou
- 63岁狂撩20岁小鲜肉,72岁拥有27岁火辣身材,身价40亿的她到底有多狂?
生活新青年
你能想象你70岁的时候是什么样子吗?或是白发苍苍,或是步履蹒跚?有这样一位女性,72岁的背影犹如17岁的少女。不少网友感叹:“17岁也未必会有这么好的身材。”不过照骗毕竟是照骗,有网友扒出她朋友晒的未精修图。与精修图还是差距很大的,不过有一说一,颜值虽然稍有出入,但在一个该叫奶奶的年龄——72岁,有这样的状态和身材,真的非常不容易。而这位高龄“少女”就是王薇薇,又名Verawang,不是明星却被很
- ROS yaml参数文件的使用
Sun Shiteng
ROS
举个例子,若在params.yaml文件中定义如下参数LidarImageFusion:points_src:"/hilbert_h/deskew/cloud_info"image_src:"/usb_cam0/image_raw"camera_info_src:"/home/hdj/fusion_slam/Color_SLAM_ws/src/hilbert_h/config/firefly_8s
- [补]Lan的ScalersTalk第四轮新概念朗读持续力训练Day 235 20190530
孙岚_9ff8
练习材料:任务配置:L0+L1+L4知识笔记:industriousadj.勤奋的;勤劳的;忙碌的;over-punctual网络过分早到的人;trialn.(法院的)审讯,审理,审判;(对能力、质量、性能等的)试验,试用;预赛;选拔赛;v.测试(能力、质量、性能等);试验;试用;nuisancen.麻烦事;讨厌的人(或东西);妨害行为;drawingn.图画;素描画;绘画(艺术);制图(技巧);
- Linux从入门到开发实战(C/C++)Day12-ICMP协议
黒井深
linuxc语言c++
ICMP协议:InternetControlMessageProtocol网络控制报文协议作用:用来检测网络是否畅通ping命令实现流程:1.创建socketTCP:SOCK_STREAMUDP:SOCK_DGRAMICMP:SOCK_RAWSOCK_PACKETicmp协议只有root用户可以创建2.设置套字节setsockopt3.设置接收ip4.打包准备好要发送的数据包5.发包6.收包7.解
- 【RKNN系列】常用函数:使用RGA加速画框
jcfszxc
RKNN系列Rockchiprknn-toolkit2c++RKNN
以下是针对convert_and_draw_rectangle函数的详细使用说明:convert_and_draw_rectangle函数功能在给定的图像数据上使用RGA(RockchipGraphicsAcceleration)绘制矩形框。语法IM_STATUSconvert_and_draw_rectangle(uint8_t*dst_data,intwidth,intheight,const
- 【渲染教程】用blender和Zbrush创作一只巨蟹怪兽!
Renderbus瑞云渲染农场
渲染知识zbrush3d渲染blender
BY:ABBYCRAWFORD嗨,大家好,我是来自墨西哥奥里萨巴(Orizaba)的Javi。现在我还是一名软件工程专业的学生,但是我对电影业充满热情,并希望成为电影行业从业者的一部分。我在2019年7月首次接触3D行业,但在2020年,我决定开始认真的学习3D行业并开始接受一些在线课程。我一直在使用Crehana和Domestika,但主要是在网络上,在那里我发现了很多很棒的内容,这些几乎教会了
- 安卓实现微信聊天气泡
温正实
android微信
一搜没一个能用的,我来:布局文件:-->左边气泡drawable文件:右边气泡drawable文件:
- C# DrawString 水平及垂直居中
小黄人软件
C#c#
publicstaticBitmapgetPictureIMEI(stringtemplatePathName,stringimei){try{Bitmapbmp=newBitmap(templatePathName);Graphicsg=Graphics.FromImage(bmp);Fontf=newFont("Arial",12,FontStyle.Bold);RectangleFrect=
- python类变量初始化_python中用函数初始化类变量 | 学步园
weixin_39573512
python类变量初始化
今天在写python的时候遇到一个问题:定义了一个list类型的类变量,但是这个list需要在初始化的时候给它加很多的url进去.这样的话我们就需要用倒函数了.结果自己刚开始这样写的:classTianyaSpider(CrawlSpider):definit_start():url_l=u'http://search.tianya.cn/s?tn=sty&rn=10&pn='url_r=u'&s
- 2018-11-13
hongmei_yoyo
1)这本书主要写的是传统出版业和数字出版业之间有趣的相似性。Thebookdrawsinterestingparallelsbetweentraditionalpublishinganddigitalpublishing.2)场景:苏杭两城市有很多相似处。造句:WhenIvisitedHangzhou,IsawmanystrikingparallelsbetweenHangzhouandSuzho
- Python——渐变色
星和月
python
在Python的turtle模块中,可以使用colorsys库来创建渐变色。importturtleimportcolorsysdefdraw_gradient(start_color,end_color):screen=turtle.Screen()screen.colormode(255)turtle.speed(0)turtle.penup()turtle.goto(-200,-200)tu
- 迪士尼疫情期间利润骤降
我是聪
CruisingforabruisingBettingbigonthethemeparksandresortshadpaidoff-untilthisyear第一段Alongtimeagoinagalaxyfar,faraway-February,tobeprecise-BobIgerquitasheadofawildlysuccessfulcompany.Disneyruledtheboxoff
- mac的基本配置
奋起的菜鸟想暴富
macos
安装Homebrew通常情况下我们选择使用brew作为macOS上的包依赖管理工具,安装brew请在shell中执行:/bin/bash-c"$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install.sh)"在安装完成brew之后,我们可以可以随时通过brewinstall命令来安装各式各样的软件包。若
- python中对话框样式使用案例例举
数字化信息化智能化解决方案
java前端服务器
在Python中,有多种方式可以创建对话框。下面是使用tkinter库创建一个简单的对话框的例子:python复制代码importtkinterastkfromtkinterimportmessagebox#创建主窗口root=tk.Tk()root.withdraw()#隐藏主窗口#创建对话框messagebox.showinfo("标题","这是一个信息对话框")#显示信息对话框message
- Java 类型擦除机制详解
项目笔记与工具库
java开发语言
Java的类型擦除机制(TypeErasure)是Java泛型中一个非常重要的特性。通过类型擦除,Java既实现了泛型功能,又能保持与旧版本的向后兼容性。本文将详细介绍Java类型擦除机制的工作原理、步骤、影响以及相关示例。什么是类型擦除?类型擦除是指在编译时,Java编译器会将泛型类型转换为原始类型(rawtype),并删除或替换与类型参数相关的类型信息。换句话说,在编译后的字节码中,泛型的具体
- 移动应用-音视频播放
绚烂的萤火
移动开发android音视频
一.音频1.Mediaplayer设置数据源的三种方式:应用自带的音频,SD卡中的音频、网络音频MediaPlayerplayer=newMediaPlayer();player=Mediaplayer.create(this,R.raw.XX);player=MediaPlayer.setDatasource("SD卡路径/网络路径");设置按钮并添加监听事件,实现音乐的播放、暂停2.Sound
- MxGraph上下文按钮实现
随风九天
前端mxgraph浮动按钮
1介绍mxGraph是一个强大的JavaScript图形前端库,可以快速创建交互式图表和图表应用程序,国内外著名的ProcessOne和draw.io都是使用该库创建的强大的在线流程图绘制网站.1.1编写顶点事件functionmxVertexToolHandler(state){mxVertexHandler.apply(this,arguments);};mxVertexToolHandler
- vue引用项目文件(md、json等)
天高任鸟飞dyz
前端javascript开发语言
文件放到public文件夹下例:base:/maas/docs/ui/importaxiosfrom'axios'constfetchMarkdown=async(node)=>{//import(`/maas/docs/ui/目录${node.url}?raw`).then((res)=>{//previewMd.value=res.default////console.log(res.defa
- 机器视觉_联合编程(二)
Zhangci]
VisionPro数码相机计算机视觉人工智能VisionPro机器视觉
链接相机,加载tb,检测FrameGrabber链接相机拍照usingSystem;usingSystem.Collections;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usin
- 收集的18行画爱心代码
2301_76183299
python开发语言
importmathimportturtledefdrawx(k):return15*math.sin(k)**3defdrawy(k):return12*math.cos(k)-5*math.cos(2*k)-2*math.cos(3*k)-math.cos(4*k)turtle.setup(1.0,1.0)turtle.title('爱心射线')turtle.bgcolor('black')t
- 论文阅读笔记(十九):YOLO9000: Better, Faster, Stronger
__Sunshine__
笔记YOLO9000detectionclassification
WeintroduceYOLO9000,astate-of-the-art,real-timeobjectdetectionsystemthatcandetectover9000objectcategories.FirstweproposevariousimprovementstotheYOLOdetectionmethod,bothnovelanddrawnfrompriorwork.Theim
- mac安装多个版本的python
出人头弟
macospython开发语言
方法一(亲测有效)、通过brew安装pyenv,再用pyenv安装管理Python电脑需要先安装homebrew,安装办法详见:Homebrew中文网/bin/bash-c"$(curl-fsSLhttps://gitee.com/ineo6/homebrew-install/raw/master/install.sh)"安装pyenv:$brewinstallpyenv$pyenv-vpyenv
- Java 并发包之线程池和原子计数
lijingyao8206
Java计数ThreadPool并发包java线程池
对于大数据量关联的业务处理逻辑,比较直接的想法就是用JDK提供的并发包去解决多线程情况下的业务数据处理。线程池可以提供很好的管理线程的方式,并且可以提高线程利用率,并发包中的原子计数在多线程的情况下可以让我们避免去写一些同步代码。
这里就先把jdk并发包中的线程池处理器ThreadPoolExecutor 以原子计数类AomicInteger 和倒数计时锁C
- java编程思想 抽象类和接口
百合不是茶
java抽象类接口
接口c++对接口和内部类只有简介的支持,但在java中有队这些类的直接支持
1 ,抽象类 : 如果一个类包含一个或多个抽象方法,该类必须限定为抽象类(否者编译器报错)
抽象方法 : 在方法中仅有声明而没有方法体
package com.wj.Interface;
- [房地产与大数据]房地产数据挖掘系统
comsci
数据挖掘
随着一个关键核心技术的突破,我们已经是独立自主的开发某些先进模块,但是要完全实现,还需要一定的时间...
所以,除了代码工作以外,我们还需要关心一下非技术领域的事件..比如说房地产
&nb
- 数组队列总结
沐刃青蛟
数组队列
数组队列是一种大小可以改变,类型没有定死的类似数组的工具。不过与数组相比,它更具有灵活性。因为它不但不用担心越界问题,而且因为泛型(类似c++中模板的东西)的存在而支持各种类型。
以下是数组队列的功能实现代码:
import List.Student;
public class
- Oracle存储过程无法编译的解决方法
IT独行者
oracle存储过程
今天同事修改Oracle存储过程又导致2个过程无法被编译,流程规范上的东西,Dave 这里不多说,看看怎么解决问题。
1. 查看无效对象
XEZF@xezf(qs-xezf-db1)> select object_name,object_type,status from all_objects where status='IN
- 重装系统之后oracle恢复
文强chu
oracle
前几天正在使用电脑,没有暂停oracle的各种服务。
突然win8.1系统奔溃,无法修复,开机时系统 提示正在搜集错误信息,然后再开机,再提示的无限循环中。
无耐我拿出系统u盘 准备重装系统,没想到竟然无法从u盘引导成功。
晚上到外面早了一家修电脑店,让人家给装了个系统,并且那哥们在我没反应过来的时候,
直接把我的c盘给格式化了 并且清理了注册表,再装系统。
然后的结果就是我的oracl
- python学习二( 一些基础语法)
小桔子
pthon基础语法
紧接着把!昨天没看继续看django 官方教程,学了下python的基本语法 与c类语言还是有些小差别:
1.ptyhon的源文件以UTF-8编码格式
2.
/ 除 结果浮点型
// 除 结果整形
% 除 取余数
* 乘
** 乘方 eg 5**2 结果是5的2次方25
_&
- svn 常用命令
aichenglong
SVN版本回退
1 svn回退版本
1)在window中选择log,根据想要回退的内容,选择revert this version或revert chanages from this version
两者的区别:
revert this version:表示回退到当前版本(该版本后的版本全部作废)
revert chanages from this versio
- 某小公司面试归来
alafqq
面试
先填单子,还要写笔试题,我以时间为急,拒绝了它。。时间宝贵。
老拿这些对付毕业生的东东来吓唬我。。
面试官很刁难,问了几个问题,记录下;
1,包的范围。。。public,private,protect. --悲剧了
2,hashcode方法和equals方法的区别。谁覆盖谁.结果,他说我说反了。
3,最恶心的一道题,抽象类继承抽象类吗?(察,一般它都是被继承的啊)
4,stru
- 动态数组的存储速度比较 集合框架
百合不是茶
集合框架
集合框架:
自定义数据结构(增删改查等)
package 数组;
/**
* 创建动态数组
* @author 百合
*
*/
public class ArrayDemo{
//定义一个数组来存放数据
String[] src = new String[0];
/**
* 增加元素加入容器
* @param s要加入容器
- 用JS实现一个JS对象,对象里有两个属性一个方法
bijian1013
js对象
<html>
<head>
</head>
<body>
用js代码实现一个js对象,对象里有两个属性,一个方法
</body>
<script>
var obj={a:'1234567',b:'bbbbbbbbbb',c:function(x){
- 探索JUnit4扩展:使用Rule
bijian1013
java单元测试JUnitRule
在上一篇文章中,讨论了使用Runner扩展JUnit4的方式,即直接修改Test Runner的实现(BlockJUnit4ClassRunner)。但这种方法显然不便于灵活地添加或删除扩展功能。下面将使用JUnit4.7才开始引入的扩展方式——Rule来实现相同的扩展功能。
1. Rule
&n
- [Gson一]非泛型POJO对象的反序列化
bit1129
POJO
当要将JSON数据串反序列化自身为非泛型的POJO时,使用Gson.fromJson(String, Class)方法。自身为非泛型的POJO的包括两种:
1. POJO对象不包含任何泛型的字段
2. POJO对象包含泛型字段,例如泛型集合或者泛型类
Data类 a.不是泛型类, b.Data中的集合List和Map都是泛型的 c.Data中不包含其它的POJO
 
- 【Kakfa五】Kafka Producer和Consumer基本使用
bit1129
kafka
0.Kafka服务器的配置
一个Broker,
一个Topic
Topic中只有一个Partition() 1. Producer:
package kafka.examples.producers;
import kafka.producer.KeyedMessage;
import kafka.javaapi.producer.Producer;
impor
- lsyncd实时同步搭建指南——取代rsync+inotify
ronin47
1. 几大实时同步工具比较 1.1 inotify + rsync
最近一直在寻求生产服务服务器上的同步替代方案,原先使用的是 inotify + rsync,但随着文件数量的增大到100W+,目录下的文件列表就达20M,在网络状况不佳或者限速的情况下,变更的文件可能10来个才几M,却因此要发送的文件列表就达20M,严重减低的带宽的使用效率以及同步效率;更为要紧的是,加入inotify
- java-9. 判断整数序列是不是二元查找树的后序遍历结果
bylijinnan
java
public class IsBinTreePostTraverse{
static boolean isBSTPostOrder(int[] a){
if(a==null){
return false;
}
/*1.只有一个结点时,肯定是查找树
*2.只有两个结点时,肯定是查找树。例如{5,6}对应的BST是 6 {6,5}对应的BST是
- MySQL的sum函数返回的类型
bylijinnan
javaspringsqlmysqljdbc
今天项目切换数据库时,出错
访问数据库的代码大概是这样:
String sql = "select sum(number) as sumNumberOfOneDay from tableName";
List<Map> rows = getJdbcTemplate().queryForList(sql);
for (Map row : rows
- java设计模式之单例模式
chicony
java设计模式
在阎宏博士的《JAVA与模式》一书中开头是这样描述单例模式的:
作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。 单例模式的结构
单例模式的特点:
单例类只能有一个实例。
单例类必须自己创建自己的唯一实例。
单例类必须给所有其他对象提供这一实例。
饿汉式单例类
publ
- javascript取当月最后一天
ctrain
JavaScript
<!--javascript取当月最后一天-->
<script language=javascript>
var current = new Date();
var year = current.getYear();
var month = current.getMonth();
showMonthLastDay(year, mont
- linux tune2fs命令详解
daizj
linuxtune2fs查看系统文件块信息
一.简介:
tune2fs是调整和查看ext2/ext3文件系统的文件系统参数,Windows下面如果出现意外断电死机情况,下次开机一般都会出现系统自检。Linux系统下面也有文件系统自检,而且是可以通过tune2fs命令,自行定义自检周期及方式。
二.用法:
Usage: tune2fs [-c max_mounts_count] [-e errors_behavior] [-g grou
- 做有中国特色的程序员
dcj3sjt126com
程序员
从出版业说起 网络作品排到靠前的,都不会太难看,一般人不爱看某部作品也是因为不喜欢这个类型,而此人也不会全不喜欢这些网络作品。究其原因,是因为网络作品都是让人先白看的,看的好了才出了头。而纸质作品就不一定了,排行榜靠前的,有好作品,也有垃圾。 许多大牛都是写了博客,后来出了书。这些书也都不次,可能有人让为不好,是因为技术书不像小说,小说在读故事,技术书是在学知识或温习知识,有
- Android:TextView属性大全
dcj3sjt126com
textview
android:autoLink 设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all) android:autoText 如果设置,将自动执行输入值的拼写纠正。此处无效果,在显示输入法并输
- tomcat虚拟目录安装及其配置
eksliang
tomcat配置说明tomca部署web应用tomcat虚拟目录安装
转载请出自出处:http://eksliang.iteye.com/blog/2097184
1.-------------------------------------------tomcat 目录结构
config:存放tomcat的配置文件
temp :存放tomcat跑起来后存放临时文件用的
work : 当第一次访问应用中的jsp
- 浅谈:APP有哪些常被黑客利用的安全漏洞
gg163
APP
首先,说到APP的安全漏洞,身为程序猿的大家应该不陌生;如果抛开安卓自身开源的问题的话,其主要产生的原因就是开发过程中疏忽或者代码不严谨引起的。但这些责任也不能怪在程序猿头上,有时会因为BOSS时间催得紧等很多可观原因。由国内移动应用安全检测团队爱内测(ineice.com)的CTO给我们浅谈关于Android 系统的开源设计以及生态环境。
1. 应用反编译漏洞:APK 包非常容易被反编译成可读
- C#根据网址生成静态页面
hvt
Web.netC#asp.nethovertree
HoverTree开源项目中HoverTreeWeb.HVTPanel的Index.aspx文件是后台管理的首页。包含生成留言板首页,以及显示用户名,退出等功能。根据网址生成页面的方法:
bool CreateHtmlFile(string url, string path)
{
//http://keleyi.com/a/bjae/3d10wfax.htm
stri
- SVG 教程 (一)
天梯梦
svg
SVG 简介
SVG 是使用 XML 来描述二维图形和绘图程序的语言。 学习之前应具备的基础知识:
继续学习之前,你应该对以下内容有基本的了解:
HTML
XML 基础
如果希望首先学习这些内容,请在本站的首页选择相应的教程。 什么是SVG?
SVG 指可伸缩矢量图形 (Scalable Vector Graphics)
SVG 用来定义用于网络的基于矢量
- 一个简单的java栈
luyulong
java数据结构栈
public class MyStack {
private long[] arr;
private int top;
public MyStack() {
arr = new long[10];
top = -1;
}
public MyStack(int maxsize) {
arr = new long[maxsize];
top
- 基础数据结构和算法八:Binary search
sunwinner
AlgorithmBinary search
Binary search needs an ordered array so that it can use array indexing to dramatically reduce the number of compares required for each search, using the classic and venerable binary search algori
- 12个C语言面试题,涉及指针、进程、运算、结构体、函数、内存,看看你能做出几个!
刘星宇
c面试
12个C语言面试题,涉及指针、进程、运算、结构体、函数、内存,看看你能做出几个!
1.gets()函数
问:请找出下面代码里的问题:
#include<stdio.h>
int main(void)
{
char buff[10];
memset(buff,0,sizeof(buff));
- ITeye 7月技术图书有奖试读获奖名单公布
ITeye管理员
活动ITeye试读
ITeye携手人民邮电出版社图灵教育共同举办的7月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。
7月试读活动回顾:
http://webmaster.iteye.com/blog/2092746
本次技术图书试读活动的优秀奖获奖名单及相应作品如下(优秀文章有很多,但名额有限,没获奖并不代表不优秀):
《Java性能优化权威指南》