下载 >  课程资源 >  讲义 > Java数据库技术详解 高清完整版

Java数据库技术详解 高清完整版

《Java数据库技术详》是2010年7月化学工业出版社出版图书,作者是李刚。本书由浅入深,全面、系统地介绍了Java数据库开发技术,从基本操作到高级技术和核心原理,再到项目开发,涵盖Java数据库开发的所有重要知识。
2018-04-16 上传大小:94.65MB
想读
分享
收藏 举报
JAVA开发常用数据库技术——DDL(数据库定义语言)
javaweb访问数据库技术(实现显示数据库数据和添加数据)
JAVA数据库编程(JDBC技术)-入门笔记
DataBind 技术
Java访问数据库的技术--JDBC
[免费]Java多线程编程核心技术 高清pdf 目录 随书源码

第1章 Java多线程技能, 1.1 进程和多线程的概念及线程的优点 1.2 使用多线程 1.2.1 继承Thread类 1.2.2 实现Runnable接口 1.2.3 实例变量与线程安全 1.2.4 留意i——与System.out.println()的异常 1.3 currentThread()方法 1.4 isAlive()方法 1.5 sleep()方法 1.6 getId()方法 1.7 停止线程 1.7.1 停止不了的线程 1.7.2 判断线程是否是停止状态 1.7.3 能停止的线程——异常法 1.7.4 在沉睡中停止 1.7.5 能停止的线程——暴力停止 1.7.6 方法stop()与java.lang.ThreadDeath异常 1.7.7 释放锁的不良后果 1.7.8 使用return停止线程 1.8 暂停线程 1.8.1 suspend与resume方法的使用 1.8.2 suspend与resume方法的缺点——独占 1.8.3 suspend与resume方法的缺点——不同步 1.9 yield方法 1.10 线程的优先级 1.10.1 线程优先级的继承特性 1.10.2 优先级具有规则性 1.10.3 优先级具有随机性 1.10.4 看谁运行得快 1.11 守护线程 1.12 本章小结 第2章 对象及变量的并发访问 2.1 synchronized同步方法 2.1.1 方法内的变量为线程安全 2.1.2 实例变量非线程安全 2.1.3 多个对象多个锁 2.1.4 synchronized方法与锁对象 2.1.5 脏读 2.1.6 synchronized锁重入 2.1.7 出现异常,锁自动释放 2.1.8 同步不具有继承性 2.2 synchronized同步语句块 2.2.1 synchronized方法的弊端 2.2.2 synchronized同步代码块的使用 2.2.3 用同步代码块解决同步方法的弊端 2.2.4 一半异步,一半同步 2.2.5 synchronized代码块间的同步性 2.2.6 验证同步synchronized(this)代码块是锁定当前对象的 2.2.7 将任意对象作为对象监视器 2.2.8 细化验证3个结论 2.2.9 静态同步synchronized方法与synchronized(class)代码块 2.2.10 数据类型String的常量池特性 2.2.11 同步synchronized方法无限等待与解决 2.2.12 多线程的死锁 2.2.13 内置类与静态内置类 2.2.14 内置类与同步:实验1 2.2.15 内置类与同步:实验2 2.2.16 锁对象的改变 2.3 volatile关键字 2.3.1 关键字volatile与死循环 2.3.2 解决同步死循环 2.3.3 解决异步死循环 2.3.4 volatile非原子的特性 2.3.5 使用原子类进行i++操作 2.3.6 原子类也并不完全安全 2.3.7 synchronized代码块有volatile同步的功能 2.4 本章总结 第3章 线程间通信 3.1 等待/通知机制 3.1.1 不使用等待/通知机制实现线程间通信 3.1.2 什么是等待/通知机制 3.1.3 等待/通知机制的实现 3.1.4 方法wait()锁释放与notify()锁不释放 3.1.5 当interrupt方法遇到wait方法 3.1.6 只通知一个线程 3.1.7 唤醒所有线程 3.1.8 方法wait(long)的使用 3.1.9 通知过早 3.1.10 等待wait的条件发生变化 3.1.11 生产者/消费者模式实现 3.1.12 通过管道进行线程间通信:字节流 3.1.13 通过管道进行线程间通信:字符流 3.1.14 实战:等待/通知之交叉备份 3.2 方法join的使用 3.2.1 学习方法join前的铺垫 3.2.2 用join()方法来解决 3.2.3 方法join与异常 3.2.4 方法join(long)的使用 3.2.5 方法join(long)与sleep(long)的区别 3.2.6 方法join()后面的代码提前运行:出现意外 3.2.7 方法join()后面的代码提前运行:解释意外 3.3 类ThreadLocal的使用 3.3.1 方法get()与null 3.3.2 验证线程变量的隔离性 3.3.3 解决get()返回null问题 3.3.4 再次验证线程变量的隔离性 3.4 类InheritableThreadLocal的使用 3.4.1 值继承 3.4.2 值继承再修改 3.5 本章总结 第4章 Lock的使用 4.1 使用ReentrantLock类 4.1.1 使用ReentrantLock实现同步:测试1 4.1.2 使用ReentrantLock实现同步:测试2 4.1.3 使用Condition实现等待/通知错误用法与解决 4.1.4 正确使用Condition实现等待/通知 4.1.5 使用多个Condition实现通知部分线程:错误用法 4.1.6 使用多个Condition实现通知部分线程:正确用法 4.1.7 实现生产者/消费者模式:一对一交替打印 4.1.8 实现生产者/消费者模式:多对多交替打印 4.1.9 公平锁与非公平锁 4.1.10 方法getHoldCount()、getQueueLength()和getWaitQueueLength()的测试 4.1.11 方法hasQueuedThread()、hasQueuedThreads()和hasWaiters()的测试 4.1.12 方法isFair()、isHeldByCurrentThread()和isLocked()的测试 4.1.13 方法lockInterruptibly()、tryLock()和tryLock(long timeout,TimeUnit unit)的测试 4.1.14 方法awaitUninterruptibly()的使用 4.1.15 方法awaitUntil()的使用 4.1.16 使用Condition实现顺序执行 4.2 使用ReentrantReadWriteLock类 4.2.1 类ReentrantReadWriteLock的使用:读读共享 4.2.2 类ReentrantReadWriteLock的使用:写写互斥 4.2.3 类ReentrantReadWriteLock的使用:读写互斥 4.2.4 类ReentrantReadWriteLock的使用:写读互斥 4.3 本章总结 第5章 定时器Timer 5.1 定时器Timer的使用 5.1.1 方法schedule(TimerTask task, Date time)的测试 5.1.2 方法schedule(TimerTask task, Date firstTime, long period)的测试 5.1.3 方法schedule(TimerTask task, long delay)的测试 5.1.4 方法schedule(TimerTask task, long delay, long period)的测试 5.1.5 方法scheduleAtFixedRate(TimerTask task, Date firstTime, long period)的测试 5.2 本章总结 第6章 单例模式与多线程 6.1 立即加载/"饿汉模式" 6.2 延迟加载/"懒汉模式" 6.3 使用静态内置类实现单例模式 6.4 序列化与反序列化的单例模式实现 6.5 使用static代码块实现单例模式 6.6 使用enum枚举数据类型实现单例模式 6.7 完善使用enum枚举实现单例模式 6.8 本章总结 第7章 拾遗增补 7.1 线程的状态 7.1.1 验证NEW、RUNNABLE和TERMINATED 7.1.2 验证TIMED_WAITING 7.1.3 验证BLOCKED 7.1.4 验证WAITING 7.2 线程组 7.2.1 线程对象关联线程组:1级关联 7.2.2 线程对象关联线程组:多级关联 7.2.3 线程组自动归属特性 7.2.4 获取根线程组 7.2.5 线程组里加线程组 7.2.6 组内的线程批量停止 7.2.7 递归与非递归取得组内对象 7.3 使线程具有有序性 7.4 SimpleDateFormat非线程安全 7.4.1 出现异常 7.4.2 解决异常方法1 7.4.3 解决异常方法2 7.5 线程中出现异常的处理 7.6 线程组内处理异常 7.7 线程异常处理的传递 7.8 本章总结

