- 博客(55)
- 资源 (13)
- 收藏
- 关注
原创 JAVA编程思想笔记 : 并发 [ 一 ]
程序中的所有事物,在任意时刻都只能执行一个步骤.并发的多面性并发解决的问题大体上可以分为"速度"和"设计可管理性"两种并发通常是提高运行在单处理器上的程序的性能.实现并发最直接的方式是在操作系统级别使用进程.困难: 协调不同线程驱动的任务之间的对内存/IO 资源的使用. 以使得这些资源不会同时被多个任务访问.改进代码设计Java 的线程机制是...
2019-04-30 17:29:52 612
原创 JAVA编程思想笔记 : 复用类
复用代码是 Java 众多引人注目的功能之一.但是想要成为机具革命性的语言,仅仅能复制代码并对之加以改变是不够的,它还必须能够做更多的事情.组合语法只需将对象引用置于新类中即可.初始化引用位置 定义对象的地方,他们总是能够在构造器被调用之前初始化. 在类的构造器中 就在要使用这些对象之前, --- 惰性初始化 实例初始化继承语法除非已明确指出要从其他...
2019-04-30 10:55:44 300
原创 JAVA编程思想笔记 : 访问权限控制
如何把变动的事物与保持不变的事物区分开.包:库单元包内包含有一组类,它们在单一的名字空间之下被组织在了一起.当编写一个 Java 源代码文件时,此文件通常被称为编译单元.每个编译单元都必须有一个后缀名.java,而在编译单元内则可以有一个 public 类,该类的名称必须与文件的名称相同(包括大小姐,但不包括后缀名称.java). 每个编译单元只能有一个 publi...
2019-04-29 16:53:00 312
原创 JAVA编程思想笔记 : 初始化与清理
随着计算机革命的发展,"不安全"的编程方式已逐渐成为编程代价高昂的主因之一用构造器确保初始化方法重载任何程序设计语言都具备的一项重要特性就是对名字的运用.当创建一个对象时,就是给此对象分配到的空间取一个名字.所谓的方法就是给某个动作取名字.方法名相同且形式参数不同的构造器.构造器的名字由类名决定,所以只能有个构造器名字,如何多种方式创建对象....
2019-04-28 18:44:28 440
原创 JAVA编程思想笔记 : 控制执行流程
就像有知觉的生物一样,程序必须在执行的过程中控制它的世界.并作出选择Java 使用了 C 的所有流程控制语句.true 和 falseif-else迭代 ( while / do-while / for/ foreach)while 和 do-while 区别: do-while 中的语句至少会执行一次.return分支无需...
2019-04-28 11:30:29 203
原创 管理类联考-逻辑 : 基础 [五]
断定思维对象具有或不具有某种属性的判断,又称为直言判断。逻辑上的[有些/有的] 跟我们日常生活中的[有些/有的] 不一样[有些/有的] ==> 至少有一个.根据性质判断量和质的不同组合,可以有六种类型:1单称肯定判断 这个S是P2.单称否定判断 这个S不是P---------------------...
2019-04-26 21:14:45 847
原创 JAVA编程思想笔记 : 操作符
在最底层,Java 中的数据是通过使用操作符来操作的.更简单的打印语句System.out.println(" Rather a lot to type ");使用 Java 操作符操作符 : 接受一个或多个参数, 并生成一个新值.优先级优先级决定各个部分操作符的计算顺序.赋值取右边的值,把它复制给左边的值.右值可以是任意常数/...
2019-04-26 18:29:06 342
原创 JAVA编程思想笔记 : 一切都是对象
尽管 Java 是基于 C++的, 但相比之下,Java 是一种更"存粹"的面向对象的程序设计语言.用引用操纵对象遥控器(引用) --- 电视机(对象)必须由你创建所有对象1.存储到什么地方寄存器: 最快, 位于处理器内部.容量有限,不受控制. 程序无法感知. 堆栈:RAM 中. 通过堆栈指针控制. 向下移动,分配内存, 向上移动,释放内存. ...
2019-04-26 17:14:56 345
原创 JAVA编程思想笔记 : 对象导论
前言:程序设计其实是对复杂性的管理: 待解决问题的复杂性, 以及用来解决该问题的工具的复杂性.减少开发健壮代码所需的时间以及困难.抽象过程程序可以通过添加新类型的对象,使其适用于某个特定问题.万物皆对象. 程序时对象的结合. 每个对象都有自己的由其他对象所构成的存储. 每个对象都拥有其类型. 某一特定类型的所有对象都可以接口收同样的消息.对象具有状态 ....
2019-04-25 18:20:33 330
原创 管理类联考-逻辑 : 基础 [四]
假言推理假言推理就是以一个假言判断做大前提,一个简单判断做小前提。由于假言判断有三种不同的类型,所以,假言推理分为:充分条件假言推理、必要条件假言推理、充要条件假言推理。充分条件假言推理规则假言连锁推理又称纯假言推理,它是由两个或两个以上的假言命题作前提,推出一个假...
2019-04-24 21:12:14 536
原创 Hadoop3.2.0 源码分析: namenode 启动
通过脚本启动 namenode 的时候,不管怎么样都会调用NameNode 类. 至于脚本怎么调用的自行查看一下脚本:bin/hdfslibexec/hadoop-functions.sh输出 debug 模式下 shell 脚本日志:/Library/java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home/...
2019-04-23 18:59:55 1628 1
原创 Hadoop3.2.0 源码分析: datanode 启动
通过脚本启动 namenode 的时候,不管怎么样都会调用DataNode 类. 至于脚本怎么调用的自行查看一下脚本:bin/hdfslibexec/hadoop-functions.sh输出 debug 模式下 脚本日志:/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home/bin/ja...
2019-04-23 18:59:26 1022 1
原创 Hadoop3.2.0 源码分析: SHELL启动脚本 DEBUG 模式
在调试代码的时候,需要用到 hadoop 的 debug 模式.所有做了一下记录:打开 DEBUG 模式:export HADOOP_SHELL_SCRIPT_DEBUG=true如果不好用,直接调整函数代码,把判断去掉即可 :启动脚本的时候输出的日志:查看日志文件:...
2019-04-23 18:24:25 957
原创 Hadoop3.2.0 源码分析: ResourceManager 调度 CapacityScheduler 理论
特点以队列为单位划分资源,每个队列可设定一定比例的资源最低保证和使用上限,同时,每个用户也可设定一定的资源使用上限以防止资源滥用。而当一个队列的资源有剩余时,可暂时将剩余资源共享给其他队列。总之,Capacity Scheduler主要有以下几个特点:容量保证:管理员可为每个队列设置资源最低保证和资源使用上限,而所有提交到该队列的应用程序共享这些资源 灵活性:如果一个队列中的资源有剩余,...
2019-04-23 14:05:06 927
原创 Hadoop3.2.0 源码分析: ResourceManager 调度 CapacityScheduler
在上一节中,只是讲解了ResourceManager 的启动,这次来说另外一个核心的点没说,那就是调度.// Initialize the scheduler// todo ResourceScheduler 调度器的创建,他的子类之一就是FairSchedulerscheduler = createScheduler();scheduler.setRMContext(rmCo...
2019-04-23 06:57:57 947
原创 管理类联考-逻辑 : 基础 [三]
假言判断是断定一事物情况存在是另一事物情况存在的条件的判断充分假言判断: 只要......就......充分条件假言判断:P→Q必要条件假言判断:¬P→¬Q充分必要条件假言判断:P↔Q...
2019-04-22 21:20:12 695
原创 Hadoop3.2.0 源码分析: Container 之 DefaultContainerExecutor 与 LinuxContainerExecutor
在yarn 里面Container 是可选的.本文介绍以下两种:DefaultContainerExecutor LinuxContainerExecutor由配置参数控制: yarn.nodemanager.container-executor.class有NodeManager初始化的时候,进行加载org.apache.hadoop.yarn.server.nodema...
2019-04-22 16:36:15 2796 2
原创 管理类联考-逻辑 : 基础 [二]
选言选言判断就是断定几种事物情况至少有一种事物情况存在的判断。相容选言断定几种事物情况至少有一种存在(可同时存在)的判断或者,或者 : 相容选言.是,还是 : 相容选言.或 : 相容选言(1)选言肢有一个为真,相容选言判断为真。(2)选言肢都假时,相容选言判断为假。不相容选言...
2019-04-19 21:29:32 956
原创 管理类联考-逻辑 : 基础 [一]
综合能力考试中的逻辑推理部分主要考查考生对各种信息的理解、分析和综合,以及相应的判断、推理、论证等逻辑思维能力,不考查逻辑学的专业知识。试题内容涉及自然、社会和人文等各个领域,但不考查相关领域的专业知识。判断与负判断判断种类:负判断两个判断之间一真一假的关系称为矛盾关系理解矛盾关系:矛盾关系,一真一假判...
2019-04-19 20:09:18 826
原创 MAC版本: Hadoop3.2.0 源码编译 [ 二 ]
MAC版本,Hadoop3.2.0 提供了 docker 编译的方式.构建方式非常简单, 不过首先你要先安装好 docker.1.安装 docker (自行安装)需要设置一下共享目录:2.运行:start-build-env.sh等待构建完成.安装成功如图:3. 输入命令进行编译 $ mvn packa...
2019-04-19 00:02:01 1553
原创 Intellij IDEA设置忽略部分类编译错误
有些时候我们的项目中有些错误,但这些错误并不影响项目的整体运行(或许是没有使用到),默认情况下idea是无法通过编译的,因此也就无法部署运行,要达到正确运行项目的目的需要作一些设置才行。设置如下:...
2019-04-18 22:03:03 2285
原创 IntelliJ IDEA 修改内存大小
mac 版本:配置文件路径:/Applications/IntelliJ IDEA.app/Contents/bin/idea.vmoptions修改-Xms 最小内存-Xmx 最大内存建议改成一样值.设置完成之后,需要重启一下idea,然后就会看到下面的变化。注意右下角。如何显示的呢??好了,...
2019-04-18 21:40:56 5643
原创 Intellij IDEA中file size exceeds configured limit解决
把Hadoop源码导入IDEA中后,其中有个YarnProtos 文件代码为3.28MB,IDEA直接就不把它当java类看了,报file size exceeds configured limit错误。解决办法如下:你可以尝试修改intellij IDE安装目录下的bin/idea.properties,mac 地址为:/Application...
2019-04-18 21:30:46 5848
原创 Hadoop3.2.0 源码分析: NodeManager
概念NodeManager(NM)是YARN中每个节点上的代理,它管理Hadoop集群中单个计算节点,包括与ResourceManger保持通信,监督Container的生命周期管理,监控每个Container的资源使用(内存、CPU等)情况,追踪节点健康状况,管理日志和不同应用程序用到的附属服务。构造图:类图:...
2019-04-18 15:16:09 879 1
原创 Hadoop3.2.0 源码分析: ResourceManager启动
概述相信开始看源码的你,正在一点点的进入知识的殿堂,一起挖掘吧.ResourceManager 是Yarn 的资源调度中心,很重要,所有的资源申请都需要通过ResourceManager来调度.The ResourceManager is the main class that is a set of components."I am the ResourceMa...
2019-04-18 11:50:15 2572 1
原创 IntelliJ IDEA中设置忽略@param 注释参数不椅子报错
IntelliJ IDEA中如何设置忽略@param注释中的参数与方法中的参数列表不一致的检查解决方案如下:
2019-04-17 11:37:04 2994
原创 Hadoop3.2.0 源码编译 [一]
1.软件包版本:hadoop-3.2.0链接:https://pan.baidu.com/s/1wo8ysbGcHw5haOfKyKaEKA 密码:ygxj2.环境准备: * Unix System * JDK 1.8 * Maven 3.3 or later * ProtocolBuffer...
2019-04-13 09:47:26 8533 8
原创 mac/linux 安装cmake 3.1.0
最近在编译hadoop3.2.0源码的时候,发现cmake编译不过去,貌似需要调整cmake版本. (结果就是白折腾)估计是在安装 xcode9的时候, 软件自动做了升级.如果单独安装的话,推荐采用 brew install cmake .源码安装:cmake 版本: 3.1.0下载链接: https://pan.baidu.com/s/14rh...
2019-04-12 23:56:20 2586
原创 在Mac上搭建OpenJDK10源码调试环境
软件环境OS: macOS Sierra 10.14 IDE: Clion 2019.1 Code: OpenJDK 10下载IDE从JetBrains官网下载Clion,安装。导入项目打开Clion依次选择File>Import Project编辑配置如下图编辑DEBUG配置信息1.Executable选择之前build出...
2019-04-12 13:53:40 1370
原创 在Mac上编译OpenJDK10源码
官方说明 : Get the complete source code:hg clone http://hg.openjdk.java.net/jdk10/master Run configure:bash configure Ifconfigurefails due to missing dependencies (to either thetoolchain,...
2019-04-12 13:34:02 5923 4
转载 如何画出一张合格的技术架构图?
当我们想用一张或几张图来描述我们的系统时,是不是经常遇到以下情况: 对着画布无从下手、删了又来? 如何用一张图描述我的系统,并且让产品、运营、开发都能看明白? 画了一半的图还不清楚受众是谁? 画出来的图到底是产品图功能图还是技术图又或是大杂烩? 图上的框框有点少是不是要找点儿框框加进来? 布局怎么画都不满意…… 如果有同样的困...
2019-04-11 09:23:57 61884 2
原创 hadoop 3.x 50070端口无法访问 端口变更为9870
原来是3.x 版本NameNode 50070端口 -> 9870端口了所以把50070改成9870就可以了NameNode -http://localhost:9870/官方文档截图:单节点访问截图:...
2019-04-08 10:00:13 6159
原创 NIO与Socket笔记 :AIO的使用
AIO 也叫NIO2.0 是一种非阻塞异步的通信模式。在NIO的基础上引入了新的异步通道的概念,并提供了异步文件通道和异步套接字通道的实现。AIO 并没有采用NIO的多路复用器,而是使用异步通道的概念。其read,write方法的返回类型都是Future对象。而Future模型是异步的,其核心思想是:去主函数等待时间。小结:AIO模型中通过AsynchronousSocketChann...
2019-04-07 20:01:10 2163
原创 NIO与Socket笔记 :Selector 类的使用
Selector类的主要作用是作为 SelectableChannel对象的多路复用器。可通过调用 Selector类的 open()方法创建选择器,该方法将使用系统的默认 Selector Provider创建新的选择器。也可通过调用自定义选择器提供者的 openSelector()方法来创建 选择器。在通过选择器的 close()方法关闭选择器之前,选择器一直保持打开状态。通过...
2019-04-07 18:46:36 2095
转载 Google Protocol Buffer 的使用和原理
简介什么是 Google Protocol Buffer? 假如您在网上搜索,应该会得到类似这样的文字介绍:Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .proto 文件。他们用于 RPC 系统和持续数据存储系统。Protocol ...
2019-04-06 18:55:35 1595
翻译 JAVA面试常见问题200+
包含的模块Java 基础容器多线程反射对象拷贝Java Web异常网络设计模式Spring/Spring MVCSpring Boot/Spring CloudHibernateMyBatisRabbitMQKafkaZookeeperMySQLRedisJVM包含的模块本文分为十九个模块,分别是:J...
2019-04-06 16:53:58 3036
原创 NIO与Socket笔记 :Selector 的使用
选择器与 I/O 多路复用Selector选择器是 NIO 技术中的核心组件,可以将通道注册进选择器中,其主要作用就 是使用 1个线程来对多个通道中的已就绪通道进行选择,然后就可以对选择的通道进行数据 处理,属于一对多的关系,也就是使用1个线程来操作多个通道,这种机制在 NIO 技术中 称为“ I/O 多路复用” 。它的优势是可以节省 CPU 资源,因为只有 1 个线程, CPU ...
2019-04-04 18:44:27 2437
原创 NIO与Socket笔记 :实现Socket 通信[ 四 ]
基于UDP的Socket通信UDP (User Datagram Protocol,用户数据报协议)是一种面向无连接的传输层协议,提供不可靠的信息传送服务 。无连接是指通信时服务端与客户端不需要建立连接,直接把数据包从一端发送到另 一端,对方获取数据包再进行数据的处理 。UDP 是“不可靠的”,是指该协议在网络环境不好的情况下,会丢失数据包,因为没有数据包重传的功能,另外它...
2019-04-04 15:52:53 1688
jdk-8u251-macosx/linux/windows 多版本下载
2020-06-28
Flink基础教程.pdf
2019-05-28
深入理解计算机系统(原书第3版)PDF 计算机科学丛书 [美] 兰德尔 E.布莱恩特
2019-03-08
Java虚拟机规范(Java SE 8版) 带书签
2018-10-26
Thinking in UML(2 edition)
2014-06-24
《谁说菜鸟不会数据分析》入门篇-简版电子书
2014-06-24
[逻辑思维训练500题II].于雷.扫描版
2014-06-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人