- php状态监控源码,PHP服务器状态监控实现程序
江子星
php状态监控源码
*/header('Content-type:text/html;charset=utf-8');include'./smtp/class.smtp.php';include'./smtp/class.phpmailer.php';functionsendmail($subject='',$body=''){date_default_timezone_set('Asia/Shanghai');//
- 掌握Go语言邮件发送:net/smtp实用教程与最佳实践
walkskyer
golang标准库golanggithub开发语言
掌握Go语言邮件发送:net/smtp实用教程与最佳实践概述基本配置与初始化导入`net/smtp`包设置SMTP服务器基本信息创建SMTP客户端实例身份验证发送简单文本邮件配置发件人信息构建邮件头部信息编写邮件正文使用`SendMail`方法发送邮件示例代码发送带附件的邮件邮件多部分格式简介构建带有附件的邮件体使用`SendMail`方法发送邮件发送HTML格式的邮件HTML邮件的优势和应用场景
- python 发邮件无服务器,如何使用python直接从服务器发送电子邮件而不使用smtp
不想不见
python发邮件无服务器
其他选项当您在PHP中使用邮件功能时,它使用的是您所在主机的本地sendmail,而这又只是一个本地的SMTP中继,当然本地发送邮件并不是真正的建议,因为由于DKIM、SPF和其他保护机制,这些邮件可能没有很好的传递率。如果你关心可交付性,我建议使用a)用于发送邮件的外部SMTP服务器,该服务器已为发送域正确配置。b)API,如AWSSES、Mailgun或同等产品。如果您不关心可传递性,那么您当
- PHP mail()本地邮箱服务器搭建全过程
礼貌先生
phpphpsendmail
我用的是win10和WampServerphpmail()函数在windows中是不能直接使用的,需要安装sendmail,假如是用的XAMPP,则已经下载好,不需要重新下载1.下载sendmail.zip地址:http://glob.com.au/sendmail/2.下载成功后解压,并把下载好的文件剪切至wamp目录(其实存到哪里都一样这里为了方便存就放在wamp下好了,和www在同一目录)3
- linux环境下企业基于域名访问的web于电子邮件服务器 论文,*nix环境下的几种邮件服务器介绍...
北海有座岛
论文
下面给大家介绍几款常用的邮件服务器软件产品,供架构邮件服务器参考。1、Unix环境下的Sendmail无论从使用的广泛程度,还是从代码的复杂程度来讲,sendmail都是一个非常优秀的软件。如果使用它来构建网站的电子邮件系统,基本上不必费心,因为几乎所有的Unix的缺省配置中都内置这个软件,只需要设置好操作系统,它就能立即运转起来。在Unix系统中,Sendmail是应用最广的电子邮件服务器。它是
- Java定时发送邮件
zhyaw56zhu
java开发语言
获取邮箱授权码引入依赖org.springframework.bootspring-boot-starter-mail修改配置文件修改application.yml配置文件server:port:8088servlet:context-path:/sendmailspring:mail:host:smtp.163.comusername:
[email protected]#发件人邮箱地址pas
- Linux邮件发送服务安装
阿里巴巴技术
介绍sendEmail是一个轻量级,命令行的SMTP邮件客户端。如果你需要使用命令行发送邮件,那么sendEmail是非常完美的选择:使用简单并且功能强大.这个被设计用在bash、perl和web站点使用。以上是sendEmail的简单介绍,千万不要和sendmail搞混掉了。用了sendEmail你将不在喜欢sendmail了.安装sendEmail#下载安装包wgethttp://caspia
- python发送邮件封装(可直接使用)
远航天下
封装代码如下:author='damao'importsmtplibfromemail.mime.textimportMIMETextfromemail.mime.multipartimportMIMEMultipartclassSendMail(object):def__init__(self,smtp_server,smtp_port,smtp_sender,smtp_senderpasswo
- SQL Server 调用dll文件方法
只想摆烂@
数据库
1.启用CLR功能EXECsp_configure'clrenabled','1';RECONFIGURE;2.给程序分配权限USE'数据库';GOCREATEASYMMETRICKEYSQLCLRTestKeyFROMEXECUTABLEFILE='D:\U8SOFT\UAP\RUNTIME\SendMails.dll'CREATELOGINSQLCLRTestLoginFROMASYMMETR
- SQL调用dll
只想摆烂@
sql数据库oracle
1.启用CLR功能EXECsp_configure'clrenabled','1';RECONFIGURE;2.给程序分配权限USE'数据库';GOCREATEASYMMETRICKEYSQLCLRTestKeyFROMEXECUTABLEFILE='D:\U8SOFT\UAP\RUNTIME\SendMails.dll'CREATELOGINSQLCLRTestLoginFROMASYMMETR
- C# 发送邮件
likepoems
c#
前言本文简单的通过C#的SmtpClient实现发送邮件的功能。实现usingSystem.Net.Mail;usingSystem.Net;namespaceTest{publicclassSendMail{privateSmtpClient_emailClient;publicclassUserInfo{publicstringEmail{get;set;}//用户的邮箱publicstrin
- 阿里云发送短信
仰望星空的快乐
spring-boot阿里云python前端
0.阿里云文档地址可以设置测试手机号1.引入依赖com.aliyunaliyun-java-sdk-corecom.aliyunaliyun-java-sdk-dysmsapi1.1.02.controller层代码//发送短信,访问接口就向手机号发送短信,不处理任何业务@GetMapping("/send/{phone}")publicRsendMail(@PathVariable("phone
- [源码和报告分享] C#实现的基于SMTP协议的E-MAIL电子邮件发送客户端软件
ggdd5151
利用SMTP和Pop协议从底层开发了这个软件。SMTP全称是简单邮件传输协议,它专门用来发送邮件用的。Pop全称是邮局协议,是专门用于接收邮件的。我主要是负责如何实现发送邮件功能的。MailSend命名空间是我整个程序的核心。它包括两个类。在SmtpMail的类中包含了一个SendMail的方法,它从底层详细地实现了和服务器的交互操作。你既可以用它发送一个纯文本邮件,也可以发送一个带有附件的邮件,
- php sendmail 抄送,Python发送邮件各种姿势
SherryLi禅玉
phpsendmail抄送
Python发送邮件各种姿势本章目录Python标准库smtplibPython发送邮件并抄送Python发送邮件带附件Python发送HTML邮件Python发送图片邮件在写脚本时,放到后台运行,想知道执行情况,会通过邮件、SMS(短信)、飞信、微信等方式通知管理员,用的最多的是邮件。在linux下,Shell脚本发送邮件告警是件很简单的事,有现成的邮件服在写脚本时,放到后台运行,想知道执行情况
- qq邮件源码发送php源码
csdndddsd
php开发语言
qq邮件源码发送php源码functionsendmail($to,$subject,$body,$from,$fromname,$smtpserver,$smtpuser,$smtppass,$smtpport,$smtpssl,$mailtype,$cc,$bcc,$replyto,$replytoname,$charset,$encoding,$attachments){require_on
- 系统漏洞是威胁计算机网络安全的形式,系统漏洞是不是威胁计算机网络安全的形式...
Hansimov
changwocha新兵答主05-12TA获得超过7520个赞如果想补漏洞你可以用360安全卫士或者维点主动防御都不错。。漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。具体举例来说,比如在IntelPentium芯片中存在的逻辑错误,在Sendmail早期版本中的编程错误,在NFS协议中认证方式上的弱点,在Unix系统管理员设置匿
- Android捕获崩溃日志并发送JavaMail邮件
蝴蝶之梦天使
图片来之网络Android机型太多Android机型更新太快崩溃日志无法收集请参考Demo:SendMail-Demo一、收集崩溃日志经常收到APP崩溃了,但是在测试环境又是好的。一说机型和Android版本,公司又没有。让用户拍一个视频或录屏吧。可还是没法重现,看不到崩溃日志。所以想到记录下崩溃日志吧。/***当UncaughtException发生时会转入该函数来处理*/@Overridepu
- C# SMTP 邮件发送傻瓜操作
沪上百卉
c#
//////发送邮件的方法///publicOperateResultSendMail(MailModelmails){varresultData=newOperateResult();if(mails.to==null||!mails.to.Any()){resultData.Status=OperateStatus.Failure;resultData.Description="收件人地址不能
- Linux 中 /var/spool/postfix/maildrop 占用空间很大问题
全栈运维
摘要一台运维主机上面没有跑什么特殊服务,所以没有添加监控告警。今突然执行命令执行不了发现是因为磁盘慢了导致。排错发现是因为目录/var/spool/postfix/mailfdrop过大导致。通过了解发现因为:由于Linux在执行cron时,会将cron执行脚本中的output和warning信息,都会以邮件的形式发送cron所有者,而由于客户环境中的sendmail和postfix没有正常运行,
- centos7.3使用sendmail发送邮箱
onlyulan
- 【shell发送邮件】
张声录1
linuxcentos运维
一、centos系统mail+sendmail发送安装mail[root@localhost~]#yuminstall-ymailx安装sendmail[root@localhost~]#yuminstall-ysendmail配置mail.rc文件#发送人,必须和发件人保持一致
[email protected]#邮箱服务器setsmtp=smtp.qq.com#邮箱setsmtp-aut
- Spring MVC 用ajax异步交互-03-01
封_绝
Springmvc前台通过ajax传值到后台用@RequestBody接收,报415/400错误-CarryBest的博客-CSDN博客SpringMVCajax传值问题-九烨玄灵-博客园后端:@RequestMapping(value="sendMail",method=RequestMethod.POST)@ResponseBody//post方式接收需要设置@RequestParam,如下图
- Laravel指定队列的配置与使用
众神开挂
今天在公司使用队列遇到的一个坑,使用onQueue推送到指定队列之后,队列没有被消费,解决方法分享一下SendMail::dispatch($user)->onQueue('send_mail');文档中只说默认是default队列,没有给出如何配置新的队列,研究如下:在config/queue中配置send_mail队列:'redis'=>[//原有的默认队列'driver'=>'redis',
- 使用 Mailx 通过 SMTP 在 Centos 上发送邮件
mrknowledge
安装Mailx程序使用yum安装即可。安装前,移除不再需要且可能会引起冲突的postfix或sendmail。yum-yremovepostfixyum-yremovesendmail安装Mailx程序:yum-yinstallmailx配置SMTP发送邮件一般邮件服务器会提供smtp、smtps和smtpstarttls服务来发送邮件。smtp最简单的,也最不安全的,不建议使用,最好使用smtp
- CVE-2021-40280
Hxdih
CVE漏洞复现web安全sql网络安全mysql
CVE-2021-40280站长招商网内容管理系统简称ZZCMS,由ZZCMS团队开发,融入数据库优化,内容缓存,AJAX等技术,使网站的安全性、稳定性、负载能力得到可靠保障。源码开放,功能模块独立,便于二次开发。zzcms8.2中在admin/dl_sendmail.php存在sql注入漏洞弱口令admin/admin登录直接访问,会阻止但是在后面跟上问好参数就可以访问了!这两条数据是我在测试的
- mail 465邮件发送案例(含有不带附件和带附件log文件发送)
吃货大米饭
一、先去QQ邮箱,开启SMTP和获取授权码2019-08-24_144511.png选择开启SMTP服务记录你的授权码2019-08-24_144500.png二、停止服务servicesendmailstopchkconfigsendmailoff[root@hadoop001~]#servicesendmailstopRedirectingto/bin/systemctlstopsendmai
- Linux系统安装Oracle11g数据库
慕容天成
linux数据库phporacle
1.检查安装所需要的要求(略)关闭防火墙和selinuxsendmailchkconfigiptablesoffchkconfigip6tablesoffvi/etc/selinux/config修改为selinux=disabledreboot系统/ect/hosts解析IPip名字主机名cd/etc/sysconfigvinetworkHOSTNAME=oracle10g重启系统,为了识别主机
- AFL-training复现学习过程(二)
小张frog
学习测试覆盖率
Challengelibxml2heartbleedsendmailntpqdatecyber-grand-challengeLibxml2libxml2是一个流行的XML处理库,使用C语言实现,其具有以下的特点使其非常适合用于练习Fuzz:①无状态②无网络通信和文件读写③文档详细丰富,API外显,无需额外分析内部的fuzz接口④功能集中、简单(处理XML),运行较快这里考虑的CVE(Common
- Linux基本安全机制介绍和Linux系统安全漏洞介绍
Black_mb_White
1、Linux系统的基本安全机制介绍1.1、Linux系统的用户账号11.2、Linux的文件系统权限11.3、Linux的系统日志文件12、Linux系统安全漏洞介绍12.1口令和账号安全漏洞12.2端口漏洞12.3Sendmail22.4明文服务22.5简单网络管理协议21.Linux系统的基本安全机制介绍1.1Linux系统的用户帐号用户帐号是用户的身份标志,由用户名和口令组成。用户名存放在
- 如何在PHP中发送电子邮件?
xiangpingeasy
PHPphp开发语言
在PHP中发送电子邮件通常涉及使用内置的mail函数或使用更强大的邮件库,例如PHPMailer或SwiftMailer。以下是使用mail函数和PHPMailer的基本示例:使用mail函数:请注意,使用mail函数需要配置本地服务器上的邮件传输代理(MTA),例如Sendmail或Postfix。使用PHPMailer:首先,你需要下载并引入PHPMailer库。你可以从PHPMailer的G
- 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性能优化权威指南》