最近没有更这个模块了,不是去偷懒了。我搞了个springboot 的电商项目。从单体一步步往上升级,到集群到分布式。现在已经完成了三个版本,微服务版本正在进行,可以直接下载经过简单的配置就可以部署,主要是想通过这个学习下互联网在部署的时候都会用到哪些技术,有需要的可以看看,如果入门也可以作为选择。
Java学习笔记,内容包括JVM,spring,hashMap实现源码分析,多线程,剑指offer题解,设计模式。然后根据面试的重点,又将很多从里面抽出,专门整了个面试的分类,如果是看面试的东西的话,可以重点看这个
码字不易,点个star吧。
这边是最近更的几篇文章
前段时间看了几本非技术书籍,更新了下书籍模块的书单
-
跌荡一百年、激荡三十年、激荡十年(作者吴晓波,从商人或者社会经济的角度分析我们国家从清末到2018年的变革。纵观全局可以看到 官商模式基本从未改变,科技在进步,历史仍在轮回。可以看到清末官商如何试图拯救清朝;抗日战争时期中国商人发挥的作用;不可说的十年之中,商人如何挣扎生存;从改革开放之后,经济制度如何改变,中国如何腾飞)
-
全球科技通识(什么是科学,什么是技术?什么又是科技,中国(也可以说东方)为啥一直缺乏科学思维,为啥工业革命之后科技发展的这么快。通过科技的路线讲解人类文明的历史)
-
腾讯传(腾讯是如何从通信软件变成现在的巨无霸,在各个战役中,腾讯如何应对。最终,为什么会有中国最早的产品经理马化腾和最牛产品经理 张小龙)
-
永恒的终结(基地前传,永恒国度的人试图通过时光机来改变各个历史,防止人们走向毁灭,最终永恒国度又是如何瓦解,为什么瓦解)
-
童年的终结(比人类更高文明的超主,也只是更高文明的奴隶附庸。最终人类是如何进化,人类是如何灭绝。有另外一个名称,最后一个地球人)
书籍 | 面试相关 | JVM(已更完) | 源码区 | spring |
---|---|---|---|---|
设计模式(第一阶段完) | 算法(在更) | 并发编程 | 项目 | 数据结构 |
我是想通过项目,来一步步讲述我们常说的比如 Nginx、redis、kafka、keepalived 等等是怎么一步步应用至项目里面的,通过项目来说明在那种情况下,在哪种背景下我们采用哪种技术。每篇博客里面都有一个前言,里面介绍了相关背景
目前完成了三个版本迭代,第四个版本改造成微服务正在做
目前项目的架构图
我后面的配置都是根据博客来配置的,所以基本上每篇博客我都进行过从零部署,一般不会出现太大的问题,如果遇到困难或者哪里写的有问题也可以直接联系我。
这个版本使用 SpringCloud 对项目进行了重构
这个版本主要增加了 几个个中间件
- 使用ES 做为搜索,搜索的关键词可高亮
- 使用FastDFS 作为图片上传的工具
- 使用 RabbitMQ 作为消息队列
- 使用 ELK + kafka 作为日志搜集
- 分布式锁的实现和对比
-
采用 LVS+Keepalived+Nginx 实现高可用以及高并发集群
-
使用 Redis作为缓存,提升系统性能,搭建集群提高并发和高可用
-
LVS+Keepalived+Nginx
-
Redis相关
- redis安装和配置
- 主从复制和哨兵模式
- Redis集群配置
单体项目,前端运行在tomcat即可,后端直接使用idea运行,更改数据库等配置即可
书籍主要分为两方面,一个是技术类书籍,一类是非技术类书籍(这个部分我基本都看过觉得不错的),如果你不知道该看什么,可以参考我的这些目录
技术类我很多也没看过,因为是菜鸡,不过这个是参考了很多推荐的,综合起来的,
非技术的我基本都看过,所以每本都会有我觉得好的看点,感兴趣的可以点击链接下载(部分有资源) 或者自行找资源
https://github.com/leosanqing/Java-Notes/tree/master/books
链接:https://github.com/leosanqing/Java-Notes/tree/master/Struct
可以下载那个文件夹,里面有实现的数据结构
可以参考这个来看《深入理解Java虚拟机》
链接:https://github.com/leosanqing/Java-Notes/tree/master/JVM
-
- 虚拟机跨平台的基础
- 能看懂的字节码系列-上和下。PS:这个真的写了好半天,截了非常多的图,每一步基本都有,就是为了让你们看这个不用翻回到上面
- 类加载都经历了啥
- 类加载器和双亲委派模型
- 对象创建
- 栈帧结构(重点看slot复用和动态连接)
- 重写和重载的区别(方法调用层面)
-
- 并发准备放在并发编程那一模块,JVM这本书上和并发编程讲到的有一些小细节不一样,那个更加详细,因此到时候就放并发模块的目录。
- 链接
链接:https://github.com/leosanqing/Java-Notes/tree/master/ConcurrencyProgramming
把『图解设计模式』这本书的代码敲了四遍(因为我实在太菜,只能用这种笨办法),算是勉强入门了。也根据自己的理解,改动了一小部分。
可以看下我现在对设计模式的理解(不一定对),主要还是可拓展性和各个类之间解耦从而达到能作为独立组件存在的目的
https://github.com/leosanqing/Java-Notes/tree/master/designPattern
如果是有疑问或者建议意见想和我交流,可以添加我的微信,我会尽可能解答