自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 设计模式总结

共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。行为型模式关注的是对象之间的通信,也就是描述多个类或者对象之间,通过协作共同完成一个任务。主要涉及的是 对象 和 算法之间职责的分配。行为型模式分为两类:类行为模式: 通过继承机制来在类间分派行为。

2023-07-20 15:57:02 46

原创 kafka实战

kafka使用场景日志收集:一个公司可以用Kafka收集各种服务的log,通过kafka以统一接口服务的方式开放给各种consumer,例如hadoop、Hbase、Solr等。消息系统:解耦和生产者和消费者、缓存消息等。用户活动跟踪:Kafka经常被用来记录web用户或者app用户的各种活动,如浏览网页、搜索、点击等活动,这些活动信息被各个服务器发布到kafka的topic中,然后订阅者通过订阅这些topic来做实时的监控分析,或者装载到hadoop、数据仓库中做离线分析和挖掘。运营指标:Kaf

2021-04-11 17:05:40 195

原创 线程池

为什么用线程池,解释下线程池参数降低资源消耗,提高线程利用率。省掉了创建和销毁两步操作。提高响应速度。提高线程的管理性,线程池可以统一分配调优监控。corePoolSize:核心线程数,也就是正常情况下创建的工作的线程数,这些线程创建后不会消失。maxinumPoolSize:最大线程数,表示允许被创建的最大线程数。keepAliveTime、unit表示超出核心线程数之外的线程的空闲存活时间。workQueue:用来存放待执行任务。(当核心线程数都已被使用,还有任务进来时,先不会创建最大线

2021-04-10 16:05:28 163

原创 Zookeeper集群

集群至少要3台服务器,原因在redis已经说过,不再赘述。zookeeper集群的目的是为了保证系统的性能承载更多的客户端连接所专门提供的机制。通过集群可以实现以下功能:读写分离:提高承载,为更多的客户端提供连接,并保障性能。主从自动切换:提高服务容错性,部分节点故障不会影响整个服务集群。集群部署配置语法:server.<节点ID>=:<数据同步端口>:<选举端口>节点ID:服务id手动指定1至125之间的数字,并写到对应服务节点的 {dataDir}/

2021-04-05 21:13:45 90

原创 Redis

redis为什么快因为redis是基于内存操作。并且6.0版本之前的redis是单线程的,可以省去很多线程间的切换时间,避免多线程对性能上的消耗。redis的IO多路复用处理并发类问题:redis利用epoll来实现多路复用,先将链接信息和事件放到队列中,然后依次放到文件事件分配器中,然后事件分配器再分给事件处理器。redis的5中类型及其原理StringString类型底层又分为:int、raw(大字符串长度大于44)、embstr(小字符串长度小于44),可以用命令encoding key 查看

2021-04-03 21:29:28 504 1

原创 Mysql开发篇

表类型(存储引擎)的选择Mysql5.7之后支持的存储引擎包括InnoDB、MyISAM、MEMORY、CSV、BLACKHOLE、NDB等。其中InnoDB和NDB提供事务安全表,其他索引引擎都是非事务安全表。Mysql5.5以前默认的存储引擎是MyISAM,5.5之后改为InnoDB。MyISAMInnoDB选择合适的存储引擎:MyISAM:如果应用是以读操作和插入操作为主,只有极少的更新和删除操作,并且对事务的完整性没有要求、没有并发写操作,那么选择这个存储引擎合适。OLTP环境一般不建议

2021-03-26 09:30:47 326 1

原创 JVM——虚拟机类加载机制

类加载时机一个类型从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期都将会经历加载、验证、准备、解析、初始化、使用和卸载七个阶段,其中验证、准备、解析三个阶段被称为连接。类加载过程类加载的全过程主要为加载、验证、准备、解析、初始化五个阶段。加载在加载阶段,虚拟机主要完成三件事:通过一个类的全限定名来获取定义此类的二进制字节流。将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构。在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的

2021-03-21 18:24:07 91

原创 JVM——高效并发之线程安全与锁优化

线程安全锁优化

2021-01-24 20:16:21 89

原创 JVM——高效并发之Java内存模型与线程

Java内存模型与线程线程安全与锁优化

2021-01-21 18:50:34 70

原创 HashMap源码分析

要想理解HashMap就最好从源码里去看,首先看注释,HashMap的注释还是挺长的,对于英文不好的同学来讲(比如我),利用百度翻译过来理解也挺好的。然后我先把翻译后的注释贴进来。Hash table based implementation of the Map interface. This implementation provides all of the optional map operations, and permits null values and the null key. (

2020-12-23 15:57:19 64

原创 JVM——自动内存管理

内存区域与内存溢出异常

2020-09-20 22:24:59 170

原创 KAFKA学习总结

简介:1、kafka是一个分布式流平台,流平台的三个功能:发布和订阅记录流,类似于消息队列或企业消息传递系统。以容错的持久方式存储记录流。处理记录流2、概念:Kafka在一个或多个可以跨越多个数据中心的服务器上作为集群运行。Kafka集群将记录流存储在称为主题(topic)的类别中。每个记录由一个键,一个值和一个时间戳组成。在Kafka中,客户端和服务器之间的通信是通过简单...

2020-03-19 18:10:43 110

原创 ElasticSearch学习总结

ElasticSearch学习总结使用postman进行es的基础入门学习dfdfd新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片...

2019-12-10 17:51:42 161

空空如也

空空如也

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

TA关注的人

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