自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

字节卷动

You will never know how excellent you are unless you impel yourself once.

  • 博客(1123)
  • 资源 (58)
  • 问答 (1)
  • 收藏
  • 关注

原创 【Android面试八股文】你说一说什么是双亲委托机制?为什么需要双亲委托机制?

双亲委托机制是指当一个类加载器收到一个类加载请求时,该类加载器首先会把请求委派给父类加载器。如果父类加载器还存在父类加载器,则会一直向上委派,直至最终交由顶层的启动类加载器完成类加载,每个类加载器都是如此,只有在所有的父类加载器在自己的搜索范围内找不到指定类时,子类加载器才会尝试自己去加载。这样做的好处是可以。

2024-06-17 00:12:49 1016 2

原创 【Android面试八股文】PathClassLoader与DexClassLoader的区别是什么?

在Java中,任何一个程序都由一个或多个class文件组成。在程序运行时,需要将这些class文件加载到JVM中才能使用,而负责加载这些class文件的就是Java的类加载机制。简单来说,的作用就是加载class文件,为程序运行时提供支持。每个Class对象内部都有一个字段,用于标识自己是由哪个加载的。......:用于加载Android Framework层的class文件。:用于Android应用程序的类加载器,可以加载指定的dex文件,以及中的文件。:用于加载指定的。

2024-06-16 23:11:28 145

原创 【Android面试八股文】说一说JVM、DVM(Dalvik VM)和ART的区别

综上所述,JVM主要用于桌面和服务器环境中执行Java程序,而DVM和ART则是专为Android平台设计的虚拟机,用于执行Android应用程序。DVM采用解释执行,资源需求较低,适合移动设备;而ART通过预先编译和其他优化措施提高了性能和资源利用效率。

2024-06-16 22:31:05 276

原创 【Android面试八股文】讲一讲String、StringBuffer和StringBuilder在进行字符串操作时候的效率

如果字符串很少被修改,并且会被多个对象引用,通常使用String更合适。为了更好地优化这段代码,您可以将StringBuilder的实例化移到循环外部,避免重复创建对象。是不可扩展的字符串变量(内存地址不会变,创建了之后,该常量就不会改变了),在Java中,字符串是不可变的,这意味着一旦创建,它们的值就不能改变。当我们对字符串进行拼接操作时,实际上是创建了一个新的字符串对象。的实例化移到循环外部,我们避免了在每次循环中都创建新的。因此,对于大量的字符串拼接操作,推荐使用。进行大量字符串拼接操作的执行时间。

2024-06-16 21:39:53 219

原创 【Android面试八股文】讲一讲StackOverFlow和OOM的区别?栈和堆分别存储的是什么?

StackOverflow(栈溢出)和OutOfMemoryError(内存溢出)是两种不同的错误,发生的时机和原因也有所不同。总结一下,栈溢出主要发生在方法调用深度过大、递归调用没有正确终止条件的情况下,而内存溢出主要发生在堆中创建了过多的对象实例或者持有了过多的数据的情况下。栈用于存储方法调用和局部变量,而堆用于存储动态分配的对象实例和数组。

2024-06-16 21:01:41 115

原创 【Android面试八股文】请你描述一下JVM的内存模型

即一次编写,到处运行。为什么可以做到这样呢?其实就是依赖于JVM。在不同的操作系统上,只要安装了对应的虚拟机,那么同样的一份代码,就可以随意移植。当编写完Java代码时,即产生.java文件,会通过Java编译器编译为.class文件,然后通过把类信息加载到JVM中,最后JVM再去调用操作系统。这样,只要JVM正确执行.class文件,就可以实现跨平台了。

2024-06-16 20:33:54 759 1

原创 【Android面试八股文】Java中有几种引用关系,它们的区别是什么?

强引用:默认的引用类型,对象不会被垃圾回收。软引用:在内存不足时回收,适合做缓存。弱引用:在垃圾回收时总会被回收,适合做内存敏感的数据结构。虚引用:不能直接访问对象,通过引用队列追踪对象的回收,用于清理或监控资源。每种引用类型在不同场景下有不同的用途,通过合理选择引用类型,可以有效管理内存和资源。

2024-06-16 18:05:07 67

原创 【Android面试八股文】Class会不会回收?用不到的Class怎么回收 ?

通过自定义类加载器,在不再需要某个类时,可以显式地将对应的。

2024-06-16 17:46:17 191

原创 【Android面试八股文】你来说一说Java对象是如何晋升为老年代的?

大对象直接进入老年代年龄超过阈值动态对象年龄判定年轻代空间不足。

2024-06-16 17:13:53 63

原创 【Android面试八股文】Java对象会不会分配到栈中?

堆(Heap)栈(Stack)总体来说,Java对象通常分配在堆上,这是由Java内存模型决定的。然而,通过逃逸分析,JVM有可能将某些对象优化为在栈上分配,以提高性能和减少垃圾回收的负担。这种优化技术在现代JVM中越来越普遍,但需要注意的是,这些优化是透明的,程序员无需显式管理对象的内存分配位置。

2024-06-15 20:39:30 87

原创 【Android面试八股文】请描述new一个对象的流程

除如何划分可用空间之外,还有另外一个需要考虑的问题是对象创建在虚拟机中是非常频繁的行为,即使是仅仅修改一个指针所指向的位置,在并发情况下也并不是线程安全的,可能出现正在给对象A分配内存,指针还没来得及修改,对象B又同时使用了原来的指针来分配内存的情况。如果Java堆中的内存并不是规整的,已使用的内存和空闲的内存相互交错,那就没有办法简单地进行指针碰撞了,虚拟机就必须维护一个列表,记录上哪些内存块是可用的,在分配的时候从列表中找到一块足够大的空间划分给对象实例,并更新列表上的记录,这种分配方式称为一。

2024-06-15 19:53:53 299

原创 【Android面试八股文】你能描述一下JVM中的类加载过程吗?

用户定义的初始值是在类的初始化阶段( 方法中)进行的,而不是准备阶段。在上述代码中,sector的值在准备阶段将是0,而不是3。只有当执行类的初始化方法<clinit>时,才能将sector设置为3。<clinit>当上述 3 种类加载器不能满足开发需求时,用户可以自定义加载器自定义类加载器时,需要继承类。如果不想打破双亲委派模型,那么只需要重写findClass方法即可;如果想打破双亲委派模型,则需要重写loadClass方法JVM中的类加载过程包括加载、链接(验证、准备、解析)和初始化阶段。

2024-06-15 18:31:34 141

原创 【Android面试八股文】Android开发中怎样判断当前线程是否是主线程?

在Android开发中,判断当前线程是否是主线程(也称为UI线程)非常重要,因为只有主线程才能更新UI。示例中的这三种方法都可以判断当前线程是否是主线程,推荐使用第一种方法,因为它比较简洁且易于理解。在某些情况下,可以比较当前线程的名字与主线程的名字进行判断。是 Android 提供的一种在不同线程之间进行通信的机制。对象来判断是否是主线程。如果两者相同,则当前线程是主线程。来判断是否是主线程。如果两者相同,则当前线程是主线程。并比较当前线程与主线程是否相同来判断。来判断当前线程是否是主线程。

2024-06-15 03:24:02 116

原创 【Android面试八股文】Android中操作多线程的方式有哪些?

总之,Android 提供了丰富的多线程操作方式,从简单到复杂,从灵活到高效,开发者可以根据具体需求选择合适的工具和方法来进行多线程编程。是用于管理异步任务的现代解决方案,适合需要保证任务一定会执行的情况。是一种简化的服务类,可以在后台线程中处理异步请求,并且自动停止服务。是一个方便的类,用于在后台线程中执行短时间运行的任务,并在主线程中更新UI。Kotlin 提供了协程,这是一种轻量级的线程,特别适合异步操作和并发任务。的线程,适用于需要在后台线程中处理消息的情况。这是最基本的方式,直接使用Java的。

2024-06-15 03:00:53 316

原创 【Android面试八股文】AsyncTask中的任务是串行的还是并行的

串行执行:默认情况下,AsyncTask使用,任务按顺序执行。并行执行:通过可以使任务并行执行。根据具体需求选择合适的执行方式。如果任务需要共享资源或不能同时执行,建议使用串行执行;如果任务彼此独立且希望更快完成,可以选择并行执行。

2024-06-15 02:57:41 208

原创 【Android面试八股文】你能说一说AsyncTask的原理吗?

AsyncTask是一个抽象类,通过继承它可以创建自己的异步任务类。AsyncTaskParams:执行任务时的输入参数类型。Progress:后台任务执行过程中的进度更新类型。Result:后台任务执行完毕后的返回结果类型。AsyncTask:在后台线程中执行任务,该方法是抽象方法,需要子类实现。:在执行后台任务之前执行,通常用于进行一些准备工作,该方法在主线程中执行。:在后台任务执行完毕后执行,接收后台任务的返回结果作为参数,该方法在主线程中执行。:在后台任务执行过程中调用。

2024-06-15 02:53:49 59

原创 【Android面试八股文】HandlerThread是什么?有什么使用场景?

是 Android 提供的一个便捷类,它继承自Thread类,并且内部集成了Looper和Handler,使其能够在一个独立的线程中处理消息队列。这对于需要后台线程进行任务处理并与主线程进行通讯的情况非常有用。从源码分析中可以看到,本质上是对Thread类的扩展,它通过在run()方法中创建和启动Looper来实现消息循环机制,使得我们可以方便地在单独的线程中处理消息队列。内部封装了Looper和Handler的创建和管理,简化了多线程处理中的许多细节工作。通过使用。

2024-06-15 02:41:59 495

原创 【Android面试八股文】你了解 pthread 吗?创建一个新线程会占用多少内存?

它们在处理多线程任务时提供了更高层次的抽象和简化的 API,可以有效地帮助我们管理线程并优化性能。使用内存分析工具和性能监控工具(如 Android Profiler)来监控线程的内存使用情况,找出潜在的内存浪费点,并进行相应的优化。通过多线程并发执行,可以充分利用多核处理器和多任务系统的性能优势,加快程序的执行速度。合理使用多线程可以使程序结构更清晰,将复杂的任务分解为多个独立的线程,便于管理和维护。通过以上方法,可以有效地管理和优化线程的内存使用,提高应用程序的整体性能和稳定性。

2024-06-15 02:24:28 88

原创 【Android面试八股文】1. 如何开启一个线程?2.开启大量线程会有什么问题, 如何优化?

线程池的基本作用就是复用已有的线程,从而减少线程的创建,降低开销。在Java中,线程池的使用还是非常方便的,JDK中提供了现成的。线程池可以有效地管理和复用线程,避免频繁创建和销毁线程带来的开销。,包括很多方面,操作系统保存和恢复上下文的开销线程调度器调度线程的开销和高速缓存重新加载的开销等。定期监控线程池的运行状态和任务执行情况,及时调整线程池参数和优化代码,确保系统的稳定性和高效性。线程的本质是为了执行任务,在计算机的世界里,任务分大致分为两类,另外,在无法避免,必须要开启大量线程的情况下,

2024-06-15 02:08:39 203

原创 【Android面试八股文】你知道Java线程池有几种实现方式吗?能否展开说一说

有时我们需要定制线程池的行为,可以继承@Override@Override通过继承和自定义线程池,我们可以实现更复杂的线程管理逻辑,以满足特定业务需求。:最灵活和强大的线程池实现,适用于各种场景。Executors工厂方法:便捷地创建常见类型的线程池。:适用于并行递归任务的高效执行。:适用于大量独立小任务的高效执行。选择合适的线程池实现方式,可以显著提高应用程序的并发性能和资源利用率。

2024-06-15 01:43:29 678 2

原创 【Android面试八股文】你能说一说线程池管理线程的原理吗?

如果一个非核心线程在这段时间内没有被分配到新的任务,它就会被终止。它通过一组核心参数来控制线程池的行为,比如核心线程数、最大线程数、任务队列等。: 欢迎参加面试,今天我们会讨论一些关于 Java 线程池管理的问题。比如,当一个新任务提交到线程池时,会发生什么?能够高效地管理线程资源,提高并发性能,同时通过合理的拒绝策略确保系统稳定性。)中的一个高级工具类,用于管理和调度大量的线程。的源码,我们可以具体了解线程池的工作流程。: 那么,线程池是如何管理那些空闲线程的呢?当一个任务被提交到线程池时,会调用。

2024-06-15 00:44:30 267

原创 【Android面试八股文】你知道如何实现非阻塞式生产者消费者模式吗?

再转到我们平时开发过程中经常会碰到这样子的场景:某个模块负责产生数据,这些数据由另一个模块来负责处理。产生数据的模块,就称为生产者,而处理数据的模块,就称为消费者。当然如果只抽象出生产者和消费者,还不是正儿八经的生产者消费者模式,还需要一个缓冲区。生产者生产数据到缓冲区消费者从缓冲区拿数据去消费。服务器端经常使用的消息队列设计就是参照生产者消费者模型。

