自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

码农皮邱

思维缜密、皮中带光的神奇男孩

  • 博客(59)
  • 收藏
  • 关注

原创 计算机是怎么跑起来的?

01在学习工作中,经常会遇到些让我脑子短路无法回血的问题?你去评估下这项目需要几台机器能维持稳定性,CPU要几核,内存要多大?X模块偶发出现内存飙升的情况,你追查下原因顺便想想如何优化?瞬间,鸦雀无声甚至气氛一度及其尴尬。作为一个CURD男孩,写代码就是一把梭复制粘贴,那能管那么宽?仔细一想,我也是学过计算机组成原理、操作系统原理的男孩,岂能说怂就怂?这时,冯·诺依曼、寄存...

2020-02-10 16:58:00 416

原创 3年,从双非到百度的学习经验总结

01近年来,有些读者会问我一些形形色色的问题,让我很难去回答,甚至给不出建设性的意见。举个例子:我学习什么能进入优秀的互联网公司工作?我想做研发我应该学习什么?众所周知,这问题就像你问学霸说你这么厉害一样让人难以回答。我作为一个双非软工本科学生,经过大学自己摸索和不断试错,毕业开始在百度从事研发工作。其实,我当时也有很多的疑惑,在这里给大家讲讲我的踩坑历程。记忆中,我当...

2019-11-10 14:35:00 317 1

原创 桥接模式:探索JDBC底层实现

一、目录概要二、问题探究需求:假设要设计一个电脑商场管理系统的某个模块设计,电脑分为品牌和类型两个纬度,我们应该怎么解决?按照初学者的思路,利用继承就能简单粗暴的实现,那我们来看下这种思路的设计类图。从电脑纬度划分package com.aaron.bridge;public interface Computer { public void sale();}clas...

2019-06-29 17:39:00 161

原创 桥接模式:探索JDBC底层实现

一、目录概要二、问题探究需求:假设要设计一个电脑商场管理系统的某个模块设计,电脑分为品牌和类型两个纬度,我们应该怎么解决?按照初学者的思路,利用继承就能简单粗暴的实现,那我们来看下这种思路的设计类图。从电脑纬度划分package com.aaron.bridge;public interface Computer { public void sale();}cl...

2019-06-29 16:49:20 194

原创 并发编程(三):从AQS到CountDownLatch与ReentrantLock

并发编程(三):从AQS到CountDownLatch与ReentrantLock 一、目录1、AQS简要分析2、谈CountDownLatch 3、谈ReentrantLock4、谈消费者与生产者模式(notfiyAll/wait、signAll/await、condition)二、AQS...

2017-07-01 16:52:00 342

原创 并发编程(四):ThreadLocal从源码分析总结到内存泄漏

并发编程(四):ThreadLocal从源码分析总结到内存泄漏一、目录 1、ThreadLocal是什么?有什么用? 2、ThreadLocal源码简要总结? 3、ThreadLocal为什么会导致内存泄漏?二、ThreadLocal是什么?有什么用?引入话题:在并发条件下,如何正确获得共享数据?举例:假设有多个用户需要获取用户信息,一个线程对应一个...

2017-06-28 21:20:00 205

原创 Zookeeper:分布式程序的基石

Zookeeper:分布式程序的基石 一、目录1、zookeeper是什么?2、安装、配置、启动、监控3、javaApi基础用法4、应用场景5、CAP理论/paxos算法二、zookeeper简介官方版:zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于...

2017-06-26 19:01:00 139

原创 观察者模式:探索消息推送与注册中心

观察者模式:探索消息推送与注册中心 一、引入话题-发散思考1、如果你是安卓开发工程师,是否经常遇到给所有的用户或者特定的用户推送消息的业务场景呢?例如:我曾经做的一款APP就是用极光推送一个消息,下载该APP的用户都能收到消息提示。2、如果你了解zookeeper分布式调节框架?假设一个集群有1000台机器Master-Slave结构...

2017-06-26 12:43:00 216

原创 并发编程(二):全视角解析volatile

