自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

转载 背包问题

I found the Knapsack problem tricky and interesting at the same time. I am sure if you are visiting this page, you already know the problem statement but just for the sake of completion :Problem:

2015-08-27 15:11:23 608

转载 JVM的相关知识整理和学习

JVM是虚拟机,也是一种规范,他遵循着冯·诺依曼体系结构的设计原理。冯·诺依曼体系结构中,指出计算机处理的数据和指令都是二进制数,采用存储程序方式不加区分的存储在同一个存储器里,并且顺序执行,指令由操作码和地址码组成,操作码决定了操作类型和所操作的数的数字类型,地址码则指出地址码和操作数。从dos到window8,从unix到ubuntu和CentOS,还有MAC OS等等,不同的操作系统指令集以

2015-08-27 11:29:30 355

转载 HashMap的性能提升从之链表到二叉树

HashMap是一个高效通用的数据结构,它在每一个Java程序中都随处可见。先来介绍些基础知识。你可能也知道,HashMap使用key的hashCode()和equals()方法来将值划分到不同的桶里。桶的数量通常要比map中的记录的数量要稍大,这样每个桶包括的值会比较少(最好是一个)。当通过key进行查找时,我们可以在常数时间内迅速定位到某个桶(使用hashCode()对桶的数量进行取模)以及要

2015-08-27 11:27:47 4019

转载 ConcurrentHashMap 高并发性的实现机制

简介ConcurrentHashMap 是 util.concurrent 包的重要成员。本文将结合 Java 内存模型,分析 JDK 源代码,探索 ConcurrentHashMap 高并发的具体实现机制。由于 ConcurrentHashMap 的源代码实现依赖于 Java 内存模型,所以阅读本文需要读者了解 Java 内存模型。同时,ConcurrentHashMap 的源代

2015-08-27 11:14:12 302

转载 Dubbo架构设计

Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色。关于注册中心、协议支持、服务监控等内容,详见后面描述。

2015-08-27 10:08:53 633

转载 并查集

并查集是我暑假从高手那里学到的一招,觉得真是太精妙的设计了。以前我无法解决的一类问题竟然可以用如此简单高效的方法搞定。不分享出来真是对不起party了。(party:我靠,关我嘛事啊?我跟你很熟么?)来看一个实例,杭电1232畅通工程首先在地图上给你若干个城镇,这些城镇都可以看作点,然后告诉你哪些对城镇之间是有道路直接相连的。最后要解决的是整幅图的连通性问题。比如随意给你两个点

2015-08-26 16:15:36 273

转载 决策树模型组合之随机森林与GBDT

前言:    决策树这种算法有着很多良好的特性,比如说训练时间复杂度较低,预测的过程比较快速,模型容易展示(容易将得到的决策树做成图片展示出来)等。但是同时,单决策树又有一些不好的地方,比如说容易over-fitting,虽然有一些方法,如剪枝可以减少这种情况,但是还是不够的。    模型组合(比如说有Boosting,Bagging等)与决策树相关的算法比较多,这些算法最终的结果

2015-08-26 16:14:08 301

转载 Hadoop Shuffle

Shuffle过程是MapReduce的核心,也被称为奇迹发生的地方。要想理解MapReduce, Shuffle是必须要了解的。我看过很多相关的资料,但每次看完都云里雾里的绕着,很难理清大致的逻辑,反而越搅越混。前段时间在做MapReduce job 性能调优的工作,需要深入代码研究MapReduce的运行机制,这才对Shuffle探了个究竟。考虑到之前我在看相关资料而看不懂时很恼火,所以在这里

2015-08-26 10:02:05 262

转载 正则表达式

下表显示了正则表达式的语法:表 1.1 正则表达式语法元字符说明.匹配任何单个字符。例如正则表达式“b.g”能匹配如下字符串:“big”、“bug”、“b g”,但是不匹配“buug”。 $匹配行结束符。例如正则表达式“EJB$”能够匹配字符串“I like EJB”的末尾,但是不能匹配字符串“

2015-08-25 13:27:52 267

原创 阿里在线测试题目