2024-06-14 23:46:03 334

原创 【Android面试八股文】1. 怎么保证线程按顺序执行? 2. 如何实现线程排队 ?

# 面试想考察的知识点1. 怎么保证线程按顺序执行? 2. 如何实现线程排队 ?# 面试问题问题1:假设有A、B两个线程,B线程需要在A线程执行完成之后执行问题2:假设有A、B两个线程,其中A线程中执行分为3步,需要在A线程执行完成第二步之后再继续执行B线程的代码怎么办问题3: 假设有A、B、C三个线程,其中A、B线程执行分为三步,C线程需要在A线程执行完第二步后执行一部分代码然后继续等待B线程都执行完第二步时才能执行,怎么办?

2024-06-14 15:51:36 274

原创 【Android面试八股文】Thread.sleep()方法被调用之后可以被中断吗?

的内部逻辑会通过操作系统的 API 来完成,当线程被外部中断时,操作系统会通知 JVM,JVM 会处理中断并抛出。这个方法会设置线程的中断状态,并且如果线程正在阻塞(例如在。方法实际上是一个本地方法,它调用了操作系统的睡眠功能。接着,我们在另一个线程中调用该睡眠线程的。注意,这个代码片段是为了演示逻辑,实际 JDK 源码中的。内部会检查线程的中断状态,如果线程被中断,就会抛出。方法时,如果另一个线程调用了这个睡眠线程的。在这里,我们创建了一个新的线程,并在其中调用。在内部实现中,如果线程被中断,会抛出。

2024-06-13 22:05:41 203

原创 【Android面试八股文】sleep、wáit、yield与join的区别,wait 的线程如何唤醒它?

在 Java 多线程编程中,sleepwaityield和join是四个常用的方法,它们在控制线程行为方面各有不同的用途。以下是它们之间的区别以及wait。

2024-06-13 21:36:47 200

原创 【Android面试八股文】为什么Android中要设计为只能在UI线程中去更新UI?Android中子线程真的不能更新UI吗?如何在子线程中更新UI?

这种设计确保了 UI 操作的安全性和一致性,因为 Android 的视图系统并不是线程安全的,在多线程操作下可能会导致不可预期的行为或崩溃。可以利用子线程进行UI的刷新操作,从而提高绘图的效率,减少对主线程的干扰。不过,需要注意的是,在进行多线程绘图时,要小心处理线程同步问题,以避免竞争和死锁等问题。变得可见时才创建的,之前的操作是没有进行线程检查的,所以没有报错。提供了一个独立的绘图表面,这个表面可以在独立的线程上进行绘制操作。的关键特性,它允许在不影响主线程(UI线程)的情况下进行绘图操作。

2024-06-13 16:16:22 724

原创 【Android面试八股文】我们来聊一聊IdelHandler吧,IdelHandler能干什么?怎么使用?有什么合适的使用场景?

Handler 机制算是 Android 基本功,面试常客。但现在面试,多数已经不会直接让你讲讲 Handler 的机制,Looper 是如何循环的,MessageQueue 是如何管理 Message 等,而是基于场景去提问,看看你对 Handler 机制的掌握是否扎实。本文就来聊聊 Handler 中的 IdleHandler,这个我们比较少用的功能。它能干什么?怎么使用?有什么合适的使用场景?哪些不是合适的使用场景?在 Android Framework 中有哪些地方用到了它?

2024-06-13 14:52:42 191

原创 【Android面试八股文】请你编写一个函数,找到单向链表的中间节点。如果链表有偶数个节点,则返回中间偏右的那个节点。你可以使用 Java 或 Kotlin 来回答。

请你编写一个函数,找到单向链表的中间节点。如果链表有偶数个节点,则返回中间偏右的那个节点。我的思路是先遍历链表得到它的长度,然后再次遍历一半的长度到达中间节点。你能解释一下如何处理边界情况吗,例如链表为空或者只有一个节点的情况?你对这个问题的理解非常深入。我刚刚的这种方法虽然直观,但需要两次遍历链表,时间复杂度是 O(N),,循环条件不满足,函数会直接返回这个唯一的节点,这也是正确的。然后再次遍历一半的长度找到中间节点。听起来不错,请继续你的代码。我先遍历链表获得它的长度,好,请开始你的代码。

2024-06-13 12:05:23 26

原创 【Android面试八股文】什么是守护线程?你是如何退出一个线程的?

我们可以设置一个标志位(boolean 类型的变量),在线程的主要循环中定期检查这个标志位,如果标志位被设置为。能够清楚地解释守护线程及多种退出线程的方法,说明您对线程管理有很好的理解。守护线程通常用于执行一些后台任务,如垃圾回收、监控等,不干扰应用程序的正常运行。当所有的非守护线程结束时,守护线程会自动终止。方法是JDK提供的一个可以强制关闭线程的方法,但是不建议使用!从上面的日志来看,两个线程都只是输出了3次,然后就执行结束,主线程的业务逻辑是每隔1s,输出一句log,总共循环三次,

2024-06-13 00:36:44 99

原创 【Android面试八股文】你知道Condition的await()和signal()吗?

你能给我展示一个简单的代码示例,说明如何使用。通过这种方式,可以实现线程间的协调。对象结合使用,以提供线程间的协调机制。:在这个示例中,一个线程调用。进入等待状态,另一个线程调用。:你能解释一下Java中的。:好的,那你能具体说明一下。方法的用法和行为吗?

2024-06-12 22:43:23 76

原创 【Android面试八股文】请你说一说线程生命周期,线程可以多次调用start吗?会出现什么问题?为什么不能多次调用start ?

线程的生命周期包括以下几种状态:新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)、等待(Waiting)、限时等待(Timed Waiting)和终止(Terminated/Dead)。方法只能使线程从新建状态进入就绪状态,而不能重复启动一个已经开始运行或已经终止的线程。,线程的任务执行完毕,或者因为异常退出,线程进入终止状态。方法后,线程进入就绪状态,等待系统为其分配CPU资源。:除非获得调用许可,否则禁用当前线程进行线程调度。对象时,线程处于新建状态。

2024-06-12 02:41:48 539

原创 【Android面试八股文】如何使用Java多线程对同一个对象进行操作?

首先,我们需要确保票数是一个共享的静态变量,这样三个线程可以访问同一个票数。同时,为了保证不会出现卖出同一张票的情况,我们需要使用同步锁来保护对票数的操作。为了避免线程安全问题,我们需要对多线程操作的对象进行同步处理,也就是加锁。好的,我想知道你对Java多线程操作同一个对象的理解和在实际项目中的应用情况。例如限流控制的时候,可以使用信号量。可以尝试获取锁,有公平锁和非公平锁的选择,还可以中断等待锁的线程。提供了更多的功能,比如可以尝试获取锁,能定时等待锁等。

2024-06-12 01:59:58 351

原创 【Android面试八股文】请你说一说锁分成哪几类?

通过理解和灵活运用这些不同的锁机制,开发者可以根据具体的应用场景选择最合适的锁,从而实现高效、安全的并发控制。获取数据时认为不会被其他线程修改,所以不会上锁,但是在更新的时候会判断其他线程是否修改此数据,如果被其他线程修改,则会发生自旋。乐观锁与悲观锁并不是特指某两种类型的锁,是人们定义出来的概念或思想,主要是指看待并发同步的角度。则是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁。以上是一些锁的名词,这些分类并不是全是指锁的状态,有的指锁的特性,有的指锁的设计。

2024-06-12 01:32:32 35

原创 【Android面试八股文】请说一说死锁的场景和对应的解决方案

死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁。

2024-06-12 00:46:35 192

原创 【Android面试八股文】volatile和synchronize有什么区别?

是两个重要的关键字,它们分别用于处理并发访问共享变量的问题。尽管它们都可以用于确保多线程环境下的数据一致性,但在实际应用中却有着明显的区别和适用场景。更适合在复杂的临界区控制、共享资源的读写操作等涉及到原子性和互斥性的场景中使用,它可以确保线程安全,但可能会引起性能开销。适合在简单的标识位状态切换、双重检查锁定等场景中使用,它能够确保可见性,但无法保证原子性和互斥性;更多的特性和灵活性,可以根据具体需求选择合适的并发处理方式。此外,在 Java 5 之后,还引入了更灵活的锁机制,如。,它们提供了比传统的。

2024-06-11 23:06:14 314

原创 【Android面试八股文】volatile能否保证线程安全?在DCL上的作用是什么?

volatile关键字可以保证变量的可见性和禁止指令重排,但它并不能保证线程安全,因为它不能保证变量操作的原子性。原子性指的是一个或者多个操作在 CPU 执行的过程中不被中断的特性。线程安全是指在多线程环境下,对共享资源的访问操作能够正确地执行,不会出现数据竞争、不一致或破坏数据的情况。volatile关键字只能保证被修饰的变量对于每个线程的可见性,即每个线程都能看到最新的值。但它无法解决多个线程同时修改同一个变量时可能出现的竞态条件问题。当多个线程同时对一个共享变量进行非原子性的操作时,volatile。

2024-06-11 22:59:46 104

原创 【Android面试八股文】volatile关键字干了什么?什么叫指令重排?

指令重排是指处理器为了提高运行效率,在不改变程序执行结果的前提下,通过调整指令的执行顺序来加速程序的运行。举例来说,一段简单的代码可能会被编译器和处理器重排成几个不同的执行顺序,只要最后的结果和原始代码的结果一致。然而,在多线程环境下,指令重排可能会导致问题。比如,如果一个线程在写一个共享变量的值之后紧接着写另一个共享变量的值,而另一个线程在读取这两个共享变量的值时发生了重排,就有可能导致该线程看到的值与预期不符。因此,使用volatile可以告诉编译器和处理器不要对被声明为volatile。

2024-06-11 22:45:44 200

原创 【Android面试八股文】请讲一讲synchronized和ReentrantLock的区别

使用 synchronized 时,如果只是需要基本的同步功能,并且不需要高级特性,那么它是一个很好的选择,因为它简单、直接且易读。如果需要更高级的功能,如公平锁、可中断的锁获取或条件变量,那么 ReentrantLock 则提供了更强大的支持。

2024-06-11 22:22:31 190

原创 【Android面试八股文】请讲一讲AQS的原理

AQS即,是一个用于构建锁和同步器的框架。它能降低构建锁和同步器的工作量,还可以避免处理多个位置上发生的竞争问题。在基于AQS构建的同步器中,只可能在一个时刻发生阻塞,从而降低上下文切换的开销,并提高吞吐量。AQS使用内部的FIFO(先进先出)等待队列来管理线程的争用和调度,其中一个常见的算法实现就是CLH队列锁。CLH(Craig, Landin, and Hagersten)锁是一种基于链表的自旋锁,最早是由Craig、Landin和Hagersten提出的。

2024-06-11 21:47:51 304

原创 【Android面试八股文】注解是什么?主要有什么应用场景?

在 Java 中,可以使用@interfaceRetention;Target;@Retention:定义注解的保留策略,即注解在什么阶段可用。常见的保留策略有::注解仅存在于源代码中,编译后即被丢弃。:注解存在于类文件中,但在运行时不可见。:注解在运行时也保留,因此可以通过反射读取。@Target:定义注解可以应用的目标,如方法、字段、类等。常见的目标有::可以用于方法。:可以用于字段。

2024-06-11 17:43:09 185

中文汉字笔划数据对照文本

中文汉字、汉字笔画数、汉字编码 对应表格 https://blog.csdn.net/ouyang_peng/article/details/83863693 https://blog.csdn.net/ouyang_peng/article/details/84109727

2018-11-15

中文汉字笔划数据库

里面排好了中文对应的汉字、笔画数量、汉字对应的unicode码等,方便大家进行笔画排序。可以参考链接: https://blog.csdn.net/ouyang_peng/article/details/83863693 sqlite> .tables BI_HUA_BEAN CHILD_BEAN CLASSIFY_BEAN android_metadata sqlite> .schema CREATE TABLE android_metadata (locale TEXT); CREATE TABLE IF NOT EXISTS "CHILD_BEAN" ("_id" INTEGER PRIMARY KEY ,"NAME" TEXT,"ADDRESS" TEXT,"BIHUA_COUNT" INTEGER NOT NULL ,"CHILD_ID" INTEGER); CREATE TABLE IF NOT EXISTS "CLASSIFY_BEAN" ("_id" INTEGER PRIMARY KEY ,"NAME" TEXT,"BEI_ZHU" TEXT); CREATE TABLE IF NOT EXISTS "BI_HUA_BEAN" ("_id" INTEGER PRIMARY KEY ,"CHINESE" TEXT,"SUM" TEXT, codePointAt INTEGER); sqlite> 数据类似于: 2410|抨|8|25256 2411|拣|8|25315 2412|拤|8|25316 2413|坫|8|22379 2414|拈|8|25288 2415|坿|8|22399 2416|拊|8|25290 2417|者|8|32773 2418|拍|8|25293 2419|顶|8|39030 2420|坼|8|22396 2421|拆|8|25286 2422|乴|8|20084

