- lxml.etree.XMLSyntaxError解决方法
sjyOvO
python
lxml.etree.XMLSyntaxError解决方法在练习lxml数据解析的时候,用parse方法加载本地的html文件时出现如下错误:lxml.etree.XMLSyntaxError:EntityRef:expecting‘;’,line2,column286原因:html代码书写不规范(不怪你)解决方法:parser=etree.HTMLParser(encoding='utf-8')
- java parser乱码_HtmlParser 2.0 中文乱码问题
福建低调
javaparser乱码
对于HTMLParser2.0工具包我们需要修改其中的Page.java文件使其适用中文的html文件分析。主要是把protectedstaticfinalStringDEFAULT_CHARSET="ISO-8859-1";修改成protectedstaticfinalStringDEFAULT_CHARSET="gb2312";主要是兼容charset='GBK'声明的页面。--因为采用默认的
- vue项目能正常启动但是打包报错
小全upup
vue.js前端javascript
项目执行npmrunserve/dev的图一点影响没有跑起来之后页面也非常的正常然后就来到了打包环境执行打包命令报这种错误-htmlparser.js:255HTMLParser.parse[mydemo]/[html-minifier-terser]/src/htmlparser.js:255:15-runMicrotasks-task_queues.js:95processTicksAndRe
- itchat报错'HTMLParser' object has no attribute 'unescape'在python3.9
g9efwi8b
itchat里面有个地方经常报错,C:\Users\-username-\AppData\Local\Programs\Python\Python39\Lib\site-packages\itchat\utils.py的第70行d[k]=htmlParser.unescape(d[k])改为importhtmld[k]=html.unescape(d[k])这样就不容易报错了.
- 微信小程序中显示html富文本的方法
大胡子的机器人
image.png使用方法:git地址:https://github.com/icindy/wxParse一、下载wxParse文件image.pngwxParse/-wxParse.js(必须存在)-html2json.js(必须存在)-htmlparser.js(必须存在)-showdown.js(必须存在)-wxDiscode.js(必须存在)-wxParse.wxml(必须存在)-wxPa
- 使用Jsoup解析html网页
程序猿老王
开发工具htmlJsoup
一、JSOUP简介在以往用java来处理解析HTML文档或者片段时,我们通常会采用htmlparser(http://htmlparser.sourceforge.net/)这个开源类库。现在我们有了JSOUP,以后的处理HTML的内容只需要使用JSOUP就已经足够了,JSOUP有更快的更新,更方便的API等。jsoup是一款Java的HTML解析器,可直接解析某个URL地址、HTML文本内容。它
- Python的HTMLParser库的用法
weixin_30777913
PythonPythonHTMLParse
HTMLParser库的用法如果我们要编写一个搜索引擎,第一步是用爬虫把目标网站的页面抓下来,第二步就是解析该HTML页面,看看里面的内容到底是新闻、图片还是视频。假设第一步已经完成了,第二步应该如何解析HTML呢?HTML本质上是XML的子集,但是HTML的语法没有XML那么严格,所以不能用标准的DOM或SAX来解析HTML。好在Python提供了HTMLParser来非常方便地解析HTML,只
- Vue3.4的新变化
大鲤余
vue.jsjavascript前端
解析器3.4版本解析器速度提升2倍,提高了SFC构建性能。之前版本Vue使用递归下降解析器,该解析器依赖于许多正则表达式和前瞻搜索。新的解析器使用基于htmlparser2中的标记生成器的状态机标记生成器,它仅迭代整个模板字符串一次。响应式上3.4还对响应式系统进行了重大重构,目标是提高计算属性的重新计算效率。constcount=ref(0)constisEven=computed(()=>co
- Python的HTMLParser模块:HTML解析的得力工具
小雨淋林
Python基础入门教程pythonxml
在Python中,HTMLParser模块提供了一个简单而强大的HTML解析器,用于解析HTML文档并提取其中的信息。本篇博客将深入讨论HTMLParser模块,包括基本使用、自定义解析器的创建以及实际应用中的示例。1.HTMLParser模块概述HTMLParser模块是Python标准库中的一部分,提供了一个基于事件的HTML解析器。它继承自Python的SGMLParser类,用于将HTML
- html.parser --- 简单的 HTML 和 XHTML 解析器
知识的宝藏
python
源代码:Lib/html/parser.py这个模块定义了一个HTMLParser类,为HTML(超文本标记语言)和XHTML文本文件解析提供基础。classhtml.parser.HTMLParser(*,convert_charrefs=True)创建一个能解析无效标记的解析器实例。如果convert_charrefs为True(默认值),则所有字符引用(script/style元素中的除外)
- python 爬取本地的HTML中的数据并将其存储进Excel表格中
是兔子不是tu子
pythonexcel开发语言
我有一个HTML文件保存在本地,我需要爬取里面的某些数据并将爬取到的部分数据存储进Excel表中我的解决思路如下:先爬取数据按照步长将数据分割成二维列表循环遍历将需要的数据存入Excel表中实现代码如下:#coding:utf-8fromlxmlimportetreeimportxlsxwriter#:载入模块#解析本地文件使用etree.parseparser=etree.HTMLParser(
- 2.爬虫之xpath选择器&selenium模块
开局签到Python基础
9.爬虫爬虫seleniumpython
1.xpath选择器1.1xpath介绍xpath:是一门在xml/html文档中查找信息的语句.安装:pipinstalllxml导入:fromlxmlimportetree生成对象:html=etree.HTML('html文档字符串')html=etree.parse('.html文件路径',etree.HTMLParser())1.2选取节点表达式查询节点:/:从根节点选取(值是一个对象)
- 02 数据解析
Ag刘晓婷
xpath//input[@id='search_input']//div/ul[@class='lg_tnav_wrap']/li[1]/a//div/ul[@class='lg_tnav_wrap']/li[1]/a[@*]lxmletreeparserfromlxmlimportetreehtml=etree.HTML(text)parser=etree.HTMLParser(encodin
- python爬虫
NoNamePlus
普通学习笔记python爬虫开发语言
1.爬虫的基本流程用urllib或是requests库把网页的HTML代码拉到本地用HTMLParser,Xpath,BeautifulSoup等库解析HTML代码,找到想要的东西2.HTMLParser廖雪峰的网站看资料3.urllib廖雪峰的网站看资料4.requests菜鸟教程看资料#GET方法importrequestsHTML=requests.get("网址",headers={"Us
- pycharm 切换 python3.9 报错 'HTMLParser' object has no attribute 'unescape' 解决
程序员的一天
有的bug,莫名其妙就好了...python3.9报错"AttributeError:'HTMLParser'objecthasnoattribute'unescape'"异常分析解决。一、问题描述安装python3.9版本后,pycharm中切换python3.9版本,创建虚拟环境报错:"AttributeError:'HTMLParser'objecthasnoattribute'unesca
- 怎么在html中使用less语言,Less.Html 示例五:使用方法详解
潘儒锋
Less.Html示例五:使用方法详解0.从解析开始引入Less.Html的命名空间:usingLess.Html;调用静态类型HtmlParser的Parse方法:Documentdocument=HtmlParser.Parse(testHtml);返回的是HTMLDOM标准的文档对象,我只实现了常见的DOM方法,其实DOM方法的设计本身就有繁复的地方,这个以后再说。要方便地查找文档元素,还需
- easyUi重新渲染
Night_zzz
狂野的小怪兽jqueryEasyui重新渲染转载:jQueryEasyUIparser的使用场景|WebUI框架使用参考+http://www.easyui.info/archives/216.htmlparser,故名意思,就是解析器的意思,别看他只有那么几行代码,jQueryEasyui能够根据class就能正常渲染页面全靠它了。一般情况下,我们并用不到解析器,本文主要讨论一下,什么情况下会用
- 输入 URL 到页面渲染的整个流程
晓丽_c080
DNS解析TCP三次握手发送请求,分析url,设置请求报文(头,主体)服务器返回请求的文件(html)浏览器渲染HTMLparser-->DOMTree标记化算法,进行元素状态的标记dom树构建CSSparser-->StyleTree解析css代码,生成样式树attachment-->RenderTree结合dom树与style树,生成渲染树layout:布局GPUpainting:像素绘制页面
- 「三」浏览器中CSS 语法解析过程
废柴码农
CSS语法解析过程1.在浏览器系列文章中,今天终点讲下CSS解析这块内容.我们已知浏览器的渲染流程中HTMLParser会生成DOM树,而CSSParser会将解析结果附加到DOM树上,如下图:image.png解析分为词法分析和语法分析。image.png词法分析,也是编译原理中的术语,从左到右一个字符一个字符的读入源程序,对字符流进行扫描,根据构词规则识别单词。这一过程可以使用lex等工具自动
- (水印)html转图片
Peak_Gao
javajava
gui.avahtml2image2.0.1xml-apisxml-apis1.4.01"+"IP地址:127.0.0.1国家:AAA\n"+"省份:AAAA位置:XXXXXXX";HtmlParserhtmlParser=newHtmlParserImpl();htmlParser.loadHtml(htmlTemplate);ImageRendererimageRenderer=newImag
- ios 常见问题解决
weixin_30706691
xcode移动开发c/c++
一,libxml/HTMLparser.hfilenotfind第一种方法:点击左边项目的根目录,再点击右边的BuildSettings,手工输入文字:“Headersearchpaths”,然后单击(或双击,点击弹出面板下面的“+”号进行添加)“Headersearchpaths”右边的空白处,输入:/usr/include/libxml2第二种方法:点击左边项目的根目录,再点击右边的Build
- java爬虫爬取百度图片_Java实现爬取百度图片的方法分析
weixin_39552768
java爬虫爬取百度图片
本文实例讲述了Java实现爬取百度图片的方法。分享给大家供大家参考,具体如下:在以往用java来处理解析HTML文档或者片段时,我们通常会采用htmlparser(http://htmlparser.sourceforge.net/)这个开源类库。现在我们有了JSOUP,以后的处理HTML的内容只需要使用JSOUP就已经足够了,JSOUP有更快的更新,更方便的API等。jsoup是一款Java的H
- 浏览器渲染页面的大致过程
路人丁0417
[图片上传失败...(image-735179-1630336184679)]渲染引擎启动html解释器(htmlParser)解析html源码,根据DOMAPI创建domtree,Browser进程并行下载网络资源(css/image/js...)。在dom树中,每个html标签都有一个对应的节点,每个文本也有对应的文本节点,根节点就是documentElement,对应的是html节点。当遇到
- python调用html数据_Python读取HTML页面
柒八酒
python调用html数据
有一个类库叫作beautifulsoup。使用这个库,可以搜索html标签的值,并获取页面标题和页面标题列表等特定数据。安装Beautifulsoup使用Anaconda软件包管理器安装所需的软件包及其相关软件包。condainstallBeaustifulsoap读取HTML文件在下面的例子中,我们请求一个url被加载到python环境中。然后使用htmlparser参数来读取整个html文件。
- Python调用Halcon踩坑记录
唐浅浅
Pythonpython
原配置为:PyCharm2019.1+Python3.71.使用python3.7.2安装mvtec-halcon提示找不到合适版本查看HalconPyhton接口使用文档,Python需要3.8版本以上2.安装最新的Python版本安装Python3.9,使用PyCharm切换python3.9报错‘HTMLParser‘objecthasnoattribute‘unescape‘查看官网pyt
- 数据处理之XPATH提取数据--------常用方法
西红市杰出青年
python大数据开发语言
**etree数据处理之XPATH提取数据--------常用方法**parser=etree.HTMLParser(encoding=‘utf-8’)html=etree.parse(‘A000000_table.html’,parser=parser)/AAA绝对路径表示必须以AAA开头print(html.xpath(‘/html’)[0])/AAA/BBB选择AAA下面的所有BBB元素但是
- Python爬虫:HTML网页解析方法小结
Python程序员小泉
python编程python入门python爬虫python入门python开发
要理解python是如何解析网页的,首先要理解什么是网页解析器。简单的说就是用来解析html网页的工具,准确的说:它是一个HTML网页信息提取工具,就是从html网页中解析提取出“我们需要的有价值的数据”或者“新的URL链接”的工具。解析HTML:层次化的数据有多个解析HTML的第三方库,例如:LXML,BeautifulSoup,HTMLParser等等。解析HTML面临的问题:没有统一的标准、
- 基于python的简介以及应用知识,快做好,要发车啦(文末有个投票)
阿玥的小东东
python开发语言爬虫阿玥的小东东程序人生
目录简介:流程:实现:环境:UrlManager类HtmlDownloader类HtmlParser类BuildIndex
- 天天都在使用CSS,那么CSS的原理是什么呢?
周小肆
作为前端,我们每天都在与CSS打交道,那么CSS的原理是什么呢?一、浏览器渲染开篇,我们还是不厌其烦的回顾一下浏览器的渲染过程,先上图:webkitrender正如上图所展示的,我们浏览器渲染过程分为了两条主线:其一,HTMLParser生成的DOM树;其二,CSSParser生成的StyleRules;在这之后,DOM树与StyleRules会生成一个新的对象,也就是我们常说的RenderTre
- python cgi
SkTj
cookie操作:限制4kb,300个,每个域名20个image.pngcgi.escapeimage.pngurllib.parse.quote_plusunquote_plusimage.pngopen().read()HTMLParser().unescape()image.pngcgi.FieldStorage()xx.keys()image.pngos.path.abspath(path
- 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性能优化权威指南》