自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (1)
  • 收藏
  • 关注

原创 spring源码分析2

spring源码分析2上一节主要介绍IOC容器是怎么加载bean的,这一节介绍getBean流程getBean首先我们从getBean的源码入手发现有三个关键方法,getObjectForSharedInstance,getMergedBeanDefinition,createBean。我们一个一个的分析,getObjectForSharedInstance中只是做了一定的判断...

2019-09-04 19:49:03 197

原创 leetcode455. 分发饼干

455. 分发饼干问题假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj 。如果 sj >= gi ,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。注意:你...

2019-09-04 19:13:49 158

原创 leetcode39组数之和

39. 组数之和问题给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。示例 1:输入: candidates = [2,3,6,7], target = 7,...

2019-09-03 15:31:47 145

原创 spring源码分析1

spring源码分析1采用的spring1.0.0版本的源码,我一直认为spring中的一些设计思想从最初版本就已经确定了,后续的版本只是不断的优化该思想,spring1.0中还没有基于注解的配置,也便于我们分析理解,主要的还是以xml的形式配置bean,源码下载地址spring IOC我们看spring相关教程中,在spring IOC容器中,由spring管理bean与bean之间...

2019-08-28 17:24:41 156

原创 dubbo学习笔记一

DubboDubbo架构使用服务者例子消费者issueDubboDubbo跟Spring cloud的功能类似,都是用于微服务框架。主要区别是一个通过RPC相互调用,一个通过HTTP restful api调用。架构大致流程:1.在容器中运行服务提供者2.服务提供者->在注册中心中注册服务(长连接)3.消费者在注册中心中订阅服务4.注册中心告诉订阅服务的地址,消费者通...

2019-04-19 12:43:38 164 2

原创 mockito

MockitoMockito概念测试类型单元测试(Unit test)集成测试(Integration test)端到端测试(End-to-End test)用法创建mock对象设置mock对象的行为校验spy断言原理讲解例子项目中的Mockito讲解Mockito概念测试类型单元测试(Unit test)单元测试关注单一的类. 它们存在的目的是检查这个类中的代码是否按照期望正确运行....

2019-04-19 09:45:11 211

原创 leetcode450. 删除二叉搜索树中的节点

