- 博客(34)
- 收藏
- 关注
转载 Hadoop 学习 --- Yarn(四)
Hadoop – yarn1. Yarn 资源调度器 Yarn 是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而 MapReduce 等运算程序则相当于运行于操作系统之上的应用程序。1.1 Yarn 的基础架构YARN 主要由 ResourceManager、NodeManager、ApplicationMaster 和 Container 等组件构成1.2 Yarn 工作机制(1)MR 程序提交到客户端所在的节点。(2)YarnR
2022-10-01 18:13:46
295
原创 Hadoop 深入浅出 ---- MapReduce(3)
MapReduce1.MapReduce概述1.1MapReduce定义MapReduce 是一个分布式运算程序的编程框架,是用户开发“基于 Hadoop 的数据分析应用”的核心框架。MapReduce 核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个 Hadoop 集群上。1.2MapReduce 优缺点1.2.1优点1. MapReduce 易于编程它简单的实现一些接口,就可以完成一个分布式程序,这个分布式程序可以分布到大量廉价的
2022-03-17 15:29:17
680
1
原创 Hadoop 深入浅出----HDFS(2)
Hadoop( HDFS )1.HDFS 概述1.1 HDFS 产出背景及定义1.1.1 HDFS 产生背景 随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统。HDFS 只是分布式文件管理系统中的一种。1.1.2 HDFS 定义HDFS(Hadoop Distributed File System),它是一个文件系统,用于存储文件,通过目录树来定位文件;
2022-03-09 19:49:38
371
原创 Hadoop 深入浅出 ---- 入门 (1)
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2022-02-23 23:46:51
1770
原创 JVM - 垃圾回收器 - 垃圾回收(3)
垃圾回收器在垃圾回收中一些常见的概念内存溢出内存泄漏Stop The World(STW)垃圾回收中的并行和并发根节点的枚举安全点安全区域记忆集合卡表写屏障三色标记经典垃圾回收器Serial 收集器ParNew 收集器Parallel Scavenge 收集器Serial Old 收集器Parallel OldCMS 收集器Garbage First(G1) 收集器总结:GC 调优调优领域确定目标最快的 GC新生代调优老年代调优案例在垃圾回收中一些常见的概念内存溢出内存溢出相对于内存泄漏来说,尽管更容
2021-11-11 17:31:05
436
原创 JVM -垃圾回收算法 - 垃圾回收(2)
垃圾回收算法垃圾回收算法分代收集理论标记 - 清除算法标记 - 复制算法标记- 整理算法内存分配和策略空间分配的一个担保常用参数垃圾回收算法其实根据如何判断对象死亡的方式将垃圾回收算法可以判定为两种 “引用计数式垃圾回收 ” 和 “ 追踪式垃圾收集 ” ,这两种也被称为 “直接垃圾收集” 和 “间接垃圾收集”。而JVM 主要使用就是后者,也是下文介绍的重点。分代收集理论很多人喜欢将分代收集作为一种收集算法,其实这个更偏向于是一种理论,在往后的垃圾回收器中,也是采用了分代收集理论为基础,使用不同的垃
2021-11-11 14:14:21
470
原创 JVM -四种引用-垃圾回收(1)
四种引用和Finalize 方法如何判断一个对象已死?可作为GC Roots 对象有哪些?四种引用强引用(Strongly Reference)软引用(Soft Reference)弱引用(Weak Reference)虚引用(Phantom Reference)Cleaner 的使用finalize() 方法的详解在说引用之前我们,常会判断一个对象是否已死,这个会涉及到两种算法,以至于会影响虚拟机的垃圾回收的方式和垃圾回收器的应用。如何判断一个对象已死?两种算法:引用计数法,可达性分析算法应
2021-11-11 10:47:22
296
原创 Docker 容器 ---- 学习
Docker从入门到实战什么是容器?再来看看容器较为通俗的解释什么是Docker ?Docker思想Doceker 的特点Docker 的镜像Docker 容器DockerHub 仓库Docker 架构Docker 解决了什么问题1.应用部署的环境问题2.Docker解决依赖兼容问题3.Docker解决操作系统环境差异4 . 总结Docker 和虚拟机之间有什么区别?Docker 的安装Docker 的命令基本命令镜像的操作容器相关的命令总结数据卷数据集操作命令挂载数据卷小结Dockerfile自定义镜像镜
2021-11-08 16:12:01
739
原创 JVM -------- 类的加载机制
类加载机制一个类被加载时的生命周期类的加载类的验证类的准备类的解析类的初始化类加载器双亲委派模型一个类被加载时的生命周期要是严格意义上划分就可以划分为七个阶段要是不考虑使用 其实可以划分为三阶段 :加载 , 连接 , 初始化类的加载将类的字节码载入方法区,并创建类.class 对象如果此类的父类没有加载,先加载父类加载是懒惰执行如果 有 static final 修饰的基本类型,在加载的时候也会一并赋值这个Class 类对象在堆中, 是作为程序访问方法区中的类型数据的外部接口。
2021-11-01 15:43:29
112
原创 面试题 ------Redis
最重要的缓存数据库什么是NoSQL数据库NoSQL(NoSQL = *Not Only SQL* ),意即“不仅仅是SQL”,泛指**非关系型的数据库**。NoSQL 不依赖业务逻辑方式存储,而以简单的key-value模式存储。因此大大的增加了数据库的扩展能力。l 不遵循SQL标准不支持ACID远超于SQL的性能。NoSQL适用场景对数据高并发的读写海量数据的读写对数据高可扩展性的NoSQL不适用场景需要事务支持基于sql的结构化查询存储,处理复杂的关系
2021-11-01 11:33:29
107
原创 Spring 的 初始化 ------- refresh()
Spring 的初始化想必,Spring 不陌生吧,Java 中核心框架了吧,面试官常问的一个点,源码写的也是最漂亮的一个框架。 核心是 IOC 和 AOP , IOC 说白了 就是一个容器,将所有的都放在一起进行管理 ,AOP 就是动态的在你执行这些 Bean 中的方法的时候,加入一些增强的功能。Spring 也强大在于它的兼容性,其中容器在初始化的时候就是一个加载 Bean 的过程,十分重要。Spring IOC 有几种初始化的方式ClassPathXmlApplicationContext
2021-10-31 19:46:40
114
原创 探索的核心基础 ------- AQS
AQS 基础什么是 AQS想必大家都对其不怎么陌生,面试常考的一个知识点。全称是 AbstractQueuedSynchronizer,是阻塞式锁和相关的同步器工具的框架特点:用 state 属性来表示资源的状态(分独占模式和共享模式),子类需要定义如何维护这个状态,控制如何获取锁和释放锁getState - 获取 state 状态setState - 设置 state 状态compareAndSetState - cas 机制设置 state 状态独占模式是只有一个线程能够访问
2021-10-30 12:56:30
118
原创 SpringBoot 的强大 (1)
Spring Boot 的强大Spring Boot 的优点能创建独立的Spring 应用内嵌 WEB 服务器自动 stater 依赖,简化构建配置。自动配置spring 以及第三方功能提供生产级别的监控,健康检查和外部配置无代码生成,无须编写 XML配置Spring Boot 的特点1. 依赖管理依赖管理 <parent> <groupId>org.springframework.boot</groupId>
2021-10-27 13:40:03
141
原创 多线程的创建 ------ 线程池
线程池1.说到线程,就不得不说线程的创建方式了继承Thread 类,将子类对象传入Thread 的构造方法中实现 Runnable 接口 ,将接口的实现类传入到 Thread 的构造方法实现 Callable 接口 ,将接口的子类对象 传入FutureTask ,因为这个类实现 Runable 接口,就可以创建线程,但是这个是可以有返回值的线程池创建 ( 这个是今天的重点)2. 创建线程池的方法有哪些呢 ?这个我们先绕一下弯子, 去查看线程池 ThreadPoolExecutor 的构造方
2021-10-26 11:00:09
331
原创 面试题系列----计算机网络
计算机网络的面试题通过各种资料的整理,面经,还有给各个大佬的摘录计算机网络计算机网络的面试题说一下计算机网络的结构与参考模型说一下每一层所用到的协议,并在数据传输过程中干了什么,用了什么设备。TCP/IP的协议群说一下IP地址的作用和Mac地址的作用ARP协议的工作原理IPV4和IPV6有啥区别 ?IP地址的编址分类,和子网的编址TCP三次握手为啥不是两次握手TCP四次挥手TCP四次挥手的时候,先发起方为什么会有一个TIME_WAIT状态,它的作用是什么?TCP如何保证可靠传输TCP与UDP的区别T
2021-09-05 22:58:15
230
1
原创 面试系列-----操作系统
计算机操作系统面试题说一下操作系统的特征并发说到并发不得不说一下并行,并行是指在同一段时间内两个程序在同时执行,而并发是指在同一时间内两个程序在同时执行,好比同时开了两个进程,并行是在某个时间点上两个同时在运行,并发在宏观上在并行,但是微观上在串行执行共享互斥共享:指的是在同一时间内某个资源只允许一个进程访问同时共享:指某个资源在同一时间内允许多个线程访问虚拟时分复用技术:虚拟处理器空分复用技术:虚拟存储器异步多道程序环境允许多个程序并发执行,但由于资源有限,如cpu只有一个,进程的
2021-09-05 11:13:53
92
原创 面试最常考的算法---LRU和LFU
面试最常考的算法—LRU和LFU本题来自leetcode。这个方法是我自己写的,思路十分清晰。1.LRU题目运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制 。实现 LRUCache 类:LRUCache(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。void put(int key, int value) 如果关键字已经
2021-08-16 16:29:05
470
原创 每日算法Leetcode --- 剪绳子
每日算法Leetcode — 剪绳子本文中的题都来自leetcode和剑指offer1. 题目给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]…k[m-1] 。请问 k[0]k[1]…*k[m-1] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。思路因为这个主要就在于减多少合适?最简单的肯定不减一米长的乘积不影响大小(除非
2021-08-15 23:24:21
560
原创 面试题系列------Mysql
Mysql面试题本文主要以面经中的面试题为主,整建面试题库1.varchar 和char的区别CHAR的长度是不可变的,而VARCHAR的长度是可变的,也就是说,定义一个CHAR[10]和VARCHAR[10],如果存进去的是‘ABCD’, 那么CHAR所占的长度依然为10,除了字符‘ABCD’外,后面跟六个空格,而VARCHAR的长度变为4了,取数据的时候,CHAR类型的要用trim()去掉多余的空格,而VARCHAR类型是不需要的。CHAR的存取速度要比VARCHAR快得多,因为其长度固定
2021-08-14 14:21:07
130
原创 org.apache.jasper.JasperException: /WEB-INF/menu-page.jsp (line: 108, column: 1) File [modal-menu-a
记录一个错误org.apache.jasper.JasperException: /WEB-INF/menu-page.jsp (line: 108, column: 1) File [modal-menu-add.jsp] not found这个错误时我在jsp页面进行静态导入的时候发生的 ,当服务器启动之后,一直说是找不到页面,但是在对应的地址之下页面的确存在。解决办法首先检查地址一定不能有误我的错误是因为引入的jsp可能创建的方式不同导致头文件不同<%@ page langua
2021-08-10 23:37:17
1224
原创 面试题打卡-------智力题
经典智力题开始进入面试期每天坚持打卡做面试题1.切香问题假如有两注不均匀的香,每柱燃烧完要1小时,怎样用两柱香切15分钟这个题很经典,注意要点是都能烧一个小时,但是很不均匀,不均匀但是两根香是一样长的且一样的。但是15分钟正好是一个小时的四份之一,所以就是一个突破口。分为以下三步先点一根香的两端,烧完后,再烧尽的地方在另一香上做标记,并在标记处将香折断。同样,在将一折断的香用上次的方法标记;折断。每一小段都能测15分钟。2.喝啤酒问题假如在啤酒店里,如果三个空瓶子可以换一个啤
2021-08-10 14:05:22
117
原创 Uncaught TypeError$(.).pagination is not a function
Uncaught TypeError$(.).pagination is not a function1.这个错误是我在使用pagination插件的时候出现的错误。这个问题的主要原因,就是找不到这个方法。但是解决起来很麻烦,很费劲。找了很多方法,最后总结以下因为这个包是依赖域 jQuery的js包的,所以必须要导在 jquery 的包后边,所以一定要注意这个问题和第一种类似,也有的人因为是重复的导包,前边导过一遍 jquery的包了,在后边又导了一遍,造成了覆盖,第三种,就是压根把后者的包根
2021-08-06 12:52:18
1474
2
原创 用ADC0809实现八通道采集
1.ADC0809的概述ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D模数转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。仅在单片机初学应用设计中较为常见。1.1芯片特点8路输入通道,8位A/D转换器,即分辨率为8位。具有转换起停控制端。转换时间为100μs(时钟为640KHz时),130μs(时钟为500KHz时)。单个+5V电源供电。模拟输入电压范围0~+5V,不需零点和满刻度校准。
2021-06-17 12:48:30
21818
25
原创 Java最全的设计模式之行为模式的后六种
21备忘录模式21.1备忘录模式的定义在不破坏封装的前提下捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。这个模式就相当于注销的功能一样,回到之前的状态21.2备忘录模式的结构Originator(原发器):一个普通类,通过这个类去创建一个备忘录Memento(备忘录):用于储存原发器的内部状态,根据原发器来保存那些内部状态Caretaker(负责人):管理者,负责保存备忘,不能对其进行操作或检查21.3备忘录模式的实现我们用下象棋来模仿一
2021-06-14 13:23:47
166
原创 Java最全的设计模式之行为设计模式前六种
16职责链模式16.1行为模式的定义行为模式关注系统中对象之间的交互,研究系统在运行时对象之间的相互通信协作,进一步明确对象的职责。行为模式不仅关注类和对象本身,还重点关注他们之间的相互作用和职责划分。行为模式分为类行为模式 和对象行为模式两种16.2职责链模式的定义避免将一个请求的发送者与接收者耦合在一起,让多个对象都有机会处理请求。将接收的对象连接成一条链,并且沿着这条链传递请求,直到有一个对象能够处理他为止。比如关于学生的事务,总是先从班主任处理开始,处理不了找年纪主任,再处理不了再找院
2021-06-14 13:16:44
280
原创 Java最全的设计模式之结构型模式
这篇接着上篇,结构型模式包含了七种,没有看过上篇的可以点击超链接[Java设计模式之创建型模式](https://blog.csdn.net/m0_53048901/article/details/117531703)Java设计模式之创建型模式9.适配器模式9.1结构型模式9.2适配器模式的定义9.3适配器模式的结构9.5缺省适配器模式9.6双向适配器9.7适配器的优缺点9.8适配器的适用环境10.桥接模式10.1桥接模式的定义10.2桥接模式的结构10.3桥接模式的实现10.4桥接模式的优缺点1.
2021-06-07 10:07:09
236
1
原创 Java最全的设计模式之创建型模式
1.设计模式的概述1.1什么是模式? 模式就是在特定环境下人们解决某类重复出现问题的一套成功或者有效的解决方案。1.2设计模式的发展设计模式是从软件模式中一步步总结而来,最开始的23种设计模式,也是最经典的23种设计模式。1.3设计模式的定义? 设计模式是在特定环境下为解决某一通用软件设计问题提供的一套定制的解决方案,该方案描述了对象和类之间的相互作用。 设计模式就是一套被反复使用的,多数人知晓的,经过分类编目的,代码设计经验的总结,使用设计模式是为了可重用代码,让代码更容易被他人理
2021-06-03 20:22:38
314
原创 Cause: org.apache.ibatis.type.TypeException: Error setting non null for parameter #1 with JdbcType
Cause: org.apache.ibatis.type.TypeException: Error setting non null for parameter #1 with JdbcType null连着好几次遇到这个错误,今天记录一下,这个错误主要是由于mybatis的配置文件引起的,这块mybatis,是一个很优秀的关联数据库的框架,但是我学的时候遇到的错误却是最多的,主要就是对于配置的映射不熟悉造成的,这个框架的底层很大程度的利用了反射机制,去映射到实体类,十分方便,但是一定要搞清楚映射关系。
2021-05-09 19:49:34
10533
1
原创 动态Sql实现方法重载
利用动态Sql实现方法重载1.当我们遇到方法重载的时候,在JavaWeb阶段由于要写不同的sql语句,只能写两个方法,去写不同的sql语句,但是当学完mybatis之后就可以解决这个问题了,如下面的例子。public List<Book> queryForPageItems(@Param("begin") int begin, @Param("pageSize")int pageSize);public List<Book>queryForPageItems(@Param("
2021-05-08 16:40:20
260
4
原创 希尔排序和归并排序以及快速排序
高级排序高级排序高级排序1.希尔排序2.归并排序3.快速排序4.快速排序和归并排序的区别5.几种快速排序的测试6.排序的稳定性所谓高级排序就是在比时间复杂度上比简单排序更快一点,尤其是排序数量大时,排序起来耗费时间少,这是最根本的,常见的简单排序中冒泡排序,选择排序,插入排序,它们的时间复杂度都是O(N^2),而高级排序,希尔排序,归并排序,和选择排序的时间复杂度要小一点,可以更好的提高效率。1.希尔排序希尔排序是插入排序的一种,又称“缩小增量排序”,是插入排序算法的一种更高效的改进版本。选
2021-05-04 14:31:38
978
1
原创 新手如何快速上手Proteus画电路图以及pcb版
新手如何快速上手Proteus画电路图以及pcb版首先,我们得先在软件Proteus8 Professional,可以在网上找安装包,或者微信公众号,搜索一些关于软件安装的公众号进行搜索,里面会有配套的安装教程和破解方法,先要确保软件安装正确。点击新建工程这里选择一个你自定义的文件夹尽量在桌面建一个专门放工程的文件夹,因为在用软件时,会产生一些配置文件,有时候复制工程时,没有这些文件,会导致工程出错。特别注意的是你的工程名一定要是英文,不能有汉字,不然往后操作会出大问题,文件夹也是,命名
2021-05-03 10:57:55
39289
11
原创 冒泡排序和选择排序以及插入排序的实现
冒泡排序和选择排序的实现1. 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。比较相邻的元素。如果前一个元素比后一个元素大,就交换这两个元素的位置。对每一对相邻元素做同样的工作,从开始第一对元素到结尾的最后一对元素。最终最后位置的元素就是最大值。public class Bubble { public Bubble(){ } //对数组内的元素进行排序 public static void sort(Comparable[] a){ for(int
2021-05-02 23:57:57
147
1
原创 ==和equals()之间的区别
==和equals()之间的区别1.==和equals():==用于比较基本数据类型时,比较的是值,比较应用类型的时候比较的是指向的地址值。equals()对于基本数据类型来说,没有equals方法,但是对于引用类型来说,equals比较的是的也是内存地址值,但是当类重写了equals方法之后就是比较值。int a= 10 ;long b = 10 ;System.out.println(a==b) ; //truedouble c =10 ; //在比较的时候类型自动转型Syste
2021-05-02 09:13:14
100
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人