摘要:
“全栈工程师”这个词近两年好像不火了,在我刚接触开发领域的时候,那时候招聘网站和各大培训机构里,全栈工程师还是一个热词。如今的互联网产品需求灵活多变,纷繁复杂,这不仅因为网络中的设备多种多样,更是因为如今的互联网对于社会生活来说,已经密不可分,传统的开发模式,不管是从开发周期还是从用户体验上来说,都 阅读全文
摘要:
String是个啥? 字符串?不可变字符串?今天想起来这个又意思的东西,所以来记录一下。我们说String是不可变字符串,那他就真的不可变吗? public class StringDemo { public static void main(String[] args) { String s = 阅读全文
摘要:
引言: Zookeeper是如何保证在高并发的情况下全局数据一致并且读写顺序是确定的呢?其实秘密就在这个ZAB协议中,ZAB Zookeeper Automatic Broadcast(Zookeeper原子广播协议)。 要理解Zookeeper内部原理,必须从两个方面入手: 1、Zookeeper 阅读全文
摘要:
一、在具体实现之前,先来了解一下Zookeeper的监听器的原理: 图中Main()线程作为客户端,当在主线程中创建Zookeeper客户端时,会默认创建两个子线程:Listener和connect,connect线程负责将某一操作对应的的监听事件发送给Zookeeper服务集群。Zookeeper 阅读全文
摘要:
引言 研究过框架源码的朋友们应该知道,没有反射,就没有框架。反射的功能实在是太强大了,所以这篇博客就来总结一下反射的用法和原理。 一、概念: 反射:将类的各个组成部分封装成其他对象,通过这些对象反过来作用类的实例对象,这就是反射机制。 可能听不懂了,啥啥啥呀?别着急,先来看一下一个Java类从编译到 阅读全文
摘要:
引言: 虽然MapReduce计算框架简化了分布式程序设计,将所有并行程序需要关注的设计细节抽象成公共模块并交由系统实现,用户只需关注自己的应用程序的逻辑实现,提高了开发效率。但开发者如果对Mapreduce计算框架如何实现这样的魔术没有一个基本的了解,那么将无法利用框架本身提供的灵活性编写MapR 阅读全文
摘要:
回顾: 在上一篇https://www.cnblogs.com/superlsj/p/11857691.html详细介绍了InputFormat的原理和常见的实现类。总结来说,InputFormat是将文件切片 >再转化为<key--value>对转交给Mapper处理。 所以我们看到在InputF 阅读全文
摘要:
引言: 我们知道:在MapReduce程序的Map阶段,需要有满足格式的数据输入给Mapper,但源数据要么不满足数据输入格式,要么数据量太大(一个MapTask不能高效处理),所以在数据输入Mapper之前,需要根据数据的特点和业务逻辑对数据进行格式化,这一步的格式化被称为:InputFormat 阅读全文
摘要:
为了测试MapReduce提交的详细流程。需要在提交这一步打上断点: F7进入方法: 进入submit方法: 注意这个connect方法,它在连接谁呢?我们知道,Driver是作为客户端存在的,那么客户端连接的应该就是Yarn集群,但是在这个简单的WordCount案例中,并没有将任务提交到Yarn 阅读全文
摘要:
你一定在你的Jsp文件中的监本片段中使用过以下九个对象的几种:out、config、page、pageContext、exception、request、response、application、session。就像下面这样: <html> <head> <meta http-equiv="Cont 阅读全文