自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 hadoop组件

HDFS一个分布式文件系统,适合一次写入,多次读出的场景namenode 管理节点管理文件系统的命名控件管理整个系统内所有文件和目录datanode 工作节点存储并检索数据块 ,受namenode调度hdfs 文件大小hdfs 默认分块存储,默认大小128Mhdfs读写流程写入1.客户端向namenode 请求上传文件2.响应可以上传文件3.客户端请求上传第一个文件4.namenode 返回三个节点 dn1,dn2,dn35.建立传输管道6.dn1

2021-03-26 15:53:29 125

原创 Netty的基本介绍

Netty的介绍netty是一个异步的基于事件的框架,主要针对在tcp协议下,开发面向clients端的高并发应用。netty本质是一个nio框架。IO模型Java共支持3中io模型 : BIO,AIO,NIOBIO同步阻塞,一个连接一个线程,有连接请求时服务端就需要启动一个线程处理。如果这个线程不做任何事就会造成不必要的开销。当并发数较大时,需要创建大量线程来处理连接。NIO同步非阻塞,可以做到一个线程处理多个操作。NIO 有三大核心部分,Channel,Buffer

2021-03-25 10:02:46 172

原创 Mysql索引

引入引起 性能下降 sql 慢的原因:1.查询语句烂2.索引失效 单值索引 ,复合索引3.关联太多join4.服务器调优及各个参数设置sql 执行顺序:from on join/where group by hanving select order by limitjoin 图与sql示例select distinct <select list> from <left table> <join type> JOIN <rig

2021-03-24 10:02:36 229 2

原创 垃圾回收机制

在运行过程中没有任何指针指向的对象是垃圾。垃圾标记阶段:对象存活判断需要区分出内存中哪些是存活对象,哪些是已经死亡的对象,这个过程称为垃圾标记阶段。两种方式:引用计数算法和可达性分析算法引用计数算法 对每个对象保存一个整型的引用计数器属性。用于记录对象被引用的情况。 可达性分析算法,解决了引用计数算法中循环引用的问题,防止内存泄漏的发生。按照从上至下的方式搜索被根对象集合所连接的目标对象是否可达。在java语言中,GCROOTs包括以下几类元素:虚拟机栈中引用的对象 本地方法栈中引

2021-03-23 11:47:11 136

原创 jvm内存结构

jvm的整体结构class文件 —> 类加载子系统 ->jvm内存 -> 解释器,垃圾回收器,本地方法接口类加载子系统类加载子系统负责加载class文件。class 文件有特定的文件标识类的加载过程加载-> 验证 -> 准备 -> 解析 -> 初始化( 链接 )加载通过一个类的全限定名获取二进制字节流 生成运行时的数据结构 在内存中生成class对象验证 :检查class文件是否符合jvm规范准备 :设置变量的初始值.

2021-03-22 14:32:17 101 1

原创 Java8新特性

Lambda表达式基础语法1. 引入了一个新的操作符 —>操作符左侧: 表达式的参数列表操作符右侧: 表达式所执行的功能 即Lambda 体() -> sout(x) -> sout (x,y)-> {sout;return (x+y);}2.Lambda 表达式需要函数式接口的支持函数式接口:接口中只有一个抽象方法的接口,称为函数式接口,可以使用@FunctionInterface修饰可以检查是否是为函数式接口内置的四大核心函数式接口

2021-03-21 15:43:30 89

原创 控制并发流程

控制并发流程的工具类,让线程之间相互合作。比如让线程A等待线程B执行完再执行合作策略Semaphore用来限制有限资源的使用情况初始化Semaphore指定许可证的数量 acquire获取许可证 release释放许可证tryacquire(timeout) 检查有没有空闲的许可证,不阻塞CyclicBarrier循环栅栏等到所有线程都执行到目标点,再执行CountDownLatch在倒数结束时才执行主要用法一个线程等待多个线程执行完毕,再继续自己的工作 一等多

2021-03-20 17:38:32 102

原创 并发容器ConcurrentHashMap和CopyOnWriteArrayList