并发编程(二):全视角解析volatile 一、目录  1、引入话题-发散思考  2、volatile深度解析  3、解决volatile原子性问题  4、volatile应用场景二、引入话题-发散思考public class T1 { /*volatile*/ boolean running=true;...

2017-06-23 20:44:00 70

原创 并发编程(一):从头到脚解读synchronized

并发编程(一):从头到脚解读synchronized 一、目录  1、多线程启动方式  2、synchronized的基本用法  3、深度解析synchronized  4、同步方法与非同步方法是否能同时调用?  5、同步锁是否可重入(可重入锁)?  6、异常是否会导致锁释放?  7、锁定某对象,对象属性改变是否会影响锁...

2017-06-23 11:04:00 84

原创 Hadoop化繁为简(三)—探索Mapreduce简要原理与实践

Hadoop化繁为简(三)—探索Mapreduce简要原理与实践 目录-探索mapreduce  1、Mapreduce的模型简介与特性?Yarn的作用?  2、mapreduce的工作原理是怎样的?  3、配置Yarn与Mapreduce、演示Mapreduce例子程序  4、javaApi开发Mapreduce程序发散思考-...

2017-06-06 09:36:00 165

原创 Windows平台开发Mapreduce程序远程调用运行在Hadoop集群—Yarn调度引擎异常

Windows平台开发Mapreduce程序远程调用运行在Hadoop集群—Yarn调度引擎异常 共享原因:虽然用一篇博文写问题感觉有点奢侈,但是搜索百度,相关文章太少了,苦苦探寻日志才找到解决方案。遇到问题:在windows平台上开发的mapreduce程序,运行迟迟没有结果。Mapreduce程序public class Tes...

2017-06-05 12:57:00 180

原创 hadoop安全模式

hadoop安全模式 遇见问题:org.apache.hadoop.dfs.SafeModeException: Cannot delete/user/hadoop/input. Name node is in safe mode解决办法:$bin/hadoop dfsadmin -safemode leave     如果配置了环境变量h...

2017-06-05 12:50:00 91

原创 建造者模式:设计角度重温游戏中的角色

建造者模式:设计角度重温游戏中的角色 应用场景  假设现在我们要设计DNF中的人物角色(鬼剑士、神枪手、魔法师、圣骑士、格斗家)。然而,利用面对对象的思想,必须先从实体入手,每一个角色都包含各种装备、武器、配饰,这些就当做要建造的零件,然后把装备零件组装起来,那么就是最终人物角色的能量值,然后它就将造成不同的伤害。  回忆过程:假设要创建一...

2017-05-30 17:44:00 185

原创 工厂模式:工厂方法与抽象工厂的战争

工厂模式:工厂方法与抽象工厂的战争 概述什么是工厂方法?什么是抽象工厂?工厂方法是指工厂生产产品,而抽象工厂是生产产品系列。例如,工厂方法是只生产运输工具比如马车、公共汽车、自行车,而抽象工厂生产轮胎、螺丝钉交通工具零件。工厂方法模式定义了一个创建对象的接口,但由子类决定实例化的类是哪一个。工厂方法让类把实例化推迟到子类。抽象工厂模...

2017-05-29 20:21:00 105

原创 原型模式(克隆模式):浅谈浅克隆与深克隆

原型模式(克隆模式):浅谈浅克隆与深克隆 克隆是什么?它的产生背景?当new的对象是多例的时候,new对象将会不断占据内存。特别是消耗内存的大对象,比如数据库连接等。平时运用的不多,只在spring等容器有见过,此处不多赘述,了解即可。浅克隆与深克隆是什么意思?通过案例逐步探讨。public class Star impleme...

2017-05-29 14:22:00 147

原创 单例模式:层层剖析寻找最高效安全的单例

单例模式:层层剖析寻找最高效安全的单例 问题来源  什么是单例?它的运用场景是什么?  单例模式是指保证在系统中只存在某类唯一对象。运用场景随处可见,例如工具类、Spring容器默认new对象等。  单例模式有几种实现方式?  饿汉式、懒汉式、双重检查锁式、内部类式、枚举式。  推荐使用方式?  饿汉式、内部类式。饿汉式...

2017-05-29 12:52:00 118

原创 24种设计模式和7大设计原则

24种设计模式和7大设计原则 创建型模式1、抽象工厂模式(Abstract factory pattern): 提供一个接口, 用于创建相关或依赖对象的家族, 而不需要指定具体类.2、生成器模式(Builder pattern): 使用生成器模式封装一个产品的构造过程, 并允许按步骤构造. 将一个复杂对象的构建与它的表示分离, 使得同样的构建过...

2017-05-17 20:41:00 93

原创 浅谈图的存储结构与遍历

浅谈图的存储结构与遍历 简述图的存储结构  图的存储结构分为:邻接矩阵与邻接表    邻接矩阵分为顶点、边表(1代表存在边、0代表不存在)。  邻接链表分为顶点(顶点信息、第一个边结点)、边表(顶点序号、下一个边结点)。  领结链表数据结构:public class VertexNode { private S...

2017-05-12 08:35:00 199

原创 彻底理清二叉排序树的插入、查找、删除

彻底理清二叉排序树的插入、查找、删除 二叉排序树的概述  二叉排序树也被成为二叉查找树或者二叉搜索树。它或者是一棵空的二叉树。它具备以下性质。  若它的左子树不空,则左子树上所有结点的值均小于根结点的值。  若它的右子树不空,则右子树上所有结点的值均大于根结点的值。  它的左右子树也都是二叉排序树。简述二叉排序树原理与实现 ...

2017-05-11 19:39:00 198

原创 浅谈顺序、折半查找

浅谈顺序、折半查找 线性表查找的实现原理  1、线性表查找:顺序查找、折半查找。  2、顺序查找的实现思想    遍历全表,判断值是否相等,俗称蛮力法。  3、折半查找    步骤一:设置初始查找取件:left=0;right=n;    步骤二:测试查找区间[left,right]是否存在,若不存在,则查找失败,否则 ...

2017-05-11 18:13:00 155

原创 Hadoop化繁为简(二)—层层递进轻松入门hdfs

Hadoop化繁为简(二)—层层递进轻松入门hdfs 层层递进-解开hdfs的面纱  1、hdfs是什么?它与普通服务器的文件系统有什么区别?它的特性有什么?  2、hdfs的工作原理是怎样的?  3、每台机器都单独启动有什么弊端?假设有1000台机器需要启动?该怎么解决呢?  4、hdfs配置与使用  5、利用javaApi充...

2017-05-06 21:54:00 111

原创 Hadoop化繁为简(一)-从安装Linux到搭建集群环境

Hadoop化繁为简(一)-从安装Linux到搭建集群环境 简介与环境准备  hadoop的核心是分布式文件系统HDFS以及批处理计算MapReduce。近年,随着大数据、云计算、物联网的兴起,也极大的吸引了我的兴趣,看了网上很多文章,感觉还是云里雾里,很多不必要的配置都在入门教程出现。通过思考总结与相关教程,我想通过简单的方式传递给同样想入门...

2017-05-06 14:18:00 151

原创 VirtulBox虚拟机搭建Linux Centos系统

VirtulBox虚拟机搭建Linux Centos系统 简要说明  该文章目的是基于搭建hadoop的前置文章,当然也可以搭建Linux的入门文章。那我再重复一下安装准备软件。  环境准备:http://pan.baidu.com/s/1dFrHyxV 密码:1e9g(建议自己去官网下环境,要原生原味的,不要二手货)  CentO...

2017-05-06 10:21:00 135

原创 表达树—构建表达式树、获取表达式(二)

表达树—构建表达式树、获取表达式(二) 回顾二叉树的递归遍历  前序遍历:访问根结点-->前序遍历根结点的左子树-->前序遍历根结点的右子树。  中序遍历:中序遍历根结点的左子树-->访问根结点-->中序遍历根结点的右子树。  后序遍历:后序遍历根结点的左子树-->后序遍历根结点的右子树-->访问...

2017-05-01 13:05:00 292

原创 表达式树—中缀表达式转换成后缀表达式(一)

表达式树—中缀表达式转换成后缀表达式(一) 前缀、中缀、后缀表达式的转换举例前缀表达式:/+A*BCD。中缀表达式:A+B*C/D。后缀表达式:ABC*+D/。中缀表达式转换后缀表达式算法将栈初始化为空栈;从左到右扫描表达式的每一个字符,执行下面操作:    2.1 遇到操作数:直接输出(添加到后缀表达...

2017-04-30 20:23:00 466

原创 线索二叉树

线索二叉树 浅谈线索二叉树的诞生  二叉树的存储结构的类型有:顺序存储、二叉链表存储、三叉链表存储、线索链表存储(树结构如图所示)。  1、顺序结构  假设是顺序结构,它将为上述节点按照层序编号。  在二叉树中,设I为结点的层序编号存在如下性质。  若I>1,则它的双亲的编号为I/2,否则它就是根结点。  若2I&...

2017-04-30 18:06:00 150

原创 常用Linux命令集锦-ls命令

常用Linux命令集锦-ls命令 1、命令格式:ls [选项] [目录名]2、常用参数  -a:列出该目录下所有文件(包含隐藏文件)。  -A:列出该目录下除了隐藏文件的所有文件。  -l:以行显示目录下的所有文件。输出信息从左到右分别是文件名、文件类型、权限模式、硬连接数、所有者、组、文件大小、文件最后修改时间。  -m:目录...

2017-04-19 20:20:00 96

原创 Redis-用思维导图二天搞定Redis用法。

Redis-用思维导图二天搞定Redis用法。 Redis整体面貌Redis基本数据结构1、String 1.1 数据结构 long len byte数组长度 long free 可用数组长度 char buff[] 数据内容 1.2 ...

2017-04-13 21:27:00 154

原创 Redis-环境搭建、创建服务、搭建主从复制-Windows版本

Redis-环境搭建、创建服务、搭建主从复制-Windows版本 一、搭建Redis环境  1、链接:http://pan.baidu.com/s/1boKAzzL 密码:sh2r  2、不赘述:执行redis-server、再执行redis-cli即可、redis环境就搭建完毕。    二、图形化界面三、搭建主从复制...

2017-04-13 19:49:00 88

原创 Java实现-2016百度秋招(颜色反转、相似字符串)

Java实现-2016百度秋招(颜色反转、相似字符串) 1、颜色反转题目描述:在 Web 开发中,通常使用 16 进制 RGB 表示一个颜色。例 如 #0000FF 表示蓝色,#FF7F50 表示珊瑚红。在这道题中,我们要求把给定的一种颜色取反,方法是把 RGB 的每个位转换成十进制 rgb,再用 255 减去,再转换成 16 进制。例如蓝...

2017-04-10 21:01:00 159

原创 Redis-Linux安装

Redis-Linux安装 简介  redis是一个开源项目,一种基于hash存储于内存的nosql数据库。和Memcached类似,但很大程度补偿了memcached的不足,它支持存储的value类型相对更多,包括string、list、set、zset和hash。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更...

2017-04-09 10:28:00 64

原创 Java实现-每天三道剑指Offre(2-4)

Java实现-每天三道剑指Offre(2-4) 实现一个单例模式 1 /** 2 * 面试题2:实现单例模式 3 * 4 * @author qiuyong 饿汉式 5 */ 6 public class Singleton01 { 7 private Singleton01() { 8 ...

2017-04-06 21:24:00 69

原创 二叉树遍历-JAVA实现

二叉树遍历-JAVA实现 二叉树遍历分为前序、中序、后序递归和非递归遍历、还有层序遍历。 1 //二叉树节点 2 public class BinaryTreeNode { 3 private int data; 4 private BinaryTreeNode left; 5 private Bin...

2017-04-06 21:16:00 69

原创 Java容器-引入Guava类库

Java容器-引入Guava类库 目录1、只读设置2、函数式编程+组合式编程3、约束条件4、集合操作(并集、差集、交集)代码实现1、只读设置public static void main(String [] args){ //只读设置 List ls=new ArrayList()...

2017-03-18 19:43:00 370

原创 Java容器-引用分类与部分Map用法

Java容器-引用分类与部分Map用法 目录1、引用分类2、了解WeakHashMap、IdentityHashMap、EnumMap3、同步控制与只读设置代码实现1、引用分类(面试)  强引用(StrongReference):引用指向对象,gc运行时,不回收。  弱引用(SoftReference):gc运行时可能回...

2017-03-18 18:49:00 80

原创 Java容器-引用数据类型排序+TreeSet、TreeMap底层实现

Java容器-引用数据类型排序+TreeSet、TreeMap底层实现 目录1、冒泡排序的实现2、比较接口(普通数据类型、引用数据类型)  普通数据类型:冒泡排序  引用数据类型:包装类(Integer、String、Character、Date)  自定义类型:实体类:implements Comparable+compare...

2017-03-18 18:16:00 249

原创 JAVA容器-重点总结与深度解析

JAVA容器-重点总结与深度解析 重点内容总结问题思考问题思考解析 posted @ 2017-03-16 20:43 邱勇Aries 阅读(...) 评论(...) 编辑 收藏 ...

2017-03-16 20:43:00 69

原创 JAVA容器-浅谈HashMap的实现原理

JAVA容器-浅谈HashMap的实现原理 概述  HashMap是通过数组+链表的方式实现的,由于HashMap的链表也是采用数组方式,我就修改直接利用LinkedList实现,简单模拟一下。  1、Key、Value的存取方式。  2、HashMap与HashTable的区别    HashMap线程不安全、K、V可以为空,效率...

2017-03-16 20:06:00 104

原创 JAVA容器-模拟LinkedList实现(双链表)

JAVA容器-模拟LinkedList实现(双链表) 概述  LinkedList实质上就是双向链表的拓展的实现,我们将关注一下问题。LinkedList  1、双向链表怎么来实现插入、删除、查询?  2、利用二分法提高查询效率。  3、不同步,线程不安全,需要使用Collections.synchronizedList()达到线程...

2017-03-16 19:33:00 149

空空如也

空空如也

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

TA关注的人

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