自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Athenaer的专栏

专注架构设计

  • 博客(268)
  • 资源 (6)
  • 收藏
  • 关注

原创 百度商业大规模微服务分布式监控系统-凤睛

导语作为凤睛早期的接入方、后期的核心成员,笔者经历了整个项目前后四年的变迁,看过项目的艰难开端、中期的默默积累以及后期的蓬勃发展。每一次架构的变迁都带着技术浪潮的烙印,也看到项目成员利用有限资源来解决实际问题而持续不断的创新凤睛是百度商业业务系统的性能监控系统(APM),它侧重于对Java应用的监控,基本接入了百度绝大部分Java应用(覆盖数千个业务应用,数万个容器)。它能够对主流中间件框架( Spring Web、RPC、数据库、缓存等)进行自动埋点,实现全栈式性能监控和全链路追踪诊断,为百度各业

2020-07-02 16:50:11 704

转载 详解Jquery deferred 对象

一、什么是deferred对象?开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异步的操作(比如ajax读取服务器数据),也有同步的操作(比如遍历一个大型数组),它们都不是立即能得到结果的。通常的做法是,为它们指定回调函数(callback)。即事先规定,一旦它们运行结束,应该调用哪些函数。但是,在回调函数方面,jQuery的功能非常弱。为了改变这一点,

2013-08-23 15:43:02 1156

转载 dojo.mixin、dojo.extend、dojo.declare

dojo源码里,大量使用 dojo.mixin、dojo.extend、dojo.declare 三个方法。作用均为扩展dojo基类。一、dojo.mixindojo.mixin用于扩展一个实例对象,如var obj = {a:1,b:2}dojo.mixin(obj,{c:3,d:4})那么现在的obj为{a:1,b:2,c:3,d:4}二、doj

2013-06-17 16:37:20 3992

转载 Spring MVC学习:处理方法返回值的可选类型