立即下载
java数据库技术详解ppt

java数据库技术详解ppt

立即下载
CDN技术详解 2014-11出版 PDF电子书下载 带书签目录 完整版

CDN技术详解 2014-11出版 PDF电子书下载 带书签目录 完整版

立即下载
LeetCode 完整版题解(含代码,高清PDF)

LeetCode 完整版题解(含代码,高清PDF),找工作以及招聘的人以及ACM新手必备刷题攻略

立即下载
Java编程思想(第4版) 最新优化高清中文完整版(完整书签).pdf

本书赢得了全球程序员的广泛赞誉,即使是最晦涩的概念,在Bruce Eckel的文字亲和力和小而直接的编程示例面前也会化解于无形。从Java的基础语法到最高级特性(深入的面向对象概念、多线程、自动项目构建、单元测试和调试等),本书都能逐步指导你轻松掌握。 从本书获得的各项大奖以及来自世界各地的读者评论中,不难看出这是一本经典之作。本书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过异常处理错误、字符串、泛型、数组、容器深入研究、JavaI/O系统、枚举类型、并发以及图形化用户界面等内容。这些丰富的内容,包含了Java语言基础语法以及高级特性,适合各个层次的Java程序员阅读,同时也是高等院校讲授面向对象程序设计语言以及Java语言的绝佳教材和参考书。