2018-11-14

2017WOTD峰会讲师PPT

2017WOTD峰会讲师PPT,http://wot.51cto.com/act/2017/development/ 2017年12月1日和12月2日的峰会讲师PPT

2017-12-03

STUN Client_v1.2_apkpure.com.apk

该应用程序可以帮助你找出什么样的防火墙/ NAT你后面使用STUN协议。 有多STUN服务器可供选择。

2017-11-28

Linux命令行与shell脚本编程大全(第3版) 高清晰PDF

这是一本关于Linux命令行与shell脚本编程的全方位教程,主要包括四大部分:Linux命令行,shell脚本编程基础,高级shell脚本编程,如何创建实用的shell脚本。本书针对Linux系统的新特性进行了全面更新,不仅涵盖了详尽的动手教程和现实世界中的实用信息,还提供了与所学内容相关的参考信息和背景资料。通过本书的学习,你将轻松写出自己的shell脚本。 第一部分 Linux 命令行 第1章 初识Linux shell  2 1.1 什么是Linux  2 1.2 Linux发行版  12 1.3 小结  15 第2章 走进shell  16 2.1 进入命令行  16 2.2 通过Linux控制台终端访问CLI  18 2.3 通过图形化终端仿真访问CLI  20 2.4 使用GNOME Terminal仿真器  21 2.5 使用Konsole Terminal仿真器  25 2.6 使用xterm终端仿真器  29 2.7 小结  32 第3章 基本的bash shell命令  33 3.1 启动shell  33 3.2 shell提示符  34 3.3 bash手册  34 3.4 浏览文件系统  37 3.5 文件和目录列表  42 3.6 处理文件  46 3.7 处理目录  55 3.8 查看文件内容  58 3.9 小结  63 第4章 更多的bash shell命令  64 4.1 监测程序  64 4.2 监测磁盘空间  73 4.3 处理数据文件  78 4.4 小结  85 第5章 理解shell  86 5.1 shell的类型  86 5.2 shell的父子关系  88 5.3 理解shell的内建命令  96 5.4 小结  101 第6章 使用Linux环境变量  103 6.1 什么是环境变量  103 6.2 设置用户定义变量  106 6.3 删除环境变量  109 6.4 默认的shell环境变量  110 6.5 设置PATH环境变量  113 6.6 定位系统环境变量  114 6.7 数组变量  121 6.8 小结  122 第7章 理解Linux文件权限  124 7.1 Linux的安全性  124 7.2 使用Linux组  132 7.3 理解文件权限  135 7.4 改变安全性设置  138 7.5 共享文件  140 7.6 小结  142 第8章 管理文件系统  143 8.1 探索Linux文件系统  143 8.2 操作文件系统  147 8.3 逻辑卷管理  154 8.4 小结  162 第9章 安装软件程序  163 9.1 包管理基础  163 9.2 基于Debian的系统  164 9.3 基于Red Hat的系统  171 9.4 从源码安装  177 9.5 小结  180 第10章 使用编辑器  181 10.1 vim编辑器  181 10.2 nano编辑器  187 10.3 emacs编辑器  188 10.4 KDE系编辑器  196 10.5 GNOME编辑器  202 10.6 小结  206 第二部分 shell脚本编程基础 第11章 构建基本脚本  210 11.1 使用多个命令  210 11.2 创建shell脚本文件  211 11.3 显示消息  212 11.4 使用变量  214 11.5 重定向输入和输出  218 11.6 管道  220 11.7 执行数学运算  222 11.8 退出脚本  228 11.9 小结  231 第12章 使用结构化命令  232 12.1 使用if-then语句  232 12.2 if-then-else语句  235 12.3 嵌套if  235 12.4 test命令  238 12.5 复合条件测试  254 12.6 if-then的高级特性  255 12.7 case命令  257 12.8 小结  258 第13章 更多的结构化命令  260 13.1 for命令  260 13.2 C语言风格的for命令  268 13.3 while命令  270 13.4 until命令  272 13.5 嵌套循环  274 13.6 循环处理文件数据  276 13.7 控制循环  277 13.8 处理循环的输出  282 13.9 实例  283 13.10 小结  286 第14章 处理用户输入  287 14.1 命令行参数  287 14.2 特殊参数变量  292 14.3 移动变量  295 14.4 处理选项  296 14.5 将选项标准化  305 14.6 获得用户输入  306 14.7 小结  309 第15章 呈现数据  311 15.1 理解输入和输出  311 15.2 在脚本中重定向输出  315 15.3 在脚本中重定向输入  317 15.4 创建自己的重定向  317 15.5 列出打开的文件描述符  322 15.6 阻止命令输出  323 15.7 创建临时文件  324 15.8 记录消息  327 15.9 实例  328 15.10 小结  330 第16章 控制脚本  331 16.1 处理信号  331 16.2 以后台模式运行脚本  338 16.3 在非控制台下运行脚本  341 16.4 作业控制  342 16.5 调整谦让度  345 16.6 定时运行作业  346 16.7 小结  353 第三部分 高级shell脚本编程 第17章 创建函数  356 17.1 基本的脚本函数  356 17.2 返回值  359 17.3 在函数中使用变量  362 17.4 数组变量和函数  366 17.5 函数递归  369 17.6 创建库  370 17.7 在命令行上使用函数  371 17.8 实例  374 17.9 小结  377 第18章 图形化桌面环境中的脚本编程  378 18.1 创建文本菜单  378 18.2 制作窗口  384 18.3 使用图形  393 18.4 小结  400 第19章 初识sed和gawk  401 19.1 文本处理  401 19.2 sed编辑器基础  410 19.3 小结  423 第20章 正则表达式  424 20.1 什么是正则表达式  424 20.2 定义BRE模式  426 20.3 扩展正则表达式  436 20.4 正则表达式实战  439 20.5 小结  444 第21章 sed进阶  445 21.1 多行命令  445 21.2 保持空间  450 21.3 排除命令  451 21.4 改变流  454 21.5 模式替代  456 21.6 在脚本中使用sed  458 21.7 创建sed实用工具  460 21.8 小结  467 第22章 gawk进阶  469 22.1 使用变量  469 22.2 处理数组  476 22.3 使用模式  478 22.4 结构化命令  480 22.5 格式化打印  484 22.6 内建函数  487 22.7 自定义函数  490 22.8 实例  492 22.9 小结  493 第23章 使用其他shell  495 23.1 什么是dash shell  495 23.2 dash shell的特性  496 23.3 dash脚本编程  500 23.4 zsh shell  502 23.5 zsh shell的组成  503 23.6 zsh脚本编程  508 23.7 小结  510 第四部分 创建实用的脚本 第24章 编写简单的脚本实用工具  514 24.1 归档  514 24.2 管理用户账户  523 24.3 监测磁盘空间  537 24.4 小结  542 第25章 创建与数据库、Web及电子 邮件相关的脚本  543 25.1 MySQL数据库  543 25.2 使用Web  555 25.3 使用电子邮件  561 25.4 小结  564 第26章 一些小有意思的脚本  565 26.1 发送消息  565 26.2 获取格言  573 26.3 编造借口  583 26.4 小结  587 附录A bash命令快速指南  589 附录B sed和gawk快速指南  597

2017-10-20

FindBugs错误分析说明.pdf

FindBugs是基于Bug Patterns概念,查找javabytecode(.class文件)中的潜在bug,主要检查bytecode中的bug patterns,如NullPoint空指针检查、没有合理关闭资源、字符串相同判断错(==,而不是equals)等;感兴趣的朋友可以下载看看

2017-09-19

Deep Learning 中文版

Deep Learning 中文翻译 https://github.com/exacity/deeplearningbook-chinese 第一章 前言 第二章 线性代数 第三章 概率与信息论 第四章 数值计算 第五章 机器学习基础 第六章 深度前馈网络 第七章 深度学习中的正则化 第八章 深度模型中的优化 第九章 卷积网络 第十章 序列建模:循环和递归网络 第十一章 实践方法论 第十二章 应用 第十三章 线性因子模型 第十四章 自编码器 第十五章 表示学习 第十六章 深度学习中的结构化概率模型 第十七章 蒙特卡罗方法 第十八章 面对配分函数 第十九章 近似推断 第二十章 深度生成模型 参考文献

2017-07-12

《深入探索Android热修复技术原理》高清完整版PDF

2017年6月,阿里巴巴手淘技术团队推出了史上首个非侵入式移动热更新解决方案——Sophix。在Android热修复的三大领域:代码修复、资源修复、SO修复方面,以及方案的安全性和易用性方面,Sophix都做到了业界领先。 《深入探索Android热修复技术原理》从阿里Sophix方案开发过程入手权威解读,分享了阿里巴巴手淘技术团队对系统底层的原创性发现,是业界首部全方位完整介绍热修复原理的书籍。 阿里技术大牛联袂推荐 自 2014 年至今,手淘定义和引领了业界 Android 组件化和热修复技术风潮,至于后来者 Instant App 或多或少也受了国内技术风气影响。今天看到团队同学将这块技术认真系统化整理成书,非常欣喜。在这本书里,既能看到对热修复技术风潮的发展历史系统深入总结,看到国内程序员在Android系统级技术持续突破上的不懈努力,更看到国内程序员坚持打造世界级优秀专业移动技术产品的雄心壮志! 手机淘宝基础平台部负责人,阿里巴巴资深技术专家 吴天华(天施) 业内少有的讲解 Android 热修复的深度书籍,对于原理、代码讲解得非常的清晰和深入,值得 Android 工程师研读。 手机淘宝资深专家,倪生华(玄黎) 应用热修复是一项略带神秘而又颇具争议的技术,但是它的确赋予应用开发者“驾着飞机修引擎”的能力。本书从 Android 应用热修复技术的原理及代码实现、多种方案进行比较的角度,系统化地阐述了 Android 平台上的应用热修复技术。对 Android 应用热修复有好奇心的技术人员,这本专题书不容错过。 计算机技术领域著名作家,阿里巴巴飞猪事业部首席架构师 潘爱民 阿里无线3年前在业界首次推出 Android 热修复技术 Dex- posed,为 Android 底层技术服务于业务痛点需求点亮了一个崭新的技术方向,点燃了业界百花齐放的探索热潮。这是一个技术改变格局的时代,同时也是一个能人辈出的时代! 手机淘宝前架构师,绿色联盟发起人 冯森林(无锋)

2017-07-03

Video to GIF 绿色免费版本

Video to GIF 工具介绍可以参考博客 【我的Android进阶之旅】推荐一款视频转换GIF图片格式的转换工具(Video to GIF) ,地址:http://blog.csdn.net/ouyang_peng/article/details/73864005 Video to GIF是一款视频转换GIF图片格式的转换工具,软件界面友好,操作简单,支持目前所有流行的视频格式转换,软件能够高质量快速的进行转换,可以轻松查看高清动画及原始视频画面。 Video to GIF 主要特点 视频转换为GIF动画的Video格式包含:AVI, MPG, MPEG, ASF, WMV, WM, FLV, SWF, RM, RMVB, VOB, MOV, 3GP, M1V, VOB, DVD。 支持最流行的图像格式输出:视频转换为GIF动画等各种图像格式,包含:GIF,JPEG, JPG,BMP, PNG,TGA,TIFF, ICO, PCX。 转换视频到Seriate中的图片:提取视频文件的所有帧与方便单独的图像文件。拍摄的图像可以转换为所有流行格式,如JPG,GIF,BMP,PNG,等等。 转换视频到电视墙 :转换视频到一个单一的形象,包括多画面简单的安排。 内置的视频播放器:支持所有视频格式的:可以作为一个视频播放器的常用功能,如暂停,停止,快照等,更重要的是,它也支持所有主要的视频格式。 时间的控制输出精确长度:输入开始时间和人工终止时间,以准确的每一帧(1秒= 24帧)。 调整:获取输出图像文件作为同原始分辨率或设置,你想要一个新的大小。 使输出图像的特殊效果:添加特殊效果(如蓝,锐化,噪声,提亮,反转等)输出GIF或其它图像。

2017-06-28

阿里巴巴Java开发手册 v1.2.0

