- (C源代码)全路径格式和树形视图格式之间来回转换的命令行工具
赵4老师
c语言算法开发语言
先举个例子,假如有6个txt文件全路径格式fp.txt(FullPath):C:\1.txtC:\1\21.txtC:\1\22.txtC:\1\2\31.txtC:\1\23.txtC:\2.txt树形视图格式tv.txt(TreeView):C:1.txt121.txt22.txt231.txt23.txt2.txt以上两种格式表达的意思是完全一样的。怎么才能在这两种格式之间随意转换呢?以下C
- python_文件IO与内存IO
Oayia
python软测python开发语言linux
目录一、文件操作1、文件常见操作2、os.path.realpath()、os.path.getcwd()、os.path.abspath()的区别3、文件读写4、seek、tell5、shutil模块6、输⼊⽂件的名字,然后程序⾃动完成对⽂件进⾏备份7、批量修改文件名二、内存IO1、StringIO2、文件IO、StringIO同时使用3、BytesIO4、文件IO、BytesIO同时使用一、文
- Django 上线部署注意事项(全)
britlee
djangopython后端
1.生产环境,即DEBUG=False2.静态文件在settings文件中:STATICFILES_DIRS=[os.path.join(BASE_DIR,"static/"),]STATIC_URL='/static/'STATIC_ROOT=os.path.join(BASE_DIR,"static_new/")#注意:STATIC_ROOT不能和STATICFILES_DIRS重复3.med
- 鸿蒙原生绘图API:从基础到高阶的绘制之旅(进阶版)
家人们,还记得上次一起探索的鸿蒙绘图API基础用法吗?上手是不是特别容易!今天,咱们就接着深入,开启进阶版的学习,解锁更多复杂又炫酷的绘图技能,让你的鸿蒙应用界面直接“出圈”!我将结合实际开发场景,丰富绘制路径、圆角矩形、绘制图片、画笔与画刷、裁剪区域设置这几个方面的案例,让示例更具实操性和参考价值。一、复杂图形绘制(一)路径绘制当绘制不规则图形,比如独特的图标、创意的装饰元素时,Path类就成了
- es部署报错找不到tools.jar
Gungnirss
elasticsearchjar大数据
网上看了很多解决方法都不行,换版本,甚至用es内置的jdk都没解决问题。原因:系统在运行时会去环境变量里找JAVA_HOME,来找到JDK运行JVM,而JVM在运行时会根据classpath的设置来加载类和资源。此时如果你的classpath里面写了,需要加载tools.jar,而在Java高版本中(实测jdk21没有)是没有tools.jar的,因此会导致报错。解决办法:编辑环境变量-系统变量-
- 如何解决LabView的Active X容器中无Animation GIF Control问题
樊二子
labview
标题:如何解决LabView的ActiveX容器中无AnimationGIFControl问题原因:电脑无AniGIF.ocx插件解决:1.下载AniGIF.ocx插件,可能会因为版本问题而导致labview闪退。我在这里提供两个插件,我是labview2018,亲测大一点的文件有效。下载方式:看我上传的资源https://download.csdn.net/download/nidaye_xia
- Flutter动画实战指南:打造灵动界面的渐变色动画教程
Coderabo
Flutter框架详解flutterui
在Flutter的世界里,动画是提升用户体验不可或缺的一环。无论是简单的渐变效果,还是复杂的过渡动画,Flutter提供了强大的动画API来帮助开发者轻松实现这些效果。本文将深入探讨Flutter中的动画工作原理,并通过一个完整的示例展示如何在Flutter应用中使用动画工作函数,让您的界面动起来。动画基础与概念Flutter中的动画主要基于ticker和controller的概念。Ticker是
- Vite (Vue3 + TS)解决跨域问题
JingpengZhang
Vue前端vue.jsjavascript
1.vite.config.ts中添加如下代码:exportdefaultdefineConfig({server:{proxy:{'/api':{target:'http://xxx.com/',//实际请求地址changeOrigin:true,rewrite:(path)=>path.replace(/^\/api/,""),},},},})2.修改axois封装中的baseURL:base
- 在vite中 解决跨域问题
是马铭轩
vue.jsjavascript前端
请求接口会产生跨域问题,需要做个代理服务器配置在vite.config.ts中进行配置:import{fileURLToPath,URL}from'node:url'import{defineConfig}from'vite'importvuefrom'@vitejs/plugin-vue'//https://vitejs.dev/config/exportdefaultdefineConfig(
- deepin linux安装mysql启动方法
Wilburzzz
linux
#deepin安装mysql启动方法在终端首先输入代码进入mysql安装的文件夹cd/usr/local/mysql然后exportPATH=/usr/local/mysql/bin:$PATH最后mysql-uroot-p输入你第一次安装mysql修改过的密码进入mysql后退出命令是exit
- Miniconda配置——conda虚拟环境的日常使用
guikunchen
Ubuntu环境配置软件配置
安装wget-chttps://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.shchmod+xMiniconda3-latest-Linux-x86_64.shbashMiniconda3-latest-Linux-x86_64.sh#记住更新PATH到~/.bashrc时选noConda、CUDA等软件一般装在home//
- 22.回溯算法4
居然有人654
算法数据结构leetcode
递增子序列这里不能排序,因为数组的顺序是对结果有影响的,所以只能通过used数组来去重classSolution{public:vectorpath;vector>res;voidbacktracking(vector&nums,intstart){if(path.size()>1)res.push_back(path);intused[201]={0};for(inti=start;i=path
- vue3+vite 配置使用 @ 引入文件
LayneTu
vue.js前端javascript
如何在vue3中使用@来引入文件我这里用到的是vue:^3.2.45和vite:^4.1.0版本,所以在配置之前需要先安装一个可以使用resolve的插件,有了此插件就可以通过import来引入path:npmi-D@types/node接下来是配置vite.config.ts:import{defineConfig}from'vite'importvuefrom'@vitejs/plugin-v
- ubuntu安装编译brpc
周子青
//安装git、g++、make、libssl-dev$sudoapt-getinstallgitg++makelibssl-dev//安装gflags、protobuf、leveldb$sudoapt-getinstallrealpathlibgflags-devlibprotobuf-devlibprotoc-devprotobuf-compilerlibleveldb-dev//安裝goog
- 第十七:嵌套路由
小画家~
前端前端javascript
4.7.【嵌套路由】编写News的子路由:Detail.vue配置路由规则,使用children配置项:constrouter=createRouter({ history:createWebHistory(),routes:[{name:'zhuye',path:'/home',component:Home},{name:'xinwen',path:'/news',component:News,
- 【PCL】vs2022配置PCL环境
IT小学僧
点云python数据结构算法
vs2022配置PCL环境前言一、安装教程二、路径python脚本前言vs2022配置PCL环境和路径Python脚本一、安装教程看这位兄弟写的就行二、路径python脚本因为我和他的版本并不一样,一个一个改太麻烦了,所以特此写了个python脚本。请注意要脚本中OpenNI2位置,修改成你的位置即可。importos#查找给定路径中的PCL依赖库defdependency(paths):#将输入
- ansible 命令集合
橙子❦
ansible
替换selinux文件ansiblemaster-mlineinfile-a'path=/etc/sysconfig/selinuxregexp="^SELINUX="line=SELINUX=disabled'
- Unity引擎开发:动画系统实现all
chenlz2007
游戏开发2unity游戏引擎nginxlucene3d
动画系统实现1.动画控制器(AnimatorController)1.1动画控制器概述在Unity引擎中,动画控制器(AnimatorController)是管理角色动画的核心组件。它通过状态机(StateMachine)来控制不同动画状态之间的切换,确保动画流畅和自然。动画控制器可以用于多种场景,如角色动画、UI动画等。在动作游戏中,动画控制器主要用于管理角色的移动、攻击、跳跃等动画状态,确保这
- 关于QT中获取Windows系统磁盘使用情况
柠檬算不酸
qt开发语言
使用WindowsAPI获取系统磁盘详细信息时,为了与WindowsAPI兼容,我们需要将QString对象转换为UTF-16编码的宽字符字符串。 QFileInfoListlist=QDir::drives();//获取所有磁盘的列表 foreach(QFileInfodir,list){ QStringdirName=dir.absolutePath();//获取磁盘的绝对路径(例如
- windows下安装Open Web UI
醒醒a
python
windows下安装openwebui有三种方式,docker,python+node.js,整合包.这里我选择的是第二种,非docker.非Docker方式安装1.安装Python:下载并安装Python3.11,建议安装路径中不要包含中文字符,并勾选“Addpython3.11toPath”选项。安装完成后,在命令提示符中输入python,若显示Python版本信息则表示安装成功。2.安装No
- python爬视频b站评论
JAVA百练成神
python
输入视频的bv号输入你要取的页数文件自动保存到本地importurllib.requestimporturllib.parseimportjsonimportjsonpathdeffun(url):#定制头部headter={'accept-language':'zh-CN,zh;q=0.9','referer':'https://www.bilibili.com/bangumi/play/ss3
- 安装配置Goland+vscode
Cr不是铬
青少年编程go
下载:Allreleases-TheGoProgrammingLanguage环境变量:GOPATH(工作目录)GOROOT(安装目录)PATH添加GOROOT%GOROOT%\bin安装成功如图:VSCODE打开工作目录,根据提示安装Go插件,然后ctrl+shift+p.安装工具
- DeepSeek 助力 Vue 开发:打造丝滑的滚动动画(Scroll Animations)
宝码香车
#DeepSeekvue.js前端javascriptecmascript前端框架DeepSeek
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦目录DeepSeek助力Vue开发:打造丝滑的滚动动画(ScrollAnimations)前言页面效果指令输入属性定义1.动画控制属性2.状态控制属性3.元素选择属性事件定义1.动画开始事件2.动画结束事件其他1.样式封装2.性能优化3.兼容性处
- C++MFC常用控件
刘欢(C#)
C++c++mfc
_按钮(Button)_编辑框(EditControl)_标签(StaticText)_超级列表框(ListControl)_分组框(GroupBox)_复选框(CheckBox)_树形框(TreeControl)_图片框(PictureControl)_文件选择框(MFCEditBrowseControl)_选择夹(TabControl)_组合框(ComboBox)_avi短动画命令按钮(Com
- c++ 把byte[]中的数据写入bin\txt文件中
澄澈天空
c++MFCC++文件操作二进制文件文本文件内存管理
1.保存bin文件intsize=1000;BYTE*data=newBYTE[size];memset(data,0,size);CStringPath=_T("..\test.bin");FILE*file1;if(_wfopen_s(&file1,Path.GetBuffer(),_T("wb+"))==0){fwrite(data,1,size,file1);fclose(file1);}
- Unity 脚本控制3D人物模型的BlendShape
lovingyk
unityunity
有些3D角色模型带有BlendShape面部控制,在Unity中可以通过接口访问并操作其参数可以表现不同的面部表情在Unity中选中角色模型的指定部位,这个是由模型师定义的,不固定.但肯定是在面部建模上.点选之后在检查器可以看到对应的BlendShapes设定项出现在SkinedMeshRenderer组件中.由于BlendShape中定义的每个项是在建模中由建模师自定义的,所以名称不固定,所以在
- vue中使用router动态加载路由找不到文件
道不尽世间的沧桑
杂篇vue.js前端javascript
新开项目在写动态路由加载时,出现路径完全正确但import就是找不到文件把相同的路径当作字符串直接卸载import()中,路由就可以正常加载最终确认问题是component:()=>import(`@${publicPath}/${path.FUNC_PATH}.vue`),这段代码中,@后没有/无法解析,将这段代码publicPath进行修改if(publicPath[0]=='/'){publ
- 便携式动平衡仪Qt应用层详细设计说明书
m0_55576290
工作一二三qt开发语言
便携式动平衡仪Qt应用层详细设计说明书(DDD)版本:1.1日期:2023年10月一、文档目录系统概述应用层架构设计模块详细设计接口定义与数据流关键数据结构代码框架与实现测试计划附录二、系统概述2.1功能需求开机流程:长按电源键启动,全屏显示商标动画(快闪3~4次)。主界面:三栏布局(状态栏、工作区图标、导航栏),支持点击图标跳转。模板系统:保存/加载动平衡参数模板(.tpl文件),点击模板直接跳
- URI和URL区别与联系,从此不再模糊
ZZZ_Tong
java网络前端后端
URI和URL区别与联系文章目录URI和URL区别与联系前言一、联系二、区别总结前言URI(统一资源标识符)和URL(统一资源定位符)URI的格式:模式:模式具体部分,例如:https://www.example.com/index.htmlurn:isbn:9780141036144URL的格式:protocol://hostname[:port]/path/[?query][#fragment
- thinkphp5.0配置Redis
denglansui3484
数据库php
官方文档就缓存的配置如下:$options=[//缓存类型为File'type'=>'File',//缓存有效期为永久有效'expire'=>0,//缓存前缀'prefix'=>'think',//指定缓存目录'path'=>APP_PATH.'runtime/cache/',];Cache::connect($options);看着让人不明所以,也不知道在哪配置,经过研究,应在applicati
- 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性能优化权威指南》