- 06、全文检索 -- Solr -- Solr 全文检索之在图形界面管理 Core 的 Schema(演示对 普通字段、动态字段、拷贝字段 的添加和删除)
_L_J_H_
#全文检索(Solr和Elasticsearch)全文检索solrlucene
目录Solr全文检索之管理Schema使用Web控制台管理Core的Schema3种字段解释:Field:普通字段DynamicField:动态字段CopyField:拷贝字段演示:添加普通字段(Field)演示:添加动态字段(DynamicField)删除或修改Field管理CopyField(添加和删除拷贝字段)1、添加源field2、删除源field3、删除拷贝字段4、从0添加和删除拷贝字段
- mysql导入数据的问题
乐音X
mysql输入文件地址需要用“/”,而非“\”或者"\\"下面记录我导入数据的另一个问题我的txt文件每元素用"\r"分割,每行用"\n"分割,每行最后一列是A,varchar(3)类型的字段结果用where语句作相等与否的判断时,明明这个值出现了,但是返回结果是空一番调试后,我发现mysqlworkbench可以直接复制字段("copyfield"),复制粘贴后发现,这个字段模型奇妙地多了一个"
- Solr5 Schema API
lzx1104
Lucene/Solr
1.SchemaAPISchemaAPI提供了对每个collection的schema的读写访问。对所有schema元素的读访问都支持。字段(Fields),dynamicfields,fieldtypes和copyField可以被添加、删除或替代。未来Solr可能支持对更多schema元素的写操作。注意:一旦schema被修改,重新索引所有数据。要通过API修改schema,schema需要是m
- solr性能优化实践
耶律妙月
solr
记录最近对solr性能优化的实践。可以类比查询数据库。1、业务代码层面优化减少不必要的solr请求。2、限定fl字段只指定业务需要的字段返回。实践中从返回50个字段减少到1个字段,整体耗时减少60%。效果受硬件性能影响。3、对facet字段使用docValues4、对索引优化减少不必要的copyField使用,定期对索引进行optimize。5、小心使用模糊搜索可以类比为sql里的like语句,对
- solr性能优化实践
耶律妙月
solr
记录最近对solr性能优化的实践。可以类比查询数据库。1、业务代码层面优化减少不必要的solr请求。2、限定fl字段只指定业务需要的字段返回。实践中从返回50个字段减少到1个字段,整体耗时减少60%。效果受硬件性能影响。3、对facet字段使用docValues4、对索引优化减少不必要的copyField使用,定期对索引进行optimize。5、小心使用模糊搜索可以类比为sql里的like语句,对
- solr性能优化实践
耶律妙月
solr
记录最近对solr性能优化的实践。可以类比查询数据库。1、业务代码层面优化减少不必要的solr请求。2、限定fl字段只指定业务需要的字段返回。实践中从返回50个字段减少到1个字段,整体耗时减少60%。效果受硬件性能影响。3、对facet字段使用docValues4、对索引优化减少不必要的copyField使用,定期对索引进行optimize。5、小心使用模糊搜索可以类比为sql里的like语句,对
- solr 动态列+多列查询配置
JavaCEXT
Field:普通字段 dynamicField:动态字段(Dynamicfields)允许solr索引没有在schema中明确定义的字段。这个在忘记定义一些字段时很有用。动态字段可以让系统更灵活,通用性更强。动态字段和常规字段类似,除了它名字中包含一个通配符外,在索引文档时,一个字段如果在常规字段中没有匹配时,将到动态字段中匹配。假设schema中定义了一个叫dynamiczbw_name_*的动
- Solr多字段与或关系查询【需要完善】
buster2014
资料来源:http://www.oschina.net/question/217188_38123之前也问过相关solr多域自定义查询,这里说的多域查询不是配置文件中的copyfield有些网站中一般有个简单搜索和高级搜索,不知道配置文件中能否搞多个搜索模式我的理解是配置文件schema.xml配置的多域可以算作简单搜索中的域搜索,一般的也就是或的关系而高级搜索中一般是多字段的,这里的搜索是针对每
- solr学习之四--------Field、CopyField、DynamicField
兔子党-大胡子
solr
上面一节乱七八槽的讲了一下FieldType。其实你可以想的简单一点,FieldType就好像是我们在Java中自定义类型。Field:Field就是一个字段,定义一个Field很简单:基本上属性也和FieldType类似,他的属性会覆盖掉FieldType的同名属性。CopyField(本段内容直接从solr中文网copy而来):你可能想让document的一些字段可以多次使用。solr有一个字
- Solr-项目中的使用
LLLLLiSHI
Java服务端
配置中文分析器在SolrCore的conf下的schema.xml是Solr数据表配置文件,定义了加入索引的数据的数据类型。主要包括Fields,FieldTypes和其他的一些设置。FieldType:定义字段的类型Field:定义字段,type分析类型,indexed是否索引,stored是否存储。uniqueKey:Solr默认定义唯一主键key为id域。copyField:复制域,将多个F
- 关于solr实现多表查询的方法
小陈家的血小板
java萌新
关于solr实现多表查询的方法话不多说上代码.注意点一:防止主键唯一性的冲突,我选择将主键注释掉(也可以使用uuid代替主键id)注意点二:实现多表查询的关键是copyField将需要分词的关键字段copy.即可实现多表查询/下面为我的schema.xml的配置文件.name##java代码查询方法/***testQuerysolr(测试solr搜索引擎的可用性)*创建人:谭永生*创建时间:201
- Dart 2.7 version 方法扩展(Extension methods)
N城渔夫
Dart2.7添加了对扩展方法支持,以及一个用于处理带有特殊字符的字符串的新程序包①扩展方式:能够向任何类型,添加新的功能✔•任何类型一切是对象,包括内置类型,函数也是对象②扩展方法是静态的✔•扩展方法是静态解析和分派的,这意味着您不能在类型为的值上调用它们dynamic。在这里,调用在运行时引发异常[Code]dynamicfield='1';field.parseInt();→Runtimee
- solr快速入门教程
Zhu_72
solr
由于项目需要,花了几天时间学习了一下solr单机版本,实现简单的搜索首先介绍几个基本概念字段field:可以将一个文档看做一个对象,字段相当于对象中的属性,我们检索就是对字段的值进行检索,分为字段,复制字段,动态字段.动态字段dynamicField:对于名称不确定的字段,我们可以只指定特定的前缀或者后缀,如对book_1,book_2这类字段,可以定义为book_*复制字段copyField:对
- 一次压测情况下Solr部分性能调整
clamaa
solr
在将solr模糊词搜索从copyfield方式修改为qf(queryfunction)之后,其query的性能降低不少。原来是采用将所有需要搜索的字段都copy至同一个字段中,最近要根据模糊匹配结果的权重分析,这种方式根本无法满足要求,所以就采用了queryfunction,这样就能定义不同字段的权重了,例如我们qf可以如下定义:product_name^2.0category_name^1.5c
- 一次压测情况下Solr部分性能调整
clamaa
solr&lucene
在将solr模糊词搜索从copyfield方式修改为qf(queryfunction)之后,其query的性能降低不少。原来是采用将所有需要搜索的字段都copy至同一个字段中,最近要根据模糊匹配结果的权重分析,这种方式根本无法满足要求,所以就采用了queryfunction,这样就能定义不同字段的权重了,例如我们qf可以如下定义:product_name^2.0category_name^1.5c
- 一次压测情况下Solr部分性能调整
brandNewUser
Solr
在将solr模糊词搜索从copyfield方式修改为qf(queryfunction)之后,其query的性能降低不少。原来是采用将所有需要搜索的字段都copy至同一个字段中,最近要根据模糊匹配结果的权重分析,这种方式根本无法满足要求,所以就采用了queryfunction,这样就能定义不同字段的权重了,例如我们qf可以如下定义: product_name^2.0category_name^1
- 一次压测情况下Solr部分性能调整
brandNewUser
solr
阅读更多在将solr模糊词搜索从copyfield方式修改为qf(queryfunction)之后,其query的性能降低不少。原来是采用将所有需要搜索的字段都copy至同一个字段中,最近要根据模糊匹配结果的权重分析,这种方式根本无法满足要求,所以就采用了queryfunction,这样就能定义不同字段的权重了,例如我们qf可以如下定义:product_name^2.0category_name^
- schema.xml文件配置
张无忌_蜘蛛侠
检索
目录[-]type节点filed节点copyField节点dynamicField节点uniqueKey节点defaultSearchField节点solrQueryParser节点similarity节点schema.xml是Solr一个配置文件,它包含了你的文档所有的字段,以及当文档被加入索引或查询字段时,这些字段是如何被处理的。这个文件被存储在Solr主文件夹下的conf目录下,默认的路径.
- 配置参数优化
fengyong7723131
为了改进性能,可以采取以下几种措施:1. 将所有只用于搜索的,而不需要作为查询结果的field(特别是一些比较大的field)的stored设置为false。 2. 将不需要被用于搜索的,而只是作为查询结果返回的field的indexed设置为false。 3. 删除所有不必要的copyField声明,根据需要决定是否进行存储。 4. 为了索引字段的最小化和搜索的效率,将所有的textfie
- solr配置-Schema.xml
schema
可参考配置:http://wiki.apache.org/solr/SchemaXml(基本上文档上面讲的已经很详细了)
先来看一下Schema.xml都有什么配置
1,uniqueKey
2,n多name不一样的fieldType
3,各种field :field,dynamicField,copyField
4,默认被注释掉的defaultSearchField,solrQueryP
- solr官方文档翻译系列之schema.xml配置介绍
schema
常见的元素
<field name="weight" type="float" indexed="true" stored="true"/><dynamicField name="*_is" type="int" indexed="true"
- DynamicControl/DynamicField 例外的解决
dynamic
在使用 DynamicField / DynamicControl 时,经常在PostBack时,会出现一个例外:
The DynamicControl/DynamicField needs to exist inside a data control that is bound to a data source that supports Dynamic Data.
中文为:
- GridView使用技巧.txt
GridView
ExtractValuesFromCell 方法使用:而该方法也被很多种列类型所支持DataControlField, BoundField, AutoGeneratedField, CheckBoxField, ImageField, TemplateField, DynamicField,你可以在 GridView 的 RowUpdating, RowDeleting 等事件中使用它。利用该方
- SOLR 中 Schema.xml 的filedType 的一些属性的理解
schema
1. dynamicField 的作用是什么?
如果你需要在schema.xml文件中的<field> ......</field>部分定义多个<field>(math_score,chinese_score,english_score,....),而恰好这些<field>的type属性又相同(type="integer&qu
- Solr中的Field、CopyField、DynamicField
Josh_Persistence
SolrSolrSolrFieldcopyFieldDynamicField
Field: Field就是一个字段,定义一个Field很简单: Field的属性也和FieldType类似,他的属性会覆盖掉FieldType的同名属性。 CopyField 你可能想让document的一些字段可以多次使用。solr有一个字段复制机制,可以提交多个不同类型字段集中到一个字段,如将title字段和content字段复制到一个新的字段中,这样新的字段中就具有这两个字段
- solr的schema配置优化
fengyong7723131
优化Solr
store="false" :当仅仅需要基于这个字段进行检索,而不需要返回原始的值时,可将此字段设置为false,尤其是对值空间需要很大的字段。index="false":不通过这个字段进行检索,但是它仅作为基于其它字段检索到的搜索结果返回。删除所有不需要的copyFiled语句。为了最佳的索引文件大小和搜索性能,设置index字段为false。对于所有的文本字段,使用copyField将它们复制
- solr学习之四--------Field、CopyField、DynamicField
Truong
上面一节乱七八槽的讲了一下FieldType。 其实你可以想的简单一点,FieldType就好像是我们在Java中自定义类型。Field: Field就是一个字段,定义一个Field很简单:[html] viewplaincopy 基本上属性也和FieldType类似,他的属性会覆盖掉FieldType的同名属性。CopyField(本段内容直接从solr中文网copy而来): 你可能想
- Solr Multivalue field的索引和搜索
KingBoxing
solr
Solr里头可以设计Field为Multivalue类型,这样的一个好处是可以很方便的设置copyField,在我们的项目中也有使用。但是一直以来都有一个问题困扰着我,就是对multivalue里头多个值域的搜索问题。多个value之间我认为应该是保持相互独立的,但是在实际搜索中感觉solr把所有的值域都串在一起,当作一个长value来处理,没有达到我想要的效果。后来通过搜索,我发现solr的fi
- SOLR---Field、CopyField、DynamicField
aaa1117a8w5s6d
上面一节乱七八槽的讲了一下FieldType。 其实你可以想的简单一点,FieldType就好像是我们在Java中自定义类型。Field: Field就是一个字段,定义一个Field很简单:[html] viewplaincopy 基本上属性也和FieldType类似,他的属性会覆盖掉FieldType的同名属性。CopyField(本段内容直接从solr中文网copy而来): 你
- 查询字段要来自多个字段CopyField
ystyaoshengting
看其他人的博客时看到的下面这段话,但是自己做搜索时,将多个字段copy到一个字段里,然后搜索这个字段。有对这多个字段分别加权是可以的,有时间验证下下面这段话,不过加权的多个字段也是index的,且是进行分词的,不知道是不是这个的原因促使我这边可以成功加权排序。对于查询来说,如果查询字段要来自多个字段,一种选择是使用CopyField,化多个字段为一个字段,缺点是不能区分各个字段的重要度差别。比如文
- 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性能优化权威指南》