今年年初,《阿里巴巴Java开发手册》正式发布,阿里官方Java代码规范标准首次对外公开。手册发布之后在业界、学术界都获得了广泛的关注,仅微博浏览量就突破千万,下载访问量超过40万,多家媒体主动转发,并将其称为“Java工程师必备宝典”。 业界开发者对手册也做出了高度的评价: “这是多年在一线奋斗的阿里同行们宝贵经验和线上事故的总结升华,在规模化生产实践、质量控制中必不可少的方法和手段。现在阿里工程师们把这些规范分享出来,能够帮助更多的同行们少走弯路,避免掉在不必要的坑里,能够大大提高研发质量、研发效率。” ——资深架构师李艳鹏 “阿里巴巴出品的JAVA开发手册比Google开源的Style Guide更全面,涵盖面更广。开发手册也在不断的动态迭代当中,保证了技术和实践时刻处于最前沿。” ——高级咨询师博文 “阿里Java编程规约不是约束,而是一种难得的效率规范。有了它,团队协作,代码交接和传递更加容易和便捷。总之,以后看别人的代码再也不用苦恼和头疼了。” ——非著名程序员涩郎 “比起很多花哨的所谓技术和框架,这东西才是体现‘码农’ 和 ‘工程师’ 本质区别的地方。” ——知乎用户胖胖 同时,也有热心用户对排版布局、部分示例错误、前后矛盾等问题提出了宝贵的建议。在收集外部建议和阿里内部经验更新的基础上,阿里巴巴规约项目组正式推出《阿里巴巴Java开发手册》1.2.0升级版,堪称史上最完善版本。 升级亮点 一、排版布局 1)页码中的封面、前言、目录并不计入总页码,调整前言到目录之前。 2)一级标题统一换页;二级标题统一不换页,并在之前空一行。 3)增加附1(版本历史)和附2(专有名词说明)并各自单独成为一页。 二、示例修正 1)关于太阳年龄的示例错误。太阳年龄46亿,超过42亿的表示范围。 2)个别示例的代码不符合格式规约,尤其是String args[]的表示方式错误。 三、修正规则 1)修正countdown 描述错误。 2)修正final关于效率优化的错误描述。 3)修正异常捕捉的描述错误。 四、内容增加 1)增加“指定集合大小”的进一步说明。 2)增加卫语句的示例代码。 3)明确数据库表示删除概念的字段名为 is_deleted 下载方式 识别上方二维码,关注“阿里技术”公众号,在阿里技术公众号回复“手册”两字,即可免费在线阅读&免费下载。 此手册从构思到现在的最新版本,历时两年,历经无数次内部针锋相对的讨论,迭代高达118次。该规约以Java开发者为中心视角,虽然只有短短的 2.2w字,却全面覆盖编程规约、异常日志规约、MySQL规约、工程规约、安全规约五大板块。 每一条规范几乎都经过千锤百炼实践的考验。从最初的周更新频率,降至现在的月度更新,后续的更新频度会以年为单位。在业界同仁的支持和努力下,规约已经越来越稳定,越来越完善。 手册愿景:码出高效、码出质量 阿里技术生态丰富,框架结构成熟,经历了超高并发的多年“双十一”实战考验,积累了丰富的Java实战经验。《阿里巴巴Java开发手册》本身就是阿里巴巴的内部编码规范,从命名到项目拆分,不仅规范了一些开发细节,也提出了很多工程开发的哲学。 如阿里巴巴系统软件事业部研究员毕玄所言,一个优秀的工程师和一个普通工程师的区别,不是现在满天飞的架构图,他的功底就是体现在他写的每一行代码上。 规约的目标是帮助开发者码出高效、码出质量,提升系统的质量、协作的高效性。计算机工程师这个行业很特殊,既像艺术家在创造富有个性的艺术品,又是一个需要团队合作的工作。《阿里巴巴Java开发手册》提倡算法效率和架构扩展的个性化,而不是代码风格随意化,尽量减少没有营养的“圣战”,如:4个空格、单行语句换行等。 未来展望:国际英文版&IDE智能扫描插件 这是一个广义的编码规范,一本随时可以查阅的技术参考,你在手册中可以找到很多的技术规范、最佳实践,避坑指南等,它是每一位优秀开发者手里的必备好书。 未来,阿里巴巴规约项目组将持续更新,推出国际英文版,并预计在今年9月杭州云栖大会发布众所期待的中文GitHub开源版本和IDE智能扫描插件,为开发者提供更多便利的服务,帮助企业和开发者切实提升代码质量、降低代码故障率。 阿里巴巴 JAVA 开发手册 V1.0版本下载地址 http://download.csdn.net/detail/qq446282412/9735132 https://mp.weixin.qq.com/s/fHh6CRljz4LCq9ZDtErNPQ?ptlang=2052&source&ADUIN=3024665621&ADSESSION=1495496312&ADTAG=CLIENT.QQ.5521_.0&ADPUBNO=26675

2017-05-23

Gradle for Android

About This Book, Create custom Gradle tasks and plugins for your Android projects, Configure different build variants, each with their own dependencies and properties, Manage multi-module projects, and integrate modules interdependently, Who This Book Is For, If you are an experienced Android developer wanting to enhance your skills with the Gradle Android build system, then this book is for you. As a prerequisite, you will need some knowledge of the concepts of Android application development., What You Will Learn, Build new Android apps and libraries using Android Studio and Gradle, Migrate projects from Eclipse to Android Studio and Gradle, Manage the local and remote dependencies of your projects, Create multiple build variants, Include multiple modules in a single project, Integrate tests into the build process, Create custom tasks and plugins for Android projects, In Detail, Gradle is an open source build automation system that introduces a Groovy-based domain-specific language (DSL) to configure projects. Using Gradle makes it easy for Android developers to manage dependencies and set up the entire build process., This book begins by taking you through the basics of Gradle and how it works with Android Studio. Furthermore, you will learn how to add local and remote dependencies to your project. You will work with build variants, such as debug and release, paid and free, and even combinations of these things. The book will also help you set up unit and integration testing with different libraries and will show how Gradle and Android Studio can make running tests easier. Finally, you will be shown a number of tips and tricks on the advanced customization of your application's build process. By the end of this book, you will be able to customize the entire build process, and create your own tasks and plugins for your Gradle builds.

2017-02-28

软技能:代码之外的生存指南

这是一本真正从“人”(而非技术也非管理)的角度关注软件开发人员自身发展的书。书中论述的内容既涉及生活习惯,又包括思维方式,凸显技术中“人”的因素,全面讲解软件行业从业人员所需知道的所有“软技能”。本书聚焦于软件开发人员生活的方方面面,从揭秘面试的流程到精耕细作出一份杀手级简历,从创建大受欢迎的博客到打造你,从提高自己工作效率到与如何与“拖延症”做斗争,甚至包括如何投资不动产,如何关注自己的健康。本书共分为职业篇、自我营销篇、学习篇、生产力篇、理财篇、健身篇、精神篇等七篇,概括了软件行业从业人员所需的“软技能”。通过阅读本书,软件工程人员、编程人员和其他技术人员能够积极思考自己的职业生涯,丰富自己的生活,让自己更接近成功。 目录: 第1章 为何这本书与你先前读过的任何书籍都迥然不同 1 第一篇 职业 5 第2章 从非同凡响开始:绝不要做他人都在做的事 7 第3章 思考未来:你的目标是什么 10 第4章 人际交往能力:远比你想象的重要 14 第5章 破解面试之道 18 第6章 就业选择:列出你的选择 23 第7章 你是哪类软件开发人员 28 第8章 公司与公司是不一样的 33 第9章 攀登晋升阶梯 38 第10章 成为专业人士 42 第11章 赢得自由——如何辞职 47 第12章 成为自由职业者:开启自己的一片天地 54 第13章 创建你的一个产品 60 第14章 你打算开始创业吗 65 第15章 远程工作的生存策略 70 第16章 假装自己能成功 74 第17章 单调乏味的简历——如何修改 77 第18章 请勿陷入对技术的狂热之中 81 第二篇 自我营销 85 第19章 针对“码农”的营销基础课 87 第20章 打造引人注目的品牌 92 第21章 创建大获成功的博客 97 第22章 你的主要目标:为他人增加价值 104 第23章 善于运用社交媒体 107 第24章 演讲、报告和培训:做“说话的极客” 112 第25章 著书立说,吸引追随者 117 第26章 百折不挠,越挫越勇 121 第三篇 学习 125 第27章 学习怎样学习:如何自我教育 127 第28章 我的“十步学习法” 130 第29章 第 1 步到第 6 步:这些步骤只做一次 133 第30章 第7步到第10步:循环往复 140 第31章 寻找导师:找到你的尤达 145 第32章 开山收徒:成为尤达一样的大师 150 第33章 传道授业:若要学知识,必得为人师 153 第34章 你需要一个学位吗,还是可以对此忽略不计 157 第35章 发现自己的知识短板 161 第四篇 生产力 165 第36章 一切始于专注 167 第37章 我的私房“生产力提升计划” 171 第38章 番茄工作法 177 第39章 我的“定额工作法”:我是如何做到超额完成工作的 183 第40章 对自己负责 187 第41章 要不要多任务并行 191 第42章 职业倦怠:我已找到解药 195 第43章 时间是怎样被浪费掉的 200 第44章 形成惯例的重要性 205 第45章 培养习惯:刷新你的代码 209 第46章 分解任务:如何吃掉一头大象 214 第47章 努力工作的价值,以及为什么你总是逃避努力工作 219 第48章 任何行动都比不采取行动好 223 第五篇 理财 229 第49章 怎样支配你的薪水 231 第50章 怎样进行薪酬谈判 236 第51章 期权:所有乐趣之所在 243 第52章 房地产投资面面观 250 第53章 你真的了解自己的退休计划吗 256 第54章 债务的危害:社保债务代价昂贵 263 第55章 额外馈赠:我是如何做到33岁退休的 267 第六篇 健身 279 第56章 为什么需要破解自己的健康密码 281 第57章 设定你的健身标准 285 第58章 热力学、热量和你 289 第59章 动力:让你的屁股离开椅子 294 第60章 如何增长肌肉:书呆子也能拥有强健的肌肉 298 第61章 如何获得完美腹肌 305 第62章 启动跑步程序 308 第63章 站立式办公及其他窍门 311 第64章 高科技健身装备:极客现身 315 第七篇 精神 319 第65章 心灵是如何影响身体的 321 第66章 拥有正确的心态:重新启动 325 第67章 构建一个积极的自我形象——规划你的大脑 330 第68章 爱情与恋爱:计算机无法牵着你的手 335 第69章 我的私房成功书单 339 第70章 积极面对失败 344 第71章 结束语 348

2017-02-25

不一样的技术创新-阿里巴巴2016双11背后的技术

为什么我们要看这本电子书?   数十位阿里技术大V精心选题!   8大技术领域27篇共计十万余字!   2016双11业务狂欢背后的技术实践!   全面阐述阿里巴巴最新技术积累与创新! 每年双11技术保障工作的顺利完成,是阿里技术积累和创新能力的集中展现。2016双11业务狂欢的背后,更是体现了阿里这两年来在人工智能、VR、云计算和大数据技术方面丰富的技术实践与突破。 历经近一个月的编写,《不一样的技术创新-阿里巴巴2016双11背后的技术》(以下简称《不一样的技术创新》)一书最终呈现在大家面前。本书由数十位亲历双11零点之战的阿里技术大V编写,与大家零距离分享双11一线技术团队实战经验,这27篇共计10万余字精心打造的技术干货凝聚了阿里工程师的智慧和创造力。    书中全面阐述阿里双11背后的技术实践与创新,包含基础设施、存储、中间件、云计算、业务架构、大数据、认知计算与人工智能、交互技术及安全等技术领域,其中重点包括: 充分发挥云计算弹性能力,实现资源快速腾挪,支撑交易峰值每秒17.5万笔、支付峰值每秒12万笔的混合云弹性架构; 在双11当天实现万亿级消息流转第三代分布式消息引擎RocketMQ; 交易核心应用容器化,撑起双11交易下单峰值,充分解放资源的超大规模Docker化技术; 支撑全球最大规模在线交易的数据实时和离线计算能力,包括承载阿里巴巴集团核心大数据的离线计算平台MaxCompute,以及双十一保证每秒处理亿条日志的计算能力、毫秒级的计算延迟的实时流计算平台StreamCompute; 阿里人工智能在搜索、推荐以及客服场景下的创新应用,包括人工智能赋能的数千家品牌商家店铺的个性化运营和粉丝会员的精准营销;基于深度强化学习和在线自适应学习的推荐算法创新;以智能+人工模式提供智能导购、服务、助理拟人交互的阿里小蜜; 全球第一个端对端的虚拟购物环境背后的VR技术,全面解读如何解决VR购物三大技术挑战,全面覆盖浏览、下单及支付环节; 揭秘应对前端极限挑战的淘宝直播首屏秒开,以及应用世界级开源跨平台移动开发工具Weex实现双11会场几近全覆盖,实现全网首屏渲染完美践行“秒开”体验; 所有双11奇迹背后的、基于数据挖掘、机器学习等技术的智能化秒级监控。千万量级监控项,PB级监控数据,亿级报警通知背后的技术。 长按二维码,立即在线阅读!   附全书目录:   第一章 基础设施 1.1 万亿交易量级下的秒级监控 1.2 双11背后基础设施软硬结合实践创新 1.3 阿里视频云ApsaraVideo是怎样让4000万人同时狂欢的   第二章 存储 2.1永不停止的脚步——数据库优化之路 2.2 AliCloudDB--双11商家后台数据库的基石   第三章 中间件 3.1 万亿级数据洪峰下的分布式消息引擎   第四章 电商云化 4.1 17.5W秒级交易峰值下的混合云弹性架构之路 4.2 集团AliDocker化双11总结   第五章 业务架构 5.1 内容+:打造不一样的双11 5.2 双11交易核心链路的故事 5.3 千亿访问量下的开放平台技术揭秘 5.4 智慧供应链 5.5 菜鸟双11“十亿级包裹”之战   第六章 大数据 6.1 双11数据大屏背后的实时计算处理 6.2 双11背后的大规模数据处理 6.3 突破传统,4k大屏的沉浸式体验   第七章 人工智能 7.1 基于深度强化学习与自适应在线学习的搜索和推荐算法研究 7.2 颠覆传统的电商智能助理-阿里小蜜技术揭秘 7.3 深度学习与自然语言处理在智能语音客服中的应用 7.4 数据赋能商家背后的黑科技 7.5 探索基于强化学习的智能推荐之路 7.6 DNN在搜索场景中的应用   第八章 交互技术 8.1 VR电商购物 8.2 淘宝直播在双11的互动实践 8.3 2016双11前端突破 8.4 Weex 双11会场大规模应用的秒开实战和稳定性保障 8.5 双11晚会背后的技术