450. 删除二叉搜索树中的节点问题给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。一般来说,删除节点可分为两个步骤:首先找到需要删除的节点;如果找到了,删除它。说明: 要求算法时间复杂度为 O(h),h 为树的高度。示例:root = [5,3,6,2,...

2019-04-07 21:46:34 515

原创 leetcode104. 二叉树的最大深度

104. 二叉树的最大深度问题给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。思路通过递归实现,深度=max(左子树深度,右子...

2019-04-07 12:51:54 109

原创 socks协议解析

SOCKS5 协议解析一、定义SOCKS5 是一个代理协议,旨在为位于 Intranet 防火墙后的用户提供访问 Internet 的代理服务。有些博文说Socks协议位于7层协议的传输层,有些博文说位于会话层,我个人的理解是位于会话层二、协议流程客户端发送认证协商代理服务器就认证协商进行回复(如拒绝则本次会话结束)如需GSSAPI或用户名/密码认证,客户端发送认证信息代理...

2019-03-18 13:31:11 1297

原创 跳表

跳表1.定义跳表(SkipList):增加了向前指针的链表叫做指针。跳表全称叫做跳跃表,简称跳表。跳表是一个随机化的数据结构,实质是一种可以进行二分查找的有序链表。跳表在原有的有序链表上增加了多级索引,通过索引来实现快速查询。跳表不仅能提高搜索性能,同时也可以提高插入和删除操作的性能2.详解对于一个单链表来讲,即便链表中存储的数据是有序的,如果要查询需要O(n)的时间复杂度比如有一...

2019-03-13 22:51:11 101

原创 leetcode69x 的平方根

69. x 的平方根问题实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。思路采用二分实现class...

2019-03-12 16:48:07 409

原创 插入排序

插入排序在jdk1.8源码中,Arrays.sort方法中运用了普通插入排序与成对插入排序,这里主要讲解这两种算法思想普通插入排序普通插入排序的思想是,每一步将一个待排序的记录,将其顺序大小插入到前面已经排序的序列的合适位置。从后向前找合适位置下面是Arrays.sort中的普通插入排序,边界是left到rightfor (int i = left, j = i; i < ...

2019-03-12 15:08:41 118

原创 Arrays.sort排序算法选择

Arrays.sort底层算法选择本文采用jdk版本是jdk1.8,进入Arrays.sort方法public static void sort(int[] a) { DualPivotQuicksort.sort(a, 0, a.length - 1, null, 0, 0); }发现调用了final类DualPivotQuicksort的sort方法,其...

2019-03-09 22:49:29 819

原创 leetcode496下一个更大元素 I

496. 下一个更大元素 I问题给定两个没有重复元素的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。找到 nums1 中每个元素在 nums2 中的下一个比其大的值。nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元素。如果不存在,对应位置输出-1。示例 1:输入: nums1 = [4,1,2], n...

2019-03-04 12:30:08 174

原创 leetcode682棒球比赛

682. 棒球比赛问题你现在是棒球比赛记录员。给定一个字符串列表,每个字符串可以是以下四种类型之一:1.整数(一轮的得分):直接表示您在本轮中获得的积分数。\2. "+"(一轮的得分):表示本轮获得的得分是前两轮有效 回合得分的总和。\3. "D"(一轮的得分):表示本轮获得的得分是前一轮有效 回合得分的两倍。\4. "C"(一个操作,这不是一个回合的分数):表示您获得的最后一个有...

2019-03-04 12:18:24 140

原创 leetcode224基本计算器

224. 基本计算器问题实现一个基本的计算器来计算一个简单的字符串表达式的值。字符串表达式可以包含左括号 ( ,右括号 ),加号 + ,减号 -,非负整数和空格 。示例 1:输入: "1 + 1"输出: 2示例 2:输入: " 2-1 + 2 "输出: 3示例 3:输入: "(1+(4+5+2)-3)+(6+8)"输出: 23思路用两个栈实现,一个操作数栈,...

2019-03-01 15:59:24 268 1

原创 leetcode844比较含退格的字符串

844. 比较含退格的字符串问题给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。示例 1:输入:S = "ab#c", T = "ad#c"输出:true解释:S 和 T 都会变成 “ac”。示例 2:输入:S = "ab##", T = "c#d#"输出:true解释:S 和 T 都会变成 “”。示...

2019-03-01 15:29:40 157

原创 leetcode232用栈实现队列

232. 用栈实现队列问题使用栈实现队列的下列操作:push(x) – 将一个元素放入队列的尾部。pop() – 从队列首部移除元素。peek() – 返回队列首部的元素。empty() – 返回队列是否为空。示例:MyQueue queue = new MyQueue();queue.push(1);queue.push(2); queue.peek(); //...

2019-03-01 14:46:10 102

原创 leetcode155最小栈

155. 最小栈问题设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。push(x) – 将元素 x 推入栈中。pop() – 删除栈顶的元素。top() – 获取栈顶元素。getMin() – 检索栈中的最小元素。示例:MinStack minStack = new MinStack();minStack.push(-2);minStac...

2019-03-01 14:39:19 151

原创 leetcode20有效的括号

20. 有效的括号问题给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例 2:输入: "()[]{}"输出: true示例 3:输入: "(]"输出: fa...

2019-02-28 17:17:34 162

原创 leetcode234回文链表

234. 回文链表问题请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true思路设置快慢两个引用,一个引用走两步,一个引用走一步,当快引用走到末尾时,慢指针指向链表中间,将后半链表翻转过来,比较前半链表与后半链表是否一致。/** * Definition for s...

2019-02-28 14:08:59 103

原创 leetcode19删除链表的倒数第N个节点

19. 删除链表的倒数第N个节点问题给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.思路一第一反应是扫描链表长度length,删除倒数第n个,也就是证书第length-n+1个/** ...

2019-02-28 13:53:45 107

原创 leetcode21合并两个有序链表

21. 合并两个有序链表问题将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。Example:Input: 1->2->4, 1->3->4Output: 1->1->2->3->4->4思路比较两个链首,将链首值小的添加到新链中,同时链首值小的向后移一步,迭代比较添加,若一方为空...

2019-02-28 13:32:32 81

原创 leetcode141环形链表

141. 环形链表问题给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。思路设置快慢引用,若引用想碰,则表明有环,若快引用走到链表末尾或者为空则表明无环/** * Definition for singly-linked list. * class...

2019-02-28 13:08:08 97

原创 leedcode206反转链表

206. 反转链表问题反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL迭代法/** * Definition for singly-linked list. * public class ListNode { * int val; * ...

2019-02-28 12:54:05 113

原创 leetcode 876链表中间节点

876. 链表的中间结点问题给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。思路一求链表的中间节点,统计链表长度length,中间节点位于length/2+1处/** * Definition for singly-linked list. * public class ListNode { * int v...

2019-02-28 12:40:41 213

原创 git学习笔记三

关于暂存区 Blob Treehttp://www.cnblogs.com/cposture/p/4178003.html

2019-02-26 15:34:27 77

原创 git学习笔记二

git学习笔记二git常见命令git configgit statusgit initgit操作内容/文件命令git add.gitignore文件git rmgit commitgit loggit diffgit checkoutgit reset总结分支命令git branchgit checkoutgit resetgit reflogreset checkout的对比git stashg...

2019-02-26 15:22:50 98

原创 git学习笔记一

git学习笔记一git学习笔记一分支与分支模型分支和分支模型产品级的分支模型产品模型特性开发流程图产品模型过程中的发布线git安装git学习笔记一免费开源的分布式版本控制系统(DVCS)基于内容寻址的存储系统分支与分支模型分支和分支模型分支:从目标仓库获得一份项目拷贝,每条拷贝都有和原仓库功能一样的开发线。分支模型(branching model)/工作流(workflow...

2019-02-26 14:20:14 164

原创 浅谈微服务

研究微服务的原因:最近忙着一个系统,系统的功能很简单,用户上传压缩包到服务器,服务器可以定时解压并且解析里面的内容上传到HDFS和HBase中,后面的解析内容再进行处理,因为最近微服务也挺热门的,所以老板让用微服务架构实现。微服务的基本概念简单来说,就是将一个大的项目,拆成多个小的项目,每个小的项目能够独立的运行测试(这里称之为服务),比如传统开发模式下的一个餐馆系统,实现的业务有用户

2017-10-02 22:18:48 319

原创 maven java.util.zip.ZipException: invalid CEN header (bad signae)

出错原因jar包文件太大,可能存在一个文件超过了设置的最大值解决方法利用第三方的接口解析,或者修改bundle中scald.rb选项

2017-07-04 11:01:05 1492

原创 JS实现贪吃蛇小游戏

最近一个月在看机器学习方向的书籍,推理的头大了,抽了点空,写了个小游戏玩玩 body,h2 { margin: 0px; padding: 0px; } #page { width: 810px; height: 620px; margin: 20px auto; text-align: center; } #mark

2017-06-18 14:53:53 536

原创 Map/Reduce实现表的自连接

输入Tom LucyTom JackJone LocyJone JackLucy MaryLucy BenJack AliceJack JesseTerry AliceTerry JessePhilip AlmaMark TerryMark Alma输出grandchild grandparentJone JesseJone AliceTom JesseTo

2017-03-02 15:50:28 389

原创 Map/Reduce 求TopK

输入1,mr1,32342,mr2,1233,mr3,98774,mr4,3485,mr5,123456,mr6,66467,mr7,988,mr8,12345输出8 123455 123453 9877代码:import java.io.*;import org.apache.hadoop.conf.Configured;import org.apac

2017-02-28 16:09:57 324

原创 Map/Reduce二次排序与分组分区用法

我对二次排序的定义就是先按照Key值排序,在Key相同的时候比较Value的值数据来源于某程序网的测试数据集输入1,mr1,32342,mr2,1233,mr3,98774,mr4,3485,mr5,123456,mr6,66467,mr7,988,mr8,123451,mr1,3342,mr2,31233,mr3,974,mr4,2315,mr5,122

2017-02-28 15:50:30 513

原创 Map/Reduce进行排序与逆排序

MapReduce的排序与逆排序

2017-02-27 16:40:54 684

原创 编写Map/reudce的前置工作

利用的工具是eclipse,因为eclipse中有关于hadoop的插件,安装eclipse过程省略。1.下载hadoop-*-eclipse-plugin.jar放啊之在eclipse/pugin下 2.选择hadoop的安装目录,菜单->windows-preference3.选择菜单->Windows-Open Perspective->Other->Map/Redu

2017-02-27 16:37:56 288

原创 权威指南中Maxtemperature

在hadoop权威指南书中,其中的代码部分需要对java有一定基础的人才知道缺少哪些jar包,本文为了方便没有java基础,但是对hadoop感兴趣的人学习用的

2017-01-22 14:01:04 431

原创 调试hadoop程序时应注意的地方

不用命令行调试hadoop程序时候应该注意的地方。

2016-12-28 22:12:23 297

原创 idea导入项目后编译提示misc.xml(系统找不到指定的提示文件)

解决办法:关闭项目,打开IDEA->import project

2016-12-04 13:54:04 4720

Spring1.0-master.zip

spring1.0.0源码,从中可以分析spring相关设计思想。工厂bean,beanFactory,APO,springmvc等

2019-08-20

空空如也

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

TA关注的人

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