自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

老猿说说专栏

老猿说说专栏

  • 博客(310)
  • 资源 (72)
  • 收藏
  • 关注

原创 老猿说说-AbstractQueuedSynchronizer(2)

本章我们主要聊下如何释放锁和同步队列两大部分。1 释放锁释放锁的触发时机就是我们常用的 Lock.unLock () 方法,目的就是让线程释放对资源的访问权(流程见整体架构图紫色路线)。释放锁也是分为两类,一类是排它锁的释放,一类是共享锁的释放,我们分别来看下。1.1 释放排它锁 release排它锁的释放就比较简单了,从队头开始,找它的下一个节点,如果下一个节点是空的,就会从尾开始,一直找到状态不是取消的节点,然后释放该节点,源码如下:// unlock 的基础方法public final

2020-10-14 09:45:34 87576 1

原创 老猿说说-AbstractQueuedSynchronizer(1)

引导AbstractQueuedSynchronizer中文翻译叫做同步器,简称AQS,是各种各样锁的基础,比如说 ReentrantLock、CountDownLatch等等,这些我们经常用的锁底层实现都是AQS,所以学好AQS对于后面理解锁的实现是非常重要的。锁章节的内容是这么安排的:AQS源码非常多,我们会分成两个小节来说,先把底层原理弄清楚;我们平时用不到AQS,只会接触到ReentrantLock、CountDownLatch这些锁,我们以两个锁为例子,讲解下源码,因为AQS只要弄

2020-10-13 14:40:59 138897

原创 老猿说说-ConcurrentHashMap

1 类注释我们从类注释上大概可以得到如下信息:所有的操作都是线程安全的,我们在使用时,无需再加锁;多个线程同时进行put、remove等操作时并不会阻塞,可以同时进行,和HashTable不同,HashTable在操作时,会锁住整个Map;迭代过程中,即使Map结构被修改,也不会抛ConcurrentModificationException异常;除了数组+链表+红黑树的基本结构外,新增了转移节点,是为了保证扩容时的线程安全的节点;提供了很多Stream流式方法,比如说:forEach、sea

2020-10-12 11:36:13 38815

原创 老猿说说-ArrayList

1 概述ArrayList 整体架构比较简单,就是一个数组结构比如:长度为10的数组,从1开始计数,index表示数组的下标,从0开始计数,elementData表示数组本身,源码中除了这两个概念,还有以下三个基本概念:DEFAULT_CAPACITY表示数组的初始大小,默认是10,这个数字要记住;size表示当前数组的大小,类型int,没有使用volatile修饰,非线程安全的;modCount统计当前数组被修改的版本次数,数组结构有变动,就会+1。类注释看源码,首先要看类注释,我们看

2020-10-09 11:37:04 39612 7

转载 Mac变卡顿,优化性能

当调整窗口大小,同时按住“Option”键,可以从中央调整大小同时按住“Shift”键时,可以按比例调整大小。同时按住这两个键,那么既成比例,又从中央调整大小1.关闭无用动画最小化效果:选缩放 而不是神奇效果放大选项也取消2.开启减少透明度在辅助功能的显示器选项中选择减少透明度以提高系统流畅度。3.清空浏览器垃圾4.升级内存5.善用活动监视器Mac ...

2019-08-14 11:33:21 8180

转载 UML类图