2017-01-19

阿里巴巴 JAVA 开发手册

阿里巴巴集团首次向Java业界公布 JAVA 开发手册 一、编程规约 二、异常日志 三、MYSQL规约 四、工程规约 五、安全规约

2017-01-11

Maven权威指南_中文完整版清晰.pdf下载

Maven权威指南是一本关于Apache Maven的书。完整版的Maven权威指南,包括了其他版本缺失的12,13,15,17,18章以及附录,目录书签更加详细。 Copyright 1. Creative Commons BY-ND-NC Foreword: Beta 0.16 Preface 1. How to Use this Book 2. Your Feedback 3. Font Conventions 4. Maven Writing Conventions 5. Acknowledgements 1. 介绍 Apache Maven 1.1. Maven... 它是什么? 1.2. 约定优于配置(Convention Over Configuration) 1.3. 一个一般的接口 1.4. 基于Maven插件的全局性重用 1.5. 一个“项目”的概念模型 1.6. Maven是Ant的另一种选择么? 1.7. 比较Maven和Ant 1.8. 总结 2. 安装和运行Maven 2.1. 验证你的Java安装 2.2. 下载Maven 2.3. 安装Maven 2.3.1. 在Mac OSX上安装Maven 2.3.2. 在Microsoft Windows上安装Maven 2.3.3. 在Linux上安装Maven 2.3.4. 在FreeBSD或OpenBSD上安装Maven 2.4. 验证Maven安装 2.5. Maven安装细节 2.5.1. 用户相关配置和仓库 2.5.2. 升级Maven 2.6. 获得Maven帮助 2.7. 使用Maven Help插件 2.7.1. 描述一个Maven插件 2.8. 关于Apache软件许可证 I. Maven实战 3. 一个简单的Maven项目 3.1. 简介 3.1.1. 下载本章的例子 3.2. 创建一个简单的项目 3.3. 构建一个简单的项目 3.4. 简单的项目对象模型 (Project Object Model) 3.5. 核心概念 3.5.1. Maven插件和目标 (Plugins and Goals) 3.5.2. Maven生命周期 (Lifecycle) 3.5.3. Maven坐标 (Coordinates) 3.5.4. Maven仓库(Repositories) 3.5.5. Maven依赖管理 (Dependency Management) 3.5.6. 站点生成和报告 (Site Generation and Reporting) 3.6. 小结 4. 定制一个Maven项目 4.1. 介绍 4.1.1. 下载本章样例 4.2. 定义Simple Weather项目 4.2.1. Yahoo! Weather RSS 4.3. 创建Simple Weather项目 4.4. 定制项目信息 4.5. 添加新的依赖 4.6. Simple Weather源码 4.7. 添加资源 4.8. 运行Simple Weather项目 4.8.1. Maven Exec 插件 4.8.2. 浏览你的项目依赖 4.9. 编写单元测试 4.10. 添加测试范围依赖 4.11. 添加单元测试资源 4.12. 执行单元测试 4.12.1. 忽略测试失败 4.12.2. 跳过单元测试 4.13. 构建一个打包好的命令行应用程序 5. 一个简单的Web应用 5.1. 介绍 5.1.1. 下载本章样例 5.2. 定义这个简单的Web应用 5.3. 创建这个简单的Web应用 5.4. 配置Jetty插件 5.5. 添加一个简单的Servlet 5.6. 添加J2EE依赖 5.7. 小结 6. 一个多模块项目 6.1. 简介 6.1.1. 下载本章样例 6.2. simple-parent 项目 6.3. simple-weather 模块 6.4. simple-webapp 模块 6.5. 构建这个多模块项目 6.6. 运行Web应用 7. 多模块企业级项目 7.1. 简介 7.1.1. 下载本章样例 7.1.2. 多模块企业级项目 7.1.3. 本例中所用的技术 7.2. simple-parent项目 7.3. simple-model模块 7.4. simple-weather模块 7.5. simple-persist模块 7.6. simple-webapp模块 7.7. 运行这个Web应用 7.8. simple-command模块 7.9. 运行这个命令行程序 7.10. 小结 7.10.1. 编写接口项目程序 8. 优化和重构POM 8.1. 简介 8.2. POM清理 8.3. 优化依赖 8.4. 优化插件 8.5. 使用Maven Dependency插件进行优化 8.6. 最终的POM 8.7. 小结 II. Maven Reference 9. 项目对象模型 9.1. 简介 9.2. POM 9.2.1. 超级POM 9.2.2. 最简单的POM 9.2.3. 有效POM 9.2.4. 真正的POM 9.3. POM语法 9.3.1. 项目版本 9.3.1.1. 版本构建号 9.3.1.2. SNAPSHOT版本 9.3.1.3. LATEST 和 RELEASE 版本 9.3.2. 属性引用 9.4. 项目依赖 9.4.1. 依赖范围 9.4.2. 可选依赖 9.4.3. 依赖版本界限 9.4.4. 传递性依赖 9.4.4.1. 传递性依赖和范围 9.4.5. 冲突解决 9.4.6. 依赖管理 9.5. 项目关系 9.5.1. 坐标详解 9.5.2. 多模块项目 9.5.3. 项目继承 9.6. POM最佳实践 9.6.1. 依赖归类 9.6.2. 多模块 vs. 继承 9.6.2.1. 简单项目 9.6.2.2. 多模块企业级项目 9.6.2.3. 原型父项目 10. 构建生命周期 10.1. 简介 10.1.1. 清理生命周期 (clean) 10.1.2. 默认生命周期 (default) 10.1.3. 站点生命周期 (site) 10.2. 打包相关生命周期 10.2.1. JAR 10.2.2. POM 10.2.3. Maven Plugin 10.2.4. EJB 10.2.5. WAR 10.2.6. EAR 10.2.7. 其它打包类型 10.3. 通用生命周期目标 10.3.1. Process Resources 10.3.2. Compile 10.3.3. Process Test Resources 10.3.4. Test Compile 10.3.5. Test 10.3.6. Install 10.3.7. Deploy 11. 构建Profile 11.1. Profile是用来做什么的? 11.1.1. 什么是构建可移植性 11.1.1.1. 不可移植构建 11.1.1.2. 环境可移植性 11.1.1.3. 组织(内部)可移植性 11.1.1.4. 广泛(全局)可移植性 11.1.2. 选择一个适当级别的可移植性 11.2. 通过Maven Profiles实现可移植性 11.2.1. 覆盖一个项目对象模型 11.3. 激活Profile 11.3.1. 激活配置 11.3.2. 通过属性缺失激活 11.4. 外部Profile 11.5. Settings Profile 11.5.1. 全局Settings Profile 11.6. 列出活动的Profile 11.7. 提示和技巧 11.7.1. 常见的环境 11.7.2. 安全保护 11.7.3. 平台分类器 11.8. 小结 12. Maven套件 12.1. 简介 12.2. Assembly基础 12.2.1. 预定义的套件描述符 12.2.2. 构建一个套件Building an Assembly 12.2.3. 套件作为依赖 12.2.4. 通过套件依赖组装套件 12.3. 套件描述符概述 12.4. 套件描述符 12.4.1. 套件描述符中的属性引用 12.4.2. 必须的套件信息 12.5. 控制一个套件的内容 12.5.1. Files 元素 12.5.2. FileSets 元素 12.5.3. fileSets的默认排除模式 12.5.4. dependencySets 元素 12.5.4.1. 自定义依赖输出目录 12.5.4.2. 依赖输出位置的属性插值 12.5.4.3. Including and Excluding Dependencies by Scope 12.5.4.4. Fine Tuning: Dependency Includes and Excludes 12.5.4.5. Transitive Dependencies, Project Attachments, and Project Artifacts 12.5.4.6. Advanced Unpacking Options 12.5.4.7. Summarizing Dependency Sets 12.5.5. moduleSets 部分 12.5.5.1. Module Selection 12.5.5.2. Sources Section 12.5.5.3. Interpolation of outputDirectoryMapping in moduleSets 12.5.5.4. Binaries section 12.5.5.5. moduleSets, Parent POMs and the binaries Section 12.5.6. Repositories Section 12.5.7. Managing the Assembly’s Root Directory 12.5.8. componentDescriptors and containerDescriptorHandlers 12.6. Best Practices 12.6.1. Standard, Reusable Assembly Descriptors 12.6.2. Distribution (Aggregating) Assemblies 12.7. Summary 13. 属性和资源过滤 13.1. 简介 13.2. Maven属性 13.2.1. Maven项目的属性 13.2.2. Maven的Settings属性 13.2.3. 环境变量属性 13.2.4. Java系统属性 13.2.5. 用户定义的属性 13.3. 资源过滤 14. Maven和Eclipse: m2eclipse 14.1. 简介 14.2. m2eclipse 14.3. 安装 m2eclipse 插件 14.3.1. 安装前提条件 14.3.1.1. 安装 Subclipse 14.3.1.2. 安装 Mylyn 14.3.1.3. 安装 AspectJ Tools Platform (AJDT) 14.3.1.4. 安装 Web Tools Platform (WTP) 14.3.2. 安装 m2eclipse 14.4. 开启 Maven 控制台 14.5. 创建一个 Maven 项目 14.5.1. 从 SCM 签出一个 Maven 项目 14.5.2. 用Maven Archetype创建一个Maven项目 14.5.3. 创建一个 Maven 模块 14.6. 创建一个Maven POM文件 14.7. 导入Maven项目 14.7.1. 导入一个Maven项目 14.7.2. 具体化一个Maven项目 14.8. 运行Maven构建 14.9. 使用Maven进行工作 14.9.1. 添加及更新依赖或插件 14.9.2. 创建一个Maven模块 14.9.3. 下载源码 14.9.4. 打开项目页面 14.9.5. 解析依赖 14.10. 使用Maven仓库进行工作 14.10.1. 搜索 Maven 构件和 Java 类 14.10.2. 为Maven仓库编制索引 14.11. 使用基于表单的POM编辑器 14.12. 在m2eclipse中分析项目依赖 14.13. Maven 选项 14.14. 小结 15. 站点生成 15.1. 简介 15.2. 使用Maven构建项目站点 15.3. 自定义站点描述符 15.3.1. 自定义页面顶端图片 15.3.2. 自定义导航菜单 15.4. 站点目录结构 15.5. 编写项目文档 15.5.1. APT样例 15.5.2. FML样例 15.6. 部署你的项目web站点 15.6.1. 配置服务器认证 15.6.2. 配置文件和目录模式 15.7. 自定义站点外观 15.7.1. 自定义站点CSS 15.7.2. 创建自定义的站点模板 15.7.3. 可重用的web站点皮肤 15.7.4. 创建自定义的主题CSS 15.7.5. 在皮肤中自定义站点模板 15.8. 提示与技巧 15.8.1. 给HEAD嵌入XHTML 15.8.2. 在你站点logo下添加链接 15.8.3. 为你的站点添加导航链接 15.8.4. 添加项目版本 15.8.5. 修改发布日期格式和位置 15.8.6. 使用Doxia宏 16. 仓库管理器 16.1. 简介 16.1.1. Nexus历史 16.2. 安装Nexus 16.2.1. 从Sonatype下载Nexus 16.2.2. 安装Nexus 16.2.3. 运行Nexus 16.2.4. 安装后检查单 16.2.5. 为RedHat/Fedora/CentOS设置启动脚本 16.2.6. 升级Nexus版本 16.3. 使用Nexus 16.3.1. 浏览仓库 16.3.2. 浏览组 16.3.3. 搜索构件 16.3.4. 浏览系统RSS源 16.3.5. 浏览日志文件和配置 16.3.6. 更改你的密码 16.4. 配置Maven使用Nexus 16.4.1. 使用Nexus中央代理仓库 16.4.2. 使用Nexus作为快照仓库 16.4.3. 为缺少的依赖添加仓库 16.4.4. 添加一个新的仓库 16.4.5. 添加一个仓库至一个组 16.5. 配置Nexus 16.5.. 定制服务器配置 16.5.2. 管理仓库 16.5.3. 管理组 16.5.4. 管理路由 16.5.5. 网络配置 16.6. 维护仓库 16.7. 部署构件至Nexus 16.7.1. 部署发布版 16.7.2. 部署快照版 16.7.3. 部署第三方构件 17. 编写插件 17.1. 简介 17.2. Maven编程 17.2.1. 什么是反转控制? 17.2.2. Plexus简介 17.2.3. 为什么使用Plexus? 17.2.4. 什么是插件? 17.3. 插件描述符 17.3.1. 顶层插件描述符元素 17.3.2. Mojo��置 17.3.3. 插件依赖 17.4. 编写自定义插件 17.4.1. 创建一个插件项目 17.4.2. 一个简单的Java Mojo 17.4.3. 配置插件前缀 17.4.4. 插件中的日志 17.4.5. Mojo类注解 17.4.6. 当Mojo失败的时候 17.5. Mojo参数 17.5.1. 为Mojo参数提供值 17.5.2. 多值的Mojo参数 17.5.3. 依赖于一个Plexus组件 17.5.4. Mojo参数注解 17.6. 插件和Maven生命周期 17.6.1. 执行平行的生命周期 17.6.2. 创建自定义的生命周期 17.6.3. 覆盖默认生命周期 18. Writing Plugins in Alternative Languages 18.1. Writing Plugins in Ant 18.2. Creating an Ant Plugin 18.3. Writing Plugins in JRuby 18.3.1. Creating a JRuby Plugin 18.3.2. Ruby Mojo Implementations 18.3.3. Logging from a Ruby Mojo 18.3.4. Raising a MojoError 18.3.5. Referencing Plexus Components from JRuby 18.4. Writing Plugins in Groovy 18.4.1. Creating a Groovy Plugin A. 附录: Settings细节 A.1. 简介 A.2. Settings细节 A.2.1. 简单值 A.2.2. 服务器(Servers) A.2.3. 镜像(Mirrors) A.2.4. 代理(Proxies) A.2.5. Profiles A.2.6. 激活(Activation) A.2.7. 属性(Properties) A.2.8. 仓库(Repositories) A.2.9. 插件仓库 A.2.10. 激活的Profile B. Appendix: Sun Specification Alternatives List of Figures List of Examples

