- 浅谈流媒体协议以及视频编解码
纠结哥_Shrek
视频编解码
流媒体协议介绍流媒体协议用于传输视频、音频等多媒体数据,确保数据流畅地传输到用户设备。常见的流媒体协议包括RTMP、HLS、DASH、WebRTC等,每种协议具有不同的特点和适用场景。1.RTMP(Real-TimeMessagingProtocol)定义:由Adobe提出的实时消息传输协议,最初用于Flash播放器的流媒体播放。特点:低延迟,适合实时直播。支持推流和拉流,常用于直播推流(主播端推
- 写一个敲木鱼的程序
weixin_45995698
pythonpython
要编写一个敲木鱼的程序,你可以使用Python语言,结合pygame库来处理图形和声音。以下是一个简单的Python程序示例,它实现了点击木鱼并播放声音的功能:importpygameimportrandomimporttime#初始化pygamepygame.init()#设置屏幕大小和标题screen_width=800screen_height=600screen=pygame.displa
- dnspod动态解析linux,NAS折腾记 篇一:五分钟搞定威联通DNSPOD动态域名解析-简单教程+问题解决...
芒果绵绵冰
dnspod动态解析linux
NAS折腾记篇一:五分钟搞定威联通DNSPOD动态域名解析-简单教程+问题解决2021-01-1321:04:4814点赞156收藏28评论新人值友一枚,第一次发贴,请大家多多支持!2020年双11,因为每天都会打开张大妈看看,经过太多值友PO文轮番轰炸,终于下手了一台威联通NAS。从一开始完全搞不清状况的新人小白(存储池,卷,威联通的太多术证让人傻傻分不清),到现在基本上把自己的NAS折腾得七七
- 【Camrea2录制视频报错问题修复java.lang.IllegalArgumentException: Surface was abandoned】
weixin_37659322
音视频java开发语言
问题现象修改后的代码在机器正常intrecordTime=10*60*1000;try{FilevedioTempPath=newFile(Environment.getExternalStorageDirectory().getAbsolutePath()+"/video/temp/");if(!vedioTempPath.exists()){vedioTempPath.mkdirs();}ve
- Linux 4.xx内核+Go 1.15出core排查
1-programmer
GoGoLinuxOSlinuxgolang
Goruntime出core在使用gozero框架的开发数据库管理服务的过程中,经常出core。通过dlv查看core的位置,各个地方都有,典型的有以下两种:runtime在执行init函数时,某个空串对应的地址上其长度不对,应该是0,却是一个负值。runtime中初始化timer时,timer的某个应该为正整数的属性,变成了负值。明确是踩了内存,但一时间找不到思路。0x01怀疑是CGO由于CGO
- Linux中es启动成功,windows服务器访问不了的解决方案
码代码的小仙女
笔记linuxwindowselasticsearch
1.在Linux服务器中安装elasticsearch。在bin目录下执行./elasticsearch报错信息:org.elasticsearch.bootstrap.StartupException:java.lang.RuntimeException:cannotrunelasticsearchasrootatorg.elasticsearch.bootstrap.Elasticsearch
- Oracle v$sql 视图详解
SHIZHK
数据库Oracle
SQL_TEXT:SQL文本的前1000个字符SHARABLE_MEM:占用的共享内存大小(单位:byte)PERSISTENT_MEM:生命期内的固定内存大小(单位:byte)RUNTIME_MEM:执行期内的固定内存大小SORTS:完成的排序数LOADED_VERSIONS:显示上下文堆是否载入,1是0否OPEN_VERSIONS:显示子游标是否被锁,1是0否USERS_OPENING:执行语
- Redis--过期删除策略和数据淘汰策略
像素化创新
redisredis数据库缓存
过期删除策略Redis的键过期后不会立即删除,而是通过定时删除、定期删除和惰性删除三种策略来管理过期键。这些策略旨在平衡性能和内存使用,避免系统资源的过度消耗。下面详细介绍这三种策略:1.定时删除(TimelyDeletion)解释:Redis会为每个设置了过期时间的键创建一个定时器,当键过期时,定时器触发,Redis会立即删除这个键。优点:及时删除过期键,释放内存。缺点:为每个键都设置定时器可能
- mysql小日期时间类型_MySQL之日期时间类型
weixin_39916379
mysql小日期时间类型
mysql(5.5)所支持的日期时间类型有:DATETIME、TIMESTAMP、DATE、TIME、YEAR。几种类型比较如下:日期时间类型占用空间日期格式最小值最大值零值表示DATETIME8bytesYYYY-MM-DDHH:MM:SS1000-01-0100:00:009999-12-3123:59:590000-00-0000:00:00TIMESTAMP4bytesYYYY-MM-DD
- MySQL的日期时间类型
大地爱
面试学习路线阿里巴巴mysql数据库
一MySQL的日期时间类型MySQL数据库的日期时间类型有date、time和datetime类型,还有timestamp类型,在Java代码中无论日期时间是什么样的格式,转换sql语句时统一为yyyy-MM-ddHH:mm:ss.S(Timestamp)的格式,创建案例简单演示。1.1创建数据库表CREATETABLE`apple`(`id`varchar(255)DEFAULTNULL,`da
- PHP 杂项 函数
宇哥资料
phpphpandroid开发语言
PHP杂项函数简介我们把不属于其他类别的函数归纳到杂项函数类别。安装杂项函数是PHP核心的组成部分。无需安装即可使用这些函数。Runtime配置杂项函数的行为受php.ini文件中的设置的影响。杂项配置选项:名称默认描述可更改ignore_user_abort"0"FALSE指示只要脚本在客户机终止连接后尝试进行输出,脚本将被终止。PHP_INI_ALLhighlight.string"#DD00
- 嵌入式面经111题答案汇总_含技术答疑_嵌入式三大项目分享
huaxinjiayou
java
字节AdsInfra系统架构开发实习面经Timeline:3.20投递4.12一面4.25二面4.29挂一面1、自我介绍2、实习做的题解|#牛客每个人最近的登录日期(五)#selectt.date,ifnull(round(count(distinctb.user_i题解|小红的排列构造考虑特殊情况k==1,发现k至少为2,假设k==1,发现无论怎么放都不可能.另外k>n,不重复题解|#链表相加(
- Vue打包(webpack)缓存
歌歌的前端学习之路
vue.jswebpack前端
解决方法:1、修改vue.config.js文件constTimestamp=newDate().getTime();module.exports=defineConfig({configureWebpack{output:{filename:`[name].${Timestamp}.js`,chunkFilename:`[name].${Timestamp}.js`},},css:{extrac
- python爬虫之自动化爬取网页
陌小
pythonseleniumpythonchrome
以下为公开源码fromseleniumimportwebdriverfromselenium.webdriver.chrome.optionsimportOptionsimporttimefrombs4importBeautifulSoupurl='https://movie.douban.com/'chrome_optins=Options()chrome_optins.add_argument
- uniapp request请求封装 自带的http
sunyin.liu
uniappiviewuni-app
1.不需要安装任何request插件2.使用uni内部自带的http一、根路径上配置个common/config.jscommon是文件夹config.js的代码是module.exports={//后端接口地址您的后端接口记得加端口baseUrl:'',//超时timeout:30000,//禁用Cookie等信息withCredentials:false,header:{//租户ID'tena
- 塑造网络安全的关键事件
斐夷所非
CyberSecurity网络安全
注:本文为“网络安全”相关文章合辑。机翻,未校。TimelineofCyberSecurity:KeyEventsthatShapedtheField网络安全时间表:塑造该领域的关键事件October29,2023Cyberattacksareaneverydaythreat,alwayschanging.Theyrangefromsmallhacksbystudentstonation-leve
- 三分钟掌握 TCP/IP:揭示互联网飞速互联的奥秘!
跑起来总会有风
tcp/ip网络
TCP/IP模型详解本文基于经典的TCP/IP模型原理,结合常见实践进行深入解读,适用于对计算机网络或互联网协议栈感兴趣的读者。希望能帮助大家更好地理解现代网络通信的核心框架。一、什么是TCP/IP?TCP/IP是互联网的基础协议栈,英文全称为TransmissionControlProtocol/InternetProtocol。它由美国国防部(DoD)在20世纪60年代发展起来,并在ARPAN
- Spring boot定义LocalDateTime序列化
梦幻D开始
工作记录技术杂记springboot后端java
刚刚开通了一个公众号,会分享一些技术博客和自己觉得比较好的项目,同时会更新一些自己使用的工具和图书资料,后面会整理一些面试资料进行分享,觉得有兴趣的可以关注一下。文章目录前言解决打完收工!前言在开发需求过程中,定义字段为LocalDateTime,返回的序列化字段是按照LocalDateTime.toString返回的,返回的字符串带一个’T’,在application.properties里面统
- arxiv论文爬虫
plasma-deeplearning
pycharmar爬虫
文章目录readmeArxivInterestingPapersCrawlerDescription:Thetimerangeofthepaperdownloading:Themodeofthedownloading:Therootofthedownloading:Thedomainofthedownloading:Thecustomizedkeywords:Thecustomizedkeywor
- Go语言学习笔记(五)
正在绘制中
Go语言学习之路golang学习笔记
文章目录十八、go操作MySQL、RedisMySQLRedis十九、泛型泛型函数泛型类型泛型约束泛型特化泛型接口二十、workspaces核心概念示例二十一、模糊测试十八、go操作MySQL、RedisMySQLpackagemainimport("database/sql""errors""fmt"_"github.com/go-sql-driver/mysql""log""time")typ
- 【go】time.after内存泄漏
还没入门的大菜狗
golang
funcworker(){select{case0.0{jitteredPeriod=Jitter(period,jitterFactor)}if!sliding{t=resetOrReuseTimer(t,jitteredPeriod,sawTimeout)}func(){f()}()ifsliding{t=resetOrReuseTimer(t,jitteredPeriod,sawTimeou
- RuntimeError: Couldn‘t load custom C++ ops.This can happen if your PyTorch and torchvision versions
万年枝
常见运行错误服务器使用pytorch开发语言torch版本错误
文章目录出现问题问题分析问题解决出现问题File"/home/anaconda3/envs/tris/lib/python3.8/site-packages/torchvision/ops/boxes.py",line40,innms_assert_has_ops()File"/home/anaconda3/envs/tris/lib/python3.8/site-packages/torchvi
- scope作用域的取值
欣欣爱吃香菜
maven
1.compile:默认值,适用于所有阶段,会随着项目一起发布。2.test:表示被依赖项目仅仅参与测试相关的工作,在编译和运行时都不需要,只在编译测试代码或者运行测试代码的时候才能使用该依赖。3.provided:provided依赖在编译和测试时需要,在运行时不需要。4.runtime:依赖在运行和测试的时候需要,但在编译的时候不需要。与compile相比,被依赖项目无需参与项目的编译。5.s
- 自动驾驶---Motion Planning之轨迹Path优化
智能汽车人
自动驾驶人工智能
1背景在之前的几篇文章中,不管是通过构建SL图《自动驾驶---MotionPlanning之PathBoundary》,ST图《自动驾驶---MotionPlanning之SpeedBoundary》,又或者是构建SLT图《自动驾驶---MotionPlanning之构建SLTDrivingCorridor》,最终我们都是为了得到boundary的信息。构造优化问题求解的前提:首先确定问题的代价函
- vue3+naiveUI开关switch
耶啵奶膘
Vue3vue.js前端javascript
文档:https://www.naiveui.com/zh-CN/os-theme/components/switch正常禁用constloading=ref(false)//状态开关加载中constactive=ref(false)//开关状态constonSwitch=(e)=>{//console.log(e);loading.value=truesetTimeout(()=>{loadin
- 程序员学商务英语之analogy、popularity、 eloquence、exaggerate、proposition
李匠2024
英文
1448-Here'sananalogy.-打个比方A:Here'sananalogy,learningaforeignlanguageislikelearninghowtoplaythepiano,whichrequirestremendouspractice.It'sreallyatime-consumingandpainstakingjob.打个比方,学习一门外语就像学习弹钢琴,需要大量的练
- 【Math】奇异值分解(SVD)详解及 Python 实现
SimpleLearing
Math多模态理解python开发语言
1.什么是奇异值分解(SVD)奇异值分解(SingularValueDecomposition,简称SVD)是矩阵分解的一种方法,它将任意矩阵AAA分解为三个矩阵的乘积:A=UΣVTA=U\SigmaV^TA=UΣVT其中:AAA是m×nm\timesnm×n的矩阵。UUU是m×mm\timesmm×m的酉矩阵,包含AATAA^TAAT的特征向量。Σ\SigmaΣ是一个m×nm\timesnm×n
- vue.runtime.esm.js:619 [Vue warn]: Error in event handler for “el.form.change“: “TypeError: dateObje
郭宝
Web前端
背景:vue.runtime.esm.js:619[Vuewarn]:Errorineventhandlerfor"el.form.change":"TypeError:dateObject.getTimeisnotafunction"foundin--->atpackages/form/src/form-item.vueatpackages/form/src/form.vue...(1recur
- echarts获取datazoom的时间轴范围/监听datazoom变化
不想上班只想要钱
echartsechartsubuntu前端
echarts获取datazoom的时间轴范围关键代码//拖动datazoom,更新时间myChart.value.on('datazoom',function(e:any){updateTimeRange(myChart.value);});//根据图表时间轴范围更新时间筛选constupdateTimeRange=(myChart:any)=>{letstartValue=myChart.ge
- 【Java】@JsonFormat和@DateTimeFormat注解区别
Alkaid:
SpringBootJavajava
注解@JsonFormat主要是后端到前端的时间格式的转换注解@DateTimeFormat主要是前端到后端的时间格式的转换
- 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性能优化权威指南》