ConcurrentHashMap:线程安全的hashMapCopyOnWriteArrayList:线程安全的ListBlockingQueue:接口,阻塞队列,适合数据共享通道ConcurrentLinkedQueue:高效的非阻塞并发队列,使用链表,可以看作线程安全的LinkedListConcurrentSkipListMap:跳表,快速查找Vector 和hashtable效率低,使用synchronized 修饰方法HashMap和ArrayListConcurr

2021-03-20 10:15:50 170

原创 原子类的分类

作用:保证并发安全,相比于锁,具有一定的优势:粒度更细:可以把竞争范围缩小到变量级别效率更高:除了高度竞争的情况,使用原子类的效率比锁更高。原子类总览基本类型:AtomicInteger,AtomicLong,AtomicBoolean数组类型:AtomicIntegerArray,AtomicLongArray,AtomicBooleanArray引用类型原子类:AtomicReference.AtomicStampedReference,AtomicMarkableReferen

2021-03-19 15:14:12 238

原创 锁的分类与使用

Lock简介是一种工具,控制共享资源的访问。当sychronized的功能不足时,来提供高级功能。最常见的实现类是ReetrantLock.为什么需要lock?synchronized 不够用。效率低,释放情况少不够灵活无法知道是否成功获取锁方法介绍lock()最普通的获取锁,不会像synchronized一样在异常时自动释放锁,因此finally时一定要释放lock方法不能被中断,容易陷入死锁trylock()用来尝试获取锁trylo

2021-03-19 13:24:28 118

原创 线程池的基本使用

简介如果不使用线程池,每个任务都新开一个线程进行处理。这样开销太大,使用线程池来避免反复创建线程带来的开销问题。为什么用线程池?1.反复创建开销大2.内存占用多。创建和停止线程池线程池的构造函数核心线程数线程池在初始化后自动创建最大线程数在核心线程数基础上,还可以额外增加一些线程,他们的上限是最大线程数队列 直接交接队列 SynchronousQueue 无缓冲无界队列 LinkedBlockingQueue 可能OOM有界队列 ArrayBlockingQueue

2021-03-18 16:50:25 122

原创 ThreadLocal使用总结

使用场景1.每个线程需要一个独享的对象(工具类,simpleDateFormat)每个线程内有自己的实例副本,不共享2.每个线程需要保存全局变量 (在拦截器中保存用户信息),用户信息需要被线程内所有方法共享。强调的是同一个请求内,不同方法间的共享。不需要重写initvalue方法,但是必须手动调用set方法两个作用让某个需要用到的对象在线程间隔离(每个线程都有自己独立的对象)在任何方法中都可以轻松拿到这个对象初始化方式set 生成时间不受控制initialValue 生成时间可以

2021-03-18 15:57:30 142

原创 kafka学习笔记

kafka是一个高吞吐量的、持久性的、分布式发布订阅系统,特点是异步,削峰,解耦broker一个kafka节点producer生产数据默认采用随机的形式将数据发送到不同的分区中。但是可以设置通讯方式。同步或者异步。这由ack参数进行配置。ack 参数有三种可能的值:1 需要leader节点回复收到消息,才会发送下一条数据0 不需要回复,直接发送下一条数据all 等所有的leader 与follow 回复收到消息,才会发送下一条数据 (保证数据不会丢失)-1 至少发送一次,保证数据不

2021-03-12 13:12:27 106

原创 Spark学习笔记

简介用于大规模数据处理的计算引擎,用于作实时计算速度快,易用性,支持多种开发语言 ,提供了多种高阶函数通用性 spark 提供了core sql stream 等多种技术组件,可以一站式完成大数据领域的sql交互式查询,流式实时计算,机器学习,图计算等常见的任务核心组件driver spark驱动器节点,负责执行main方法将用户程序转换为作业在executor中调度任务跟踪executor执行情况executor 一个具体的jvm进程,负责运行具体的task执行任务,返回给drive

2021-03-10 16:36:30 102

空空如也

空空如也

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

TA关注的人

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