2017-01-11

TCP-IP详解卷一:协议 卷二:实现 卷三:TCP事务协议,HTTP,NNTP和UNIX域协议 合集

TCP-IP详解卷一:协议 卷二:实现 卷三:TCP事务协议,HTTP,NNTP和UNIX域协议 合集

2016-09-24

Learning Reactive Programming with Java

Learning Reactive Programming with Java

2016-05-01

RxJava入门学习资料-RxJava Essentials(英/中文版合集)

RxJava Essentials(英文版) RxJava Essentials(中文版) 讲得比较详细,适合RxJava入门学习

2016-05-01

RxJava 完全解析.pdf

RxJava 完全解析

2016-04-30

设计模式之禅(第2版)(jb51.net).pdf

前 言 第一部分 大旗不挥,谁敢 冲锋—热身篇 第1章 单一职责原则 1.1 我是“牛”类,我可以担任多职吗 1.2 绝杀技,打破你的传统思维 1.3 我单纯,所以我快乐 1.4 最佳实践 第2章 里氏替换原则 2.1 爱恨纠葛的父子关系 2.2 纠纷不断,规则压制 2.3 最佳实践 第3章 依赖倒置原则 3.1 依赖倒置原则的定义 3.2 言而无信,你太需要契约 3.3 依赖的三种写法 3.4 最佳实践 第4章 接口隔离原则 4.1 接口隔离原则的定义 4.2 美女何其多,观点各不同 4.3 保证接口的纯洁性 4.4 最佳实践 第5章 迪米特法则 5.1 迪米特法则的定义 5.2 我的知识你知道得越少越好 5.3 最佳实践 第6章 开闭原则 6.1 开闭原则的定义 6.2 开闭原则的庐山真面目 6.3 为什么要采用开闭原则 6.4 如何使用开闭原则 6.5 最佳实践 第二部分 我惹了谁— 真刀实枪篇 第7章 单例模式 7.1 我是皇帝我独苗 7.2 单例模式的定义 7.3 单例模式的应用 7.4 单例模式的扩展 7.5 最佳实践 第8章 工厂方法模式 8.1 女娲造人的故事 8.2 工厂方法模式的定义 8.3 工厂方法模式的应用 8.3.1 工厂方法模式的优点 8.3.2 工厂方法模式的使用场景 8.4 工厂方法模式的扩展 8.5 最佳实践 第9章 抽象工厂模式 9.1 女娲的失误 9.2 抽象工厂模式的定义 9.3 抽象工厂模式的应用 9.3.1 抽象工厂模式的优点 9.3.2 抽象工厂模式的缺点 9.3.3 抽象工厂模式的使用场景 9.3.4 抽象工厂模式的注意事项 9.4 最佳实践 第10章 模板方法模式 10.1 辉煌工程—制造悍马 10.2 模板方法模式的定义 10.3 模板方法模式的应用 10.4 模板方法模式的扩展 10.5 最佳实践 第11章 建造者模式 11.1 变化是永恒的 11.2 建造者模式的定义 11.3 建造者模式的应用 11.4 建造者模式的扩展 11.5 最佳实践 第12章 代理模式 12.1 我是游戏至尊 12.2 代理模式的定义 12.3 代理模式的应用 12.3.1 代理模式的优点 12.3.2 代理模式的应用 12.4 代理模式的扩展 12.4.1 普通代理 12.4.2 强制代理 12.4.3 代理是有个性的 12.4.4 虚拟代理 12.4.5 动态代理 12.5 最佳实践 第13章 原型模式 13.1 个性化电子账单 13.2 原型模式的定义 13.3 原型模式的应用 13.3.1 原型模式的优点 13.3.2 原型模式的使用场景 13.4 原型模式的注意事项 13.4.1 构造函数不会被执行 13.4.2 浅拷贝和深拷贝 13.4.3 clone与final两个冤家 13.5 最佳实践 第14章 中介者模式 14.1 进销存管理是这个样子的吗? 14.2 中介者模式的定义 14.3 中介者模式的应用 14.4 中介者模式的实际应用 14.5 最佳实践 第15章 命令模式 15.1 项目经理也难当 15.2 命令模式的定义 15.3 命令模式的应用 15.3.1 命令模式的优点 15.3.2 命令模式的缺点 15.3.3 命令模式的使用场景 15.4 命令模式的扩展 15.4.1 未讲完的故事 15.4.2 反悔问题 15.5 最佳实践 第16章 责任链模式 16.1 古代妇女的枷锁—“三从四德” 16.2 责任链模式的定义 16.3 责任链模式的应用 16.3.1 责任链模式的优点 16.3.2 责任链模式的缺点 16.3.3 责任链模式的注意事项 16.4 最佳实践 第17章 装饰模式 17.1 罪恶的成绩单 17.2 装饰模式的定义 17.3 装饰模式应用 17.3.1 装饰模式的优点 17.3.2 装饰模式的缺点 17.3.3 装饰模式的应用 17.4 最佳实践 第18章 策略模式 18.1 刘备江东娶妻,赵云他容易吗 18.2 策略模式的定义 18.3 策略模式的应用 18.3.1 策略模式的优点 18.3.2 策略模式的缺点 18.3.3 策略模式的应用 18.3.4 策略模式的注意事项 18.4 策略模式的扩展 18.5 最佳实践 第19章 适配器模式 19.1 业务发展—上帝才能控制 19.2 适配器模式的定义 19.3 适配器模式的应用 19.3.1 适配器模式的优点 19.3.2 适配器模式的应用 19.3.3 适配器模式的注意事项 19.4 适配器模式的扩展 19.5 最佳实践 第20章 迭代器模式 20.1 整理项目信息—苦差事 20.2 迭代器模式的定义 20.3 迭代器模式的应用 20.4 最佳实践 第21章 组合模式 21.1 公司的人事架构是这样的吗 21.2 组合模式的定义 21.3 组合模式的应用 21.3.1 组合模式的优点 21.3.2 组合模式的缺点 21.3.3 组合模式的应用 21.3.4 组合模式的注意事项 21.4 组合模式的扩展 21.4.1 真实的组合模式 21.4.2 透明的组合模式 21.4.3 组合模式的遍历 21.5 最佳实践 第22章 观察者模式 22.1 韩非子身边的卧底是谁派来的 22.2 观察者模式的定义 22.3 观察者模式的应用 22.3.1 观察者模式的优点 22.3.2 观察者模式的缺点 22.3.3 观察者模式的应用 22.3.4 观察者模式的注意事项 22.4 观察者模式的扩展 22.4.1 Java世界中的观察者模式 22.4.2 项目中真实观察者模式 22.4.3 订阅发布模型 22.5 最佳实践 第23章 门面模式 23.1 我要投递信件 23.2 门面模式的定义 23.3 门面模式的应用 23.3.1 门面模式的优点 23.3.2 门面模式的缺点 23.3.3 门面模式的应用 23.4 门面模式的注意事项 23.4.1 一个子系统可以有多个 门面 23.4.2 门面不参与子系统内的 业务逻辑 23.5 最佳实践 第24章 备忘录模式 24.1 如此追女孩子,你还不乐 24.2 备忘录模式的定义 24.3 备忘录模式的应用 24.3.1 备忘录模式的应用 24.3.2 备忘录模式的注意事项 24.4 备忘录模式的扩展 24.4.1 clone方式的备忘录 24.4.2 多状态的备忘录模式 24.4.3 多备份的备忘录 24.4.4 封装得更好一点 24.5 最佳实践 第25章 访问者模式 25.1 员工的隐私何在? 25.2 访问者模式的定义 25.3 访问者模式的应用 25.3.1 访问者模式的优点 25.3.2 访问者模式的缺点 25.3.3 访问者模式的应用 25.4 访问者模式的扩展 25.4.1 统计功能 25.4.2 多个访问者 25.4.3 双分派 25.5 最佳实践 第26章 状态模式 26.1 城市的纵向发展功臣—电梯 26.2 状态模式的定义 26.3 状态模式的应用 26.3.1 状态模式的优点 26.3.2 状态模式的缺点 26.3.3 状态模式的应用 26.3.4 状态模式的注意事项 26.4 最佳实践 第27章 解释器模式 27.1 四则运算你会吗 27.2 解释器模式的定义 27.3 解释器模式的应用 27.3.1 解释器模式的优点 27.3.2 解释器模式的缺点 27.3.3 解释器模式使用的场景 27.3.4 解释器模式的注意事项 27.4 最佳实践 第28章 享元模式 28.1 内存溢出,司空见惯 28.2 享元模式的定义 28.3 享元模式的应用 28.3.1 享元模式优点和缺点 28.3.2 享元模式的应用 28.4 享元模式的扩展 28.4.1 线程安全的问题 28.4.2 性能平衡 28.5 最佳实践 第29章 桥梁模式 29.1 我有一个梦想…… 29.2 桥梁模式的定义 29.3 桥梁模式的应用 29.3.1 桥梁模式的优点 29.3.2 桥梁模式的应用 29.3.3 桥梁模式的注意事项 29.4 最佳实践 第三部分 谁的地盘谁做主—模式PK篇 第30章 创建类模式大PK 30.1 工厂方法模式VS建造者模式 30.1.1 按工厂方法建造超人 30.1.2 按建造者模式建造超人 30.1.3 最佳实践 30.2 抽象工厂模式VS建造者模式 30.2.1 按抽象工厂模式生产车辆 30.2.2 按建造者模式生产车辆 30.2.3 最佳实践 第31章 结构类模式大PK 31.1 代理模式VS装饰模式 31.1.1 代理模式 31.1.2 装饰模式 31.1.3 最佳实践 31.2 装饰模式VS适配器模式 31.2.1 按装饰模式描述丑小鸭 31.2.2 按适配器模式实现丑小鸭 31.2.3 最佳实践 第32章 行为类模式大PK 32.1 命令模式VS策略模式 32.1.1 策略模式实现压缩算法 32.1.2 命令模式实现压缩算法 32.1.3 小结 32.2 策略模式VS状态模式 32.2.1 策略模式实现人生 32.2.2 状态模式实现人生 32.2.3 小结 32.3 观察者模式VS责任链模式 32.3.1 责任链模式实现DNS 解析过程 32.3.2 触发链模式实现DNS 解析过程 32.3.3 小结 第33章 跨战区PK 33.1 策略模式VS桥梁模式 33.1.1 策略模式实现邮件发送 33.1.2 桥梁模式实现邮件发送 33.1.3 最佳实践 33.2 门面模式VS中介者模式 33.2.1 中介者模式实现工资计算 33.2.2 门面模式实现工资计算 33.2.3 最佳实践 33.3 包装模式群PK 33.3.1 代理模式 33.3.2 装饰模式 33.3.3 适配器模式 33.3.4 桥梁模式 33.3.5 最佳实践 第四部分 完美世界— 混编模式 第34章 命令模式+责任链模式 34.1 搬移UNIX的命令 34.2 混编小结 第35章 工厂方法模式+策略模式 35.1 迷你版的交易系统 35.2 混编小结 第36章 观察者模式+中介者模式 36.1 事件触发器的开发 36.2 混编小结 第37章 规格模式 37.1 规格模式的实现 37.2 最佳实践 第38章 MVC框架 38.1 MVC框架的实现 38.1.1 MVC的系统架构 38.1.2 模型管理器 38.1.3 值栈 38.1.4 视图管理器 38.1.5 工具类 38.2 最佳实践 附录:23个设计模式

