自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 JAVA-JVM-内存模型

1.简单的缓存模型:早期,CPU要读取数据,需要先把数据从硬盘加载到RAM,主内存中,CPU再从主内存中读取数据,但是CPU与主内存之间的运行速度相差越来越大。为解决两者之间的差距,在CPU和RAM之间加了一层 CPU缓存(CPU高速缓存),CPU高速缓存的运行速度跟CPU差不多,在运算过程中,会把数据加载到CPU高速缓存中,CPU再从高速缓存中读取数据,来解决CPU与主内存之间的差距。2.复杂版3.JMM内存模式:JAVA多线程内存模型跟CPU缓存模型类似,是基于CPU缓存模型来建立的,J

2021-06-09 23:37:18 193 1

原创 JAVA-JVM-原理优化篇

JVM(Java Virtual Machine java虚拟机)jvm的工作原理:java语言最大的特点是可以跨平台操作,是因为java将写好的目标代码装载在一个叫JAVA虚拟机的平台上,这样恶意保证在不同平台上运行时,不需要再次编译代码。运行的代码其实是在JVM中,即代码不是直接运行在我们操作平台,所以JVM调优核心是如何让JAVA源代码在JVM中运行的效率最高。影响JVM运行效率的核心指标是内存的使用,所以我们通常说JVM调试都是在谈论内存分配的问题。Class Loader: 类的加

2020-10-25 22:47:52 226

原创 JAVA-数据库-索引

1.索引概念:概念:类似于书目录,用于条件查询的时候提高查询的效率。过程:先查查询索引,再通过索引找到相关的数据(一个索引有多个字段,要把最准确的条件放在第一个,索引选择会以第一个字段为主,进行选择使用哪条第一个字段相同其他字段不同的索引)。保存:索引本身也是通过文件来进行保存的。2.索引的类型:顺序索引:根据值的顺序进行排序(建立的索引字段值顺序的放在索引文件中。)散列索引:将值平均分配到若干个桶中,通过散列函数进行定位查找。顺序索引:聚集索引:被索引的字段本身按照一定的顺

2020-09-13 22:34:14 494

原创 JAVA-缓存-布隆过滤器

布隆过滤器Data structures are nothing different. They are like the bookshelvesof your application where you can organize your data. Different datastructures will give you different facility and benefits. To properlyuse the power and accessibility of the data

2020-09-13 21:16:48 279

原创 JAVA-数据库-SQL

一、SQL简介SQL是用于访问和处理数据库的标准的计算机语言。SQL是指结构化查询语言,全称是 Structured Query language。二、一些重要的SQL语句SELECT - 从数据库中提取数据UPDATE - 更新数据库中的数据DELETE - 从数据库中删除数据INSERT TO - 向数据库中插入新数据CREATE DATABASE - 创建新数据库ALTER DATABASE - 修改数据库CREATE TABLE - 创建新表ALTER TABLE -

2020-08-30 19:16:41 210

原创 JAVA-网络服务-网络关卡(网关)

1.什么是网关:网关(Gateway)又称网间连接器,协议转换器。网关在网络层以上实现网络互连,是复杂的网络互连设备,仅用于两个高层协议不同的网络互连。 网关是一种充当转换重任的计算机系统或设备。使用在不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。同层–应用层。那么网关到底是什么呢?网关实质上是一个网络通向其他网络的IP地址。比如有网络A和网络B,网络A的IP地址范围为“192.16

2020-08-22 21:58:29 1180 1

原创 JAVA-网络服务-代理服务器

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2020-08-22 20:40:18 622

原创 JAVA-微服务-SpringCloud-3-Ribbon与Feign

一、Ribbon 简述Ribbon是spring cloud 的客户端负载均衡组件。SpringCloud Ribbon 是一个基于HTTP 和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。通过Spring Cloud的封装,可以让我们轻松的,面向服务的REST模板请求自动转换成客户端负载均衡的服务调用。...

2020-06-09 18:51:09 169

原创 JAVA-微服务-SpringCloud-2-Eureka实例

一、创建Eureka Server创建一个Spring项目在创建项目的过程中选择Spring Cloud Discovery–>Eureka Server配置Spring 的Pom.xml配置文件Pom.xml <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</

2020-06-04 18:46:17 209

原创 JAVA-微服务-SpringCloud-1-Eureka简述

