自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java语言框架

Java语言知识框架

2022-06-25 11:40:18 221 1

原创 Redis笔记

redis相关笔记

2022-06-20 16:49:20 103

原创 云化的思考

公有云架构公有云采用解决方案+云服务的模式,解决方案将各种云服务组合成特定行业的解决方案解决特定行业的客户问题,从而进行售卖解决方案HCS 面向私有云,专有云,接将机器+云服务同时卖出 服务私有云伙伴云:将公有云做成服务+产品行业解决方案:将云服务、Paas+Saas能力组合柜起来,深入细分行业SaaS+aPass应用生态:SaaS服务打包到解决方案中,行业的Pass服务(aPass)解决方案管理:流程+沙盘云服务云服务,不单单停留在软件层面,深度进入到硬件,同时加深与SaaS的业务的

2022-05-21 00:13:54 191

原创 Yarn笔记

Hadoop集群Yarn+HDFS 逻辑器上分离,物理上一起MapReduce计算框架 + Yarn资源调度框架MapReduce架构JobTrackerTaskTrackerYarnYarn架构Resource Manager调度算法:Fair Scheduler、Capacity SchedulerYarn进行资源分配的单位是容器(Container),每个容器包含了一定量的内存、CPU等计算资源应用程序管理器负责应用程序的提交、监控应用程序运行状态等,应用程序启动后需要在集群中

2022-05-21 00:13:15 124

原创 Spark

简介RDD的编程模型更简单,DAG切分的多阶段计算过程更快速,使用内存存储中间计算结果更高效以Spark为基础,有支持SQL语句的Spark-SQL,有支持流计算的Spark-Streaming,有支持机器学习的MLlib,还有支持图计算的GraphX。利用这些产品,Spark技术栈支撑起大数据分析、大数据机器学习等各种大数据应用场景。RDD弹性数据集(Resilient Distributed Datasets)是Spark的核心概念,大规模数据集合抽象成一个RDD对象,然后在这个RDD上进行各种计

2022-05-21 00:12:54 77

原创 RPC讲解

RPC Remote Protocal CallRPC 框架的目标就是让远程服务调用更加简单、透明,RPC 框架负责屏蔽底层的传输方式(TCP 或者 UDP)、序列化方式(XML/Json/ 二进制)和通信细节。服务调用者可以像调用本地接口一样调用远程的服务提供者,而不需要关心底层通信细节和调用过程。支持多语言的 RPC 框架Google 的 gRPC,当前支持 C、Java 和 Go 语言Apache(Facebook)的 Thrift支持特定语言的 RPC 框架新浪微博的 Motan阿里的

2022-05-21 00:12:29 97

原创 大数据SQL引擎

Presto的整体架构Presto CLIPresto CoordinatorPresto Worker元数据 存储在Hive中,Metastore中 CatalogImpala SQL的解析引擎, 不依赖MR,依赖Hive中的元数据,编译为执行计划树,省去了大量的shuffle的尽可能使用内存,底层使用C++代码来执行,不支持UDFImpala不依赖Yarn进行调度Google 新三驾马车 (Caffeine – 网络搜索引擎,Pregel – 分布式图计算, Dremel –

2022-05-21 00:11:57 173

原创 青春忙茫的能力

作为一个出道7年的IT行业选手,具备什么技能,素质和思想,才能早日实现财富自由1.理论1.1 初级算法导论计算机网络导论1.2 高级人工智能2.技能2.1 基本技能2.1.1 工具1、版本工具Git技能图谱2、IDE之Idea技能图谱2.1.2 操作系统1、Linux系统导论图谱2、Shell技能图谱2.2 语言1、Java技能图谱(包含基于Guava的扩展)2、Python技能图谱3、Golang技能图谱2.3 框架2.3.1 Spring知识框

2022-05-21 00:11:24 87

原创 Linux学习笔记

Linux文件系统硬盘 /dev/sd[a-]虚拟盘 /dev/vd[a-p]硬盘 包括【磁柱,盘面,磁道,扇区】第一扇区【MBR|MSDOS(Master Boot Record) 446byte|分区表 64byte(16byte一组,最多分为四组)】【GPT (GUID partition table) 引入LBA (Logical BlockAddress)】——>分区 就柱面,扇区的编号起始和结束位置,第一组:主分区,第二到四组,扩展分区–>一个分区就是只能够被

2022-05-20 22:18:36 94

原创 MQ相关组件

MQ相关组件RocketMQ:Java zerocopy Name Serverkafka :高新能pagecache 空中接力ActiveMQ:JMSRabbitMQ:AMP,数据稳定性,可靠性,性能Pulsar:Kafka相关概念ProducerConsumerGroupTopicPartition模型producers -> broker <- consumersproducer -> topic <- consumerServerto

2022-05-20 22:17:45 613

原创 JVM分析

虚拟机Classic VMHotSpot虚拟机规范VM由编译器和执行器两个部分组成编译器:.class文件执行过程中,将.class文件编译为可执行文件,通过分层编译将热点代码编译本地可执行代码,提高执行效率标准编译分层编译,C1,C2,C3,OSR(on-stack-replace)执行器:进行程序的执行,内存的管理,VM中内存模型如下1.引用计数器,属于线程2.栈:虚拟机堆栈 (Virtual Machine stack) 调用Java方法的栈,本地方法堆栈(native

2022-05-20 22:16:59 116

原创 分布式文件系统

原生HDFS架构HDFS采用master/slave架构master 采用主备架构,使用zk选主,称为NameNode,NameNode存储文件对应的元数据,通过元数据可以从DataNode上找到对应的Block,从而形成文件slave中数据多副本策略,称为DataNode,中存储这Block块NameNodeNN路径表示 /users/sameerp/data/part-0,r:3,{2,4,5}操作日志:所有操作 append 到EditLog文件中,NN通过重放EditLog中所有

2022-05-20 22:15:44 441

原创 Git学习笔记

工作区(working area),暂存区(stage area),仓库区(repository)仓库操作git initgit addgit resetgit commitgit rmgit mvgit loggit clean远程仓库git clonegit remotegit fetchgit pullgit pushgit push --set-upstream origin branch_name分支git checkoutgit branchgit me.

2022-05-20 22:13:56 123

原创 ElasticSearch

ELK组件Kibana {数据可视化} 页面ElasticSearch{数据存储和检索引擎} 数据库LogStash{数据处理引擎} 处理应用Beats{采集一切数据} AgentElasticSearch分布式、多用户、全文搜索引擎、Java开发基本概念indextypedocumentES Cluster概念:shard:分片replica:副本存储过程:shard=Hash(routing)%shard_number,找到对应的shard,根据

2022-05-20 22:12:19 79

原创 容器化导论

容器化,docker,k8s

2022-05-20 22:10:35 88

原创 BigData导论

大数据导论

2022-05-20 22:06:59 592

原创 Alluxio代码结构

Alluxio

2022-05-20 22:02:00 233

原创 好用工具集锦

好用工具集锦arthas 定位Java问题神奇easyPing 批量ping的工具WGestures win手势控制工具typora markdown工具WireShark tmpdump自助抓包分析工具Evcaptrue 录屏工具sumatrapdf pdf工具eCapture 抓包工具

2022-03-28 11:13:41 510

原创 一文懂Lua

1、简介:Lua 语言最初的设计目标是要能够嵌入到其他应用程序里,所以它天生就是非常 “轻量级”,语法简洁优雅,很容易学习,任何一个有初级变成经验的人都可以在几天只能完全掌握并投入实际开发工作。但 “轻量级” 并不意味着劣化,比起其他脚本语言来说 Lua 的功能也毫不逊色,该有的特性都有,而且表(table)结构非常灵活,能够模拟出其他语言里的数组、集合、字典、类、名字空间等特性,此外还提供闭包 (closure) 支持函数式变成,提供协程(coroutine)支持并发变成,功能非常丰富。Lua 语言

2021-08-04 10:01:15 126

原创 Maven

1.Maven的坐标Maven的坐标元素包括groupId、artifactId、version、packaging、classfier。只要我们提供正确的坐标元素,Maven就能找到对应的构件,首先去你的本地仓库查找,没有的话再去远程仓库下载。如果没有配置远程仓库,会默认从中央仓库地址(http://repo1.maven.org/maven2)下载构件,该中央仓库包含了世界上大部分流行的开源项目构件,但不一定所有构件都有groupId:项目aritfactId:模块version:版本号pac

2021-07-21 23:17:40 67

原创 玩转awk

awk简介:awk允许您创建简短的程序,这些程序读取输入文件、为数据排序、处理数据、对输入执行计算以及生成报表,还有无数其他的功能,它适合文本处理和报表生成,其语法较为常见,借鉴了某些语言的一些精华,如 C 语言等使用方法:awk ‘BEGIN{init_action} {action} END{end_action}’ filename 其中BEGIN 和 END非必选BEGIN{init_action} 用于前期的初始化处理,BEGIN是关键词,初始化语句在{init_action}中{act

2021-03-29 16:07:59 243 1

原创 玩转Sed

sed简介:sed 是 stream editor 的缩写,中文称之为“流编辑器”,命令是面向“行”进行处理的,每一次处理一行内容sed 会把要处理的行存储在缓冲区中,接着用 sed 命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。这个缓冲区被称为“模式空间”(pattern space)使用方式:sed [options] [script] [file_name]options 执行的动作optiondesc空输出到标准

2021-03-29 11:53:31 130 1

原创 VIM使用手册

1.模式普通模式:默认进入就是普通模式,主要方便大家浏览编辑模式:命令模式:可视模式:2.普通模式1.模式转化进入编辑模式i(insert before cursor)光标前,I(insert before line)行首a(append after cursor)光标后,A(append after line)行末o(open a new line below)光...

2020-02-22 23:29:36 78

原创 青春忙茫的沉思

1 关于互联的胡思乱想互联网的本质就是优化效率和智能的信息分发1、第一代互联网浪潮:电子信息化,信息高速公路,出现了新浪、搜狐、网易三大门户网站,如今在已经被今日头条(依赖算法)+公众号(相同爱好)+朋友圈(熟人关系)所取代。2、第二代互联网浪潮:技术发展和配套设施的发展,国内出现了百度,阿里,腾讯,国外谷歌,亚马逊,脸书。对零售、信息发布与分类、社交、信息获取等,这些行业现在分类日益精细。3、第三代互联网浪潮:移动互联网的出现,使得更多人可以接触到网络,在加上移动设备LBS功能,出现美团,滴滴,

2019-12-19 17:28:42 153

原创 开发策略

1. 职责细分:出现前端、后端、数据库,但是导致项目难以管理2. 瀑布流:上级之和下级交流,变为流程化,不再是无章可循,但是下层的变更,影响到所有上层,都要从头再来一遍3. 敏捷:强调沟通,短周期,共同参与,增量式交付,开放和拥抱变化,但是频繁的变更导致主要的目标的缺失4. 精益:精益原则,主要解决敏捷主要关注点的问题5. devops:6. https://www.cnblogs.co...

2019-12-19 17:22:28 864

原创 常用安全

加密安全SQL注入、OS命令注入、XML注入跨站脚本XSS:存储型XSS,反射性XSSSQL 注入1.2. Mybatis:$是按照字符进行拼接的,#是进行预编译的3. OWASP ESAPI实现转义OS注入1. 对外部输入进行校验:正则表达式、黑名单2. 访问路径权限的验证XML注入1. XML不要包含外部实体2. 访问路径权限的验证敏感信息1. 异常带入敏感信息...

2019-12-19 16:23:13 117

原创 玩转VIM

VIM有三种模式,分别是命令模式、插入模式和末行模式。命令模式#→  右跳#个字符#←   左跳#个字符#G  跳至第#行:set nu   示行数:set nonu  显示行数x或del  删除光标处的单个字符dd  删除当前行#dd  删除当前行开始的#行d^  删除当前行首至光标的字符d$  删除当前行尾至光标的字符yy  复制当前行#yy  复制当前行开始的#行...

2019-12-19 16:16:37 160

原创 运维常用相关命令

一、用户相关的一些命令1.新建用户 adduser username (只有root有权限新增用户)2.修改用户密码 passwd username3.切换用户 su username4.删除用户 userdel username5.以管理员的身份进行操作 sudo二、文件的操作命令1.列出文件的基本信息 ls -l2.修改文件操作权限chmod u+x filenam...

2019-12-19 16:12:31 196

原创 Shell脚本

shell脚本执行方式./xxx.sh 来执行,需要添加可执行权限启动一个新的shell执行脚本,在执行时,当前工作目录不会变化,脚本完成后立即回到主shell。如当前系统变量PATH没有包含脚本目录,则需要./test_scriptsh xxx.sh 来执行,不需要可执行权限启动了新的shell,执行完成后立刻回到主shell,并且不需要对脚本权限进行修改source xxx.s...

2019-12-19 16:11:08 60

原创 高效Java编码

1、常量 & 变量Java 中存在两种类型的变量,基本类型+引用类型1.1 直接赋值常量值,禁止声明新对象1.2.当成员变量值无需改变时,尽量定义为静态常量1.3.尽量使用基本数据类型,装箱 VS 拆箱1.4.如果变量的初值会被覆盖,就没有必要给变量赋初值1.5.尽量使用函数内的基本类型临时变量在函数内,基本类型的参数和临时变量都保存在栈(Stack)中,访问速度较快;对象类...

2019-12-18 22:31:15 190

原创 算法导论小序

数组:明确声明变量的定义,程序的边界,循环不变量数值变量的范围优化思路:处理特殊情况问题定义:定义明确统计数排序,三路快速排序,有序二分搜索,两路快排,参数的条件判断:空值,取值的范围,双索引:滑动窗口语言库Set,Map:普通数组,顺序数组,二分搜索树,哈希表 数据的顺序性,稳定性查找表,链表穿针引线虚拟节点归并排序不一定全是穿针引线链表的双指针栈和队列栈..................

2019-12-09 22:55:33 138

原创 lambda表达式

什么是lambda表达式1、lambda概述lambda表达式称为箭头函数,匿名函数,闭包lambda表达式体现的是轻量级函数式编程的思想JDK8 新特性2、MCADModel Code As Data 进可能轻量级将代码封装为数据匿名内部类,带来语法的冗余,不简洁的数据控制3、问题&场景lambda不解决任何技术问题对现有代码语义的一种优化方案,注意代码的可...

2019-12-09 22:54:28 71

原创 如何让别人听懂你说的话

你如何听懂我说的话

2016-07-31 15:35:02 5255 2

原创 clean code笔记

clean code 之 类篇1.类的组织类的组织遵循标准的Java约定:变量 变量又称为实体,变量的顺序应该为:公共静态变量–>私有静态变量–>私有实体变量–>公共变量 注意1:公共静态变量应该尽可能存在同一个地方便于管理 注意2:Java类中很少使用公共变量,应该采用属性的方式来进行变量的访问和修改属性 属性及get和set在紧跟私有实体变量。函数 遵循自顶向下原则,

2016-07-31 14:12:58 1766 1

原创 降低数据压力的几种解决方案

在现代的软件系统中,几乎所有的系统都使用到了数据库,不论是关系型数据,例如MySql、SQLite、Oracle、SQLServer等,还是非关系性数据,例如mongoDB、redis等。本文已web系统为例来阐述为什么要降低数据库的压力,在提出具体方案之前先大致讲解一下现在web系统的架构,要了解web系统的架构和演变过程具体可以参考大型网站架构演变和知识体系这片文章。现代web系统的架构现在的大

2016-05-27 21:21:50 16875

原创 DB主从一致性的几种解决方法

DB主从一致性的几种解决方法起源现在基本所有的程序中都会用到数据库,而数据库其实就是对所有业务逻辑处理结果的保存,所以不论在什么情况下数据的丢失都不被允许的,最坏的情况也要最小化数据的丢失程度,所以一般情况下,数据源都会至少配有两个节点,一个业务处理使用的节点,一个甚至多个从节点,这些从节点就是我们常说的冷备,业务处理节点(主节点)和备份节点一定的时间间隔内进行数据同步,从而来保证当一个数据源坏掉之

2016-05-19 21:02:57 4286 2

空空如也

空空如也

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

TA关注的人

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