2016-04-23

Android自定义View来实现解析lrc歌词并同步滚动、上下拖动、缩放歌词的功能

具体参考博客: 我的Android进阶之旅------>Android自定义View来实现解析lrc歌词并同步滚动、上下拖动、缩放歌词的功能 http://blog.csdn.net/ouyang_peng/article/details/50813419 1、实现歌词同步滚动的功能,即歌曲播放到哪句歌词,就高亮地显示出正在播放的这个歌词; 2、实现上下拖动歌词时候,可以拖动播放器的进度。即可以不停地上下拖动歌词,当手指离开屏幕时候 即从当前拖动到的歌词位置播放。 3、实现歌词的字体大小可以进行缩放的功能。即双指在屏幕进行缩放操作时,歌词的字体大小也进行相应的缩放操作。

2016-03-06

免费下载:TCP-IP协议族(第4版) .(Behrouz A.Forouzan )

TCP-IP 协议族 第4版 pdf TCP-IP协议族(第4版) .(Behrouz A.Forouzan ) 免费下载

2016-03-01

Ftp服务器程序.rar

配合《Java语言实现简单FTP软件源代码》所写的FTP客户端的FTP服务器程序,博客地址 :http://blog.csdn.net/ouyang_peng/article/details/9971169

2016-01-03

《疯狂Android讲义第二版》全部源码

疯狂Android讲义 第二版 全部源码 免费下载

2015-10-28

我的Android进阶之旅------>Android利用温度传感器实现带动画效果的电子温度计

我的Android进阶之旅------>Android利用温度传感器实现带动画效果的电子温度计 地址:http://blog.csdn.net/ouyang_peng/article/details/48790289

2015-09-29

Android动画电子温度计.zip

Android 动画电子温度计 温度传感器 动态得展示了从手机温度传感器得到的温度值,具体效果可以查看博客:http://blog.csdn.net/ouyang_peng/article/details/48790289

2015-09-28

百度定位功能的开发包和实例以及API文档

百度定位功能 百度开发包 百度定位实例 百度API文档 教你如何使用百度定位SDK来进行定位功能的实现

2015-09-23

图解HTTP[日 上野 宣 著] PDF.rar

《图灵程序设计丛书:图解HTTP》对互联网基盘——HTTP协议进行了全面系统的介绍。作者由HTTP协议的发展历史娓娓道来,严谨细致地剖析了HTTP协议的结构,列举诸多常见通信场景及实战案例,最后延伸到Web安全、最新技术动向等方面。《图解HTTP》的特色为在讲解的同时,辅以大量生动形象的通信图例,更好地帮助读者深刻理解HTTP通信过程中客户端与服务器之间的交互情况。读者可通过《图灵程序设计丛书:图解HTTP》快速了解并掌握HTTP协议的基础,前端工程师分析抓包数据,后端工程师实现REST API、实现自己的HTTP服务器等过程中所需的HTTP相关知识点本书均有介绍。   《图灵程序设计丛书:图解HTTP》适合Web开发工程师,以及对HTTP协议感兴趣的各层次读者。 上野·宣 ,OWASP 日本分会会长,TRICORDER株式会社董事长。   主要从事安全咨询、风险评估、信息安全教育等工作。著有《今晚我们一起学习邮件协议》(今夜わかるメールプロトコル)、《今晚我们一起学习TCP/IP》(今夜わかるTCP/IP)、《今晚我们一起学习HTTP》(今夜わかるHTTP)。担任The Tangled Web:A Guide to Securing Modern Web Application日文版的审校工作。      于均良(译者),上海交通大学硕士,高级软件工程师,马拉松跑者,四点网创始人。 第1章 了解Web及网络基础 1.1 使用HTTP协议访问Web 1.2 HTTP的诞生 1.2.1 为知识共享而规划Web 1.2.2 Web成长时代 1.2.3 驻足不前的HTTP 1.3 网络基础TCP/IP 1.3.1 TCP/IP协议族 1.3.2 TCP/IP的分层管理 1.3.3 TCP/IP通信传输流 1.4 与HTTP关系密切的协议:IP、TCP和DNS 1.4.1 负责传输的IP协议 1.4.2 确保可靠性的TCP协议 1.5 负责域名解析的DNS服务 1.6 各种协议与HTTP协议的关系 1.7 URI和URL 1.7.1 统一资源标识符 1.7.2 URI格式 第2章 简单的HTTP协议 2.1 HTTP协议用于客户端和服务器端之间的通信 2.2 通过请求和响应的交换达成通信 2.3 HTTP是不保存状态的协议 2.4 请求URI定位资源 2.5 告知服务器意图的HTTP方法 2.6 使用方法下达命令 2.7 持久连接节省通信量 2.7.1 持久连接 2.7.2 管线化 2.8 使用Cookie的状态管理 第3章 HTTP报文内的HTTP信息 3.1 HTTP报文 3.2 请求报文及响应报文的结构 3.3 编码提升传输速率 3.3.1 报文主体和实体主体的差异 3.3.2 压缩传输的内容编码 3.3.3 分割发送的分块传输编码 3.4 发送多种数据的多部分对象集合 3.5 获取部分内容的范围请求 3.6 内容协商返回最合适的内容 第4章 返回结果的HTTP状态码 4.1 状态码告知从服务器端返回的请求结果 4.2 2XX成功 4.2.1 200 OK 4.2.2 204 No Content 4.2.3 206 Partial Content 4.3 3XX重定向 4.3.1 301 Moved Permanently 4.3.2 302 Found 4.3.3 303 See Other 4.3.4 304 Not Modified 4.3.5 307 Temporary Redirect 4.4 4XX客户端错误 4.4.1 400 Bad Request 4.4.2 401 Unauthorized 4.4.3 403 Forbidden 4.4.4 404 Not Found 4.5 5XX服务器错误 4.5.1 500 Internal Server Error 4.5.2 503 Service Unavailable 第5章 与HTTP协作的Web服务器 5.1 用单台虚拟主机实现多个域名 5.2 通信数据转发程序:代理、网关、隧道 5.2.1 代理 5.2.2 网关 5.2.3 隧道 5.3 保存资源的缓存 5.3.1 缓存的有效期限 5.3.2 客户端的缓存 第6章 HTTP首部 6.1 HTTP报文首部 6.2 HTTP首部字段 6.2.1 HTTP首部字段传递重要信息 6.2.2 HTTP首部字段结构 6.2.3 4种HTTP首部字段类型 6.2.4 HTTP/1.1首部字段一览 6.2.5 非HTTP/1.1首部字段 6.2.6 End-to-end首部和Hop-by-hop首部 6.3 HTTP/1.1通用首部字段 6.3.1 Cache-Control 6.3.2 Connection 6.3.3 Date 6.3.4 Pragma 6.3.5 Trailer 6.3.6 Transfer-Encoding 6.3.7 Upgrade 6.3.8 Via 6.3.9 Warning 6.4 请求首部字段 6.4.1 Accept 6.4.2 Accept-Charset 6.4.3 Accept-Encoding 6.4.4 Accept-Language 6.4.5 Authorization 6.4.6 Expect 6.4.7 From 6.4.8 Host 6.4.9 If-Match 6.4.10 If-Modified-Since 6.4.11 If-None-Match 6.4.12 If-Range 6.4.13 If-Unmodified-Since 6.4.14 Max-Forwards 6.4.15 Proxy-Authorization 6.4.16 Range 6.4.17 Referer 6.4.18 TE 6.4.19 User-Agent 6.5 响应首部字段 6.5.1 Accept-Ranges 6.5.2 Age 6.5.3 ETag 6.5.4 Location 6.5.5 Proxy-Authenticate 6.5.6 Retry-After 6.5.7 Server 6.5.8 Vary 6.5.9 WWW-Authenticate 6.6 实体首部字段 6.6.1 Allow 6.6.2 Content-Encoding 6.6.3 Content-Language 6.6.4 Content-Length 6.6.5 Content-Location 6.6.6 Content-MD 6.6.7 Content-Range 6.6.8 Content-Type 6.6.9 Expires 6.6.10 Last-Modified 6.7 为Cookie服务的首部字段 6.7.1 Set-Cookie 6.7.2 Cookie 6.8 其他首部字段 6.8.1 X-Frame-Options 6.8.2 X-XSS-Protection 6.8.3 DNT 6.8.4 P3P 第7章 确保Web安全的HTTPS 7.1 HTTP的缺点 7.1.1 通信使用明文可能会被窃听 7.1.2 不验证通信方的身份就可能遭遇伪装 7.1.3 无法证明报文完整性,可能已遭篡改 7.2 HTTP+加密+认证+完整性保护=HTTPS 7.2.1 HTTP加上加密处理和认证以及完整性保护后即是HTTPS 7.2.2 HTTPS是身披SSL外壳的HTTP 7.2.3 相互交换密钥的公开密钥加密技术 7.2.4 证明公开密钥正确性的证书 7.2.5 HTTPS的安全通信机制 第8章 确认访问用户身份的认证 8.1 何为认证 8.2 BASIC认证 8.3 DIGEST认证 8.4 SSL客户端认证 8.4.1 SSL客户端认证的认证步骤 8.4.2 SSL客户端认证采用双因素认证 8.4.3 SSL客户端认证必要的费用 8.5 基于表单认证 8.5.1 认证多半为基于表单认证 8.5.2 Session管理及Cookie应用 第9章 基于HTTP的功能追加协议 9.1 基于HTTP的协议 9.2 消除HTTP瓶颈的SPDY 9.2.1 HTTP的瓶颈 9.2.2 SPDY的设计与功能 9.2.3 SPDY消除Web瓶颈了吗 9.3 使用浏览器进行全双工通信的WebSocket 9.3.1 WebSocket的设计与功能 9.3.2 WebSocket协议 9.4 期盼已久的HTTP/2. 9.5 Web服务器管理文件的WebDAV 9.5.1 扩展HTTP/1.1的WebDAV 9.5.2 WebDAV内新增的方法及状态码 第10章 构建Web内容的技术 10.1 HTML 10.1.1 Web页面几乎全由HTML构建 10.1.2 HTML的版本 10.1.3 设计应用CSS 10.2 动态HTML 10.2.1 让Web页面动起来的动态HTML 10.2.2 更易控制HTML的DOM 10.3 Web应用 10.3.1 通过Web提供功能的Web应用 10.3.2 与Web服务器及程序协作的CGI 10.3.3 因Java而普及的Servlet 10.4 数据发布的格式及语言 10.4.1 可扩展标记语言 10.4.2 发布更新信息的RSS/Atom 10.4.3 JavaScript衍生的轻量级易用JSON 第11章 Web的攻击技术 11.1 针对Web的攻击技术 11.1.1 HTTP不具备必要的安全功能 11.1.2 在客户端即可篡改请求 11.1.3 针对Web应用的攻击模式 11.2 因输出值转义不完全引发的安全漏洞 11.2.1 跨站脚本攻击 11.2.2 SQL注入攻击 11.2.3 OS命令注入攻击 11.2.4 HTTP首部注入攻击 11.2.5 邮件首部注入攻击 11.2.6 目录遍历攻击 11.2.7 远程文件包含漏洞 11.3 因设置或设计上的缺陷引发的安全漏洞 11.3.1 强制浏览 11.3.2 不正确的错误消息处理 11.3.3 开放重定向 11.4 因会话管理疏忽引发的安全漏洞 11.4.1 会话劫持 11.4.2 会话固定攻击 11.4.3 跨站点请求伪造 11.5 其他安全漏洞 11.5.1 密码破解 11.5.2 点击劫持 11.5.3 DoS攻击 11.5.4 后门程序

2015-08-15

图解HTTP[日 上野 宣 著].rar