一、Spring Cloud Eureka 简述Eureka 是 Netflix开发的,一个基于REST服务的,服务注册和发现的组件。Eureka 包括 Eureka Server 和 Eureka Client,Eureka server 即注册中心,EurekaClient启动会向 Eureka Server 注册,这样其他的Eureka Client访问Eureka Server即可拿到注册了的Eureka Client 的信息。...

2020-06-03 14:44:14 215

原创 JAVA-Java编程中的注解

一、@RestController 与@Controller@RestController :从Spring 4.0后,用于将json/xml数据发送到前台界面,而不是 返回视图界面。@RestController加在类上面的注解,使得类里面的方法都将json/xml返回数据加载到前台界面中。@RestControllerpublic class SpringBootControlle...

2020-03-17 14:17:53 109

原创 JAVA-消息中间件-RabbitMQ

未开始

2019-11-28 22:33:51 157

原创 JAVA-消息队列使用的场景

消息队列场景:异步处理,应用解耦,流量削锋,日志处理,消息通讯。①异步处理:场景:用户进行注册,需要发送邮件和发送短信。传统的处理方式:1.串行 2.并行1.串行: 将注册信息写入数据库成功后,发送注册邮件,再发送注册短信,以上三个步骤全部完成,才会返回给客户端。https://www.cnblogs.com/ruiati/p/6649868.html (原文,非常好)...

2019-11-28 16:45:02 358

原创 JAVA-消息队列及分布式消息队列原理

原文章:https://www.cnblogs.com/middleware/p/9178734.html一、什么是消息队列消息队列是在消息的传输过程中保存消息的容器,队列的主要目的是提供路由并保证消息的传递。 如果发送消息时接受者不可用,消息队列会保留消息,知道可以成功传递消息。消息队列是一种异步的服务间通信方式,是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题,实现高...

2019-11-28 15:22:58 745

原创 JAVA-消息中间件-kafka

高吞吐低延迟的高并发、高性能的KAFKA原理kafka在大数据领域有着极其广泛的应用。一个配置好的kafka集群能够达到几十万甚至上百万的并发写入。kafka的这种高性能可以从两个方面来进行描述:写在kafka进行数据写入时,采用 页缓存技术和磁盘顺序写。页缓存技术:在kafka每次接收到数据都会往上磁盘进行写数据。但是这样是有一个问题:把数据写入到磁盘上,这样的工作效率是很低的。...

2019-11-22 18:01:49 592

原创 JAVA-关于多线程

1.多线程的定义:多线程是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因为硬件上的支持,能够在同一个时间执行多于一个的线程,进而提升整体的处理性能。2.多线程的作用:多线程只有一个目的,那就是更好的利用CPU的资源,所有的多线程都可以用单线程来实现。3.并行和并发:并行:多个CPU...

2019-11-21 23:03:59 91

原创 StringUtils

关于StringUtils的两个常用方法:isEmpty和isBlankStringUtils 方法的操作对象是 Java.lang.String 类型的对象,是 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String 为 null 则不会抛出 NullPointerException ,而是做了相应处理,例如,如果输入为 null 则返回也是 ...

2019-09-24 10:53:00 122

原创 关于对象的构造函数中的super和this

一。this1.创建对象的步骤: a.分配对象空间,并将对象成员变量初始化为0或者null b.执行属性值的显示赋值 c.执行构造方法 d.返回对象的地址给相关的变量2.this的本质:创建好的对象的地址:由于在构造方法调用前,对象已经创建,因此,在构造方法中可以使用this代表“当前对象”。this表示一个对象的引用,它指向正在执行方法的对象。在构造方法中,通过this关...

2019-09-02 00:44:03 271

原创 关于HDFS中NameNode和Secondry的合并机制问题

一、FSImage和EditsLog是什么?我们知道HDFS是一个分布式文件存储系统,文件分布式存储在多个DataNode节点上。一个文件存储在哪些DataNode节点的哪些位置的元数据信息(metadata)由NameNode节点来处理。随着存储文件的增多,NameNode上存储的信息也会越来越多。那么HDFS是如何及时更新这些metadata的呢?  在HDFS中主要是通过两个组件FSIm...

2019-03-28 14:16:59 515

转载 关于Hadoop1.0与2.0

