H3el5o2HHHellllloo#includeusingnamespacestd;intmain(){stringn;cin>>n;getchar();for(inti=0;i='1'&&n[i]<='9'){intnum=(int)n[i]-48;chartemp=n[i-1];for(intj=2;j<=num;j++){cout<
2024第十五届蓝桥杯网安赛道省赛题目--cc(CyberChef)/crypto
Hhyao
蓝桥杯密码学
题目界面告诉我们采用的是AES加密,并且key是gamelab@gamelab@,IV是gamelab@gamelab@,Mode是CBC模式,输出为Hex十六进制4da72144967f1c25e6273950bf29342aae635e2396ae17c80b1bff68d90f16679bb45c15852e0ce88d4864d93e9e3be2使用解密工具cc(CyberChef),输入
Tesla Autopilot技术架构整理(引用自EatElephant)
Aikun7777777
自动驾驶架构人工智能
1.FSDOverview通过8台相机(36HZ)采集数据(960*1280的RGB图像)在自研的2颗*FSDchip(72TOPS(int8))上进行超过1000种不同任务的感知预测包括但不限于下面的超过50种MainTask:MovingObjects:StaticsObjects:EnviromentTags:每个MainTask下面还有若干Subtasks,例如车辆检测还包括车辆的静止,朝
Axios 的地区查询(案例)
还是鼠鼠
ajax前端javascriptbootstrapweb
目录1.项目背景与功能概述2.完整代码3.HTML结构解析输入表单查询按钮地区列表4.JavaScript部分解析监听点击事件发送Axios请求处理响应数据5.完整流程6.总结7.适用场景8.优化和扩展本案例展示了如何使用Axios发送带查询参数的HTTP请求,查询指定省份和城市下的地区列表。通过用户输入的省份名称和城市名称,向后端API发送请求,获取该地区下的具体区域信息,并将返回的数据动态渲染
【2024年华为OD机试】(A卷,100分)- 单向链表中间节点 (Java & JS & Python&C/C++)
妄北y
算法汇集笔记总结(保姆级)华为odjavajavascriptpythonc语言链表
一、问题描述题目描述求单向链表中间的节点值,如果奇数个节点取中间,偶数个取偏右边的那个值。输入描述第一行链表头节点地址后续输入的节点数n后续输入每行表示一个节点,格式节点地址节点值下一个节点地址(-1表示空指针)输入保证链表不会出现环,并且可能存在一些节点不属于链表。输出描述单向链表中间的节点值用例输入000104000003-1000105123091145160000012309711451输
python基础-推荐8个常用的Python GUI图形界面开发框架
小尤笔记
数据库pythonPython基础开发语言爬虫
在Python中,GUI(图形用户界面)开发框架为开发者提供了创建交互式应用程序的工具。以下是八款常用的PythonGUI图形界面开发框架及其简要代码讲解:CSDN大礼包:《2024年最新全套学习资料包》免费分享1.Tkinter简介:Tkinter是Python的标准GUI库,它提供了一个简单的方式来创建窗口、对话框等GUI元素。Tkinter被整合到当前所有主要操作系统的Python安装程序中
spring boot应用程序接口调优记录
weixin_50825389
springboot服务器java
一、接口功能本次目标接口为新契约的投保单导入,主要功能包括投保单创建、投核保规则校验、应收保费创建、投保单签发处理,实现外部合作方承保的投保单一步导入保司功能。一般来说,外部合作方会采用批处理的方式进行导入,所以在性能上会有一定要求。二、预期目标本次预期目标为在一个标准的配置上(4C8G)服务器上,实现RT600内,TPS80以上。三、性能优化过程1.首次压测结果从上面的压测数据我们看到,当前核保
Fooocus AI绘画神器兼具Midjourney和Stable Diffusion强大功能,win版本整合包一键运行N卡版(8g内存4g显卡可操作硬盘空间要500g),省去繁琐的安装(A卡改参数)
struggle2025
AI作画midjourneystablediffusion人工智能计算机视觉图像处理
开源AI绘画工具Fooocus使用指南最近,在Github上一款全新的开源AI绘画工具Fooocus横空出世,引发了众多AI绘画爱好者的关注。它不仅能够像StablediffusionWebUI一样部署到本地免费使用,还具备midjourney那般便捷的操作界面,为用户带来了极其出色的创作体验。Foocus重新思考了图像生成器的设计。该软件是离线的,开源的,免费的,同时,类似于许多在线图像生成器,
Spring Boot 3.x 系列【6】日志框架集成及配置
墨 禹
SpringBoot3.xspringbootjavalogback
有道无术,术尚可求,有术无道,止于术。本系列SpringBoot版本3.0.3源码地址:https://gitee.com/pearl-organization/study-spring-boot3文章目录前言常用日志框架SLF4JJCLJULLog4jLogbackSpringBoot日志1.日志格式2.控制台输出3.日志级别4.打印日志5.日志分组6.日志关闭钩子7.输出到文件8.自定义日志配
【Golang】——Gin 框架与数据库集成详解
Linke-
Golanggolanggin数据库后端开发语言go
文章目录1.引言2.初始化项目2.1创建Gin项目2.2安装依赖3.数据库驱动安装与配置3.1配置数据库3.2连接数据库3.3在主函数中初始化数据库4.定义数据模型4.1创建用户模型4.2自动迁移5.使用GORM进行CRUD操作5.1创建用户5.2获取用户列表5.3更新用户信息5.4删除用户5.5路由配置6.数据库迁移与管理6.1数据迁移6.2手动迁移7.使用事务处理复杂操作8.优化与调试8.1数
echarts样式设置笔记
weixin_45907672
vueecharts前端javascript
设置x轴的小标题xAxis:{type:'value',name:'DRGs组数',data:['2014','2015','2016','2017','2018','2019','2020']}设置y轴的小标题yAxis:[{type:'value',name:'预算总额',min:0,max:25,interval:5,//可以添加单位和后缀//axisLabel:{//formatter:'
做性能测试时,导入locust类库时,报错ValueError: path is on mount 'E:', start on mount 'C:'
菜鸟和大白谁厉害
错误集锦
一、报错信息:CollectinglocustUsingcachedhttps://files.pythonhosted.org/packages/46/2e/18d4e363e76ec8f407ed018594f474d5669b3bca3977c4c664940fff95d5/locust-0.0.tar.gzCollectinglocustio(fromlocust)Usingcachedh
试了下Cursor,感觉程序员工种危险了
java
大家好,我是汤师爷~今年8月份,AI编程工具Cursor在开发者社区彻底火了。在Twitter平台上,Cloudflare副总裁分享了一段视频,展示了一个令人震惊的案例。他年仅8岁的女儿,仅用CursorAI这款工具,在短短45分钟内,就成功构建了一个功能完整的聊天机器人。最近,另一个案例进一步证实了AI编程的潜力。内容创作者、UP主@AI进化论-花生,完全没有编程经验,仅凭CursorAI编程工
open3d踩雷避坑(运行不了又不报错)
yuyuyue249
python
2024.9.13:open3d的这个问题,折磨了我一整晚+一早上,直到我看到了github的一个issue问题描述:我安装open3d直接:pipinstallopen3d但是学到一半发现运行部分代码问题描述:open3d不出可视化pcd,也不报错只出现:进程已结束。。。。。什么的如下:进程已结束,退出代码为-1073741819(0xC0000005)可能是numpy版本不对!!!!那我直接就
Jetson Nano B01 sd卡启动 以及读取sd卡来扩容(换系统)
yuyuyue249
linux服务器
一.读取sd卡来扩容:请先确保JetsonNanoB01是可以正常进入EMMC系统的。step1:下载下载dtb文件(kernel)到JetsonNanoB01并解压,终端输入:unzipNano-dtb-SDMMC.zipstep2:将dtb文件复制到boot目录:终端输入:sudocpkernel_tegra210-p3448-0002-p3449-0000-b00-user-custom-J
【深度学习】Swin Transformer: Hierarchical Vision Transformer using Shifted Windows,论文
XD742971636
深度学习机器学习深度学习transformer人工智能
必读文章:https://blog.csdn.net/qq_37541097/article/details/121119988SwinTransformer:HierarchicalVisionTransformerusingShiftedWindows论文:https://arxiv.org/abs/2103.14030代码:https://github.com/microsoft/Swin-
解决Cookie值不允许出现中文的问题
解决Cookie值不允许出现中文的问题,主要是因为HTTP协议对Cookie的值有一些限制,其中包括不支持非ASCII字符(如中文字符)。为了实现这一点,我们可以通过以下方法进行处理。1.编码转换:中文字符通常不是URL安全字符,它们包含非ASCII字符,需要进行编码转换。我们可以使用UTF-8编码,将中文字符转换成适合存储在Cookie中的格式。URL编码将中文字符转化为其UTF-8的字节表示,
ARM版本Ubuntu server Docker运行X86镜像
thinkdreamyy
arm开发ubuntudocker
第一步根据官网说明正常安装dockerhttps://docs.docker.com/engine/install/ubuntu/第二步安装配置QEMUsudoaptinstall-yqemu-user-staticsudoaptinstall-ybinfmt-support第三步配置QEMU下载预编译文件wgethttps://github.com/multiarch/qemu-user-sta
寒假刷题Day7
komo莫莫da
数据结构算法
一、1658.将x减到0的最小操作数给你一个整数数组nums和一个整数x。每一次操作时,你应当移除数组nums最左边或最右边的元素,然后从x中减去该元素的值。请注意,需要修改数组以供接下来的操作使用。如果可以将x恰好减到0,返回最小操作数;否则,返回-1。代码:classSolution{public:intminOperations(vector&nums,intx){inttarget=acc
数据挖掘常用算法优缺点分析
天波烟客00
数据挖掘数据挖掘机器学习
领取机器学习视频教程:http://www.admin444.com/P-c8129a48常用的机器学习、数据挖掘方法有分类,回归,聚类,推荐,图像识别等。在实际应用中,一般都是采用启发式学习方式来实验。偏差&方差偏差:描述的是预测值(估计值)的期望与真实值之间的差距,偏差越大,越偏离真实数据。偏差bias其实是模型太简单而带来的估计不准确的部分---欠拟合方差:描述的是预测值的变化范围、离散程度
kafka下载安装、简易实例、遇到的错误解决
诸葛名义
kafkalinuxhadoopzookeeper
目录kafk实例错误解决WARN[ConsumerclientId=consumer-1,groupId=console-consumer-94437]Connectiontonode-kafka启动:Nativememoryallocation(mmap)failedtomap1073741824bytesforcommittingreservedmemorkafka下载地址:https://m
Arduino控制42步进电机
qq_36201610
java算法开发语言
前言:使用Arduino实现控制42步进电机正反转与转动步数程序:intdirPin=8;intstepperPin=9;intEN=10;voidsetup(){pinMode(dirPin,OUTPUT);pinMode(stepperPin,OUTPUT);pinMode(EN,OUTPUT);}voidstep(booleandir,intsteps){digitalWrite(dirPi
什么是LLM?看这一篇就够了!
Python程序员罗宾
人工智能语言模型AIGC自然语言处理
前言自从2022年12月ChatGPT横空面世以来,AI领域获得了十足的关注和资本,其实AI的概念在早些年也火过一波,本轮AI热潮相比于之前的AI,最大的区别在于:生成式。本文主要介绍大语言模型(LargeLanguageModel,简称LLM)。大语言模型介绍什么是大语言模型(LLM)通过海量文本训练的、能识别人类语言、执行语言类任务、拥有大量参数的模型,称之为大语言模型。GPT、LLaMA、M
后台管理系统通用页面抽离=>高阶组件+配置文件+hooks
秀秀_heo
小轮子javaandroidjavascript
目录结构配置文件和通用页面组件content.config.tsconstcontentConfig={pageName:"role",header:{title:"角色列表",btnText:"新建角色"},propsList:[{type:"selection",label:"选择",width:"80px"},{type:"index",label:"序号",width:"80px"},{t
寒假刷题Day18
komo莫莫da
算法leetcode数据结构
一、16.最接近的三数之和这一题有负数,没有单调性,不能“大了右指针左移,小了左指针右移,最后存值域求差绝对值”。classSolution{public:intthreeSumClosest(vector&nums,inttarget){ranges::sort(nums);intans,n=nums.size();intmin_diff=INT_MAX;for(inti=0;i0&&x==nu
加热台一键控制:基于ATMEGA8进行控制
卓晴
科学-技术-探究单片机mongodb
简介:本文记录了对于加热台的一键控制模块的制作。给出了相应的设计文件的主要记载。便于将来的维修。关键词:加热台,控制,MEGA8加热台控制目录Contents电路设计控制程序总结利用光耦充当按钮开关AD\Test\2025\January\ThemoplatecontrolMEGA8.SchDocD:\zhuoqing\window\Atmel\test\2025\January\Thermopl
persistent_homology_cpu.cpython-37m-x86_64-linux-gnu.so: No such file or directory类似问题的解决思路
蛐蛐蛐
深度学习科研工具Python技巧linux运维服务器
这篇博客也就是简单记录一下。由于工作需要,想尝试一下这篇论文的工作:https://github.com/ljj-cyber/TopoGDN发现很多人真是开源不用脑子,自己也不测试一下(当然不是针对这个作者),只是感觉大家都太不认真了(草台班子太严重)。总结一下遇到的问题:首先,看作者这里介绍:Toinstallthisproject,youneedtoinstallthefollowingPyt
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性能优化权威指南》