图解HTTP前半部分由HTTP的成长发展史娓娓道来,基于HTTP 1.1 标准讲解通信过程,包括HTTP方法、协议格式、报文结构、首部字段、状态码等的具体含义,还分别讲解HTTP通信过程中代理、网关、隧道等的作用。接着介绍SPDY、WebSocket、WebDAV等HTTP的扩展功能。作者还从细节方面举例,让读者更好地理解何为无状态(stateless)、301和302重定向的区别在哪、缓存机制,等等。本书后半部分的重心放在Web安全上,涵盖HTTPS、SSL、证书认证、加密机制、Web攻击手段等内容。 图解HTTP 目录: 第1章 了解Web及网络基础 001 1.1 使用HTTP协议访问Web 002 1.2 HTTP的诞生 003 1.2.1 为知识共享而规划Web 003 1.2.2 Web成长时代 004 1.2.3 驻足不前的HTTP 005 1.3 网络基础TCP/IP 006 1.3.1 TCP/IP协议族 006 1.3.2 TCP/IP的分层管理 007 1.3.3 TCP/IP通信传输流 009 1.4 与HTTP关系密切的协议:IP、TCP和DNS 010 1.4.1 负责传输的IP协议 011 1.4.2 确保可靠性的TCP协议 012 1.5 负责域名解析的DNS服务 013 1.6 各种协议与HTTP协议的关系 014 1.7 URI和URL 016 1.7.1 统一资源标识符 016 1.7.2 URI格式 017 第2章 简单的HTTP协议 021 2.1 HTTP协议用于客户端和服务器端之间的通信 022 2.2 通过请求和响应的交换达成通信 022 2.3 HTTP是不保存状态的协议 025 2.4 请求URI定位资源 026 2.5 告知服务器意图的HTTP方法 027 2.6 使用方法下达命令 033 2.7 持久连接节省通信量 034 2.7.1 持久连接 036 2.7.2 管线化 037 2.8 使用Cookie的状态管理 037 第3章 HTTP报文内的HTTP信息 041 3.1 HTTP报文 042 3.2 请求报文及响应报文的结构 042 3.3 编码提升传输速率 044 3.3.1 报文主体和实体主体的差异 044 3.3.2 压缩传输的内容编码 044 3.3.3 分割发送的分块传输编码 045 3.4 发送多种数据的多部分对象集合 046 3.5 获取部分内容的范围请求 048 3.6 内容协商返回最合适的内容 050 第4章 返回结果的HTTP状态码 053 4.1 状态码告知从服务器端返回的请求结果 054 4.2 2XX成功 055 4.2.1 200OK 055 4.2.2 204NoContent 056 4.2.3 206PartialContent 056 4.3 3XX重定向 056 4.3.1 301MovedPermanently 057 4.3.2 302Found 057 4.3.3 303SeeOther 058 4.3.4 304NotModified 059 4.3.5 307TemporaryRedirect 059 4.4 4XX客户端错误 060 4.4.1 400BadRequest 060 4.4.2 401Unauthorized 060 4.4.3 403Forbidden 061 4.4.4 404NotFound 061 4.5 5XX服务器错误 062 4.5.1 500InternalServerError 062 4.5.2 503ServiceUnavailable 062 第5章 与HTTP协作的Web服务器 065 5.1 用单台虚拟主机实现多个域名 066 5.2 通信数据转发程序:代理、网关、隧道 067 5.2.1 代理 068 5.2.2 网关 070 5.2.3 隧道 070 5.3 保存资源的缓存 071 5.3.1 缓存的有效期限 072 5.3.2 客户端的缓存 072 第6章 HTTP首部 075 6.1 HTTP报文首部 076 6.2 HTTP首部字段 078 6.2.1 HTTP首部字段传递重要信息 078 6.2.2 HTTP首部字段结构 078 6.2.3 4种HTTP首部字段类型 079 6.2.4 HTTP/1.1首部字段一览 080 6.2.5 非HTTP/1.1首部字段 082 6.2.6 End—to—end首部和Hop—by—hop首部 083 6.3 HTTP/1.1通用首部字段 083 6.3.1 Cache—Control 084 6.3.2 Connection 091 6.3.3 Date 093 6.3.4 Pragma 094 6.3.5 Trailer 095 6.3.6 Transfer—Encoding 096 6.3.7 Upgrade 097 6.3.8 Via 098 6.3.9 Warning 099 6.4 请求首部字段 100 6.4.1 Accept 101 6.4.2 Accept—Charset 102 6.4.3 Accept—Encoding 103 6.4.4 Accept—Language 104 6.4.5 Authorization 105 6.4.6 Expect 106 6.4.7 From 107 6.4.8 Host 107 6.4.9 If—Match 108 6.4.10 If—Modified—Since 110 6.4.11 If—None—Match 111 6.4.12 If—Range 112 6.4.13 If—Unmodified—Since 113 6.4.14 Max—Forwards 114 6.4.15 Proxy—Authorization 115 6.4.16 Range 116 6.4.17 Referer 116 6.4.18 TE 117 6.4.19 User—Agent 118 6.5 响应首部字段119 6.5.1 Accept—Ranges 119 6.5.2 Age 120 6.5.3 ETag 120 6.5.4 Location 122 6.5.5 Proxy—Authenticate 123 6.5.6 Retry—After 123 6.5.7 Server 124 6.5.8 Vary 125 6.5.9 WWW—Authenticate 125 6.6 实体首部字段126 6.6.1 Allow 126 6.6.2 Content—Encoding 127 6.6.3 Content—Language 128 6.6.4 Content—Length 128 6.6.5 Content—Location 129 6.6.6 Content—MD5 129 6.6.7 Content—Range 130 6.6.8 Content—Type 131 6.6.9 Expires 131 6.6.10 Last—Modified 132 6.7 为Cookie服务的首部字段 132 6.7.1 Set—Cookie 134 6.7.2 Cookie 136 6.8 其他首部字段137 6.8.1 X—Frame—Options 137 6.8.2 X—XSS—Protection 138 6.8.3 DNT 138 6.8.4 P3P 139 第7章 确保Web安全的HTTPS 141 7.1 HTTP的缺点 142 7.1.1 通信使用明文可能会被窃听 142 7.1.2 不验证通信方的身份就可能遭遇伪装 146 7.1.3 无法证明报文完整性,可能已遭篡改 148 7.2 HTTP+加密+认证+完整性保护=HTTPS 150 7.2.1 HTTP加上加密处理和认证以及完整性保护后即是HTTPS 150 7.2.2 HTTPS是身披SSL外壳的HTTP 151 7.2.3 相互交换密钥的公开密钥加密技术 152 7.2.4 证明公开密钥正确性的证书 155 7.2.5 HTTPS的安全通信机制 161 第8章 确认访问用户身份的认证 167 8.1 何为认证 168 8.2 BASIC认证 169 8.3 DIGEST认证171 8.4 SSL客户端认证173 8.4.1 SSL客户端认证的认证步骤 174 8.4.2 SSL客户端认证采用双因素认证 175 8.4.3 SSL客户端认证必要的费用 175 8.5 基于表单认证 175 8.5.1 认证多半为基于表单认证 176 8.5.2 Session管理及Cookie应用 177 第9章 基于HTTP的功能追加协议 179 9.1 基于HTTP的协议180 9.2 消除HTTP瓶颈的SPDY 180 9.2.1 HTTP的瓶颈 180 9.2.2 SPDY的设计与功能 184 9.2.3 SPDY消除Web瓶颈了吗 185 9.3 使用浏览器进行全双工通信的WebSocket 186 9.3.1 WebSocket的设计与功能 186 9.3.2 WebSocket协议 186 9.4 期盼已久的HTTP/2.0 189 9.5 Web服务器管理文件的WebDAV 190 9.5.1 扩展HTTP/1.1的WebDAV 191 9.5.2 WebDAV内新增的方法及状态码 192 第10章 构建Web内容的技术 195 10.1 HTML 196 10.1.1 Web页面几乎全由HTML构建 196 10.1.2 HTML的版本 197 10.1.3 设计应用CSS 198 10.2 动态HTML 198 10.2.1 让Web页面动起来的动态HTML 198 10.2.2 更易控制HTML的DOM 198 10.3 Web应用 200 10.3.1 通过Web提供功能的Web应用 200 10.3.2 与Web服务器及程序协作的CGI 200 10.3.3 因Java而普及的Servlet 201 10.4 数据发布的格式及语言 203 10.4.1 可扩展标记语言 203 10.4.2 发布更新信息的RSS/Atom 204 10.4.3 JavaScript衍生的轻量级易用JSON 206 第11章 Web的攻击技术 207 11.1 针对Web的攻击技术 208 11.1.1 HTTP不具备必要的安全功能 208 11.1.2 在客户端即可篡改请求 209 11.1.3 针对Web应用的攻击模式 210 11.2 因输出值转义不完全引发的安全漏洞 212 11.2.1 跨站脚本攻击 213 11.2.2 SQL注入攻击 218 11.2.3 OS命令注入攻击 223 11.2.4 HTTP首部注入攻击 225 11.2.5 邮件首部注入攻击 228 11.2.6 目录遍历攻击 229 11.2.7 远程文件包含漏洞 230 11.3 因设置或设计上的缺陷引发的安全漏洞 232 11.3.1 强制浏览 232 11.3.2 不正确的错误消息处理 234 11.3.3 开放重定向 237 11.4 因会话管理疏忽引发的安全漏洞 237 11.4.1 会话劫持 238 11.4.2 会话固定攻击 239 11.4.3 跨站点请求伪造 241 11.5 其他安全漏洞 242 11.5.1 密码破解 242 11.5.2 点击劫持 247 11.5.3 DoS攻击 249 11.5.4 后门程序 250

2015-08-15

gif绿色录制工具超级简单.exe

gif绿色录制工具超级简单.exe 可以快速的截屏并录制为gif格式,能很好的演示Android的应用功能

2015-08-06

数据结构(严蔚敏).pdf+算法实现.rar

数据结构(严蔚敏).pdf+算法实现.rar

2015-08-01

计算机网络第五版]谢希仁版、PDF书加答案

计算机网络第五版]谢希仁版,PDF的计算机网络第五版以及课后习题的答案,word文档

2015-07-28

Android实现用Android手机控制PC端的关机和重启的功能

我的Android进阶之旅------>Android实现用Android手机控制PC端的关机和重启的功能(一)PC服务器端 (地址:http://blog.csdn.net/ouyang_peng/article/details/47004617) 我的Android进阶之旅------>Android实现用Android手机控制PC端的关机和重启的功能(二)Android客户端功能展示 (地址:http://blog.csdn.net/ouyang_peng/article/details/47005739) 我的Android进阶之旅------>Android实现用Android手机控制PC端的关机和重启的功能(三)Android客户端功能实现 (地址:http://blog.csdn.net/ouyang_peng/article/details/47007509)

2015-07-22

我的Android进阶之旅------>Android疯狂连连看游戏的实现

我的Android进阶之旅------>Android疯狂连连看游戏的实现 可以参考博客:http://blog.csdn.net/ouyang_peng/article/details/14115627

2013-11-04

Android之Gallery和GridView两种方式与ImageSwitcher实现带预览的和幻灯片方式的两种图片浏览器

具体说明可以参考博客:我的Android进阶之旅------>Android之Gallery和GridView两种方式与ImageSwitcher实现带预览的和幻灯片方式的两种图片浏览器 博客地址:http://blog.csdn.net/ouyang_peng/article/details/8831434

2013-10-28

Android之AutoCompleteTextView输入汉字拼音首字母实现过滤提示(支持多音字)

可以参考下面博客:我的Android进阶之旅------>Android之AutoCompleteTextView输入汉字拼音首字母实现过滤提示(支持多音字) (博客地址:http://blog.csdn.net/ouyang_peng/article/details/8826806)

2013-10-28

Android基于HTTP协议的多线程断点下载器的实现源码_第二次优化之后

我的Android进阶之旅------>Android基于HTTP协议的多线程断点下载器的实现的源代码,原文地址:http://blog.csdn.net/ouyang_peng/article/details/10125409 这个进行了第二次优化

2013-10-13

GitCam一款Gif动画制作软件

GifCam是一款小巧、免费的录制电脑屏幕并制作成GIF动画的软件,具有精确录制、可剪辑等特色,用来录制GIF动画教程是很不错的

2013-09-30

Android基于HTTP协议的多线程断点下载器的实现源码_优化之后

我的Android进阶之旅------>Android基于HTTP协议的多线程断点下载器的实现的源代码,原文地址:http://blog.csdn.net/ouyang_peng/article/details/10125409 这个进行了优化

2013-08-23

Android基于HTTP协议的多线程断点下载器的实现源码

我的Android进阶之旅------>Android基于HTTP协议的多线程断点下载器的实现的源代码,原文地址:http://blog.csdn.net/ouyang_peng/article/details/10125409

2013-08-20

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除