- 关于cronExpression的介绍
窦再兴
技术贴定时配置
字段允许值允许的特殊字符秒0-59,-*/分0-59,-*/小时0-23,-*/日期1-31,-*?/LWC月份1-12或者JAN-DEC,-*/星期1-7或者SUN-SAT,-*?/LC#年(可选)留空,1970-2099,-*/表达式意义"0012**?"每天中午12点触发"01510?**"每天上午10:15触发"01510**?"每天上午10:15触发"01510**?*"每天上午10:1
- cronexpression java_spring框架的定时任务cronExpression表达式详解
两人千面
cronexpressionjava
附:cronExpression表达式解释:0012**?---------------在每天中午12:00触发01510?**---------------每天上午10:15触发01510**?---------------每天上午10:15触发01510**?*---------------每天上午10:15触发01510**?2005---------------在2005年中的每天上午10
- java cronexpression_Quartz在Spring中动态设置cronExpression | 学步园
海伦凯乐
javacronexpression
什么是动态定时任务:是由客户制定生成的,服务端只知道该去执行什么任务,但任务的定时是不确定的(是由客户制定)。这样总不能修改配置文件每定制个定时任务就增加一个trigger吧,即便允许客户修改配置文件,但总需要重新启动web服务啊,研究了下Quartz在Spring中的动态定时,发现class="org.springframework.scheduling.quartz.CronTriggerBe
- cronexpression java_Java Quartz CronExpression验证错误的cron表达式
weixin_39890708
cronexpressionjava
这最近已被提交为一个错误:你是对的,这可能是意料之外的.Indicateswhetherthespecifiedcronexpressioncanbeparsedintoavalidcronexpression实际上,您提供的表达式可以解析为有效的CronExpression,尽管表达式本身无效.基本上,您从调用CronExpression.isValidCronExpression(表达式)获得
- cronexpression java_cronExpression表达式解释,时间
小凉爽Cool
cronexpressionjava
CronTrigger配置格式:格式:[秒][分][小时][日][月][周][年]通配符说明:*:表示所有值.例如:在分的字段上设置"*",表示每一分钟都会触发。?:表示不指定值。使用的场景为不需要关心当前设置这个字段的值。例如:要在每月的10号触发一个操作,但不关心是周几,所以需要周位置的那个字段设置为"?"具体设置为00010*?-:表示区间。例如在小时上设置"10-12",表示10,11,1
- cronexpression java_java cronexpression
醉鹅娘
cronexpressionjava
.quartz.CronTriggerBean">附录A"Cron-Expression"isast...CronTriggercronTrigger=newCronTrigger(batchDesc.getClassName()+".Trigger");CronExpressioncexp=newCronExpression("06***");cronTrigg.......CronTrigge
- java cronexpression_Java CronExpression類代碼示例
收藏菌
javacronexpression
本文整理匯總了Java中org.quartz.CronExpression類的典型用法代碼示例。如果您正苦於以下問題:JavaCronExpression類的具體用法?JavaCronExpression怎麽用?JavaCronExpression使用的例子?那麽恭喜您,這裏精選的類代碼示例或許可以為您提供幫助。CronExpression類屬於org.quartz包,在下文中一共展示了CronE
- CronExpression 表达式详解
xyzko1
JAVAjava开发语言
例如:"0012?*WED"在每星期三下午12:00执行其中每个元素可以是一个值(6),一个连续区间(9-12),一个间隔时间(8-18/4)(/表示每隔4小时),一个列表(1,3,5),通配符,由于月份中的日期和星期中的日期这两个元素互斥的,必须要对其中一个设置?0010,14,16**?每天上午10点,下午2点,4点00/309-17**?朝九晚五工作时间内每半小时0012?*WED表示每个星
- java cronexpression_定时任务CronExpression配置说明
姑苏薛衡芜
javacronexpression
在配置定时任务时,都需要配置CronExpression,本文档主要介绍了CronExpression如何配置。一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。按顺序依次为秒(0~59)分钟(0~59)小时(0~23)天(月)(0~31,但是你需要考虑你月的天数)月(0~11)天(星期)(1~71=SUN或SUN,MON,TUE,WED,THU,FRI,SAT)年份(1970-20
- cronexpression java_CronExpression
三亻已
cronexpressionjava
publicclassCronExpressionextendsObjectProvidesaparserandevaluatorforunix-likecronexpressions.Cronexpressionsprovidetheabilitytospecifycomplextimecombinationssuchas"At8:00ameveryMondaythroughFriday"or"
- CronExpression表达式
卖票小行家
springcloud微服务java
格式:[秒][分][时][每月的第几日][月][每周的第几日][年]字段名必须的允许值允许的特殊字符SecondsYES0-59,-*/MinutesYES0-59,-*/HoursYES0-23,-*/DayofmonthYES1-31,-*?/LWMonthYES1-12orJAN-DEC,-*/DayofweekYES1-7orSUN-SAT,-*?/L#YearNOempty,1970-2
- CronExpression的坑
马云沈阳分云
定时任务
最近接到了一项任务,针对已存在的定时任务进行重构。这里的规则设置没什么特别,设置任务开始时间、结束时间、时间间隔。一开始我的想法是使用quartz,很轻松就能解决这部分的问题,但是无奈原来代码太庞大,不敢随便动,只能延续之前的代码逻辑,也正是因为这个原因,我接触到了CronExpression。假如现在有1000条数据,他们都设置了不同的定时规则,在他们每日高频触发的情况下,选择quartz执行是
- cronExpression表达式
fake coder
JAVA人生
一个cron表达式由6或7个时间元素组成。它们之间用空格分隔,依次为:[秒][分][小时][日][月][星期][年]序号说明是否必填允许填写的值允许的符号1秒是0-59,-*/2分是0-59,-*/3小时是0-23,-*/4日是1-31,-*?/LW5月是1-12orJAN-DEC,-*/6星期是1-7orSUN-SAT,-*?/L#7年否1970-2099,-*/其中每个元素值可以是一个确定值(
- CronExpression表达式详解和案例
LongtengGensSupreme
工具CronExpression定时任务
1.cron表达式格式:{秒数}{分钟}{小时}{日期}{月份}{星期}{年份(可为空)}2.cron表达式各占位符解释:{秒数}==>允许值范围:0~59,不允许为空值,若值不合法,调度器将抛出SchedulerException异常"*"代表每隔1秒钟触发;","代表在指定的秒数触发,比如"0,15,45"代表0秒、15秒和45秒时触发任务"-"代表在指定的范围内触发,比如"25-45"代表从
- CronExpression
spencer_tseng
javajavaCronExpressionCronExpressionJob
CronTrigger配置格式:格式:[秒][分][小时][日][月][周][年]序号说明是否必填允许填写的值允许的通配符1秒是0-59,-*/2分是0-59,-*/3小时是0-23,-*/4日是1-31,-*?/LW5月是1-12orJAN-DEC,-*/6周是1-7orSUN-SAT,-*?/L#7年否empty或1970-2099,-*/通配符说明:*表示所有值.例如:在分的字段上设置"*"
- cron 表达式
程序员A
其他cronexpression定时器quartz
网上的讲cron的博客都乱起八糟的,而且讲的不清楚,这篇博客把cronexpression的每个点都清楚的表述了,有时间再翻译,原文地址:http://docwiki.embarcadero.com/Connect/en/Writing_a_CRON_Expression,还有一篇在spring中使用的文章http://www.mkyong.com/spring/spring-quartz-sch
- Spring Boot 2.4 新特性,全新的Cron表达式处理机制
冷冷zz
说起cron表达式大家一定不陌生,我们常用来作为定时任务执行策略规则。在SpringBoot框架中cron表达式主要配合@Scheduled注解在应用程序中使用。在SpringBoot2.4(既Spring5.3)以后,引入了CronExpression表达式处理器来替代原有的CronSequenceGenerator。为什么要替代原有的CronSequenceGenerator?此处理器是基于j
- 如何处理Spring Boot 2.4 全新Cron表达式处理机制
小白不想上班
说起cron表达式大家一定不陌生,我们常用来作为定时任务执行策略规则。在SpringBoot框架中cron表达式主要配合@Scheduled注解在应用程序中使用。在SpringBoot2.4(既Spring5.3)以后,引入了CronExpression表达式处理器来替代原有的CronSequenceGenerator。为什么要替代原有的CronSequenceGenerator?此处理器是基于j
- Springboot Quartz定时任务的动态调度使用,实战详解,java教学管理系统的实现技术
普通网友
程序员面试java后端
privateDateupdateTime;//更新时间@OverridepublicStringtoString(){return“JobEntity{”+“jobId=’”+jobId+‘’’+“,className=’”+className+‘’’+“,cronExpression=’”+cronExpression+‘’’+“,jobName=’”+jobName+‘’’+“,jobGro
- Spring 定时任务的规则
三招六式一把铁斧
org.springframework.scheduling.quartz.CronTriggerBean允许你更精确地控制任务的运行时间,只需要设置其cronExpression属性。一个cronExpression表达式有至少6个(也可能是7个)由空格分隔的时间元素。从左至右,这些元素的定义如下:一、各域说明image.png二、举例说明例1:每隔5秒执行一次:*/5****?例2:每隔5分执
- 记不住Spring中Scheduled中的Cron语法?让我们看看源码吧
chaojilaji
在Spring源码中,解析cron的源码位于CronExpression中,在创建定时任务的时候,调用了CornExpression.parse方法做解析publicCronTrigger(Stringexpression,ZoneIdzoneId){Assert.hasLength(expression,"Expressionmustnotbeempty");Assert.notNull(zon
- Spring Boot 2.4 新特性,全新的Cron表达式处理机制
冷冷
java
说起cron表达式大家一定不陌生,我们常用来作为定时任务执行策略规则。在SpringBoot框架中cron表达式主要配合@Scheduled注解在应用程序中使用。在SpringBoot2.4(既Spring5.3)以后,引入了CronExpression表达式处理器来替代原有的CronSequenceGenerator。为什么要替代原有的CronSequenceGenerator?此处理器是基于j
- .NET Cron 表达式 获取 最近 5 次 执行的时间 (借助 Quartz)
安得权
[01].NET[03]C#
CronExpressioncronExpression=newCronExpression("00/10***?");DateTimeOffset?time=cronExpression.GetNextValidTimeAfter(DateTime.Now);Console.WriteLine("time1:"+time);DateTimeOffset?time2=cronExpression.
- 关于scheduleWithFixedDelay与scheduleAtFixedRate的比较
duff_dep
通常写worker我们都是通过quartz实现,其优点众多比如与spring良好结合,配置灵活,支持丰富cronExpression,且与多线程相结合灵活处理不同的业务场景。当worker执行周期比较简单时:如服务启动后的每1小时执行一次,可以考虑使用今天的主角--scheduleWithFixedDelay与scheduleAtFixedRate。通过查看javadoc不难看出二者区别:前者的运
- Spring 4.3.6 整合 Quartz 2.2.3 与 Java Mail1.4.0实现定时邮件发送
CoderLim
Springspringquartzjavajavamail整合
Spring4.3.6整合Quartz2.2.3与JavaMail1.4.0实现定时邮件发送@(Spring)Spring436整合Quartz223与JavaMail140实现定时邮件发送第一步检查jar包第二步创建任务类和任务方法第三步在Spring配置文件中注册定时类的bean补充关于Quartz的CronTrigger的cronExpression格式快速查找例子详解cronExpress
- CronExpression详解
rickyni
Java
Spring--quartz中cronExpression配置说明转自:http://www.blogjava.net/javainthink/archive/2006/10/19/76077.html字段允许值允许的特殊字符秒0-59,-*/分0-59,-*/小时0-23,-*/日期1-31,-*?/LWC月份1-12或者JAN-DEC,-*/星期1-7或者SUN-SAT,-*?/LC#年(可选
- spring 定时器
zreodown
Quartz在Spring中动态设置cronExpression(spring设置动态定时任务)2007-07-2513:52什么是动态定时任务:是由客户制定生成的,服务端只知道该去执行什么任务,但任务的定时是不确定的(是由客户制定)。这样总不能修改配置文件每定制个定时任务就增加一个trigger吧,即便允许客户修改配置文件,但总需要重新启动web服务啊,研究了下Quartz在Spring中的动态
- 手动修改quartz数据库表中cron执行频率
chuixue24
quartzquartzcron修改执行频率
1.更改表qrtz_cron_triggers的cronExpression2.将表qrtz_triggers的NEXT_FIRE_TIME和PREV_FIRE_TIME的值改为0
- 定时器中关于cronExpression表达式的介绍及使用
莫欺少年穷
一个Cron-表达式是一个由六至七个字段组成由空格分隔的字符串,其中6个字段是必须的而一个是可选的,如下:字段名允许的值允许的特殊字符秒0-59,-*/分0-59,-*/小时0-23,-*/日1-31,-*?/LWC月1-12orJAN-DEC,-*/周几1-7orSUN-SAT,-*?/LC#年(可选字段)empty,1970-2099,-*/'*'字符可以用于所有字段,在“分”字段中设为"*"
- 动态指定定时时间
hbksunshine
spring
思路:传统的xml配置:触发器配置部分:03508?**如果能动态的给cronExpression赋值,就能实现我们的要求。自定义一个类,继承了CronTriggerBeanMyCronTrigger.javapublicclassMyCronTriggerextendsCronTriggerBean{publicJobManagerjobManager;publicJobManagergetJo
- 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性能优化权威指南》