- mysql 常见数据表操作
天狼1222
mysql系列mysql数据库
前面介绍了数据库表的基本操作。把常用的做一个汇总。时间久了,记不得完整的语法了,再打开一看,就清楚了。1,表操作1,建表+注释CREATETABLEstudent(idINTPRIMARYKEYAUTO_INCREMENTCOMMENT'学号',nameVARCHAR(200)COMMENT'姓名',ageINTCOMMENT'年龄')COMMENT='学生表'2,修改注释--修改表注释-ALTE
- C++ primer 第十二章
红鼻子怡宝
c++primerc++开发语言
动态分配的对象的生存期与它们在哪里创建无关,只有当显式地被释放时,这些对象才会销毁。静态内存用来保存局部static对象、类static数据成员以及定义在任何函数之外的变量。栈内存用来保存定义在函数内的非static对象。堆内存用来存储动态分配的对象。静态或栈内存中的对象由编译器自动创建和销毁,而堆内存中的对象必须显式地销毁它们。1.动态内存与智能指针运算符new在动态内存中为对象分配空间并返回一
- 762. Prime Number of Set Bits in Binary Representation
Nancyberry
DescriptionGiventwointegersLandR,findthecountofnumbersintherange[L,R](inclusive)havingaprimenumberofsetbitsintheirbinaryrepresentation.(Recallthatthenumberofsetbitsanintegerhasisthenumberof1spresentwh
- openGauss+KeepAlived
openGaussMan
openGauss数据库
openGauss+KeepAlived实验环境操作系统:CentOS7.6数据库版本:openGauss1.1.0Primary主机/IP:opengaussdb1/...1(openGauss主备已部署完毕)Standby主机/IP:opengaussdb2/...2(openGauss主备已部署完毕)说明:不建议在云环境(如:华为云)下搭建Keepalived进行测试,本人在云环境下测试发现
- Using DataContext to Track Changes and Cache Objects
weixin_33872566
数据库
TheDataContextobjectmanagesobjectidentityforyousothatrowsretrievedfromthedatabasetableareautomaticallyloggedintheDataContextobject’sinternalidentitytablebytherow’sprimarykeywhentheobjectiscreated.Ifth
- 搜维尔科技:Manus Prime X系列手套介绍,由 PrimeXMarkerMocap 和Prime X Haptic VR 手套组成
北京搜维尔科技有限公司
科技vr
搜维尔科技:ManusPrimeX系列手套介绍,由PrimeXMarkerMocap和PrimeXHapticVR手套组成ManusPrimeX(点击进入官网)系列手套介绍,由PrimeXMarkerMocap和PrimeXHapticVR手套组成
- [Electron]中screen屏幕
嗓子疼谁心疼
electronjavascript前端
Electron中screen检索有关屏幕大小、显示器、光标位置等的信息。可以实现以下两个功能窗口全屏显示在额外显示器上方法screen.getCursorScreenPoint()返回Point当前鼠标的绝对位置。screen.getPrimaryDisplay()返回主窗口Displayscreen.getAllDisplays()返回一个窗口数组Display[],表示当前可用的窗口。scr
- MongoDB数据集维护步骤
ChanZeeBm
将成员以单机状态启动执行维护操作重新将成员加入到副本集PS:以上步骤首先执行于Secondary成员,最后才执行于primary成员。Secondarydb.shutdownServer()mongod--bind_ip192.168.10.10--port37017--dbpath[dbpath]mongo--host192.168.10.10:37017PerformMaintenancemo
- sql执行计划需要关注那些内容?
注。
mysqlsql数据库
执行explain会返回那些字段(加粗标红为主要关注字段)?1、id:执行计划中每个操作的唯一标识,多表联查的时候会出现多条数据id是一样的2、select_type:查询类型,常见类型有:SIMPLE、PRIMARY、UNION、SUBQUERY3、table:涉及到的表4、partitions:涉及到的分区5、type:查询时使用到的索引类型:system、const、eq_ref、ref、r
- 31.Elasticsearch集群故障排查及修复-2
大勇任卷舒
31.1定位红色或黄色的索引进一步定位未分配的原因可以要求集群进一步返回给定分片的当前分配情况和逻辑需要结合第三步返回结果对下面的_cluster/allocation/explainAPI参数进行修改GET/_cluster/allocation/explain{"index":"my_index_003","shard":0,"primary":false}一些常见的问题包括:磁盘空间不足分片
- 2024年3月5日 晨会汇报
进击切图仔
English前端
Goodmorning,colleagues!Today,I’dliketoshareanupdateaboutmyrecentworkactivitieswhichencompassesoftwoareas:anoverviewofmyworkactivitiesfromyesterdayandanagendafortoday.Yesterday’sprimarytaskwastofixingb
- 素数合集(C语言版)
籽寒12
c语言算法
目录判断素数函数题目素数个数素数求和最大的素数孪生素数默尼森素数判断素数函数intprime(intn){if(n#include#include#include#include#definem10intprime(intn){if(n#include#include#include#definemax101intprime(intn){if(n#include#include#include#d
- primus
老板阿修罗
喜欢上了primus,开始翻来早期的歌听。每一张专辑都很惊艳,非常独特的曲风。每首歌都像一首奇异的冒险,就像动画一样跳跃、变化、开玩笑和滑稽。porksoda这张专辑也延续了乐队的风格,马戏般场景化的节奏。mrkrinkle大提琴的演奏是非常好的变化,在摇滚乐的曲风中这样的添加融合的非常好。作为节奏乐器,肥厚的“锯弦”声不断的重复,再加上滑弦的演奏方法,产生出了非常奇妙的音色,不需要效果器和音响模
- 基于深度学习的中文语音识别系统(毕设)
程序员奇奇
深度学习从入门到精通语音识别深度学习人工智能
该系统实现了基于深度框架的语音识别中的声学模型和语言模型建模,其中声学模型包括CNN-CTC、GRU-CTC、CNN-RNN-CTC,语言模型包含transformer、CBHG,数据集包含stc、primewords、Aishell、thchs30四个数据集。本项目现已训练一个迷你的语音识别系统,将项目下载到本地上,下载thchs数据集并解压至data,运行test.py,不出意外能够进行识别,
- C++ primer摘要(10)---动态内存
人间百色
动态内存概述我们编写的程序中所使用的对象都有严格定义的生存期全局对象在程序启动时分配,在程序结束时销毁局部自动对象,在程序进入其定义所在的程序块时被创建,在离开块时销毁局部static对象在第一次使用前分配,在程序结束时销毁除了自动和static对象外,C++还支持动态分配对象(new),动态分配的对象的生存期与它们在哪无关,只有当显示的被释放时,这些对象才会销毁动态对象的正确释放被证明是编程中极
- 【数学】 204. 计数质数
少写代码少看论文多多睡觉
#Leetcode算法
204.计数质数解题思路创建了一个Solution类。定义了一个公共方法countPrimes,接受一个整数参数n。创建了一个长度为n的布尔数组isPrime,用于标记每个数是否为质数。初始时,假设所有数都是质数。通过Arrays.fill将isPrime数组初始化为全部为true,表示所有数都是质数。使用两个嵌套的for循环来遍历数字,并标记非质数。外层循环从2开始直到ii小于n为止,内层循环从
- 高级语言期末2011级A卷
Niu战士
数据结构算法c语言考研
1.编写函数,判定正整数m和n(均至少为2)是否满足:数m为数n可分解的最小质因数(数n可分解的最小质因数为整除n的最小质数)提示:判定m为质数且m是n的最小因数#include#includeboolisprime(intm,intn){for(inti=0;ivoidsort(int*arr,intn){for(inti=0;iintfac(intn){if(n==0)return1;else
- C primer plus 复习题答案 上
不好,商鞅要跑
c++primerplusc语言c++算法
复习题答案上第二章第三章第四章第五章第六章第二章c++程序的模块叫做函数预处理器编译指令是用作替换编译指令可以使用程序再std空间内的各定义cout>cheeses;coutactor;arraybetsie;array;arraydipsea;intarr[5]{1,3,5,7,9};inteven=arr[0]+arr[4];cout>num;int*ptr=newint[num];vecto
- Bluehost空间手动安装wordpress
Hunk_song
Bluehost有时候会抽风导致一键安装WP失效,今天讲下如何在Bluehost上手动安装Wordpress背景知识:什么是网站根目录?(非常重要)对于Bluehost空间,public_html这个文件夹就primarydomain的网站根目录,即你购买bluehost时填的那个域名的网站资料如果你添加了第二个,第三个网站,如www.abc.com,那么abc的网站根目录就为Public_htm
- OpenGL.error.NullFunctionError: Attempt to call an undefined function glGenVertexArrays
AI视觉网奇
opengl
OpenGL.error.NullFunctionError:AttempttocallanundefinedfunctionglGenVertexArraysFile"D:\ProgramData\Miniconda3\lib\site-packages\pyrender\primitive.py",line324,in_add_to_contextself._vaid=glGenVertexA
- 实现获取 两个时间之间的工作日工作时长(mysql)
gstl
mysql数据库
实现功能:计算两个时间之间的时长:要求:1.计算工作日2.只计算8:00-20:00之间的时间,其他时间不计入时长计算逻辑:1.首先维护一个表,该表存储假期信息CREATETABLE`holiday`(`id`int(10)NOTNULLAUTO_INCREMENT,--表主键`holiday`varchar(8)DEFAULTNULL,--假期格式为20010101PRIMARYKEY(`id`
- C++ primer 第八章
红鼻子怡宝
c++primerc++开发语言
1.IO类iostream头文件定义了用于读写流的基本类型。fstream头文件定义了读写命名文件的类型。sstream头文件定义了读写内存string对象的类型。头文件类型iostreamistream,wistream从流读取数据ostream,wostream向流写入数据iostream,wiostream读写流fstreamifstream,wifstream从文件读取数据ofstream
- Java递归/遍历,实现遍历父子级菜单
春来我不先开口,哪个虫儿敢作声?
有关Java项目的参考文章前端数据库
目录准备工作迭代实现递归实现未带有显示顺序的递归遍历准备工作createtabledormitory_management.fuzi(menu_idbigintauto_incrementcomment'菜单ID'primarykey,menu_namevarchar(50)notnullcomment'菜单名称',parent_idbigintdefault0nullcomment'父菜单ID'
- 牛客网SQL题目1
用心的海龙
牛客网SQL题目1描述有一个员工employees表简况如下:建表语句如下:`emp_no`int(11)NOTNULL,`birth_date`dateNOTNULL,`first_name`varchar(14)NOTNULL,`last_name`varchar(16)NOTNULL,`gender`char(1)NOTNULL,`hire_date`dateNOTNULL,PRIMARYK
- Leetcode 3044. Most Frequent Prime
Espresso Macchiato
leetcode笔记leetcode3044leetcode周赛385leetcodemediumleetcode题解矩阵
Leetcode3044.MostFrequentPrime1.解题思路2.代码实现题目链接:3044.MostFrequentPrime1.解题思路这一题的话思路上倒是没啥,直接遍历一下每一个点作为起点时8个方向上所能找到的全部质数然后count一下他们出现的总次数即可。2.代码实现给出python代码实现如下:defget_primes(n):status=[0for_inrange(n+1)
- 2020-07-30-mysql第三章作业练习
我是块扣肉
数据准备:先创建student和score表,添加基本数据,用于查询演练(参考答案如下)创建student表SQL代码如下:createtablestudent(idint(10)notnulluniqueprimarykey,namevarchar(20)notnull,gendervarchar(4),birthyear,departmentvarchar(20),addressvarchar
- sqlserver 如何设置自增主键?
Tang_Monk
sqlserver数据库
目录1.创建表时定义-自增主键2.已存在表定义-自增主键1.创建表时定义-自增主键在MicrosoftSQLServer中,设置一个自增(自动递增)的主键可以通过在创建表时定义具有IDENTITY属性的列来实现。以下是创建带有自增主键的新表的示例:CREATETABLEdbo.YourTable(IDINTIDENTITY(1,1)PRIMARYKEY,--其他列定义...Column1VARCH
- MySQL 性能优化 - 多表查询优化
搬运Gong
MySQLmysql数据库memcached
上一篇讲到了单表数据查询的性能优化,已经掌握了简单的查询优化,这一篇主要针对两表、三表以及多表联查的情况进行分析,看看该如何进行调优。老样子,先准备两张测试表,脚本如下:CREATETABLEIFNOTEXISTS`test_class`(`id`INT(10)UNSIGNEDNOTNULLPRIMARYKEYAUTO_INCREMENT,`card`INT(10)UNSIGNEDNOTNULL)
- proxysql
不正经运维君
mysql
这里是引用mysql安装mysql-3307createdatabasedb1;CREATETABLEdb1.tab_20240102(idINTPRIMARYKEY,nameVARCHAR(50),emailVARCHAR(50),ageINT);CREATETABLEdb1.tab_20240103(idINTPRIMARYKEY,nameVARCHAR(50),emailVARCHAR(50
- 微信小程序常用组件
xiangxiongfly915
#微信小程序微信小程序组件
文章目录微信小程序常用组件buttoniconimagescroll-viewswipercheckboxaudiovideo微信小程序常用组件button简单使用wxmldefaultminiprimarywarnplaindisabledloading进入客服会话获取用户信息{{nickName}}jsPage({getUserInfo(e){console.log("errMsg:");co
- 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性能优化权威指南》