- 博客(15)
- 收藏
- 关注
原创 10分钟学会消息队列Kafka
Kafka初识 Kafka创建配置Kafka创建发送消息的生产者创建消费消息的消费者初识 KafkaKafka是一个分布式流式处理平台。这到底是什么意思呢?流平台具有三个关键功能:1.消息队列:发布和订阅消息流,这个功能类似于消息队列,这也是Kafka也被归类为消息队列的原因。2.容错的持久方式存储记录消息流:Kafka会把消息持久化到磁盘,有效避免了消息丢失的风险·。3.流式处理平台: 在消息发布的时候进行处理,Kafka 提供了一个完整的流式处理类库。Kafka主要有两大应用场景:1.消
2021-04-14 20:37:23
264
原创 分表分库
数据库瓶颈1、IO瓶颈第一种:磁盘读IO瓶颈,热点数据太多,数据库缓存放不下,每次查询时会产生大量的IO,降低查询速度 -> 分库和垂直分表。第二种:网络IO瓶颈,请求的数据太多,网络带宽不够 -> 分库。2、CPU瓶颈第一种:SQL问题,如SQL中包含join,group by,order by,非索引字段条件查询等,增加CPU运算的操作 -> SQL优化,建立合适的索引,在业务Service层进行业务计算。第二种:单表数据量太大,查询时扫描的行太多,SQL效率低,CPU率先
2021-04-10 14:35:38
179
原创 jvm系列
jvm系列类加载机制java类加载机制1.什么是类的加载2.类的生命周期3.类加载器4.类的加载5.双亲委派模型java类加载机制1.什么是类的加载类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。 比喻:胃2.类的生命周期类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。加载:查找并加载类的二进制数据验证:确保被加载的类的正确性准备:为类的静态变量分配内存,并将其初始
2021-04-10 09:09:04
322
原创 分享即学习
分享即学习前言总结前言之前习惯做小透明,觉得自己很努力的学习,但不敢输出,不肯输出。第一,无法检验自己的学习效果;第二,无法体现自己的学习价值。纯银老师在微博经常说,他一直能跟随时代前进,身为中年人,这一点不容易,但保持竞争力,靠什么,学习?当然是靠学习,但学习最好的方法是什么,做个安静记笔记的小透明么?其实是输出!总结分享即学习,利他即利己。种一棵树最好的时间是十年前,其次是现在。之后会陆陆续续从有道云笔记整理好迁移到博客来,请多多指教。...
2021-04-09 20:51:19
116
原创 《Java8实战》笔记下篇
Java8实战笔记下篇11.6 小结12.4 小结13.4 小结14.6 小结15.4 小结16.1.5 默认方法链接: [Java8实战] (链接:https://pan.baidu.com/s/1o2qqBbmjQ_qbXti6qcYv5g提取码:java ).11.6 小结这一章中,你学到的内容如下。 执行比较耗时的操作时,尤其是那些依赖一个或多个远程服务的操作,使用异步任务可以改善程序的性能,加快程序的响应速度。 你应该尽可能地为客户提供异步API。使用CompletableFutu
2021-04-09 20:49:01
107
原创 哈佛幸福课笔记上篇
改变一生的课:哈佛幸福课笔记上篇第1课 什么是积极心理学?第2课 为什么要学习积极心理学?第3课 幸福是一种随机现象吗?第4课 积极的环境能改变人第5课 环境的力量第6课 乐观主义第7课 逆境还是机遇?第8课 感激链接: 哈佛大学公开课:幸福课.《哈佛幸福课》是改变我生活最大的一项事物,没有之一。我学习了5遍幸福课,并且用过去6年的时间去尝试它践行它,感觉完全改变了我的生活。第1课 什么是积极心理学?1.享受安静2.这门课不光是传授信息,而且关于如何变形。重要的不仅仅是获得了什么信息,还是何形状
2021-04-09 20:45:45
527
1
原创 哈佛幸福课笔记中篇
改变一生的课:哈佛幸福课笔记中篇第9课 积极情绪第10课 如何去改变第11课 养成良好习惯第12课 写日记第13课 面对压力第14课 过犹不及第15课 完美主义第16课 享受过程链接: 哈佛大学公开课:幸福课.《哈佛幸福课》是改变我生活最大的一项事物,没有之一。我学习了5遍幸福课,并且用过去6年的时间去尝试它践行它,感觉完全改变了我的生活。第9课 积极情绪1.感激练习,每天去做才能养成习惯,那样才能改变思维。每天变化,思考不同的方向去做。爱默生:如果星星每千年闪烁一次,我们都会仰视赞美这个世界的
2021-04-09 20:20:40
867
2
原创 数据库索引
数据库索引是怎样提升性能的?使用索引的全部意义就是通过缩小一张表中需要查询的记录/行的数目来加快搜索的速度。什么是索引?要记住的关键点是索引包含一个表中列的值,并且这些值存储在一个数据结构中。请记住记住这一点:索引是一种数据结构 。索引是怎么提升性能的?因为索引基本上是用来存储列值的数据结构,这使查找这些列值更加快速。如果索引使用最常用的数据结构-B-Tree-那么其中的数据是有序的,有序的列值可以极大的提升性能。使用数据库索引会有什么代价?使用数据库索引有什么缺点呢?其一,索引会占用空间 -
2021-04-09 20:18:41
90
原创 如何解决高并发,秒杀问题
如何解决高并发,秒杀问题1.尽量将请求拦截在系统上游(越上游越好);2.读多写少的常用多使用缓存(缓存抗读压力);浏览器和APP:做限速站点层:按照uid做限速,做页面缓存服务层:按照业务做写请求队列控制流量,做数据缓存数据层:读写分离并且:结合业务做优化...
2021-04-09 20:15:48
102
原创 《Java8实战》笔记上篇
Java8实战笔记上篇1 小结2.5 小结3.10 小结4.5 小结5.8 小结6.7 小结7.2.2 使用分支/合并框架的最佳做法7.4 小结8.5 小结9.4.1 解决问题的三条规则9.5 小结10.5 小结1 小结没有共享的可变数据,将方法和函数即代码传递给其他方法的能力)是我们平常所说的函数式编程范式的基石.2.5 小结以下是你应从本章中学到的关键概念。 行为参数化,就是一个方法接受多个不同的行为作为参数,并在内部使用它们,完成不同行为的能力。 行为参数化可让代码更好地适应不断变化
2021-04-09 20:13:55
149
原创 Spring
Spring最根本的使命:简化Java开发。为了降低Java开发的复杂性,Spring采取了以下4种关键策略:1.基于POJO的轻量级和最小侵入性编程;2.通过依赖注入和面向接口实现松耦合;3.基于切面和惯例进行声明式编程;4.通过切面和模板减少样板式代码。Spring容器并不是只有一个。Spring自带了多个容器实现,可以归为两种不同的类型。bean工厂(由org.springframework. beans.factory.eanFactory接口定义)是最简单的容器,提供基本的DI支持。应
2021-04-09 18:21:47
157
原创 优化sql
sql优化1.设计表2.索引3.合适的数据类型4.合适的索引列5.建议1.设计表1.表字段避免null值出现,null值很难查询优化且占用额外的索引空间,推荐默认数字0代替null。2.尽量使用INT而非BIGINT,如果非负则加上UNSIGNED(这样数值容量会扩大一倍),当然能使用TINYINT、SMALLINT、MEDIUM_INT更好。3.使用枚举或整数代替字符串类型。4.尽量使用TIMESTAMP而非DATETIME。5.单表不要有太多字段,建议在20以内。6.用整型来存IP。2.
2021-04-09 10:02:59
268
原创 哈佛幸福课笔记下篇
改变一生的课:哈佛幸福课笔记第1课 什么是积极心理学?第2课 为什么要学习积极心理学?第3课 幸福是一种随机现象吗?第4课 积极的环境能改变人第5课 环境的力量第6课 乐观主义第7课 逆境还是机遇?第8课 感激第9课 积极情绪第10课 如何去改变第11课 养成良好习惯第12课 写日记第13课 面对压力第14课 过犹不及第15课 完美主义第16课 享受过程第17课 运动与冥想第18课 睡眠、触摸和爱情的重要性第19课 如何让爱情天长地久第20课 幸福与幽默第21课 爱情与自尊第22课 自尊与自我实现第23课
2021-04-08 18:14:57
770
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人