立即下载
高清完整版 Java高并发编程详解

高清完整版 Java高并发编程详解

立即下载
Java Web应用详解.pdf

Java Web应用详解.pdf 电子书 高清完整版 Java Web应用详解.pdf

立即下载
Docker技术入门与实战 (中文版PDF/高清/完整版/去水印)

本书从Docker基本原理开始,深入浅出地讲解Docker的构建与操作,内容系统全面,可帮助开发人员、运维人员快速部署Docker应用。本书分为四大部分:基础入门、实战案例、进阶技能、开源项目,第一部分(第1~8章)介绍Docker与虚拟化技术的基本概念,包括安装、镜像、容器、仓库、数据卷,端口映射等;第二部分(第9~16章)通过案例介绍Docker的应用方法,包括与各种操作系统平台、SSH服务的镜像、Web服务器与应用、数据库的应用、各类编程语言的接口、容器云等,还介绍了作者在容器实战中的思考与经验总结;第三部分(第17~21章)是一些进阶技能,如Docker核心技术实现原理、安全、高级网络配置、libernetwork插件化网络功能等;第四部分(第22~28章)介绍与容器开发相关的开源项目,包括Etcd、Docker Machine、Docker Compose、Docker Swarm、Mesos、Kubernetes等。 第2版参照Docker技术的*新进展对全书内容进行了修订,并增加了第四部分专门介绍与容器相关的知名开源项目,利用好这些优秀的开源平台,可以更好地在生产实践中受益。

立即下载
ZooKeeper-分布式过程协同技术详解 PDF 高清文字带书签

ZooKeeper-分布式过程协同技术详解 PDF 高清完整版

立即下载
ZooKeeper-分布式过程协同技术详解 高清完整版

ZooKeeper-分布式过程协同技术详解 高清完整版,欢迎下载

立即下载
ZooKeeper-分布式过程协同技术详解 PDF 高清完整版

  本书分三部分,共10章。第一部分(第1~2章)阐述ApacheZooKeeper这类系统的设计目的和动机,并介绍分布式系统的一些必要背景知识。第1章介绍ZooKeeper可以做什么,以及其设计如何支撑这些任务。第2章介绍基本概念和基本组成模块,并通过命令行工具的具体操作介绍了ZooKeeper可以做什么。第二部分(第3~8章)阐述开发人员所需要掌握的ZooKeeper库调用方法和编程技巧。第3章介绍Java语言的API.第4章解释如何跟踪和处理ZooKeeper中的状态变更情况。第5章介绍如何在系统或网络故障时恢复应用。第6章介绍需要注意来避免故障的一些繁杂却很重要的场景。第7章介绍C语言版的API接口,也可以作为非Java语言实现的ZooKeeperAPI的基础,对非Java语言的开发人员非常有帮助。第8章介绍一款更高层级的封装的ZooKeeper接口。第三部分(第9~10章)主要介绍ZooKeeper内部原理及如何运行ZooKeeper.第9章介绍ZooKeeper的作者们在设计时所采用的方案。第10章介绍如何对ZooKeeper进行配置。 购买地址:https://item.jd.com/11880788.html

立即下载
Java数据库技术详解