spring mvc处理方法支持如下的返回方式:ModelAndView, Model, ModelMap, Map,View, String, void。下面将对具体的一一进行说明: ModelAndView Java代码      @RequestMapping("/show1")  public ModelAndView show1(HttpServl

2013-04-26 14:49:08 1138

转载 MyEclipse + Maven开发Web工程的详细配置过程

1. 使用Maven创建webapp工程----原因是使用Maven时一般需要遵循一定的目录结构,虽然也可以使用不同的目录结构,但目前还不熟悉如何修改pom.xml文件达到目的,而且修改太多默认配置对maven来说也不好。创建方法,在一个目录下使用命令:mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp。按

2013-04-15 10:21:04 2175

转载 spring-mvc入门(二):后端控制器(下)

3.细研SimpleController控制器在RegControl.java中增加如下代码:Java代码  protected Object formBackingObject(HttpServletRequest request) throws Exception {          System.out.println("formBackingObject方法执

2013-04-11 16:49:16 1561

转载 spring-mvc入门(二):后端控制器(上)

1.概述SpringMVC后端控制器为了方便开发人员快捷地建立适合特定应用的后端控制器,springMVC实现Controller接口,自定义了许多特定控制器。这些控制器的层次关系如下:-AbstractController-AbstractUrlViewController -UrlFilenameViewController-BaseCommandController

2013-04-11 16:46:26 1623

转载 spring-mvc入门(一):入门实例

引言1.MVC :Model-View-Control框架性质的C 层要完成的主要工作:封装web 请求为一个数据对象、调用业务逻辑层来处理数据对象、返回处理数据结果及相应的视图给用户。2. 简要概述springmvcSpring C 层框架的核心是 DispatcherServlet,它的作用是将请求分发给不同的后端处理器,也即 使用了一种被称为Front Controller

2013-04-11 16:35:58 1171

转载 hadoop mapreduce 解决 top K问题

hadoop mapreduce 解决 top K问题网上搜索到的那个top K问题的解法,我觉得有些地方都没有讲明白。因为我们要找出top K, 那么就应该显式的指明the num of reduce tasks is one. 不然我还真不好理解为什么可以得到top K的结果。这里顺便提及一下,一个map task就是一个进程。有几个map task就有几个中间文件,有几个re

2013-04-01 11:09:44 2275

转载 Hadoop中的DistributedCache

1、DistributedCache In Hadoop此篇文章主要是前一篇的后续,主要讲Hadoop的分布式缓存机制的原理与运用。分布式缓存在MapReduce中称之为DistributedCache,它可以方便map task之间或者reduce task之间共享一些信息,同时也可以将第三方包添加到其classpath路径中去。Hadoop会将缓存数据分发到集群的所有准备启动的

2013-04-01 10:28:02 1037

转载 Hadoop中的各种排序

1:shuffle阶段的排序(部分排序)shuffle阶段的排序可以理解成两部分,一个是对spill进行分区时,由于一个分区包含多个key值,所以要对分区内的按照key进行排序,即key值相同的一串存放在一起,这样一个partition内按照key值整体有序了。第二部分并不是排序,而是进行merge,merge有两次,一次是map端将多个spill 按照分区和分区内的key进行me

2013-04-01 10:24:37 1421 2

转载 Hadoop 的 TotalOrderPartitioner

http://blog.oddfoo.net/2011/04/17/mapreduce-partition%E5%88%86%E6%9E%90-2/ Partition所处的位置patition类结构1. Partitioner是partitioner的基类,如果需要定制partitioner也需要继承该类。2. HashPartitioner是

2013-04-01 10:14:43 1295

转载 sleep() yield() wait() notify() notifyAll()方法

1、sleep()使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁。也就是说如果有synchronized同步快,其他线程仍然不能访问共享数据。注意该方法要捕捉异常。例如有两个线程同时执行(没有synchronized)一个线程优先级为MAX_PRIORITY,另一个为MIN_PRIORITY,如果没有Sleep()方法,只有高优先级的

2013-03-26 18:29:35 1019

转载 Synchronized关键字

Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。     一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。     二、然而,当一个线程访问object的一个synch

2013-03-26 09:59:42 984

转载 JDBC事务

事务的概念: 数据库中一些操作的集合通常是一个独立单元,而事务就是构成单一逻辑工作单位的操作集合。    已提交事务是指成功执行完毕的事务,未能成功完成的事务称为中止事务,对中止事务造成的变更需要进行撤销处理,称为事务回滚。 事务的特性:事务具有ACID4个特性。     1.原子性(Atomicity)    事务中的全部操作在数据库中是不可分割的,要么全部完成,

2013-03-21 15:29:35 791

转载 java静态方法与非静态方法 覆盖的区别

首先我们提供两个类,基类为Parent,派生类为Child。在Parent中我们提供两个方法,一个是静态方法staticMethod(),一个是非静态方法nonStaticMethod()。在Child类中我们覆盖着两个方法。java 代码class Parent{       public void nonStaticMethod() {

2013-03-21 13:42:38 1112

转载 mysql完整性约束

主键create table feng(teamno int not null,playerno int not null,division char(6) not null,primary key(teamno))  create table feng(teamno int not null primary key ,playerno int no

2013-03-20 16:34:34 1023

转载 数据库原理之九(并发控制技术)

一、事务的特性事务的ACID特性:• 原子性(Atomicity):事务中包括的诸操作要么都做,要么都不做• 一致性(Consistency):事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态• 隔离性(Isolation):一个事务内部的操作及使用的数据对其他并发事务是隔离的• 持续性(Durability ):一个事务一旦提交,它对数据库中数据的改变就应

2013-03-20 16:06:21 1266

转载 数据库面试基础题

SELECT * FROM 表名INSERT INTO表名(字段, 字段, …)UPDATE表名SET (字段=值, 字段=值, …) WHERE (条件)DELETE FROM 表名 WHERE (条件)2、试解释COMMIT操作和ROLLBACK操作的语义。COMMIT语句表示事务执行成功地结束(提交),此时告诉系统,数据库要进入一个新的正确状态,该事务

2013-03-20 15:38:57 1972

转载 mysql中left(right)join之on与where

有这样的一个问题mysql查询使用mysql中left(right)join筛选条件在on与where查询出的数据是否有差异。   可能只看着两个关键字看不出任何的问题。那我们使用实际的例子来说到底有没有差异。    例如存在两张表结构   表结构1 Sql代码  drop table if EXISTS A;  CREATE

2013-03-20 15:29:57 1029

转载 JDBC中的语句对象 statement prepareStatement CallableStatement

在 JDBC 应用程序中,JDBC 语句对象用于将 SQL 语句发送到数据库服务器。一个语句对象与一个连接相关联,应用程序与数据库服务器之间的通信由语句对象来处理。JDBC 中有三种类型的语句对象:常规语句(General statement)预置语句(Prepared statement)可调用语句(Callable statement)语句对象与一个连接相关

2013-03-20 14:30:25 1876

转载 java线程的sleep(),wait(),notify(),yield();

1.sleep()使线程休眠一段时间,一段时间结束后,线程进入可执行状态,但并不是立即执行,只是在被排程器调用的时候才执行。在休眠期间,并不释放所持有的“锁”;2.wait()使线程休眠一段时间,若设置参数,时间到时,线程就自动进入可执行状态。若没有,则需要notify()方法去调用。注意:wait()方法和notify()方法都时针对this对象的,调用wait()方法后,会释放加在对象

2013-03-20 13:23:06 893

转载 Comparable & Comparator 的区别

Comparable & Comparator 都是用来实现集合中元素的比较、排序的,只是 Comparable 是在集合内部定义的方法实现的排序,Comparator 是在集合外部实现的排序,所以,如想实现排序,就需要在集合外定义 Comparator 接口的方法或在集合内实现 Comparable 接口的方法。Comparator位于包java.util下,而Comparable位于包

2013-03-20 11:25:53 689

转载 SQLServer程序优化规则

1、 首先要搞明白什么叫执行计划? 执行计划是数据库根据SQL语句和相关表的统计信息作出的一个查询方案,这个方案是由查询优化器自动分析产生的,比如一条SQL语句如果用来从一个10万条记录的表中查1条记录,那查询优化器会选择“索引查找”方式,如果该表进行了归档,当前只剩下5000条记录了,那查询优化器就会改变方案,采用“全表扫描”方式。 可见,执行计划并不是固定的,它

2013-03-19 16:58:56 968

转载 MySQL存储引擎比较

MySQL常用的存储引擎为MyISAM、InnoDB、MEMORY、MERGE,其中InnoDB提供事务安全表,其他存储引擎都是非事务安全表。 MyISAM是MySQL的默认存储引擎。MyISAM不支持事务、也不支持外键,但其访问速度快,对事务完整性没有要求。 InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是比起MyISAM存储引擎,InnoDB写的处理效率差

2013-03-19 14:16:34 1038

转载 开源Web开发资源

文章来源:Best “must know” open sources to build the new Web。个人感觉这个收集贴收集成相当的全。学习HTML 5编程和设计★ HTML5 Rocks : Major Feature Groups  的学习 HTML5 的资源 (HTML5 演示, 教程 ). 源码很不错的 HTML5 Dashboard – Mozi

2013-03-15 09:34:15 2025

转载 Spring AOP原理

OO注重的是我们解决问题的方法(封装成Method),而AOP注重的是许多解决解决问题的方法中的共同点,是对OO思想的一种补充!还是拿人家经常举的一个例子讲解一下吧:比如说,我们现在要开发的一个应用里面有很多的业务方法,但是,我们现在要对这个方法的执行做全面监控,或部分监控.也许我们就会在要一些方法前去加上一条日志记录,我们写个例子看看我们最简单的解决方案我们先写一个接口IHell

2013-03-14 16:11:14 771

转载 观察者模式

观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。  观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。观察者模

2013-03-14 15:39:34 842

转载 装饰模式

装饰模式是对对象功能增强时,平时使用继承的一种替代方案一.UML示意图:二.组成部分:1.       抽象构件:原始的功能接口2.       具体构件:具体的原始功能类3.       装饰角色:持有具体构件类的对象,以便执行原有功能4.       具体装饰:具体扩展的功能在这里三.例子代码:使用装饰模式来演示一个对”行走”功能

2013-03-14 15:33:34 821

转载 工厂模式

简单工厂模式1. 目的         工厂模式就是专门负责将大量有共同接口的类实例化,而且不必事先知道每次是要实例化哪一个类的模式。它定义一个用于创建对象的接口,由子类决定实例化哪一个类。2 . 简单工厂模式的结构  3. 一个简单例子java 代码// 产品接口         public interface Product {

2013-03-14 14:31:48 740

转载 数据库索引

一、引言对数据库索引的关注从未淡出我的们的讨论,那么数据库索引是什么样的?聚集索引与非聚集索引有什么不同?希望本文对各位同仁有一定的帮助。有不少存疑的地方,诚心希望各位不吝赐教指正,共同进步。[最近首页之争沸沸扬扬,也不知道这个放在这合适么,苦劳?功劳?……]  二、B-Tree我们常见的数据库系统,其索引使用的数据结构多是B-Tree或者B+Tree。例如,MsSql使用的是

2013-03-12 16:39:29 601

转载 HBase简介

HBase简介HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行M

2013-03-12 16:16:16 720

转载 Mysql与sqlserver区别

目前最流行的两种后台数据库为MySQL and MS SQL Server,下面列表说明它们两者之间的重要差别:对比项目MySQLMS SQL SERVER软件费用开源软件, 大部分版本免费Windows 任何 200美元Unix或Linux 自行安装 免费Unix或Linux 第三方安装 200美元

2013-03-12 15:41:59 1453

转载 JAVA内存泄露

问题的提出Java的一个重要优点就是通过垃圾收集器(Garbage Collection,GC)自动管理内存的回收,程序员不需要通过调用函数来释放内存。因此,很多程序员认为Java不存在内存泄漏问题,或者认为即使有内存泄漏也不是程序的责任,而是GC或JVM的问题。其实,这种想法是不正确的,因为Java也存在内存泄露,但它的表现与C++不同。随着越来越多的服务器程序采用Java技术,

2013-03-06 15:16:58 751

转载 汽车加油问题(智力题)

题目如下:  一辆载油500升的汽车从A开往1000公里外的B,已知汽车每公里耗油量为1升,A处有无穷多的油,其他任何地点都没有油,但该车可以在任何地点存放油以备中转,问从A到B最少需要多少油。   这个题想了好多天也没想出来,在网上找答案也都是基本相同的,只给出了一个结论,而没有一个详细推导过程。今天没事在家仔细 的推导了一下,终于有些眉目了。记录如下:由最少耗油

2013-03-02 11:03:12 2825

转载 倒水问题(智力)

倒水问题的经典形式是这样的:     "假设有一个池塘,里面有无穷多的水。现有2个空水壶,容积分别为5升和6升。问题是如何只用这2个水壶从池塘里取得3升的水。"     当然题外是有一些合理的限制的,比如从池塘里灌水的时候,不管壶里是不是已经有水了,壶一定要灌满,不能和另一个壶里的水位比照一下"毛估估"(我们可以假设壶是不透明的,而且形状也不同);同样的,如果要把水从壶里倒进池塘里

2013-03-01 16:22:28 1644

转载 猴子吃香蕉 智力题

大象吃香蕉(猴子搬香蕉)的问题问题:说有一只大象,每走一米要吃一只香蕉,否则就走动了。然后大象要从A走到B,之间的距离是1000米。出发点有2000只香蕉,大象最多能带着1000只香蕉赶路。大象最多能运多少只香蕉到终点?怎么运?为什么这是最多了? 回答:回答一:开始大象走一米,带1000支香蕉,然后返回,再带1000支香蕉过去,过程中

2013-03-01 11:21:56 7174 1

转载 谷歌智力题:扔鸡蛋

只给你二个鸡蛋,你能上100层楼,你想知道鸡蛋的硬度。鸡蛋可能很硬或很脆弱,如果鸡蛋从第m层掉下而没破裂,而从第m+1层掉下就破裂了,那么这个鸡蛋的硬度就是m。你需要找出这个m和在最坏情况下最少试验次数。(经典鸡蛋问题)A: 计算机学生可能会首先用第一个鸡蛋做二分搜索(O(logN))再用第二个递增做线性搜索(O(N)),最后必将用线性搜索结束因为用第二个鸡蛋时你无法确定最高一层。因此,问

2013-03-01 10:24:15 4415 1

转载 希尔排序

希尔排序的实质就是分组插入排序,该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。 该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。因为直接插入排序在元素基本有序的情况下(接近最好情况),效率是很

2013-02-27 14:47:33 748

转载 归并排序

归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。首先考虑下如何将将二个有序数列合并。这个非常简单,只要从比较二个数列的第一个数,谁小就先取谁,取了后就在对应数列中删除这个数。然后再进行比较,如果有数列为空,那直接将另一个数列的数据依次取出即可。[cpp] view plaincopy

2013-02-27 14:25:28 659

06—08清华大学计算机系上机复试题目

清华大学的计算机复试题目 最近三年的 不可不看的好资料 考研复试的人注意了

2009-03-20

浙大上机复试攻略宝典

各位准备考浙大的高手区们 可要好好看看了 这本书是我精心搜集的 由往届师兄精心总结的 考计算机的学子们的必备宝典

2009-03-12

上海交大07年计算机考研复试上机题

各位考上海交通大学计算机的准备复试的高手们 好好看看了 愿各位复试成功了

2009-03-12

清华07考研计算机复试上机试题

清华上机试题 复试时一定要好好参考啊 计算机考研同胞一定要好好看啊

2009-03-11

北京大学离散数学讲义

北京大学的离散数学可是很牛的 对于需要学习离散数学的人 这可是好东东

2009-03-11

windows 核心编程中文版

windows 核心编程 中文版的 刚看过还行的

2009-03-02

空空如也

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

TA关注的人

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