- 2025最新Mybatis-plus教程(二)
三、CRUD(一)BaseMapper接口方法介绍BaseMapper中提供了crud方法,具体方法如下://插入一条记录intinsert(Tentity);//根据entity条件,删除记录intdelete(@Param(Constants.WRAPPER)Wrapperwrapper);//删除(根据ID批量删除)intdeleteBatchIds(@Param(Constants.COL
- 【MAC 上学习 C++】Day 55-1. 实验11-2-2 学生成绩链表处理 (20 分)
RaRasa
实验11-2-2学生成绩链表处理(20分)1.题目摘自https://pintia.cn/problem-sets/13/problems/6022.题目内容本题要求实现两个函数,一个将输入的学生成绩组织成单向链表;另一个将成绩低于某分数线的学生结点从链表中删除。函数接口定义:structstud_node*createlist();structstud_node*deletelist(struc
- minio批量删除对象不生效
下午在写minio上批量删除对象的逻辑,各种改对象名称,各种核对代码,发现啥都没错,但是删除就是不生效。代码如下:fromminio.deleteobjectsimportDeleteObjectdelete_object_list=[DeleteObject("20250626/20250626025656.xlsx")]self.minio.remove_objects(self.bucket
- 【Azure 存储服务】使用REST API操作Azure Storage Table,删除数据(Delete Entity)
云中路灯
问题描述使用AzureStorageTable的RESTAPI,实现根据过滤条件删除满足条件的数据,调用方法为DeleteEntity(AzureStorage)问题实现第一步:通过AzureStroage门户或者是其他工具(如:AzureStorageExplorer)生成Table的SASTokenimage.png第二步:准备过滤条件,用GETEntity进行验证,看是否可以查询出多条消息示
- 出现delete CR eslint错误
Zww0891
vscode
1但是治标不治本,只有当前文件修复了或者方法1:修改ESLint配置(推荐)在.eslintrc.js中禁用或调整linebreak-style规则:2npxprettier--write"src/**/*.ts"--end-of-linelf这个命令是使用Prettier(一个流行的代码格式化工具)对项目中的TypeScript文件进行统一格式化,并指定行尾符为LF(Linux/macOS风格)
- 秋招Day19 - 分布式 - 分布式设计
Java初学者小白
八股#分布式分布式java
什么是幂等性?多次调用的效果和一次调用的效果一样,比如DELETE操作,执行多次的结果和执行一次的结果对数据库的影响是一样的。有些操作不满足幂等性,比如INSERT操作,用户点击了两次表单,数据库就有两条重复的记录。MQ消费者在读取消息的时候,也有可能读取到重复消息。在分布式系统里,只要下游服务有写操作(插入、更新),就有可能出现幂等性问题。怎么保证接口幂等性?insert前先select在保存数
- (Item 13-15): 以对象管理资源
CodingQK
C++c++effective-c++
在以前的C++用法中,new是非常常见的用来动态分配内存的方式,但是有new必须有delete,将内存还给系统,否则就会造成内存泄露,这是很危险的一件事情,而以对象管理资源这一思想就能比较好的解决这一问题通常情况下,对于一个对象,如果是built-in类型,我们就直接new了,如果是自定义类型,一般使用工厂函数返回其指针,生成对象之后肯定需要释放对象吧,对于内置类型,就是成对的使用delete,但
- JavaScript中.splice()的用法
JavaScriptArraysplice()方法详解Array.prototype.splice()是JavaScript数组的核心方法,用于在指定位置添加/删除元素,并返回被删除的元素,同时直接修改原数组。其语法为:array.splice(startIndex,deleteCount,item1,item2,...)参数说明:startIndex:操作起始位置(索引从0开始)deleteCo
- C++中new和delete的多重面孔:operator new、new operator与placement new解析
安意诚Matrix
c++java开发语言
《MoreEffectiveC++:35个改善编程与设计的有效方法》读书笔记:了解各种不同意义的new和delete在C++的内存管理体系中,new和delete看似简单,实则隐藏着多层逻辑。许多开发者对newoperator、operatornew和placementnew的区别感到困惑。本文将逐层拆解这些概念,帮你掌握内存分配与对象构造的底层逻辑。一、newoperator:语言内置的“双任务
- 剑指offer---用两个栈实现队列
TinhTinh
算法与数据结构队列栈数据结构算法stack
用两个栈实现队列题目描述:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead操作返回-1)题目代码:classsolution{Stackstack1;Stackstack2;intsize;publicCQueue(){stack1=newStack()
- Python删除Elasticsearch指定数据
小李飞刀李寻欢
pythonpythonelasticsearchjenkins
将type类型为keyword的字段为"fw"的数据删除。以下是使用Python删除Elasticsearch中指定数据的实现代码:fromelasticsearchimportElasticsearchdefdelete_fw_documents():#连接到Elasticsearch,根据实际情况修改连接参数es=Elasticsearch(["http://localhost:9200"])
- 【MySQL】MySQL Binlog 日志恢复实战指南:从误删到精准还原
在MySQL数据库的日常运维中,误删数据、误更新、人为操作失误等事故时有发生。一旦发生这类问题,如何快速、准确地恢复数据,是每个DBA和开发人员必须掌握的核心技能。而binlog(二进制日志)正是实现这类数据恢复的关键工具。一、什么是binlog?为什么它能用于数据恢复?✅binlog是什么?binlog是MySQL用来记录所有数据变更操作的日志文件,包括:INSERTUPDATEDELETE注意
- hibernate中session增删改操作及事务提交的问题
一、问题回顾Sessionsession=MySessionFactory.getSession();//Transactiontx=null;//try{//Stringhql="deleteformtd_reportwhereID=1";//tx=session.beginTransaction();//Connectioncon=session.connection();//Prepared
- Nginx限制访问方式,禁用OPTIONS TRACE不安全方法
一、背景场景:jar包已经打包部署,项目源码不能修改,解决curl-v-XTRACE时200漏洞解决方法,从Nginx下手二、360安全要求,尽量用get和post的api的应用,禁用OPTIONS,即对put,delete,tract等最不要使用,他们认为不安全。三、nginx中的配置:server{undefinedlisten80;server_namelocalhost;#charsetk
- Django-DRF快速入门
不知名-测试开发
djangopython
DRF快速入门一、DRF框架介绍1、web应用开发模式1.1、前后端不分离1.2、前后端分离2、RESTful介绍RESTful是目前最流行的API设计风格,REST指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是RESTful。1、每一个URI代表1种资源;2、客户端使用GET、POST、PUT、DELETE4个表示操作方式的动词对服务端资源进行操作:GET用来获取资源P
- 创建路由
创建路由路由相关功能点:模块功能描述备注路由创建路由创建指定名称、指定外部网络的路由,修改路由修改路由名称删除外部网络(清除网关)停用路由添加/删除路由接口添加静态路由删除路由删除路由路由相关命令:router-createCreatearouterforagiventenant.router-deleteDeleteagivenrouter.router-gateway-clearRemovea
- matlab a1处语法无效,MATLAB常见错误
桃子胖
matlaba1处语法无效
1.在GUI子程序的OpeningFcn函数的结尾加上uiwait(handles.figure1);figure1是subGUI的Tag;2.subGUI中控制程序结束(如"OK"和"Cancel"按钮)的callback末尾加上uiresume(handles.figure1),不要将delete命令放在这些callback中;3.在子GUI的OutputFcn中设置要传递出去的参数,如var
- 2022-08-05 Kafka Shell操作
一、Kafka提供的shell操作命令下面只列出常用选项,其他选项请参考官方文档1.kafka-topics.sh(1)语法kafka-topics.sh--bootstrap-serverhost1:port1,...--(list|describe|create|alter|delete)[--可选选项](2)必要选项选项名描述bootstrap-serverhost1:prot1,...指定
- C语言 预处理 编译 汇编 链接
潇洒葛大爷
C语言
C语言预处理编译汇编链接gcchelp$gcc--help-save-tempsDonotdeleteintermediatefiles-EPreprocessonly;donotcompile,assembleorlink-SCompileonly;donotassembleorlink-cCompileandassemble,butdonotlink-oPlacetheoutputinto对c
- 实现windows与Linux之间内容的复制粘贴
AI 金程师
在Windows下的复制Ctrlc和粘贴Ctrlv不变在linux下命令行下则是再用Ctrl+insert表示复制;shift+insert表示粘贴如果是在文本编辑下则是先切换到输入模式,再用Ctrl+insert表示复制;shift+insert表示粘贴需要注意的一点就是,每台电脑insert键的位置是不一样的。如果是复用键,比如delete的复用键,那么使用的时候还要按下fn键即复制为Ctrl
- django 接口实现多字段删除重复的数据
X~~X~~
Djangodjangopython后端
接口实现删除重复的数据defuserdelete(request):exit_user_to=User.objects.get(username=user_to)obj=Gerrit_Reviewer_User.objects.filter(user_id=int(exit_user_to.id))result=[]foriinobj:sql1="selectid,count(*)ascountf
- html table tbody deleteRow有残留?
htmltabletbodydeleteRow有残留?问题描述:这个问题描述的是在使用HTML的deleteRow方法从一个table的tbody中删除行时,表格中仍然存在某些行。参考方法1:表格移除多行的时候,移除行数字索引顺序要从大到小,而不能从小到大。参考代码如下:function_updateTable(){const_billPageTableId='bill_data_table';c
- MySQL索引的使用
Carrism
MySQL索引MySQL索引可以快速提高MySQL的检索速度。索引分单列索引和组合索引单列索引:即一个索引只包含单个列,一个表可以有多个单列索引组合索引:一个索引包含了多个列索引是一张保存了主键和索引字段的表,该表指向了实体表的记录。创建索引需要确保该索引是应用在SQL查询语句的条件索引一样具有缺点,因为我们在执行INSERT,UPDATE和DELETE的时候,更新了表的同时我们也需要更新索引文件
- 【Elasticsearch】安全地删除快照仓库、快照
安全地删除快照仓库、快照1.删除仓库2.删除快照在上一篇博文《【Elasticsearch】快照与恢复功能详解》中,我们针对Elasticsearch的快照和恢复功能进行的讲解。细心的同学可能会对以下的命令产生疑惑,直接删除是安全的吗?本文将会给你答案。删除仓库:DELETE/_snapshot/my_backup_repo删除快照:DELETE/_snapshot/my_backup_repo/
- 添加UPROPERTY(EditAnywhere)引起 error MSB3073
1>UnrealBuildTool:error:UnabletodeleteE:\EpicUE4"Microsoft.MakeFile.Targets:errorMSB3073"SolutionsGames\MyGame\BTPS\Intermediate\Build\Win64\BTPSEditor\Development(Unabletodelete\\?\E:\EpicGames\MyGam
- Android-API调用学习总结
每次的天空
学习
一、Postman检查API接口是否支持1.“HTTPRequest”来创建一个新的请求。——请求构建界面,这是你进行所有API调用的地方。2.设置请求方法和URL:选择请求方法:在URL输入框左侧,有一个下拉菜单。点击它,选择你想要测试的HTTP请求方法(例如:GET,POST,PUT,DELETE等)。GET:获取数据区别:GET请求通常用于从服务器获取或读取数据。它不应该对服务器上的数据产生
- C# 界面程序在23H2型号系统中无法退出
文明的救赎
c#
20250716记录环境:c#winform问题描述:主界面退出直接使用了Environment.Exit(0);程序假死,无法关闭解决措施://使用this.Close();以下代码目标:执行完程序自身后,删除指定文件(可用于程序文件db自我删除)已经在21H2型号执行完成,但在23H2(显示为win11系统,但注册表查询到为win10...)无法执行stringdeleteCommand=$"
- oracle数据库ora00600,Oracle数据库出现ORA-00600[4097]报错的解决方法
雲绯
Oracle数据库出现ORA-00600[4097]报错的解决方法对一套几个TB的ORACLE数据库断电通过_allow_resetlogs_corruption隐藏参数强制打开数据库后,对某些表操作时(包括select,delete等)会出现ORA-00600[4097]的报错,而且后台出现大量的ORA-00600[4097]报错,报错如下:TueJul0708:59:40BEIST2013Er
- EXPLAIN:你的SQL性能优化透视镜
哪里不会点哪里.
MySQLsql性能优化oracle
目录一、EXPLAIN是什么?二、如何使用EXPLAIN?三、EXPLAIN输出解读(核心字段)四、EXPLAIN的实际应用场景五、实战优化案例六、使用EXPLAIN的注意事项与小贴士七、总结一、EXPLAIN是什么?简单来说,EXPLAIN是一条SQL命令(或命令前缀),你将它加在你的SELECT,INSERT,UPDATE,DELETE,REPLACE语句之前。数据库不会真正执行你的操作语句,
- 后端校招 | 高分简历 + 高频 C++ 面试题整理(附GitHub题库推荐)
壹張先森
c++java开发语言
一、为什么专门做一期C++面试题分享?我发现很多后端同学在面试准备时:Java岗位题资源非常多但C++后端面试内容分散、缺少整合所以我整理了GitHub上高频C++后端面试题+答案解析,今天精选5道送给你:二、精选高频C++面试题(附答题技巧)1.new和malloc的区别?特性newmalloc返回类型指定类型指针void*构造函数会调用构造函数不会调用释放方式deletefree重载支持支持重
- 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性能优化权威指南》