摘要:今天我更新了一篇jvm垃圾回收的算法和垃圾回收器的内部逻辑,但是看的人不多啊......貌似大家还是比较喜欢看源码吧,毕竟实战要比理论用的多。 这篇文章不会详细的深入底层源码,只是基于注解和配置来说说我们的spring的使用,别小看基础,保证有你没用过的注解和配置,走起。我们先来建立一个maven项 阅读全文
posted @ 2019-09-22 19:51 小菜技术 阅读 (630) 评论 (1) 编辑
摘要:上次回顾: 上次博客,我们主要说了微服务的发展历程和nacos集群单机的搭建,单机需要-m standalone启动,集群建议使用nginx做一下反向代理,自行保证mysql和ngxin的高可用。 本次定位: 一、nacos的内部概念 二、nacos的基本使用 三、为下次ribbon组件做准备 na 阅读全文
posted @ 2020-02-19 09:58 小菜技术 阅读 (113) 评论 (0) 编辑
摘要:历史演变: 以前我们都是一个war包,包含了很多很多的代码,反正我开始工作的时候做的就是这样的项目,一个金融系统,代码具体多少行记不清楚了,内部功能超多,但是实际能用到的不多,代码冗余超大,每次部署大概要10分钟以上。 这个war包包含了我们的所有,jsp、js、css、java代码。代码很臃肿,每 阅读全文
posted @ 2020-02-18 11:15 小菜技术 阅读 (112) 评论 (0) 编辑
摘要:上次回归: 上次博客我们主要说了netty的基本使用,都是一些固定的模式去写的,我们只需要关注我们的拦截器怎么去写就可以了,然后我们用我们的基础示例,改造了一个简单的聊天室程序,可以看到内部加了一个StringEncoder和StringDecoder,这个就是用来编解码我们字符串的,这次我们就来说 阅读全文
posted @ 2020-02-17 10:08 小菜技术 阅读 (134) 评论 (0) 编辑
摘要:上次回顾: 上次博客,我们主要说了我们的IO模型,BIO同步阻塞,NIO同步非阻塞,AIO基于NIO二次封装的异步非阻塞,最重要的就是我们的NIO,脑海中应该有NIO的模型图。 Netty概念: Netty是由JBOSS提供的一个java开源框架,现为 Github上的独立项目。Netty提供异步的 阅读全文
posted @ 2020-02-14 10:45 小菜技术 阅读 (118) 评论 (0) 编辑
摘要:本次我们主要来说一下我们的IO阻塞模型,只是不多,但是一定要理解,对于后面理解netty很重要的 IO模型精讲 IO模型就是说用什么样的通道进行数据的发送和接收,Java共支持3种网络编程IO模式:BIO,NIO,AIO。 BIO BIO(Blocking IO) 同步阻塞模型,一个客户端连接对应一 阅读全文
posted @ 2020-02-13 14:55 小菜技术 阅读 (241) 评论 (0) 编辑
摘要:这次不讲原理了,主要是一些应用方面的知识,和上几次的JUC并发编程的知识点更容易理解. 知识回顾: 上次主要说了Semaphore信号量的使用,就是一个票据的使用,我们举例了看3D电影拿3D眼镜的例子,还说了内部的抢3D眼镜,和后续排队的源码解析,还有CountDownLatch的使用,我们是用王者 阅读全文
posted @ 2020-02-03 19:22 小菜技术 阅读 (103) 评论 (0) 编辑
摘要:上期回顾: 上次博客我们主要说了我们juc并发包下面的ReetrantLock的一些简单使用和底层的原理,是如何实现公平锁、非公平锁的。内部的双向链表到底是什么意思,prev和next到底是什么,为什么要引入heap和tail来值向null的Node节点。高并发时候是如何保证state来记录重入锁的 阅读全文
posted @ 2020-01-19 16:02 小菜技术 阅读 (198) 评论 (0) 编辑
摘要:说完了我们的synchronized,这次我们来说说我们的显示锁ReetrantLock。 上期回顾: 上次博客我们主要说了锁的分类,synchronized的使用,和synchronized隐式锁的膨胀升级过程,从无锁是如何一步步升级到我们的重量级锁的,还有我们的逃逸分析。 锁的粗化和锁的消除 这 阅读全文
posted @ 2020-01-15 15:58 小菜技术 阅读 (171) 评论 (0) 编辑
摘要:上几次博客,我们把volatile基本都说完了,剩下的还有我们的synchronized,还有我们的AQS,这次博客我来说一下synchronized的使用和原理。 synchronized是jvm内部的一把隐式锁,一切的加锁和解锁过程是由jvm虚拟机来控制的,不需要我们认为的干预,我们大致从了解锁 阅读全文
posted @ 2020-01-14 15:10 小菜技术 阅读 (242) 评论 (1) 编辑
摘要:上期回顾: 上次博客我们说了我们的volatile关键字,我们知道volatile可以保证我们变量被修改马上刷回主存,并且可以有效的防止指令重排序,思想就是加了我们的内存屏障,再后面的多线程博客里还有说到很多的屏障问题。 volatile虽然好用,但是别用的太多,咱们就这样想啊,一个被volatil 阅读全文
posted @ 2020-01-14 08:32 小菜技术 阅读 (269) 评论 (2) 编辑
摘要:貌似两个多月没写博客,不知道年前这段时间都去忙了什么。 好久以前写过一次和volatile相关的博客,感觉没写的那么深入吧,这次我们继续说我们的volatile关键字。 复习: 先来简单的复习一遍以前写过的东西,上次我们说了内存一致性协议M(修改)E(独占)S(共享)I(失效)四种状态,还有我们并发 阅读全文
posted @ 2020-01-13 17:44 小菜技术 阅读 (104) 评论 (0) 编辑
摘要:安装mysql5.7单机 1.获取安装yum包 [root@iZm5e7sz135n16ua2rmbk6Z local]# wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 你可以下载到你的本地,然后上 阅读全文
posted @ 2019-11-26 11:28 小菜技术 阅读 (28) 评论 (0) 编辑
摘要:前面我们说了RabbitMQ和RocketMQ的安装和简单的使用,这次我们说一下Kafka的安装配置,后面我会用几个真实案例来说一下MQ的真实使用场景。天冷了,不愿意伸手,最近没怎么写博客了,还请见谅。 一、目标 1.知道什么是Kafka 2.懂得kafka的单机和集群安装配置 3.了解内部参数的简 阅读全文
posted @ 2019-11-19 16:52 小菜技术 阅读 (231) 评论 (0) 编辑
摘要:NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL"。在现代的计算系统上每天网络上都会产生庞大的数据量。这些数据有很大一部分是由关系数据库管理系统(RDBMS)来处理。 1970年 E.F.Codd's提出的关系模型的论文 "A relational model of d 阅读全文
posted @ 2019-11-11 16:31 小菜技术 阅读 (49) 评论 (0) 编辑
摘要:这次我们来说说我们的RocketMQ的安装和参数配置,先来看一下我们RocketMQ的提出和应用场景吧。 早在2009年,阿里巴巴的淘宝第一次提出了双11购物狂欢节,但是在2009年,服务器无法承受到大规模的并发,导致了大规模宕机停运,当时还是IOE的服务架构,也就是没有我们的消息队列中间件,直接由 阅读全文
posted @ 2019-11-06 22:35 小菜技术 阅读 (298) 评论 (3) 编辑