UML类图与类的关系详解虚线箭头指向依赖;实线箭头指向关联;虚线三角指向接口;实线三角指向父类;空心菱形能分离而独立存在,是聚合;实心菱形精密关联不可分,是组合;上面是UML的语法。在画类图的时候,理清类和类之间的关系是重点。类的关系有泛化(Generalization)、实现(Realization)、依赖(Dependency)和关联(Association...

2019-06-04 14:22:44 7527

转载 dubbo2.7.x

自 2017 年 7 月阿里重启 Dubbo 开源,到目前为止 github star 数,contributor 数都有了非常大的提升。2018 年 2 月 9 日阿里决定将 Dubbo 项目贡献给 Apache,经过一周的投票,顺利成为了 Apache 的孵化项目,也就是大家现在看到的Incubator Dubbo。预计在 2019 年 4 月,Dubbo 可以达成毕业,成为 Apache ...

2019-06-04 09:21:56 1069

转载 python lambda

lambda函数的语法只包含一个语句,如下:lambdaarg1,arg2,.....argn:expression(主要是看下面的例子)代码示例:#-*- coding:utf-8 -*-#__author__ = "www.iplaypy.com" # 普通python函数def func(a,b,c): return a+b+c print func...

2019-05-23 17:09:55 4842 1

转载 mac系统终端sudo免输入密码技能get

mac系统终端sudo免输入密码技能get1.需要在/etc/sudoers中配置。这个文件的权限是r/r/n,配置之前需要加写权限。 1 sudochmodu-w/etc/sudoers 2.打开命令窗口sudo visudo 或者 sudo vi /etc/sudoers按i(insert)开启插入编辑模式将 #%adm...

2019-05-22 17:43:45 12934 1

转载 /bin/java: No such file or directory

This answer is applicable for Hadoop version 2.6.0 and earlier. Disabling SIP and creating a symbolic link does provide a workaround. A better solution is to fix the hadoop-config.sh so it picks up yo...

2019-05-13 20:31:47 13081

转载 python3-多线程

一、threading模块multiprocess模块的完全模仿了threading模块的接口,二者在使用层面,有很大的相似性。1.开启线程的两种方式(同Process)方法一from threading import Threadimport timedef sayhi(name): time.sleep(2) print('%s say hello' ...

2019-02-16 16:30:33 5071

原创 版本号后面的字母含义

RC:版本 (Release Candidate)  Candidate是候选人的意思,用在软件上就是候选版本。Release是发行、发布的意思。Release.Candidate.就是发行候选版本。和Beta版最大的差别在于Beta阶段会一直加入新的功能,但是到了RC版本,几乎就不会加入新的功能了,而主要着重于除错!GA版本在很多软件下载的时候,你会发觉标识为GA或者CRx等。比如MySQL和JBoss都采用这种标识。那什么是GA呢。GA是GenerallyAvailable的缩写,意思.

2021-02-18 17:37:36 2359

原创 线程池面试题

#md#1 面试题1.1 创建子线程时,子线程是得不到父线程的 ThreadLocal,有什么办法可以解决这个问题?答:这道题主要考察线程的属性和创建过程,可以这么回答。可以使用 InheritableThreadLocal 来代替 ThreadLocal,ThreadLocal 和 InheritableThreadLocal 都是线程的属性,所以可以做到线程之间的数据隔离,在多线程环境下我们经常使用,但在有子线程被创建的情况下,父线程 ThreadLocal 是无法传递给子线程的,但 Inhe

2020-12-22 09:43:44 47556

原创 Future、ExecutorService

1 整体架构画了一个关于线程 API 之间关系的依赖图,如下:在上一章节,我们说了 Thread 和 Runnable,本小节我们按照这个图把剩下的几个 API 也说完,然后把 API 之间的关系理清楚。为了方便大家更好的理解,我们首先看一个 demo,这个场景说的是我们往线程池里面提交一个有返回值的线程,代码如下:// 首先我们创建了一个线程池ThreadPoolExecutor executor = new ThreadPoolExecutor(3, 3, 0L, TimeUnit.MILL

2020-12-22 09:36:47 46819

原创 kudu坑1

坑1: Caused by: org.apache.kudu.client.NoLeaderFoundExceptionCaused by: org.apache.kudu.client.NoLeaderFoundException: Master config (192.168.1.117:7051) has no leader.Exceptions received: org.apache.kudu.client.RecoverableException:[peer master-192.1..

2020-11-25 15:05:36 727

转载 TIME_WAIT、CLOSE_WAIT原因,危害,如何避免

前言请说说你对TCP连接中time_wait状态的理解解答:先上TCP的状态变迁图这幅图来自《TCP IP详解卷1:协议 原书第2版中文》13.5 TCP状态转换图这幅图来自《UNIX网络编程,卷1:套接字联网API》2.6.4 TCP状态转换图1. time_wait状态如何产生?由上面的变迁图,首先调用close()发起主动关闭的一方,在发送最后一个ACK之后会进入time_wait的状态,也就说该发送方会保持2MSL时间之后才会回到初始状态。MSL值得是数据包在...

2020-11-24 17:50:44 1257

原创 老猿说说-Thread

引导语从本章开始我们开始学习线程的知识,线程是非常有趣的一个章节,大多数同学对于线程 API,属于不用就忘,到用时需要百度的情况,希望通过本小节的源码阅读,能够加深对线程的印象。本小节主要三章,本章主要说线程的基本概念、使用姿势、Thread 和 Runnable 的源码;Future、ExecutorService 源码解析章节主要说异步线程执行;押宝线程源码面试题章节主要说说常遇到的源码面试题。由于线程的概念很多,所以本章会先介绍很多线程的基本概念,说清楚后再解析源码,不然有些同学会看不懂,大家见

2020-11-24 10:12:11 45877

原创 队列面试题

1 面试题1.1 说说你对队列的理解,队列和集合的区别。答:对队列的理解:首先队列本身也是个容器,底层也会有不同的数据结构,比如 LinkedBlockingQueue 是底层是链表结构,所以可以维持先入先出的顺序,比如 DelayQueue 底层可以是队列或堆栈,所以可以保证先入先出,或者先入后出的顺序等等,底层的数据结构不同,也造成了操作实现不同;部分队列(比如 LinkedBlockingQueue )提供了暂时存储的功能,我们可以往队列里面放数据,同时也可以从队列里面拿数据,两者可以同时进

2020-11-24 10:03:49 46330

原创 rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY

解决办法:在rpm 语句后面加上 --force --nodeps就可以了。例如sudo rpm -ivh python3-libs-3.6.8-13.el7.x86_64.rpm --force --nodeps

2020-11-23 19:05:15 10711

原创 老猿说说-SynchronousQueue

引导语SynchronousQueue 是比较独特的队列,其本身是没有容量大小,比如我放一个数据到队列中,我是不能够立马返回的,我必须等待别人把我放进去的数据消费掉了,才能够返回。SynchronousQueue 在消息队列技术中间件中被大量使用,本文就来从底层实现来看下 SynchronousQueue 到底是如何做到的。1 整体架构SynchronousQueue 的整体设计比较抽象,在内部抽象出了两种算法实现,一种是先入先出的队列,一种是后入先出的堆栈,两种算法被两个内部类实现,而直接对外的

2020-11-19 10:06:56 122482 5

原创 老猿说说-LinkedBlockingQueue

引导语说到队列,大家的反应可能是我从来都没有用过,应该是不重要的 API 吧。如果这么想,那就大错特错了,我们平时使用到的线程池、读写锁、消息队列等等技术和框架,底层原理都是队列,所以我们万万不可轻视队列,队列是很多高级 API 的基础,学好队列,对自己深入 Java 学习非常重要。本文主要以 LinkedBlockingQueue 队列为例,详细描述一下底层具体的实现。1 整体架构LinkedBlockingQueue 中文叫做链表阻塞队列,这个命名很好,从命名上就知道其底层数据结构是链表,并且

2020-11-19 09:21:10 51365

原创 vue中v-on支持的事件总结

资源事件事件名称 何时触发 error 资源加载失败时。 abort 正在加载资源已经被中止时。 load 资源及其相关资源已完成加载。 beforeunload window,document 及其资源即将被卸载。 unload 文档或一个依赖资源正在被卸载。 网络事件事件名称 何时触发 online 浏览器已获得网络访问。 offline 浏览器已失去网络访问。 焦点事件事件名称 何时触发...

2020-11-17 16:19:29 1492

原创 老猿说说-CopyOnWriteArrayList

引导语在 ArrayList 的类注释上,JDK 就提醒了我们,如果要把 ArrayList 作为共享变量的话,是线程不安全的,推荐我们自己加锁或者使用 Collections.synchronizedList 方法,其实 JDK 还提供了另外一种线程安全的 List,叫做 CopyOnWriteArrayList,这个 List 具有以下特征:线程安全的,多线程环境下可以直接使用,无需加锁;通过锁 + 数组拷贝 + volatile 关键字保证了线程安全;每次数组操作,都会把数组拷贝一份出来,在新

2020-11-17 11:04:25 72182

原创 并发List/Map面试题

#md#1 CopyOnWriteArrayList 相关1.1 和 ArrayList 相比有哪些相同点和不同点?答:相同点:底层的数据结构是相同的,都是数组的数据结构,提供出来的 API 都是对数组结构进行操作,让我们更好的使用。不同点:后者是线程安全的,在多线程环境下使用,无需加锁,可直接使用。1.2 CopyOnWriteArrayList 通过哪些手段实现了线程安全?答:主要有:1. 数组容器被 volatile 关键字修饰,保证了数组内存地址被任意线程修改后,都会通知到其他线程;对

2020-11-17 10:41:31 37990

原创 老猿说说-ArrayBlockingQueue

#md#引导语本小节我们来介绍本章最后一个队列:ArrayBlockingQueue。按照字面翻译,中文叫做数组阻塞队列,从名称上看,我们就比较清楚此阻塞队列底层使用的是数组。一说到数组,大家可能会想到 ArrayList 和 HashMap,举新增场景来说 ArrayList 通过 size ++ 找到新增的数组下标位置,HashMap 通过 hash 算法计算出下标位置,那么 ArrayBlockingQueue 是不是也是这两种方法呢?都不是,ArrayBlockingQueue 使用的是一种非常

2020-11-16 09:51:12 40993

转载 基于 Flink SQL CDC 的实时数据同步方案

Flink 1.11 引入了 Flink SQL CDC,CDC 能给我们数据和业务间能带来什么变化?本文由 Apache Flink PMC,阿里巴巴技术专家伍翀 (云邪)分享,内容将从传统的数据同步方案,基于 Flink CDC 同步的解决方案以及更多的应用场景和 CDC 未来开发规划等方面进行介绍和演示。1、传统数据同步方案2、基于 Flink SQL CDC 的数据同步方案(Demo)3、Flink SQL CDC 的更多应用场景4、Flink SQL CDC 的未来规划传统的数据同步

2020-11-10 17:56:42 1184

原创 kafka0.8-socketserver

class SocketServer(val brokerId: Int, val host: String, val port: Int, val numProcessorThreads: Int, val maxQueuedRequests: ...

2020-11-10 13:11:33 115

原创 句柄自动释放问题

FileChannel没有自动释放!!!!其他的垃圾回收会自动释放import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.RandomAccessFile;import java.nio.ch...

2020-11-10 13:11:05 554

原创 kafka源码环境

本文主要讲述的是如何搭建Kafka的源码环境,主要针对的Windows操作系统下IntelliJ IDEA编译器,其余操作系统或者IDE可以类推。1.安装和配置JDK确认JDK版本至少为1.7,最好是1.8及以上。使用java -version命令来查看当前JDK的版本,示例如下: C:\Users\hidden> java -versionjava versio...

2020-11-10 13:10:51 225

原创 hadoop日常运维

日常运维 升级 问题处理方法日常运维进程管理由于配置文件的更改,需要重启生效,或者是进程自己因某种致命原因终止,或者发现进程工作出现异常等情况下,需要进行手动进程的关闭或启动,或者是增删节点过程中的需要,进程的关闭与启动,使用hadoop-daemon.sh start|stop datanode/namenode/journalnode/zkfcyarn-da...

2020-11-10 13:10:38 400

原创 hive1.2.2安装

Hive是Hadoop组态中的数据仓库,本质是将sql语句转换为MapReduce任务,所以Hive只是一个解析引擎,它的数据存储在hdfs上,元数据信息依托mysql数据库。在这里有一个小问题,为什么需要mysql关系数据库,因为hdfs存储的只是数据信息,而建表的时候是需要列名来查询的,因此要用mysql来建立表信息,当然也可以用其他的关系型数据库。在这里依托mysql数据库搭建Hive组件。...

2020-11-10 13:10:29 136

原创 gc配置

JVM的GC日志的主要参数包括如下几个:-XX:+PrintGC 输出GC日志-XX:+PrintGCDetails 输出GC的详细日志-XX:+PrintGCTimeStamps 输出GC的时间戳(以基准时间的形式)-XX:+PrintGCDateStamps 输出GC的时间戳(以日期的形式,如2013-05-04T21:53:59.234+0800)-XX:+PrintH...

2020-11-10 13:10:14 135

原创 yarn配置

下面配置的是两个队列default和etl,default队列分配20%的处理能力, etl队列分配80%的处理能力,用户dba只能向default队列提交作业,用户etl只能向etl队列提交作业,dba用户组只能向default队列提交任务:yarn.scheduler.capacity.maximum-am-resource-percent=0.2 --AM可以占用资源队列的最大百分比...

2020-11-10 13:10:04 129

原创 dmesg

一、适用场景:如果发现自己的java进程悄无声息的消失了,几乎没有留下任何线索,那么dmesg一发,很有可能有你想要的。二、具体操作sudo dmesg|grep -i kill | less1去找关键字oom_killer,找到的结果类似如下:[6710782.021013] java invoked oom-killer: gfp_mask=0xd0, order=0,...

2020-11-10 13:09:43 170

原创 Spring Cloud Gateway路由规则

概念解释:Route(路由):路由是网关的基本单元,由ID、URI、一组Predicate、一组Filter组成,根据Predicate进行匹配转发Predicate(谓语、断言):路由转发的判断条件,目前SpringCloud Gateway支持多种方式,常见如:Path、Query、Method、Header等Filter(过滤器):过滤器是路由转发请求时所经过的过滤逻辑,可用于修改请求、响应内容Spring Cloud GateWay 工作流程如下所示:客户端向Spring Clou

2020-11-06 10:47:26 2783

原创 位于磁盘不同磁道的扇区读写速度是否一样

位于磁盘不同磁道的扇区读写速度是否一样,每个磁道上的扇区又是怎么分布的硬盘的划分我们都知道机械硬盘的最小存储单位为扇区。而扇区分布在磁盘盘面上,盘片上划分出一个个同心圆,每两个同心圆之间被称为磁道。不同盘片上的同一位置的磁道组成了一个个柱面。对磁道再进行划分就成了扇区。而硬盘容量的计算公式为:硬盘容量=柱面数 x 磁头数 x 扇区数 x 扇区大小对于同心圆上的磁道进行划分的话,每个同心圆的扇区数是一样的(早期的硬盘确实如此)由于硬盘主轴的工作方式都是CAV(Constant Angular...

2020-11-05 09:23:37 891

原创 zipkin日志配置

日志配置在需要追踪的示例应用中,修改日志配置,这里使用springboot构建,logback作为日志输出工具<property name="FILE_LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS}[%X{X-B3-TraceId:-},%X{X-B3-SpanId:-}] [%thread] %-5level %logger{50} - %msg%n"/><!-- 按照每天生成日志文件 --> <appender

2020-11-04 12:58:39 1332

转载 postman

Postman接口与压力测试实例Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。它提供功能强大的 Web API & HTTP 请求调试。1、环境变量和全局变量设置环境变量可以使用在以下地方:URL URL params Header values form-data/url-encoded values Raw body content Helper fields先设置好变量名及数值后,接下来就可以调用环境变量名,例如:...

2020-11-02 10:48:18 6602 2

原创 CentOS7 linux下yum安装redis以及使用

1.安装redis数据库 1 yum install redis 2.下载fedora的epel仓库yum install epel-release3.启动redis服务systemctl start redis4.查看redis状态systemctl status redissystemctl stop redis 停止服务systemctl restart redis 重启服务5.查看redis进程6.设...

2020-11-02 10:13:12 7569

原创 SpringCloud版本说明

snapshot快照alpha内测beta公测release稳定版本GA最稳定版本Final正式版Pro(professional)专业版Plus加强版Retail零售版DEMO演示版Build内部标号Delux豪华版 (deluxe:豪华的,华丽的)Corporation或Enterpraise 企业版M1 M2 M3 M是milestone的简写 里程碑的意思RC版本RC:(Release Candidate),几乎就不...

2020-11-02 09:30:55 1429 3

kingbase8-8.2.0.jar

人大金仓(KingBase) 驱动包

2021-07-14

HashMap.md

HashMap 底层的数据结构主要是:数组 + 链表 + 红黑树。其中当链表的长度大于等于 8 时, 链表会转化成红黑树,当红黑树的大小小于等于 6 时,红黑树会转化成链表 HashMap是数组结构,数组的元素可能是单个 Node,也可能是个链表, 也可能是个红黑树, 比如数组下标索引为 2 的位置就是一个链表,下标索引为 9 的位置对应的 就是红黑树,具体细节请看内容

2020-10-12

ArrayList.md

老猿说说-ArrayList MD文件 1. 所有的操作都是线程安全的,我们在使用时,无需再加锁; 2. 多个线程同时进行put、remove等操作时并不会阻塞,可以同时进行,和HashTable不同,HashTable在操作时,会锁住整个Map; 3. 迭代过程中,即使Map结构被修改,也不会抛ConcurrentModificationException异常; 4. 除了数组+链表+红黑树的基本结构外,新增了转移节点,是为了保证扩容时的线程安全的节点; 5. 提供了很多Stream流式方法,比如说:forEach、search、reduce等等。

2020-10-12

NIO trick and trap .pdf

NIO陷阱和解读

2017-06-20

Spark快速大数据分析PDF

《Spark快速大数据分析》是一本为Spark初学者准备的书,它没有过多深入实现细节,而是更多关注上层用户的具体用法。不过,本书绝不仅仅限于Spark的用法,它对Spark的核心概念和基本原理也有较为全面的介绍,让读者能够知其然且知其所以然。 本书介绍了开源集群计算系统Apache Spark,它可以加速数据分析的实现和运行。利用Spark,你可以用Python、Java以及Scala的简易API来快速操控大规模数据集。 本书由Spark开发者编写,可以让数据科学家和工程师即刻上手。你能学到如何使用简短的代码实现复杂的并行作业,还能了解从简单的批处理作业到流处理以及机器学习等应用。

2017-03-28

深入理解Spark:核心思想与源码分析

本书对Spark源代码进行了全面而深入的分析,旨在为Spark的优化、定制和扩展提供原理性的指导。阿里巴巴集团专家鼎力推荐,阿里巴巴资深Java开发和大数据专家撰写。本书对Spark的核心模块、部署和协作模块的实现原理与使用技巧进行了深入的剖析与解读。   本书分为三篇:   准备篇(第1~2章),介绍了Spark的环境搭建、设计理念与基本架构,帮助读者了解一些背景知识。   核心设计篇(第3~7章),着重讲解SparkContext的初始化、存储体系、任务提交与执行、计算引擎及部署模式的原理和源码分析。通过这部分的内容,读者可以通过源码剖析更加深入理解Spark的核心设计与实现,以便在实际使用中能够快速解决线上问题并对性能进行调优。   扩展篇(第8~11章),主要讲解基于Spark核心的各种扩展及应用,包括SQL处理引擎、Hive处理、流式计算框架Spark Streaming、图计算框架GraphX、机器学习库MLlib等内容。通过阅读这部分内容,读者可以扩展实际项目中对Spark的应用场景,让Spark焕发活力。

2016-05-18

Spark高级数据分析-中文完整

Spark高级数据分析-中文完整 2015年 11 月第 1版

2016-04-16

Spark快速大数据分析-中文完整

Spark快速大数据分析-中文完整 2015年 11 月第 1版

2016-04-16

dubbo-admin-2.5.3.war

dubbo后台war包。 看有人收费,实在受不了

2016-01-26

Nginx模块开发与架构解析

《深入理解Nginx:模块开发与架构解析》是阿里巴巴资深Nginx技术专家呕心沥血之作,是作者多年的经验结晶,也是目前市场上唯一一本通过还原Nginx设计思想,剖析Nginx架构来帮助读者快速高效开发HTTP模块的图书。   《深入理解Nginx:模块开发与架构解析》首先通过介绍官方Nginx的基本用法和配置规则,帮助读者了解一般Nginx模块的用法,然后重点介绍如何开发HTTP模块(含HTTP过滤模块)来得到定制的Nginx,其中包括开发一个功能复杂的模块所需要了解的各种知识,如Nginx的基础数据结构、配置项的解析、记录日志的工具以及upstream、subrequest的使用方法等。在此基础上,综合Nginx框架代码分析Nginx的架构,介绍其设计理念和技巧,进一步帮助读者自由、有效地开发出功能丰富、性能一流的Nginx模块。 作者简介   陶辉,思科后台工程师,从事服务端开发近十年,擅长Linux分布式架构下的海量数据处理,擅长C/C++开发的高性能高吞吐量网络服务,曾任思科DMS后台架构设计工作,曾在腾讯QQ空间后台个人信息中心、个人档、漂流瓶、空间日志、花藤、好友买卖等项目中担任服务器设计与开发工作,曾在华为中央软件部综合网管平台担任北向接口设计开发工作。拥有丰富的Linux高性能服务器开发经验,丰富的云存储系统开发经验,目前关注云文档管理系统和Nginx的再开发。

2015-07-24

Go语言程序设计

《Go语言程序设计》既是一本实用的Go语言教程,又是一本权威的Go语言参考手册。书中从如何获取和安装Go语言环境,以及如何建立和运行Go程序开始,逐步介绍了Go语言的语法、特性以及一些标准库,内置数据类型、语句和控制结构,然后讲解了如何在Go语言中进行面向对象编程,Go语言的并发特性,如何导入和使用标准库包、自定义包及第三方软件包,提供了评价Go语言、以Go语言思考以及用Go语言编写高性能软件所需的所有知识。  《Go语言程序设计》的目的是通过使用语言本身提供的所有特性以及Go语言标准库中一些最常用的包,向读者介绍如何进行地道的Go语言编程。《Go语言程序设计》自始至终完全从实践的角度出发,每一章提供多个生动的代码示例和专门设计的动手实验,帮助读者快速掌握开发技能。《Go语言程序设计》适合对Go语言感兴趣的各个层次的Go语言程序员阅读和参考。

2015-07-24

Go语言·云动力

Go语言是由谷歌的Rob Pike、Ken Thompson和Robert Griesemer共同设计开发的一种新型程序设计语言。2012年Go 1的推出,代表着Go语言的稳定成熟,也正式宣告Go走入了主流语言的行列。《Go语言·云动力》是Go语言程序设计入门书,介绍了Go语言的基础知识,包括静态类型、流程控制、函数、动态类型、面向对象、并发编程等内容,以及同其他C类语言相比,Go所具备的全新特性。同时,本书还介绍了Go语言在云计算中的应用。 《Go语言·云动力》适合Go语言初学者学习。 作者简介 樊虹剑15岁迷上Apple II,立志成为程序员。从Applesoft BASIC,到Microsoft C、C++、C#,再到Apple Objective-C,其间使用过大小十几种编程语言,始终不得要领。不明白起源于数学和电子学的计算机科学,为何不去追求诗歌般至简至纯的美学,而是纠结于繁复的形式和空洞的哲学。几欲放弃。直到偶然发现Plan 9,才获得返璞归真的乐趣,并一路欢喜走过Inferno,快乐走入Go语言的世界。

2015-07-24

Go语言编程

许式伟七牛云存储CEO,曾任盛大创新院资深研究员、金山软件技术总监、WPS Office 2005首席架构师。开源爱好者,发布过包括WINX、TPL等十余个C++开源项目,拥有超过15年的C/C++开发经验。在接触Go语言后即可被其大道至简、少即是多的设计哲学所倾倒。七牛云存储是国内第一个吃螃蟹的团队,核心服务完全采用Go语言实现。吕桂华七牛云存储联合创始人,曾在金山软件、盛大游戏等公司担任架构师和部门经理等职务,在企业级系统和大型网游平台领域有较多涉猎。拥有十余年的C/C++大型项目开发经验,也曾在Java和.NET平台上探索多年。同样被Go语言的魅力所吸引而不可自拔,希望能为推广这门优秀的语言尽自己的绵薄之力。 《Go语言编程》首先概览了Go语言的诞生和发展历程,从面向过程编程特性入手介绍Go语言的基础用法,让有一定C语言基础的读者可以非常迅速地入门并开始上手用Go语言来解决实际问题,之后介绍了Go语言简洁却又无比强大的面向对象编程特性和并发编程能力,至此读者已经可以理解为什么Go语言是为互联网时代而生的语言。 从实用性角度出发,本书还介绍了Go语言标准库和配套工具的用法,包括安全编程、网络编程、工程管理工具等。 对于希望对Go语言有更深入了解的读者,我们也特别组织了一系列进阶话题,包括语言交互性、链接符号、goroutine机理和接口机制等。

2015-07-24

ADT-21.1.0.zip(eclipse安卓插件)

DT:安卓开发工具 Android Development Tools 在Eclipse编译IDE环境中,需安装ADT(Android Developer Tools)Plug-in,这是Android在Eclipse上的开发工具。 下载以及安装可以参照:Google Android ,Eclipse ,JDK.[1] 目前Android开发所用的开发工具主要有Android Studio 、intellij idea、Eclipse,在Eclipse编译IDE环境中,安装ADT,为Android开发提供开发工具的升级或者变更,简单理解为在Eclipse下开发工具的升级下载工具。 SDK(Software Development Kit): 一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。在Android中,它为开发者提供了库文件以及其它开发所用到的工具。简单理解为开发工具包集合,是整体开发中所用到的工具包,如果你不用Eclipse作为你的开发工具,你就不需要下载ADT,只下载SDK即可开发。

2015-05-14

ADT15.0.0.zip(安卓开发工具)

ADT:安卓开发工具 Android Development Tools 在Eclipse编译IDE环境中,需安装ADT(Android Developer Tools)Plug-in,这是Android在Eclipse上的开发工具。

2015-05-14

Spark大型集群上的快速和通用数据处理架构(翻译版)

大型集群上的快速和通用数据处理架构 An Architecture for Fast and General Data Processing on Large Clusters本文由加州大学伯克利分校计算机科学研究生部 Matei Alexandru Zaharia 博士著。

2015-04-29

Storm分布式实时计算模式.pdf(中文)

《Storm分布式实时计算模式》Apache Storm 项目核心贡献者亲笔撰写,涵盖多种分布式计算相关主题,是深入理解Storm分布式实时计算的翔实指南。 通过大量的示例,全面而系统地讲解Storm分布式实时计算的核心概念及应用,并针对不同的应用场景,给出多种基于Storm的设计模式,而且提供示例源码,便于读者参考设计并实现自己的Storm应用。

2015-04-29

大型网站架构设计参考(完整版)

大型网站架构设计参考,很全!文档中对搭建大型网站的各种技术做了详细描述。是不可多得的好资料。特此共享。

2015-04-25

实用负载均衡技术:网站性能优化攻略

《实用负载均衡技术:网站性能优化攻略》介绍了处理负载均衡问题的相关概念和工具,说明了如何避免性能退化和服务器上的服务突然崩溃的风险,阐述了单个服务器以及可以执行cookie插入或者改善SSL吞吐量的负载均衡器,最后还探讨了云计算中的负载均衡。    《实用负载均衡技术:网站性能优化攻略》适合对系统架构、性能维护感兴趣的初级、中级读者以及有经验的系统架构师和运维师。

2015-04-08

Cassandra权威指南

本书是一本广受好评的Cassandra图书。与传统的关系型数据库不同,Cassandra是一种开源的分布式存储系统。书中介绍了它无中心架构、高可用、无缝扩展等引人注目的特点,讲述了如何安装、配置Cassandra及如何在其上运行实例,还介绍了对它的监控、维护和性能调优手段,同时还涉及了Cassandra相关的集成工具Hadoop及其类似的其他NoSQL数据库。   本书适合数据库开发人员与网站开发者阅读。

2015-04-08

HTML5高级程序设计(完整版)

本书首先介绍了HTML5的历史背景、新的语义标签及与以往H了ML版本相比的根本变化,同时揭示了HTML5背后的设计原理.从第2章起,分别围绕构建令人神往的富Web应用,逐一讨论了HTML5的Canvas、Geolocation、Communication、WebSocket、Forms、WebWorkers、Storage等APⅡ的使用,辅以直观明了的客户端和服务器端示例代码,让开发人员能够迅速理解和掌握新一代Web标准所涵盖的核心技术。本书最后探索了离线Web应用并展望了HTML5未来的发展前景。 本书面向有一定经验的Web应用开发人员,对HTML5及未来Web应用技术发展抱有浓厚兴趣的读者也可以学习参考。

2015-04-08

HTTP权威指南(中文版).part2

HTTP及相关核心Web技术方面的权威著作 权威专家详解HTTP协议、深入说明Web工作原理 语言简洁精确,细节图解翔实 高效Web开发、Web程序员必备权威指南 HTTP是Web的基础,这里所说的Web,不仅只是通常意义上的Browser/Server端的开发,而是Web Service。   HTTP初看上去似乎是非常简单的协议,是的,HTTP 0.9确实是非常简单的,简单到只有一个GET方法,更不用说什么持久连接了。HTTP协议还有一个显著特点,那就是其协议是明文的基于文本的。这使得通过工具与HTTP进行交互变得非常简单,最原始的telnet也可以发送HTTP请求(参考本书15页)。   而大多数人对HTTP的了解也就是这种程度了(没有读此书之前的我也是这样)。此书的意义在于,它让你知道,HTTP不仅只有一个简单的GET,HTTP可以做为一种通用的分布式编程的协议。现如今Web上大行其道的所谓Restful Web Service,其基础就是HTTP,而提出Rest这个概念的Roy Fielding,也是HTTP协议(RFC2616)的主要作者之一

2015-04-08

HTTP权威指南(中文版)

HTTP及相关核心Web技术方面的权威著作 权威专家详解HTTP协议、深入说明Web工作原理 语言简洁精确,细节图解翔实 高效Web开发、Web程序员必备权威指南 HTTP是Web的基础,这里所说的Web,不仅只是通常意义上的Browser/Server端的开发,而是Web Service。   HTTP初看上去似乎是非常简单的协议,是的,HTTP 0.9确实是非常简单的,简单到只有一个GET方法,更不用说什么持久连接了。HTTP协议还有一个显著特点,那就是其协议是明文的基于文本的。这使得通过工具与HTTP进行交互变得非常简单,最原始的telnet也可以发送HTTP请求(参考本书15页)。   而大多数人对HTTP的了解也就是这种程度了(没有读此书之前的我也是这样)。此书的意义在于,它让你知道,HTTP不仅只有一个简单的GET,HTTP可以做为一种通用的分布式编程的协议。现如今Web上大行其道的所谓Restful Web Service,其基础就是HTTP,而提出Rest这个概念的Roy Fielding,也是HTTP协议(RFC2616)的主要作者之一

2015-04-08

protobuf-2.5.0.tar

protobuf是Google开源的一种编码和解码技术,它的作用是使序列化数据更高效。并且谷歌提供了protobuf的不同语言的实现,所以protobuf在跨平台项目中是非常好的选择。

2015-03-22

Spark-streaming 在京东的项目实践

Spark-streaming 在京东的项目实践

2015-03-22

Spark——基于内存的下一代大数据分析框架

Spark——基于内存的下一代大数据分析框架

2015-03-22

Spark源码解读迷你书

Spark源码解读。带你探索spark的逻辑,助你成长

2015-03-22

axis2-eclipse-codegen-plugin-1.6.2.zip

axis2-eclipse-codegen-plugin-1.6.2.zip官网下载的,太慢了,就拿来共享。直接解压到eclipse plugins目录下

2014-12-22

axis2-eclipse-service-plugin-1.6.2.zip

axis2-eclipse-service-plugin-1.6.2.zip官网下载的,太慢了,就拿来共享。直接解压到eclipse plugins目录下

2014-12-22

疯狂JAVA讲义+源码.李刚.rar

《疯狂Java讲义(含CD光盘1张)》深入介绍了Java编程的相关方面,全书内容覆盖了Java的基本语法结构、Java的面向对象特征、Java集合框架体系、Java泛型、异常处理、Java GUI编程、JDBC数据库编程、Java注释、Java的IO流体系、Java多线程编程、Java网络通信编程和Java反射机制。覆盖了java.lang、java.util、java.text、java.io和java.nio、java.sql、java.awt、javax.swing包下绝大部分类和接口。本书全面介绍了Java 8的新的接口语法、Lambda表达式、方法引用、构造器引用、函数式编程、流式编程、新的日期、时间API、并行支持、改进的类型推断、重复注解、JDBC 等新特性

2014-12-22

jQuery实战中文版+源码

jQuery是目前最受欢迎的JavaScript/Ajax库之一,能用最少的代码实现最多的功能。 Bear Bibeault 著名Web技术专家,有30多年编程经验,也是技术社区JavaRanch的核心人物之一。除本书外,他还和其他世界级Web专家联袂打造了巨著 《Ajax实战:实例详解》和《Ajax实战:Prototype与Scriptaculous篇》(均由人民邮电出版社出版)。Yehuda Katz 著名Web技术专家,jQuery开发团队的核心成员,Merb等开源项目的贡献者。他还维护着热门网站VisualjQuery.com。

2014-12-01

jQuery实战第二版

jQuery是目前最受欢迎的JavaScript/Ajax库之一,能用最少的代码实现最多的功能。《jQuery实战(第2版)》全面介绍jQuery知识,展示如何遍历HTML 文档、处理事件、执行动画、给网页添加Ajax以及jQuery UI。书中紧紧地围绕“用实际的示例来解释每一个新概念”这一宗旨,生动描述了jQuery如何与其他工具和框架交互以及如何生成jQuery插件。 《jQuery实战(第2版)》适合各层次Web开发人员。

2014-11-28

Hive编程指南.pdf

《Hive编程指南》是一本Apache Hive的编程指南,旨在介绍如何使用Hive的SQL方法HiveQL来汇总、查询和分析存储在Hadoop分布式文件系统上的大数据集合。全书通过大量的实例,首先介绍如何在用户环境下安装和配置Hive,并对Hadoop和MapReduce进行详尽阐述,最终演示Hive如何在Hadoop生态系统进行工作。

2014-10-29

storm实时数据处理

Hadoop是一个批处理系统,在实时计算处理方面显得十分乏力。storm是一个类似于Hadoop勺实时数据处理框架,也是一个非常有效的开源实时计算工具,通常被比作“实时的Hadoop”。

2014-10-29

ORACLE SQL性能优化

还为sql执行慢烦恼?好好看看这个,解决你所有的问题

2014-10-25

Spring源码深度解析[郝佳编著]

解读Spring源码,深度解析。 想要深入了解spring的可以研究下

2014-10-25

深入理解Java虚拟机:JVM高级特性与最佳实践(第二版)

本书第1版两年内印刷近10次,4家网上书店的评论近4?000条,98%以上的评论全部为5星级的好评,是整个Java图书领域公认的经典著作和超级畅销书,繁体版在台湾也十分受欢迎。 第2版在第1版的基础上做了很大的改进:根据最新的JDK1.7对全书内容进行了全面的升级和补充;增加了大量处理各种常见JVM问题的技巧和最佳实践;增加了若干与生产环境相结合的实战案例;对第1版中的错误和不足之处的修正;等等。第2版不仅技术更新、内容更丰富,而且实战性更强。 全书共分为五大部分,围绕内存管理、执行子系统、程序编译与优化、高效并发等核心主题对JVM进行了全面而深入的分析,深刻揭示了JVM的工作原理。 第一部分从宏观的角度介绍了整个Java技术体系、Java和JVM的发展历程、模块化,以及JDK的编译,这对理解本书后面内容有重要帮助。 第二部分讲解了JVM的自动内存管理,包括虚拟机内存区域的划分原理以及各种内存溢出异常产生的原因;常见的垃圾收集算法以及垃圾收集器的特点和工作原理;常见虚拟机监控与故障处理工具的原理和使用方法。 第三部分分析了虚拟机的执行子系统,包括类文件结构、虚拟机类加载机制、虚拟机字节码执行引擎。 第四部分讲解了程序的编译与代码的优化,阐述了泛型、自动装箱拆箱、条件编译等语法糖的原理;讲解了虚拟机的热点探测方法、HotSpot的即时编译器、编译触发条件,以及如何从虚拟机外部观察和分析JIT编译的数据和结果; 第五部分探讨了Java实现高效并发的原理,包括JVM内存模型的结构和操作;原子性、可见性和有序性在Java内存模型中的体现;先行发生原则的规则和使用;线程在Java语言中的实现原理;虚拟机实现高效并发所做的一系列锁优化措施。

2014-10-25

apache-solr-3.5.0.jar

本人正在学习lucene3 5 0 好不容易找到对应版本solr 想要学习solr的朋友 可以下载 因为apache服务器已经不存在3 5 0版本 所以上传共享

2014-10-16

lukeall-3.5.0.jar

lucence开发必备,鼓励大家学习lucence..

2014-09-01

lukeall-3.3.0.jar

开发lucence 好用的工具,因为要用,发现都要分。。。特地共享出来

2014-09-01

空空如也

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

TA关注的人

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