Java 数据库 技术 详解 光盘 ppt+source code+Java入门电子书(赠送)

立即下载
图解设计模式(完整版)pdf 高清中文版

本书以浅显易懂的语言逐一说明了GoF的23种设计模式。在讲解过程中,不仅搭配了丰富的图片,而且理论结合实例,用Java语言编写代码实现了设计模式的程序,让程序真正地运行起来,并提供了运用模式解决具体问题的练习题和答案。除此以外,本书在必要时还对Java语言的功能进行补充说明,以加深读者对Java的理解。 购买地址:https://item.jd.com/12019365.html

立即下载
[免费] JAVA并发编程实践-中文-高清pdf-带书签-完整版

JAVA并发编程实践 高清 pdf 带目录 良心资源 第1章 简介1 1.1 并发简史1 1.2 线程的优势2 1.2.1 发挥多处理器的强大能力2 1.2.2 建模的简单性3 1.2.3 异步事件的简化处理3 1.2.4 响应更灵敏的用户界面4 1.3 线程带来的风险4 1.3.1 安全性问题5 1.3.2 活跃性问题7 1.3.3 性能问题7 1.4 线程无处不在7 第一部分 基础知识 第2章 线程安全性11 2.1 什么是线程安全性13 2.2 原子性14 2.2.1 竞态条件15 2.2.2 示例:延迟初始化中的竞态条件16 2.2.3 复合操作17 2.3 加锁机制18 2.3.1 内置锁20 2.3.2 重入21 2.4 用锁来保护状态22 2.5 活跃性与性能23 第3章 对象的共享27 3.1 可见性27 3.1.1 失效数据28 3.1.2 非原子的64位操作29 3.1.3 加锁与可见性30 3.1.4 Volatile变量 30 3.2 发布与逸出32 3.3 线程封闭35 3.3.1 Ad-hoc线程封闭35 3.3.2 栈封闭36 3.3.3 ThreadLocal类37 3.4 不变性38 3.4.1 Final域39 3.4.2 示例:使用Volatile类型来发布不可变对象40 3.5 安全发布41 3.5.1 不正确的发布:正确的对象被破坏42 3.5.2  不可变对象与初始化安全性42 3.5.3 安全发布的常用模式43 3.5.4 事实不可变对象44 3.5.5 可变对象44 3.5.6 安全地共享对象44 第4章 对象的组合46 4.1 设计线程安全的类46 4.1.1 收集同步需求47 4.1.2 依赖状态的操作48 4.1.3 状态的所有权48 4.2 实例封闭49 4.2.1 Java监视器模式51 4.2.2 示例:车辆追踪51 4.3 线程安全性的委托53 4.3.1 示例:基于委托的车辆追踪器54 4.3.2 独立的状态变量55 4.3.3 当委托失效时56 4.3.4 发布底层的状态变量57 4.3.5 示例:发布状态的车辆追踪器58 4.4 在现有的线程安全类中添加功能59 4.4.1 客户端加锁机制60 4.4.2 组合62 4.5 将同步策略文档化62 第5章 基础构建模块66 5.1 同步容器类66 5.1.1 同步容器类的问题66 5.1.2 迭代器与Concurrent-ModificationException68 5.1.3 隐藏迭代器69 5.2 并发容器70 5.2.1 ConcurrentHashMap71 5.2.2 额外的原子Map操作72 5.2.3 CopyOnWriteArrayList72 5.3 阻塞队列和生产者-消费者模式73 5.3.1 示例:桌面搜索75 5.3.2 串行线程封闭76 5.3.3 双端队列与工作密取77 5.4 阻塞方法与中断方法77 5.5 同步工具类78 5.5.1 闭锁79 5.5.2 FutureTask80 5.5.3 信号量82 5.5.4 栅栏83 5.6 构建高效且可伸缩的结果缓存85 第二部分 结构化并发应用程序 第6章 任务执行93 6.1 在线程中执行任务93 6.1.1 串行地执行任务94 6.1.2 显式地为任务创建线程94 6.1.3 无限制创建线程的不足95 6.2 Executor框架96 6.2.1 示例:基于Executor的Web服务器97 6.2.2 执行策略98 6.2.3 线程池98 6.2.4 Executor的生命周期99 6.2.5 延迟任务与周期任务101 6.3 找出可利用的并行性102 6.3.1 示例:串行的页面渲染器102 6.3.2 携带结果的任务Callable与Future103 6.3.3 示例:使用Future实现页面渲染器104 6.3.4 在异构任务并行化中存在的局限106 6.3.5 CompletionService:Executor与BlockingQueue106 6.3.6 示例:使用CompletionService实现页面渲染器107 6.3.7 为任务设置时限108 6.3.8 示例:旅行预定门户网站109 第7章 取消与关闭111 7.1 任务取消111 7.1.1 中断113 7.1.2 中断策略116 7.1.3 响应中断117 7.1.4 示例:计时运行118 7.1.5 通过Future来实现取消120 7.1.6 处理不可中断的阻塞121 7.1.7 采用newTaskFor来封装非标准的取消122 7.2 停止基于线程的服务124 7.2.1 示例:日志服务124 7.2.2 关闭ExecutorService127 7.2.3 “毒丸”对象128 7.2.4 示例:只执行一次的服务129 7.2.5 shutdownNow的局限性130 7.3 处理非正常的线程终止132 7.4 JVM关闭135 7.4.1 关闭钩子135 7.4.2 守护线程136 7.4.3 终结器136 第8章 线程池的使用138 8.1 在任务与执行策略之间的隐性耦合138 8.1.1 线程饥饿死锁139 8.1.2 运行时间较长的任务140 8.2 设置线程池的大小140 8.3 配置ThreadPoolExecutor141 8.3.1 线程的创建与销毁142 8.3.2 管理队列任务142 8.3.3 饱和策略144 8.3.4 线程工厂146 8.3.5 在调用构造函数后再定制ThreadPoolExecutor147 8.4 扩展 ThreadPoolExecutor148 8.5 递归算法的并行化149 第9章 图形用户界面应用程序156 9.1 为什么GUI是单线程的156 9.1.1 串行事件处理157 9.1.2 Swing中的线程封闭机制158 9.2 短时间的GUI任务160 9.3 长时间的GUI任务161 9.3.1 取消162 9.3.2 进度标识和完成标识163 9.3.3 SwingWorker165 9.4 共享数据模型165 9.4.1 线程安全的数据模型166 9.4.2 分解数据模型166 9.5 其他形式的单线程子系统167 第三部分 活跃性、性能与测试 第10章 避免活跃性危险169 10.1 死锁169 10.1.1 锁顺序死锁170 10.1.2 动态的锁顺序死锁171 10.1.3 在协作对象之间发生的死锁174 10.1.4 开放调用175 10.1.5 资源死锁177 10.2 死锁的避免与诊断178 10.2.1 支持定时的锁178 10.2.2 通过线程转储信息来分析死锁178 10.3 其他活跃性危险180 10.3.1 饥饿180 10.3.2 糟糕的响应性181 10.3.3 活锁181 第11章 性能与可伸缩性183 11.1 对性能的思考183 11.1.1 性能与可伸缩性184 11.1.2 评估各种性能权衡因素185 11.2 Amdahl定律186 11.2.1 示例:在各种框架中隐藏的串行部分188 11.2.2 Amdahl定律的应用189 11.3 线程引入的开销189 11.3.1 上下文切换190 11.3.2 内存同步190 11.3.3 阻塞192 11.4 减少锁的竞争192 11.4.1 缩小锁的范围(“快进快出”)193 11.4.2 减小锁的粒度195 11.4.3 锁分段196 11.4.4 避免热点域197 11.4.5 一些替代独占锁的方法198 11.4.6 监测CPU的利用率199 11.4.7 向对象池说“不”200 11.5 示例:比较Map的性能200 11.6 减少上下文切换的开销201 第12章 并发程序的测试204 12.1 正确性测试205 12.1.1 基本的单元测试206 12.1.2 对阻塞操作的测试207 12.1.3 安全性测试208 12.1.4 资源管理的测试212 12.1.5 使用回调213 12.1.6 产生更多的交替操作214 12.2 性能测试215 12.2.1 在PutTakeTest中增加计时功能215 12.2.2 多种算法的比较217 12.2.3 响应性衡量218 12.3 避免性能测试的陷阱220 12.3.1 垃圾回收220 12.3.2 动态编译220 12.3.3 对代码路径的不真实采样222 12.3.4 不真实的竞争程度222 12.3.5 无用代码的消除223 12.4 其他的测试方法224 12.4.1 代码审查224 12.4.2 静态分析工具224 12.4.3 面向方面的测试技术226 12.4.4 分析与监测工具226 第四部分 高级主题 第13章 显式锁227 13.1 Lock与 ReentrantLock227 13.1.1 轮询锁与定时锁228 13.1.2 可中断的锁获取操作230 13.1.3 非块结构的加锁231 13.2 性能考虑因素231 13.3 公平性232 13.4 在synchronized和ReentrantLock之间进行选择234 13.5 读-写锁235 第14章 构建自定义的同步工具238 14.1 状态依赖性的管理238 14.1.1 示例:将前提条件的失败传递给调用者240 14.1.2 示例:通过轮询与休眠来实现简单的阻塞241 14.1.3 条件队列243 14.2 使用条件队列244 14.2.1 条件谓词244 14.2.2 过早唤醒245 14.2.3 丢失的信号246 14.2.4 通知247 14.2.5 示例:阀门类248 14.2.6 子类的安全问题249 14.2.7 封装条件队列250 14.2.8 入口协议与出口协议250 14.3 显式的Condition对象251 14.4 Synchronizer剖析253 14.5 AbstractQueuedSynchronizer254 14.6 java.util.concurrent同步器类中的 AQS257 14.6.1 ReentrantLock257 14.6.2 Semaphore与CountDownLatch258 14.6.3 FutureTask259 14.6.4 ReentrantReadWriteLock259 第15章 原子变量与非阻塞同步机制261 15.1 锁的劣势261 15.2 硬件对并发的支持262 15.2.1 比较并交换263 15.2.2 非阻塞的计数器264 15.2.3 JVM对CAS的支持265 15.3 原子变量类265 15.3.1 原子变量是一种“更好的volatile”266 15.3.2 性能比较:锁与原子变量267 15.4 非阻塞算法270 15.4.1 非阻塞的栈270 15.4.2 非阻塞的链表272 15.4.3 原子的域更新器274 15.4.4 ABA问题275 第16章 Java内存模型277 16.1 什么是内存模型,为什么需要它277 16.1.1 平台的内存模型278 16.1.2 重排序278 16.1.3 Java内存模型简介280 16.1.4 借助同步281 16.2 发布283 16.2.1 不安全的发布283 16.2.2 安全的发布284 16.2.3 安全初始化模式284 16.2.4 双重检查加锁286 16.3 初始化过程中的安全性287 附录A 并发性标注289 参考文献291

