- Redis两种客户端:lettuce和Jedis的区别
Darren i
redisspring
springboot2的spring-boot-starter-data-redis中,默认使用的是lettuce作为redis客户端,它与jedis的主要区别如下:Jedis是同步的,不支持异步,Jedis客户端实例不是线程安全的,需要每个线程一个Jedis实例,所以一般通过连接池来使用JedisJedis常用APILettuce是基于Netty框架的事件驱动的Redis客户端,其方法调用是异步
- Spring Boot自动配置原理深度解析:揭开@SpringBootApplication的魔法面纱
Sendingab
Springboot从入门到精通springboot后端java前端spring
SpringBoot自动配置原理深度解析:揭开@SpringBootApplication的魔法面纱https://example.com/spring-boot-auto-config前言SpringBoot的**"约定大于配置"理念极大简化了开发流程,其核心秘密在于自动配置(Auto-Configuration)**机制。本文将深入剖析自动配置的实现原理,手把手教你自定义Starter,彻底掌
- 3.5 Spring Boot邮件服务:从基础发送到模板邮件进阶
Sendingab
Springboot从入门到精通零基础7天精通SpringBootspringbootpython后端
SpringBoot邮件服务:从基础发送到模板邮件进阶引言在现代企业级应用中,邮件服务是不可或缺的基础能力。从用户注册验证、密码重置,到订单通知、系统告警,再到营销推广等场景,邮件始终扮演着关键角色。SpringBoot通过spring-boot-starter-mail模块,将JavaMail的复杂配置简化为几行代码即可实现的便捷操作。本文将手把手带您实现从基础文本邮件发送到高级模板邮件的完整开
- 电容器基础观念
David WangYang
硬件工程
Take-away:电容器容值,和「导体的几何形状」,「周围的介电材料」相关。电力线起于正电荷,终止于负电荷。金属互相越靠近,电容越大。Maxwell电容矩阵有负号,SPICE电容矩阵没有负号。Maxwell电容矩阵、SPICE电容矩阵可互相转换,GroundNet需定义清楚。-----Start电容器杯子装水咖啡杯、马克杯、大水桶,容器几何形状决定装水大小。但要给水龙头,容器才有水储存。电容器装
- 路由器的配置命令
yinyaoqi
路由器interfaceciscoiosnetwork网络
路由命令十全大补router>enable从用户模式进入特权模式router#disableorexit从特权模式退出到用户模式router#showsessions查看本机上的TELNET会话router#disconnect关闭所有的TELNET会话router#showusers查看本机上的用户router#erasestartup-config删除NVRAM中的配置router#reloa
- HTML音频、视频--课后作业实践
Heetun
html5
浅学了web一段时间,用浅显的知识做了一个小小的实践,各位大佬们多多包涵,指正。主要知识重现:标记语法:src:设置媒体文件的路径width、height:设置媒体文件的宽度、高度autostart:逻辑值,true为自动播放;false为不自动播放loop:逻辑值,true自动循环播放;false不循环播放2.CSS的内部样式表选择器1{属性1:属性值1;属性2:属性值2;......}选择器2
- Spring相关面试题
kevindanglu
面试springjavaspringboot
目录Spring中常用的注解有哪些SpringBoot中@RestController和@Controller注解有什么区别?Spring的注解@requestBody和@responseBody的区别说说@Bean和@componentscan的区别简单介绍一下springbootSpringBoot有哪些常用的Starter依赖?说说springboot的启动过程Sprintboot自动装配原
- 一段注释。
dont__cry
c语言
以下是添加了详细注释后的代码解析,方便你更好地理解这段ARM宏汇编代码的功能和逻辑:;********************(C)COPYRIGHT2011STMicroelectronics********************;*FileName:startup_stm32f10x_hd.s;*Author:MCDApplicationTeam;*Version:V3.5.0;*Date:
- MybatisPlus+Spring Boot3 分页查询实现
新停浊酒杯
springbootmybatis后端
目录导入依赖本文的house表直接复制粘贴运行即可MybatisConfig配置文件创建数据库对应的实体类创建mapper层接口在service包下创建xxxService接口controller层创建XXXController类完成分页查询导入依赖com.baomidoumybatis-plus-spring-boot3-starter3.5.5本文的house表直接复制粘贴运行即可/*Navi
- YashanDB日志收集
数据库
日志收集命令主要是一键收集节点的日志,把远端服务器上的节点的日志统一打包发送到本地服务器。日志收集命令仅适用于通过yasboot安装的数据库,否则需要先对该数据库进行托管。示例./bin/yasbootclusterlog-cyashandbstart:2023-07-2800:00:00end:2023-07-2820:11:19type|uuid|name|hostid|index|statu
- 算法-合并区间
程序员南飞
算法数据结构职场和发展java动态规划
力扣题目:56.合并区间-力扣(LeetCode)题目描述:以数组intervals表示若干个区间的集合,其中单个区间为intervals[i]=[starti,endi]。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。示例1:输入:intervals=[[1,3],[2,6],[8,10],[15,18]]输出:[[1,6],[8,10],[15,18]]
- CAPL系统事件-01 on preStart
正当少年
CAPLCAPL
在CAPL(CANAccessProgrammingLanguage)中,onpreStart事件是一个特殊的事件处理程序,用于在仿真节点(SimulationNode)启动之前执行特定的初始化操作。这个事件通常用于设置仿真环境的初始状态、初始化变量、配置总线参数等。1.onpreStart事件的基本功能触发时机:在仿真节点启动之前触发。主要用途:初始化变量和信号。配置总线参数(如波特率、通道模式
- oracle数据库转mysql数据库
一直想成为大神的菜鸟
数据库oraclemysql
1.删除oracle相关配置1.1删除pom中的oracle依赖1.2删除有关@Configuration中oracle配置2.驱动引入引入mysql依赖mysqlmysql-connector-java8.0.13org.springframework.bootspring-boot-starter-jdbc3.配置文件更改spring:datasource:druid:url:jdbc:mys
- Spring Boot Starter 设计原理与实战:打造企业级自定义启动器
fanxbl957
Webspringboot后端java
博主介绍:Java、Python、js全栈开发“多面手”,精通多种编程语言和技术,痴迷于人工智能领域。秉持着对技术的热爱与执着,持续探索创新,愿在此分享交流和学习,与大家共进步。全栈开发环境搭建运行攻略:多语言一站式指南(环境搭建+运行+调试+发布+保姆级详解)感兴趣的可以先收藏起来,希望帮助更多的人SpringBootStarter设计原理与实战:打造企业级自定义启动器一、引言在当今的企业级Ja
- 数据访问:JPA 关联& MyBatis
斗-匕
oracle数据库
创建项目添加关键依赖包:任何使用方式都需要首在pox.xml中引入mybatis-spring-boot-starter的启动器,我们使用项目向导添加的依赖如下:application.ymlspring:#配置数据源datasource:driver-class-name:com.mysql.cj.jdbc.Driverurl:jdbc:mysql://localhost:3306/crm?us
- 安装(python 版)
C-haidragon
mysql
安装安装sudoapt-getinstallmysql-servermysql-client然后按照提示输入管理服务启动servicemysqlstart停止servicemysqlstop重启servicemysqlrestart允许远程连接找到mysql配置文件并修改sudovi/etc/mysql/mysql.conf.d/mysqld.cnf将bind-address=127.0.0.1注
- Ubuntu18.04虚拟机掉电重启后网卡丢失只剩下lo回环网卡ens33网卡不见了
新潮技术研究社
Qt开发问题大全算法爬虫大数据百万案例大全ubuntulinuxvmwareifconfig
某天,Ubuntu18.04虚拟机掉电重启后网卡丢失只剩下lo回环网卡执行操作:1.查看所有网卡,ifconfig-a2.执行sudodhclientens333.查看网卡驱动是否还在:lspci–v4.使能网卡:ifconfigens33up5.重启网络服务:/etc/init.d/networkingrestart6.测试:sudoaptupdate7.这里,关键的一步是,dhclienten
- 混合开发(ionic+cordova+angular)
小黑阿泽
angular.jsgradle前端
相关网址:ionic、cordova、angular三者的关系:https://blog.csdn.net/xiaolinlife/article/details/73548938ionic官网:https://ionicframework.comionic中文网:http://www.ionic.wangcordova中文官网:http://cordova.axuer.com/#getstart
- ArcGIS 10.1 Engine Developer Kit 和 ArcGIS 10.1 Engine 快速入门指南
冷月宫主
arcinfo
http://resources.arcgis.com/zh-cn/help/quick-start-guides/10.1/index.html#//01q100000004000000ArcGIS10.1EngineDeveloperKit和ArcGIS10.1Engine快速入门指南
- Spring Boot 整合 Redis 使用教程
小小鸭程序员
springjavaspringbootmysqlredis
Redis是一种高性能的键值存储数据库,常用于缓存、会话管理和消息队列等场景。SpringBoot通过SpringDataRedis提供了简洁的整合方式。1.环境准备1.1添加依赖在pom.xml中添加Redis依赖(SpringBoot3.x):org.springframework.bootspring-boot-starter-data-redisredis.clientsjedis2.配置
- Spark集群启动与关闭
陈沐
sparksparkhadoopbigdata
Hadoop集群和Spark的启动与关闭Hadoop集群开启三台虚拟机均启动ZookeeperzkServer.shstartMaster1上面执行启动HDFSstart-dfs.shslave1上面执行开启YARNstart-yarn.shslave2上面执行开启YARN的资源管理器yarn-daemon.shstartresourcemanager(如果nodeManager没有启动(正常情况
- 空闲任务是什么?
九层指针
FreeRTOS实时操作系统数据库服务器
FreeRTOS的**空闲任务(IdleTask)**是系统自动创建的一个特殊任务,它在所有其他任务处于阻塞或挂起状态时运行。其核心作用是确保CPU始终有任务可执行(避免系统“空转”),同时为开发者提供资源管理和低功耗优化的入口。1.空闲任务的基本特性自动创建当调用vTaskStartScheduler()启动调度器时,FreeRTOS会自动创建空闲任务,无需手动配置。最低优先级空闲任务的优先级为
- 【HarmonyOS NEXT】如何跳转系统设置页面
Mayism123
harmonyos
【关键字】系统设置/跳转/页面【问题描述】鸿蒙应用内如何打开NFC系统设置页面,安卓类似代码如下:Intentintent=newIntent(Settings.ACTION_NFC_SETTINGS);intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);startActivity(intent);【解决方案】鸿蒙应用内跳转至系统设置页面,参考以下示例代码
- 【HarmonyOS NEXT】如何跳转到系统设置页面、应用信息页面、应用权限设置页面
Mayism123
harmonyos
【关键字】跳转页面/want/context.startAbility(want)【问题描述】1、如何跳转到系统设置页面2、如何跳转到应用信息页面3、如何跳转到应用权限设置页面【解决方案】核心都是通过want的参数,结合context.startAbility(want)进行跳转,具体的实现如下:1、跳转到系统设置页面letwant:Want={bundleName:'com.huawei.hmo
- 从helloword简单理解springboot配置和注解——SpringBoot学系第三课
北城落花雨
SpringBoot框架springboot
理解上篇文章创建的第一个程序helloword中的配置和注解1:Pom.xml配置文件快速新建的时候pom.xml文件的内容会自动生成1.1父项目与依赖版本控制父项目是spring-boot-starter-parent,这里面包含了项目中所有依赖的版本控制。打开父项目里面的父项目可以发现里面进行的依赖与版本控制1.2:启动器SpringBoot将所有的功能场景都抽取出来,做成一个个的starte
- Port xxxxx is in use by another program. Either identify and stop that program, or start the server
李卓璐
报错整理服务器运维
端口被占用问题如何解决:1.安装netstatapt-getinstallnet-tools2.检测端口占用netstat-npl|grep"端口"3.根据PID杀死该进程kill-9xxxxx
- 实现录屏功能鸿蒙示例代码
本文原创发布在华为开发者社区。介绍本示例基于C侧AVScreenCapture模块API实现视频录制功能,并将生成的录屏文件保存到到沙箱目录。实现录屏功能源码链接效果预览使用说明点击“startcapture”按钮弹出是否允许应用使用屏幕的弹窗,点击允许开始屏幕录制。点击“stopcapture”按钮,屏幕录制停止,并生成录屏文件保存到沙箱目录。实现思路通过调用AVScreenCapture模块下
- 每日学习Java之一万个为什么
~Yogi
修炼java学习springboot
场景启动器:starter参考常见启动器默认配置官网默认值依赖见官网/pom父依赖注解@SpringBootApplication:启动自动装配,配合main+SpringApplication.run(.class,args)@SpringBootTest:SpringBoot单元测试注解@ConfigurationProperties:指定前缀读取配置文件对应属性,实现批量读取属性值@Impo
- dify 源码部署操作记录
脑壳疼___
python
ps:我装的是0.15.3版本,拉取代码时一定要拉取tag,不要拉取master分支代码,不要拉取master分支代码!!后端注意事项根据官网步骤安装https://docs.dify.ai/getting-started/install-self-hosted/local-source-code其中pyenv不是必须操作,如果有conda的话可以直接用conda安装,但conda有时候安不上,换
- hadoop集群关闭命令顺序_启动和关闭Hadoop集群命令步骤
氪老师
hadoop集群关闭命令顺序
启动和关闭Hadoop集群命令步骤总结:1.在master上启动hadoop-daemon.shstartnamenode.2.在slave上启动hadoop-daemon.shstartdatanode.3.用jps指令观察执行结果.4.用hdfsdfsadmin-report观察集群配置情况.5.通过http://npfdev1:50070界面观察集群运行情况.(如果遇到问题看https://
- 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性能优化权威指南》