关于Hadoop的局限性与不足:1.抽象层次低:对于简单的功能,编写大量的代码。2.表达能力有限,MR把复杂分布式编程工作高度抽象到两个函数上,即MAP与REDUCE 上,实际生产环境上中有些不能只用简单的两个函数完成。3.要管理作业间复杂的依赖关系。实际应用通常需要大量的job协作完成,job之间往往存在复杂的依赖关系。4.迭代效率低。对于需要迭代的任务。需要反复读写HDFS文件中的数据...

2019-03-27 19:49:14 881

原创 linux系统虚拟机安装jdk

一般当创建一个新的虚拟机时,会自带一个jdk1、检查一下系统中的jdk版本[root@localhost software]# java -version显示:openj dk version “1.8.0_102”OpenJDK Runtime Environment (build 1.8.0_102-b14)OpenJDK 64-Bit Server VM (build 25.10...

2019-03-12 11:15:47 160

转载 关于linux虚拟机安装tools

Linux安装 VMware tools 工具的方法VMware虚拟机中如何安装VMWare-Tools详解好处:可以支持图形界面,可以支持共享文件功能等1 工具/原料1)安装过虚拟机软件的计算机2)linux操作系统3)虚拟机配置VMware tools文件,点击工具栏上的【虚拟机】,然后选择【虚拟机设置】,再选择CD/DVD(IDE)硬件,使用ISO映象文件,选择如下目录(我虚拟机...

2019-03-11 11:51:58 1151

原创 LINUX安装虚拟机时安装步骤和进入bios解决intel vt -x

1.下载VMware2.下载iso镜像文件:http://archive.kernel.org/centos-vault/6.1/isos/x86_64/3.安装过程中出现问题:关于此问题:(联想thinkpad)⒈重启电脑时,按F1进入BIOS界面,选择security2.进入security,选择Virtualization3.选择Enabled,选择完毕按F10,进行保存退...

2019-03-11 11:05:15 7145

原创 Redis简介

Remote Dictionary server (redis)是一个key-value的存储系统redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存可持久化的日志型、key-value数据库,并提供多种语言的API,它通常被称为数据结构服务器,因为value可以是String,哈希(map),列表(list),集合(sets)和有序集合(sorted set...

2019-02-13 14:53:43 169

原创 java知识之servlet专题

servlet简介:servlet的简介:Servlet是sun公司提供的一门用于开发动态web资源的技术Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个java程序向浏览器输出数据)需要完成以下两个步骤:1、编写一个java类,实现servlet接口2、把开发好的java类部署到web服务器中。按照一种约定俗称的称呼习惯,通常我们也实现了...

2019-01-03 10:52:40 149

原创 关于进程和线程以及两者之间的关系

线程和进程的关系:处理多线程就是异步,单线程就是同步同步是阻塞模式,异步是非阻塞模式从一定意义上讲,进程就是一个应用程序在处理机上的一次执行过程,它是一个动态的概念,而线程是进程中的一部分,进程包含多个线程在运行程序是一个没有生命的实体,只有处理器赋予程序生命时,它才能成为一个活动的实体,我们称其为 进程线程和进程的区别在于,子进程和父进程有不同的代码和数据空间,而多个线程则共...

2019-01-02 17:06:42 3164

原创 java篇--小知识总结:

maven中的配置信息:=基本配置=依赖配置=构建配置=项目信息=环境设置基本配置:modelVersion:pom模型版本,maven2和问3只能为4.0.0groupId:组ID,maven用于定位artifactId:在组中的唯一ID用于定位version:项目版本packaging:项目打包方式,有以下值:pom,jar,maven-plugin,ejb,war,ea...

2019-01-02 16:31:11 102

原创 SparkSQL

1.Hive的复习:

2018-11-18 16:34:57 425

原创 Executor内存管理以及shuffle的调优

晚上更新

2018-11-15 18:52:17 368

原创 算子

1.MapPartition:遍历的单位是每一个partition遍历原理:将每一个partition的数据先加载到内存,然后一条一条的遍历MapPartition:遍历的单位是每一个partitionMap:遍历单位是每一条记录MapPartition定义:问题:应用场景:将RDD的数据写入mysql orcale 应该选哪一个算子遍历RDD?map? mapPartition...

2018-11-12 23:42:11 347 1

原创 Spark shuffle --------- MR shuffle

1.复习:MR的shuffle在MR中,shuffle分为两个阶段,分别为shuffle write 和 shuffle read在shuffle writer阶段,会有 写数据-聚合-排序-写磁盘(产生磁盘小文件)-归并排序,合并成大文件在shuffle read阶段,拉取数据写入内存-排序-溢写-合并分组在MR中,排序的是强制的,为了后续的分组2.Spark shuffle:分为...

2018-11-11 23:37:01 430

原创 在yarn上安装spark,以及遇到的问题

安装:安装在客户端:解压包解压在 /opt/software/spark(自己定义的目录)配置文件:修改slaves文件:其中配置worker的节点修改配置文件:spark-env.sh,配置hadoop相关信息3.修改命令:sbin目录下的 start-all.sh 改为: start-1.6.3.sh(自定义)4.修改环境变量:问题:1.在内存充足的情况下,运行时...

2018-11-05 19:07:28 319

原创 spark知识总结

spark前置知识总结:1.spark专业术语:关于任务application:用户写的应用程序(由两部分组成: Driver program + Execuotr program)Job:一个action类算子触发执行的操作,有多少个action类算子就有多少个jobstage:一组任务, map task 一组任务(task) 就是一个stagetask:(threa...

2018-11-02 20:22:28 501

原创 scala基本的知识点

1.scala数据类型:许多与java中相同的:byte short int long float double char String boolean(八大数据类型)其他:Unit:表示无值,和其他语言的void等同Null:空值或者空引用Nothing:所有其他类型的子类型,表示没有值 (防止空指针)Any:所有类型的超类,任何实例都属于Any类型Anyref:所有引用类型的...

2018-10-24 21:08:46 287

原创 Hive的初始化和架构

Hive的初始化:1.Hive是一个构建数据库的工具2.两份数据 源数据 和 元数据(其中包括行的分隔符和字段的分隔符字段类型和字段名称,用来将来映射成表的时候可以明确有多少行和多少列)3.mysql是把数据存储到本地磁盘,hive把源数据存放在HFDS上,把元数据存在了数据库中4.Hive支持sql语句进行数据的处理5.hive操作从sql到MR的过程HIVE架构:...

2018-10-22 20:51:00 513

原创 Mapreduce的原理

在上图中,有详细的流程以及个部分进行的操作:所以进行补充:shuffle write阶段,当把数据进行分区完后往buffer中写时,一旦写满80M,则会把这80M进行封锁,封锁的目的是为了能进行有效的排序,如果不封锁进行排序,排序的结果是不对的。当进行封锁以后,buffer留出了20M的内存,防止操作的阻塞。相同的问题在shuffler read阶段,相同的分区的数据往内存中写入时,此时内...

2018-10-18 15:45:57 204

原创 Yarn集群的搭建

1.首先,Yarn集群的搭建是建立在高可用完全分布式上进行搭建的2.修改配置文件(每台服务器都需要修改)2.1修改配置:mapred-site.xml(此文件在hadoop的etc下的mapred-site.xml中,原名需要在后删除一部分,得到此配置文件)&lt;property&gt; &lt;name&gt;mapreduce.framework.name&lt;/na...

2018-10-16 21:27:34 278

原创 HDFS分布式存储

1. Hadoop历史:1.1创建者:&nbsp;Doug Cutting1.2名字起源:&nbsp; Doug Cutting 的孩子的棕黄色大象玩具的名字1.3三驾马车:谷歌的三驾马车:&nbsp;&nbsp;GFS、MapReduce和BigTable根据谷歌的三驾马车得到了:HDFS、Hadoop、HBase1.4hadoop生态圈:HDFS:分布式存储Yarn:分布式资源...

2018-10-15 19:02:17 299

原创 高可用完全分布式安装步骤

1.4台服务器node01 node02 node03 node04集群规划:node01 :NN-1、ZKFC、 JNNnode02 :NN-2、 DN、 ZK 、ZKFC、 JNNnode03 : DN、 ZK、JNNnode04 :ZK 、JNN2.配置好jdk3.配置免密钥node01-&gt;node01 node01...

2018-10-12 21:05:29 321

原创 HDFS完全分布式安装

1.4台服务器:node01 node02 node03 node04node01上有namenodenode02上有放有secondarynamenode和datanodenode03、node04上有datanode2.4台服务器配置好jdk3.设置4台服务器的网络:cd /etc/sysconfig/network-scripts/ vi ifcfg-eth0...

2018-10-11 15:41:30 260

空空如也

空空如也

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

TA关注的人

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