立即下载
数据库系统概念第五版清晰版pdf-01 (看我资源,共5份!)

数据库经典课本,这是清晰第五版,有目录。另外我也上传了本版本的超完整答案,绝对完整,请看我上传的资源列表。本书太大,共分成4个小卷上传,请全部下载完成后再解压,每卷的下载地址请查看我的资源列表。

立即下载
关闭
img

spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
点击完成任务获取下载码
输入下载码
为了良好体验,不建议使用迅雷下载
img

Java数据库技术详解 高清完整版

会员到期时间: 剩余下载个数: 剩余C币: 剩余积分:0
为了良好体验,不建议使用迅雷下载
VIP下载
您今日下载次数已达上限(为了良好下载体验及使用,每位用户24小时之内最多可下载20个资源)

积分不足!

资源所需积分/C币 当前拥有积分
您可以选择
开通VIP
4000万
程序员的必选
600万
绿色安全资源
现在开通
立省522元
或者
购买C币兑换积分 C币抽奖
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
为了良好体验,不建议使用迅雷下载
确认下载
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
为了良好体验,不建议使用迅雷下载
VIP和C币套餐优惠
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
确认下载
下载
您还未下载过该资源
无法举报自己的资源

兑换成功

你当前的下载分为234开始下载资源
你还不是VIP会员
开通VIP会员权限,免积分下载
立即开通

你下载资源过于频繁,请输入验证码

您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net!

举报

若举报审核通过,可返还被扣除的积分

  • 举报人:
  • 被举报人:
  • *类型:
    • *投诉人姓名:
    • *投诉人联系方式:
    • *版权证明:
  • *详细原因: