- 博客(114)
- 资源 (11)
- 收藏
- 关注
原创 数据结构与算法系列(三)—选择排序
大家好,牧码心今天给大家推荐一篇数据结构与算法系列(三)—选择排序的文章,希望对你有所帮助。大纲如下:选择排序基本介绍选择排序图文说明选择排序时空复杂度和稳定性选择排序具体实现
2020-07-31 22:03:17 321
原创 数据结构与算法系列(二)—冒泡排序
大家好,本系列开始对排序算法进行总结。牧码心今天给大家推荐一篇数据结构与算法系列(二)—冒泡排序的文章,希望对你有所帮助。
2020-07-28 23:31:11 399
原创 IDEA系列(二)—IDEA(2019.2.x后的版本)连不上插件(plugins)市场问题解决
问题出现打开File—> settings—> plugins 搜索插件时,会发下有时插件市场加载过慢,或者打不开的情况,如下图所示:原因分析IDEA的插件市场加载不出来,是由于IDEA的网络安全机制造成的,类似于windows的防火墙,IDEA误认为你的网络不安全,不给你连接,本质为公司的网络被IDEA认为不安全。解决方案先检查网络设置,是否有防火墙拦截,是否可以正常访问https://plugins.jetbrains.com/查看你的idea 版本 ,不同版本设置有些不同
2020-07-07 16:43:14 2416 1
原创 数据结构与算法系列(一)—链表
大家好,本系列开始讲结合刷力扣的过程,对数据结构和算法进行总结。牧码心今天给大家推荐一篇数据结构与算法系列(一)—链表的文章,希望对你有所帮助。
2020-07-06 23:12:08 252
原创 hive基础(一)——hive概述,架构和作用
hive 是什么Mapreduce 的编程的不变形,没有固定的格式数据分析是一个数据仓库的工具ETL 数据的转换和提前解决海量结构化日志的数据统计构建在hadoop 之上,将结构化的数据文件映射成一张表,并提供SQL 查询功能HIVE 特性处理的数据存在HDFS分析数据底层实现在MAPREDUCE执行程序运行的YARNHIVE在生态系统的位置...
2020-07-06 18:25:33 525
原创 dubbo系列(一)—dubbo模块解读
RPC框架图Dubbo模块解读serialize层IO线程数cpu核数+1通讯框架协议(netty,netty4,mina和grizzly)启动:NettyServer编解码NettyCodecAdapterprivate final ChannelHandler encoder = new InternalEncoder();private final ChannelHandler decoder = new InternalDecoder();Co
2020-06-23 13:29:08 878
原创 Elasticsearch系列(二)—elk介绍,安装和配置
ELK 介绍ELK是什么:log grep awk tail -nf |grep ,普通查询日志:量大,检索慢,历史数据,不安全ELK优势日志统一收集,分布式收集,提供查询界面ELK应用场景:日志管理,ELK架构设计基础架构(解决50G以下日志)elasticsearch:提供查询,全文检索kibana:页面展示,以及方便查询logstash:收集日志个性化设计filebeat:轻量级收集日志,速度快,配合logstash做过滤kafka:日志缓冲,减少log
2020-06-06 23:44:04 332
原创 并发编程系列(七)—原子类框架Atomic剖析
大家好,牧码心今天给大家推荐一篇并发编程系列(七)—原子类框架Atomic剖析的文章,希望对你有所帮助。
2020-05-10 14:40:09 397
原创 并发编程系列(十二)—深入理解CyclicBarrier栅栏
前言大家好,牧码心今天给大家推荐一篇并发编程系列(十一)—深入理解基于共享锁的CyclicBarrier的文章,希望对你有所帮助。内容如下:CyclicBarrier概要CyclicBarrier数据结构CyclicBarrier使用方式CyclicBarrier实现原理总结CyclicBarrier 概要CyclicBarrier也是一个同步辅助器,功能和CountDownL...
2020-05-08 19:34:51 322
原创 并发编程系列(十一)—深入理解基于共享锁的CountDownLatch
前言CountDownLatch 概要CountDownLatch是一个同步辅助器,在一组其他线程执行完成操作之前,允许一个或多个线程一直等待。它的作用有点类似于计数器,先设定一个计数初始值,当计数达到0时,将会触发一些事件。例如,应用程序的主线程希望在负责启动框架服务的线程已经启动所有的框架服务之后再执。它具体以下几个特点:初始计数器的值调用构造函数new CountDownLatch(...
2020-05-07 19:23:48 345
原创 并发编程系列(九)—深入理解基于AQS的ReentrantLock
ReentrantLock概要ReentrantLock是一种可重入的独占锁,实现了Lock接口,依赖于AQS实现的同步锁机制,具有synchronized基本相同的行为,但也扩展了更多功能,如可中断,非公平和公平锁等,为了帮助大家更好地理解ReentrantLock的特性,我们先将ReentrantLock跟Synchronized进行比较:维度synchronizedReent...
2020-04-27 19:32:34 338
原创 并发编程系列(八)—初识JUC锁和AQS
大家好,牧码心今天给大家推荐一篇并发编程系列(八)—初识JUC锁和AQS的文章,希望对你有所帮助。内容如下:- 概要- JUC锁框架- AQS概要- AQS方法- AQS原理
2020-04-26 18:42:43 469
原创 并发编程系列(六)—深入理解CAS和Unsafe类
CAS概要两种锁机制悲观锁:乐观锁:什么是CASCAS 核心思想CAS算法CPU指令对CAS的支持或许我们可能会有这样的疑问,假设存在多个线程执行CAS操作并且CAS的步骤很多,有没有可能在判断V和E相同后,正要赋值时,切换了线程,更改了值。造成了数据不一致呢?答案是否定的,因为CAS是一种系统原语,原语属于操作系统用语范畴,是由若干条指令组成的,用于完成某个功能...
2020-04-24 13:00:17 514
原创 并发编程系列(五)—深入理解synchronized关键字
大家好,牧码心今天给大家推荐一篇并发编程系列之基础篇(五)—深入理解synchronized的文章,希望对你有所帮助。内容如下:- 同步锁概要- synchronized 的特性- synchronized 的用法- synchronized 的实现- synchronized 的原理- synchronized 的优化
2020-04-23 18:25:34 263
原创 并发编程系列(四)—深入理解java内存模型和volatile
Java内存模型(Java Memory Model简称JMM)是一种抽象的概念,并不真实存在,它描述的是一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式。JVM运行程序的实体是线程,而每个线程创建时JVM都会为其创建一个工作内存(有些地方称为栈空间),用于存储线程私有的数据,而Java内存模型中规定所有变量都存储在主内存,主内存是共...
2020-04-22 19:14:42 323
原创 并发编程系列(一)—多线程基本概念
前言大家好,牧码心从此系列开始将给大家推荐java多线程方面内容,今天给大家推荐一篇Java多线程系列之基础篇(一)—基本概念的文章,希望对你有所帮助。内容如下:多线程概念进程和线程线程的状态几个关键字多线程的注意点概要随着现代操作系统发展,多处理器的诞生,若系统同一时刻只处理一个任务,效率会变得很低,并且不能充分发挥计算机的能力,达到充分利用计算机资源的效果。所以为了更好的...
2020-04-14 18:19:26 261
原创 zookeeper系列(四)—客户端API使用
前言大家好,牧码心今天给大家推荐一篇zookeeper系列(四)—客户端API使用的文章,在实际工作中有很多应用场景,希望对你有所帮助。内容如下:概要创建和关闭会话创建和查看节点修改和删除节点设置权限curator框架概要zookeeper提供了zkCli.sh脚本,通过命令交互方式调试zk集群,但在项目开发中不推荐使用。zookeeper官方提供了java和C中语言的客户...
2020-04-12 18:58:12 433
原创 zookeeper系列(五)—集群工作原理
概要zookeeper集群的目的是为了保证系统的性能承载更多的客户端连接设专门提供的机制。通过集群可以实现以下功能:读写分离:提高承载,为更多的客户端提供连接,并保障性能。主从自动切换:提高服务容错性,部分节点故障不会影响整个服务集群。搭建集群至少需要三台服务器,并且强烈建议使用奇数个服务器。因为zookeeper 通过判断大多数节点的存活来判断整个服务是否可用。比如3个节点,挂掉了2...
2020-04-11 23:33:51 1562
原创 redis系列(九)—缓存
前言大家好,牧码心今天给大家推荐一篇redis系列(八)—集群的文章,在实际工作中有很多应用场景,希望对你有所帮助。内容如下:缓存概述缓存优劣缓存更新策略缓存常见问题缓存概述随着互联网的普及,内容信息越来越复杂,用户数和访问量越来越大,我们的应用需要支撑更多的并发量,同时我们的应用服务器和数据库服务器所做的计算也越来越多。但是往往我们的应用服务器资源是有限的,数据库每秒能接受的...
2020-04-10 19:29:40 433
原创 redis系列(八)—集群
前言大家好,牧码心今天给大家推荐一篇redis系列(八)—集群的文章,在实际工作中有很多应用场景,希望对你有所帮助。内容如下:概述集群搭建集群工作原理集群数据结构访问集群方式集群实践概述什么是集群Redis集群是Redis的分布式解决方案,在3.0版本后推出,有效地解决了Redis分布式方面的需求。集群由多个节点(Node)组成,Redis的数据分布在这些节点中。集群中...
2020-04-09 18:35:27 462
原创 zookeeper系列(三)—节点详解
前言大家好,牧码心今天给大家推荐一篇zookeeper系列(三)—节点,在实际工作中有很多应用场景,希望对你有所帮助。内容如下:背景节点类型节点属性节点监听权限机制背景我们在zookeeper的数据模型中介绍过zookeeper 中数据基本单元叫节点,节点之下可包含子节点,最后以树级方式程现,类型linux的文件系统结构。不同之处是znode没有目录的概念,不能执行类似cd之类...
2020-04-01 23:32:37 2766
原创 redis系列(七)—主从复制
主从复制概述主从复制是指将一台redis服务器的数据,复制到其他的redis服务器,前者称为主节点(master),后者称为从节点(slave);数据复制是单向的,只能从主节点复制到从节点。默认情况下,每台Redis服务器都是主节点;且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。也称为一主一从或一主多从作用数据冗余:主从复制实现了数据的热备份,是持久化之...
2020-03-30 18:15:34 314
原创 redis系列(六)—持久化机制
前言大家好,牧码心今天给大家推荐一篇redis系列(六)—持久化机制的文章,在实际工作中有很多应用场景,希望对你有所帮助。内容如下:持久化概述RDB持久化AOF持久化持久化方案对比常见问题持久化概述redis持久化是指将在内存的数据同步或异步写到磁盘中,并永久性保存。支持RDB和AOF两种持久化机制,持久化功能有效地避免因进程退出造成的数据丢失问题,当下次重启时利用之前持久化...
2020-03-26 18:47:39 268
原创 redis系列(五)—数据结构之集合(set)
前言大家好,牧码心今天给大家推荐一篇redis系列(五)—数据结构之集合(set)的文章,在实际工作中有很多应用场景,希望对你有所帮助。内容如下:特点基本命令时间复杂度使用场景特点集合(set) 类型也是用来保存多个的字符串元素, 但和列表类型不一样的是, 集合中不允许有重复元素, 并且集合中的元素是无序的, 不能通过索引下标获取元素。 如图2-22所示, 集合user:1:f...
2020-03-25 16:48:41 790
原创 zookeeper系列(一)—概要和基本特点
前言大家好,牧码心今天给大家推荐一篇zookeeper系列(一)—概要和基本特点的文章,在实际工作中有很多应用场景,希望对你有所帮助。内容如下:背景特点数据模型会话背景在分布式场景中,往往会产生多个节点之间协同的问题。如:每天的定时任务由谁哪个节点来执行?RPC调用时的服务发现?如何保证并发请求的幂等…这些问题可以统一归纳为多节点协调问题,如果靠节点自身进行协调这...
2020-03-22 23:45:55 470
原创 redis系列(四)—数据结构之列表(list)
前言大家好,牧码心今天给大家推荐一篇redis系列—数据结构之列表(list)的文章,在实际工作中有很多应用场景,希望对你有所帮助。内容如下:特点基本命令时间复杂度使用场景特点列表(list) 类型是用来存储多个有序的字符串, 如图所示, a、b、 c、 d、 e五个元素从左到右组成了一个有序的列表, 列表中的每个字符串称为元素(element) , 一个列表最多可以存储2的3...
2020-03-15 23:42:44 396
原创 redis系列(三)—数据结构之哈希(hash)
前言大家好,牧码心今天给大家推荐一篇redis系列—数据结构之哈希(hash)的文章,在实际工作中有很多应用场景,希望对你有所帮助。内容如下:特点基本命令时间复杂度使用场景特点在Redis中, 哈希类型是指键值本身又是一个键值对结构, 形如value={{field1, value1}, …{fieldN, valueN}}, Redis键值对和哈希类型二者的关系可以用图来表示...
2020-03-12 16:30:04 383
原创 redis系列(二)—数据结构之字符串
前言大家好,牧码心今天给大家推荐一篇redis系列之内部结构的文章,在实际工作中有很多应用场景,希望对你有所帮助。内容如下:字符串特点基本命令时间复杂度使用场景特点字符串类型是Redis最基础的数据结构。首先键都是字符串类型,而且其他几种数据结构都是在字符串类型基础上构建的,所以字符串类型能为其他四种数据结构的学习奠定基础。字符串类型的值实际可以是字符串(简单的字符串、复杂的字...
2020-03-11 23:19:03 214
原创 redis系列(一)—内部结构
前言大家好,牧码心今天给大家推荐一篇redis系列之内部结构的文章,在实际工作中有很多应用场景,希望对你有所帮助。内容如下:全局命令内部编码单线程架构全局命令Redis有5种数据结构, 它们是键值对中的值, 对于键来说有一些通用的命令查询所有键值命令:keys *127.0.0.1:6379> keys *1) "python"2) "java"3) "he...
2020-03-10 10:46:27 378
原创 并发编程系列(十)—深入理解共享锁和ReentrantReadWriteLock
前言本文对Java的“共享锁”进行介绍,JUC中的共享锁有CountDownLatch, CyclicBarrier, Semaphore, ReentrantReadWriteLock等;本章会以ReentrantReadWriteLock为例对共享锁进行说明。内容包括ReadWriteLock 和 ReentrantReadWriteLock介绍ReadWriteLock 和 Reen...
2020-03-01 22:12:54 303 1
原创 hadoop书籍(二)—《hive权威指南》笔记
hive 权威1、创建数据库create database if not exists financialscomment ‘hold all financial tables’with dbproperties(‘creator’=‘wuwc’,‘date’=‘2019-12-09’);2、设置变量和属性set hive.cli.print.current.db=true;3、删除...
2019-12-13 21:45:58 775
原创 CDH系列(一)—CDH组件目录,主机资源分配和端口说明
目录:/var/log/cloudera-scm-installer : 安装日志目录。/var/log/* : 相关日志文件(相关服务的及CM的)。/usr/share/cmf/ : 程序安装目录。/usr/lib64/cmf/ : Agent程序代码。/var/lib/cloudera-scm-server-db/data : 内嵌数据库目录。/usr/bin/postgres ...
2019-12-06 11:11:56 1765
原创 hadoop书籍(一)—《大数据技术体系详解:原理、架构与实践》笔记
《大数据技术体系详解:原理、架构与实践_董西成(著)》flume篇如何保证以下情况,flume不会丢失数据Agent所在机器突然crash,机器重启后恢复;Agent所在机器突然crash,机器重启后无法恢复;假设公司有10台web应用,试说明如何收集这些机器弄下nginx的日志(存放目录:/var/log/nginx),并保证数据不丢失情况下存在hdfs,请给出...
2019-11-29 18:43:51 1179
原创 sqoop系列(一)—sqoop框架概述
Sqoop就是将常用的MapReduce(数据导入导出)进行封装,通过传递参数的形式,运行MapReduce任务。Map任务(分,批量,并行)
2019-10-17 11:46:27 307
原创 hadoop基础(五)—hadoop各组件配置和启动
hadoop配置文件默认配置(相对应的jar)core-defaut.xml配置fs.trash 垃圾回收机制hdfs-defaut.xmlyarn-defaut.xmlmapred-defaut.xml自定义配置($HADOOP_HOME/etc/hadoop)core-site.xmlhdfs-site.xmlyarn-site.xmlmapred-si...
2019-10-11 23:14:11 419
原创 hadoop协作框架(一)—sqoop的安装,配置和使用
版本选择和下载CDH http://archive.cloudera.com/cdh5/CDH 5.3.x 版本,非常的稳定,好用 cdh-5.3.6,各个版本之间的依赖和兼容不用 hadoop-2.5.0-cdh5.3.6.tar.gzhive-0.13.1-cdh5.3.6.tar.gzzookeeper-3.4.5-cdh5.3.6.tar.gzsqoop-1....
2018-06-24 11:42:30 487
原创 netty系列(一)—netty详解
netty 架构 高性能,事件驱动的NIO框架netty 架构图 结构说明 event model:可扩展的事件模型Universal Communication API:统一的通讯APIzero-copy-capable byte buffer:零拷贝buffer,支持动态扩容channel:socket支持http,nio,oio (AIO基于操作系统实现 )...
2018-05-24 00:20:05 4535
原创 java基础(一)—BigDecimal浮点计算
加减乘除四则运算是高级程序设计语言(不论机器语言、汇编还是其他高级语言)最基础的部分,Java作为最流行的软件开发语言之一,涉及四则运算的程序代码和功能业务随处可见。在笔者从事的基于Java语言银行、电商等软件系统开发过程中,涉及数字和金钱的业务比较多,也遇到了各种数据精度问题,下面从几个小例子,看看如何正确使用Java中的数据类型合理进行四则运算,保证数据精度。1.整型计算 可能有人会说,...
2018-05-08 00:28:00 611
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人