1. -7的二进制补码表示为:正数的补码是自身,负数的补码是原码的高位不变,数值位取反加1那么-7是负数,原码:1000 0111,反码:1111 1000,补码:1111 10012.以下四种介质中,带宽最大的是________。双绞线也称为双扭线,是最古老但又最常用的传输媒体。把两根互相绝缘的铜导线并排放在一起,然后用规则的方法绞合起来(这样做是为了减少

2015-08-23 00:41:23 8574

转载 Java中static关键字

static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一。下面就先讲述一下static关键字的用法和平常容易误解的地方,最后列举了一些面试笔试中常见的关于static的考题。以下是本文的目录大纲:一.static关键字的用途二.static关键字的误区三.常见的笔试面试题若有不正之处,希望谅解

2015-08-22 16:41:39 271

原创 剑指offer 不用加减乘除做加法

很巧妙的一道题目

2015-08-21 23:08:52 275

原创 Java经典面试题

1. 函数参数传递的是引用StringBuffer a = newStringBuffer("A");     StringBuffer b = newStringBuffer("B"); 此时内存中的状态如下图所示: publicstaticvoidoperator(StringBuffer x, StringBuffe

2015-08-18 14:45:58 408

原创 HasnMap中的键

1. 默认的Object, equals()方法对引用对象来说比较的是地址;2.默认的Object, hashCode()方法用对象的地址来计算hash值,返回是int型;3.一定要同时重写equals和hashCode()方法,理由可以参考HashMap的get源码; public V get(Object key) { if (key == null)

2015-08-17 10:19:18 442

转载 Java之二叉树 来自Github

package Algorithms.tree;import java.util.ArrayList;import java.util.Iterator;import java.util.LinkedList;import java.util.List;import java.util.Queue;import java.util.Stack;/** * REFS: *

2015-08-16 22:15:17 374

原创 二叉查找树 Java

二叉查找树,二叉排序树,二叉搜索树都是一回事儿。public class binarySearchTree> { //维护一个根节点,也即一棵树 private Node root; private static class Node{ T value; Node left; Node right; public Node(){ value=null;

2015-08-16 15:54:24 326

原创 剑指offer 顺时针打印矩阵

1. 循环方式package test;public class dayin { public static int[][] sprint(int n){ int[][] r=new int[n][n]; int startx=0; int endx=n-1; int starty=0; int endy=n-1; int k=1; wh

2015-08-14 14:06:55 457

转载 JAVA IO

Java I/OI/O,即 Input/Output(输入/输出) 的简称。就 I/O 而言,概念上有 5 种模型:blocking I/O,nonblocking I/O,I/O multiplexing (select and poll),signal driven I/O (SIGIO),asynchronous I/O (the POSIX aio_functions)。不同的

2015-08-14 10:59:51 310

原创 面试之二百度

1.计算机网络问:在浏览器里敲入一个网址,会发生哪些过程,经历哪些设备?问:传输的时候为什么要从运输层到数据链路层,路由的详细过程是怎么样的?问:网络序是什么?大端模式还是小端模式?x86的本机序?问:写个小端模式转大端模式的函数。问:什么叫负载均衡?负载均衡有两种,一种是,海量的IP访问,能够导向不同的服务器。HTTP反向代理,DNS解析器。另一种是对于重载的单任务,将其

2015-08-12 22:53:37 412

转载 从头到尾彻底理解KMP(2014年8月22日版)

作者:July时间:最初写于2011年12月,2014年7月21日晚10点 全部删除重写成此文,随后的半个多月不断反复改进。1. 引言    本KMP原文最初写于2年多前的2011年12月,因当时初次接触KMP,思路混乱导致写也写得混乱。所以一直想找机会重新写下KMP,但苦于一直以来对KMP的理解始终不够,故才迟迟没有修改本文。    然近期因在北京开了个算

2015-08-12 14:48:38 656

转载 一致性哈希算法(consistent hashing)

一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简 单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正得到应用。     一致性hash算法提出了在动态变化的Cache环境中,判定哈希算法好坏的四个定义:1

2015-08-12 14:06:30 274

原创 面试系列之一美团

马上要找工作了,最近看到网上各种面经,颇有感,这也问题也都似曾相识,也许明天就会遇到,但作者只是站在大牛的角度给了一个大概思路,细节并未指出,我这系列博客就是想把细节都给出来,分享。程序都是Java版本,不妥之处,望指正。1. 字符串问题    1.1  找出字符串str2在str1中的位置                1.2 求两个字符串str1和str2的最长公共子串

2015-08-11 17:02:02 712

转载 《Maven实战》整理

Table of Contents1 Maven 介绍2 Maven与其他构建工具的比较(IDE,Make,Ant)2.1 形象的比喻2.2 IDE2.3 Make2.4 Ant3 Maven的安装和配置3.1 maven 安装3.2 maven 安装目录介绍3.3 ~/.m2目录3.4 设置HTTP代理3.5 m2eclipse(eclipse maven插件)

2015-08-10 17:34:26 336

转载 Java适配器设计模式

适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。首先,我们来看看类的适配器模式,先看类图:核心思想就是:有一个Source类,拥有一个方法,待适配,目标接口时Targetable,通过Adapter类,将Source的功能扩展到Targetable里,看代码:

2015-08-08 21:04:06 677

转载 Java迭代器设计模式

顾名思义,迭代器模式就是顺序访问聚集中的对象,一般来说,集合中非常常见,如果对集合类比较熟悉的话,理解本模式会十分轻松。这句话包含两层意思:一是需要遍历的对象,即聚集对象,二是迭代器对象,用于对聚集对象进行遍历访问。我们看下关系图: 这个思路和我们常用的一模一样,MyCollection中定义了集合的一些操作,MyIterator中定义了一系列迭代操作,且持有Collection实

2015-08-08 20:48:10 322

转载 Java中的堆和栈

1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器

2015-08-08 19:49:45 268

转载 Java虚拟机类加载和执行机制

虚拟机的类加载和执行机制是虚拟机的最主要功能,在这里简单的对所知的内容进行一次温习,并记录以方便日后重温。本篇主要引用《深入理解Java虚拟机——JVM高级特性与最佳实践》一书。1、类文件结构    java虚拟机要对类文件进行加载和执行,那么必须要能够理解类文件结构,而对于虚拟机而言,平台无关性和语言无关性是其最重要的两大特征,那么就势必要对类文件结构进行规范化和结构化,

2015-08-04 22:42:01 440

原创 setTimeout延时带参的函数

如果延时函数设置成这样,将会立刻执行testb(b)函数,并没有延时效果,而如果字符串形式表示“testb(a)"将会报错”testb找不到“。 window.onload=testa(4);function testa(a){setTimeout(testb(a),10000);function testb(b){alert(b);}}最终的解决方案是

2015-08-03 22:16:03 817

原创 前端的Project示例

需求:1. 有图片轮播工作,第一个div。2. 监听手机摇一摇事件。3. 能够监听手机窗口大小。4. 利用ajax从后台请求数据,并更新显示。5. 能倒计时。6. 有弹窗提示。7. 利用ajax更新最后一个banner图标。8. 滚动播放文字信息。参考链接: http://wwwx.10020.net/red-envelope?from=wech

2015-08-03 17:22:52 588

原创 监听摇一摇插件源码

/* * Author: Alex Gibson * https://github.com/alexgibson/shake.js * License: MIT license */(function(global, factory) { if (typeof define === 'function' && define.amd) { define(funct

2015-08-03 17:14:19 412

转载 跨域的请求数据

一.域的限制域(Domain)是Windows网络中独立运行的单位,域之间相互访问则需要建立信任关系(即Trust Relation)。信任关系是连接在域与域之间的桥梁。当一个域与其他域建立了信任关系后,2个域之间不但可以按需要相互进行管理,还可以跨网分配文件和打印机等设备资源,使不同的域之间实现网络资源的共享与管理。 有一种简明的说法来解释广域跨域:跨域访问,简单来说就是 A 网站的 j

2015-08-01 14:06:49 1934

空空如也

空空如也

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

TA关注的人

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