<>C++技术栈

<>多线程与多进程

<>垃圾回收
由于C++没有提供垃圾回收机制,资源申请和释放都需要编程实现。C++编程中不可避免的就是内存泄漏的问题,RAII是Resource Acquisition
Is Initialization(wiki上面翻译成 “资源获取就是初始化”)的简称,是C++语言的一种管理资源、避免泄漏的惯用办法。
链接:C++中的RAII机制 <https://www.jianshu.com/p/b7ffe79498be>

<>网络编程模型
常见的网络编程模型主要分为四种,同步阻塞模型,同步非阻塞,IO多路复用,异步IO.
链接:
1. IO多路复用机制详解 <https://www.cnblogs.com/welen/articles/5385837.html>
2.深度理解select、poll和epoll
<https://blog.csdn.net/davidsguo008/article/details/73556811>
3.完成端口 <https://blog.csdn.net/han_jiang_xue/article/details/17960827>

<>基于Libevent的网络编程

Libevent是基于IO多路复用的网络编程模型,提供的select,poll和epoll方法来进行I/O复用,但是针对于多个系统平台上的不同的I/O复用实现方式,libevent进行了重新的封装,并提供了统一的API接口。libevent在实现上使用了事件驱动这种机制,其本质上是一种Reactor模式。
链接:1. libevent高性能网络库源码分析
<https://blog.csdn.net/wzgang123/article/details/51179776>

<>JAVA技术栈

<>JAVA基础

<>JAVA语言

动态代理 <https://www.cnblogs.com/techyc/p/3455950.html>

<>JAVA并发编程

为什么wait,notify和notifyAll要与synchronized一起使用
<https://blog.csdn.net/qq_39907763/article/details/79301813>
Lock和synchronized的区别和使用 <https://www.cnblogs.com/baizhanshi/p/6419268.html>

<>JVM

类的加载机制 <http://www.cnblogs.com/ityouknow/p/5603287.html>
JVM的内存区域划分 <https://www.cnblogs.com/dolphin0520/p/3613043.html>

<>网络编程基础

<>网络编程模型

NIO框架详解:Netty的高性能之道 <http://www.52im.net/thread-400-1-1.html>
Java NIO:浅析I/O模型 <https://www.cnblogs.com/dolphin0520/p/3916526.html>

<>Java web开发基础

Servlet简介 <https://www.cnblogs.com/xdp-gacl/p/3760336.html>
POJO <https://www.cnblogs.com/yeyuchangfeng/p/4546138.html>

<>后端框架

<>Spring

简单的来说,Spring主要简化了两个编程中常见的麻烦,一个是依赖注入,另一个是面向切面编程。
浅析依赖倒置(DIP)、控制反转(IOC)和依赖注入(DI)
<https://blog.csdn.net/briblue/article/details/75093382>
spring 源码阅读
spring 源码解析 <https://github.com/seaswalker/spring-analysis>

<>Struts2

MVC框架指的是Model-View-Controller模型。
Struts2要解决什么问题呢?通俗的理解就是如何将前端的url请求和表单数据映射到服务端的方法中。
Struts2工作原理以及核心思想 <https://blog.csdn.net/u011958281/article/details/74685659>

<>Hibernate

Hibernate要解决什么问题呢?就是要将服务端程序中数据映射,存储到数据库中。

<>Mybaits

mybatis <http://www.mybatis.org/mybatis-3/zh/index.html>

<>Spring MVC

Spring MVC与Struts2是功能很相似的框架,但是与Struts2相比,Spring
MVC可以直接将前端请求映射到后端的方法上,且使用注解简化了配置。

<>Spring boot

Spring boot 是搭建Spring MVC工程的脚手架,Spring boot可以简化配置文件。

<>Spring Cloud

Spring Cloud是基于Spring boot 的互联网微服务框架,组件间通讯方式是restful+json形式。
SpringCloud详解 <https://blog.csdn.net/qq_33811090/article/details/80164712>
大话Spring Cloud
<http://www.ityouknow.com/springcloud/2017/05/01/simple-springcloud.html>

<>Dubbo

Dubbo是阿里巴巴开源的一个SOA框架,组件间通信方式是webservice+xml方式。

<>中间件

WEB开发不可避免的涉及到许多中间件技术,虽然这些中间件的是由C++实现的,但是因为在笔者接触的业务场景中服务于JAVA编写的WEB程序,因此将其放在此处

<>Tomcat

四张图带你了解Tomcat系统架构 <https://blog.csdn.net/xlgen157387/article/details/79006434>

<>Zookeeper

Zookeeper实现了分布式一致性协议,广泛的应用于集群管理,在目前我接触的业务中主要作为dubbo框架的注册中心。
分布式理论之paxos <http://www.cnblogs.com/esingchan/p/3917718.html>
zookeeper中的ZAB协议理解
<https://blog.csdn.net/junchenbb0430/article/details/77583955>

<>ActiveMq

ActiveMQ是常见的消息中间件,在实际项目中通过ActiveMq 的发布订阅模式。

<>Nginx

Nginx是反向代理的服务器,在实际项目中主要是防止xss和csrf攻击。
参考文献:什么是Nginx?为什么使用Nginx
<https://blog.csdn.net/kisscatforever/article/details/73129270>

<>ElasticSearch


在实际的业务场景中,服务端需要提供给客户端接口,实时精确查询视频监控点名称,然后根据具体的监控点进行视频播放。如果从关系数据库中直接查询,将会十分耗时,影响用户体验,ElasticSearch是基于lucene的用于海量数据检索的中间件,lucene的基本原理是倒排索引。
Lucene关系数据库的使用 <https://blog.csdn.net/lkx94/article/details/44286719>
Elasticsearch <https://blog.csdn.net/laoyang360/article/details/52244917>

<>ElasticJob

Elastcjob基于quartz定时任务的中间件,实际的业务场景中,应用于定时从其他服务组件拉去文件,进行解析。

<>keepalive

KeepAlive–高可用解决方案 <https://segmentfault.com/a/1190000011078937>

<>LTS 任务调度框架

quartz源码分析——执行引擎和线程模型 <https://www.cnblogs.com/liuroy/p/7517777.html>
light-task-scheduler <https://github.com/ltsopensource/light-task-scheduler>

<>数据库

<>关系型数据库

第一范式 第二范式 第三范式 BC范式
<https://blog.csdn.net/douunderstand/article/details/70159540>
为什么B+树适合作为索引的结构
<https://blog.csdn.net/weixin_30531261/article/details/79312676>

<>Not only Sql

<>Redis

<>MongoDB

<>Hbase

一条数据的HBase之旅 <https://blog.csdn.net/nosqlnotes/article/details/79647096>

<>网络编程

HTTP长连接、短连接 <https://www.cnblogs.com/gotodsp/p/6366163.html>

<>网络安全

数字签名与数字证书以及https <https://blog.csdn.net/lzghxjt/article/details/79604602>
数字签名与数字证书技术简介 <https://blog.csdn.net/zxs9999/article/details/79253429>

<>数据结构与算法

<>机器学习

<>机器学习算法

<>统计学习

<>深度学习

<>机器学习框架

<>大数据

<>大数据相关算法

Bitmap和布隆过滤器 <https://blog.csdn.net/zdxiq000/article/details/57626464>

<>离线处理

<>Hadoop

<>实时处理

<>Spark

<>Storm

<>S4

链接: S4,Storm; Mesos,YARN;Spark,Hadoop
<https://blog.csdn.net/putaozhuose/article/details/11991511>

<>业务流程

<>BS模式编程相关

cookie,session,token <https://www.cnblogs.com/moyand/p/9047978.html>

<>CAS单点登录

用户一次登录之后,其他服务不可再次登录即可访问。
单点登录原理与简单实现 <https://www.cnblogs.com/ywlaker/p/6113927.html>

<>基于RBAC的权限管理

管理用户可访问资源,列表
RBAC用户、角色、权限、组设计方案
<https://blog.csdn.net/ljw499356212/article/details/81055141>

<>资源管理

增删改查

<>OAuth 2.0

理解OAuth 2.0 <http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html>

<>Leetcode

Leetcode题库涉及到基本的数据结构和算法。

<>架构设计

9种高性能高可用高并发的技术架构
<https://blog.csdn.net/guolong1983811/article/details/78604814>
后端架构师技术图谱 <https://github.com/xingshaocheng/architect-awesome>
Java 微服务框架选型
<https://www.cnblogs.com/xishuai/archive/2018/04/13/dubbo-and-spring-cloud.html>
微服务架构理解 <https://blog.csdn.net/bcqtt/article/details/79649296#comments>
JavaGuide <https://github.com/Snailclimb/JavaGuide>

<>项目开发中常见问题

<>Maven

Maven中 jar包冲突原理与解决办法
<https://blog.csdn.net/noaman_wgs/article/details/81137893>.
Maven本地仓库添加本地jar包 <https://blog.csdn.net/lvdaan/article/details/79760976>.

<>常用开源工具包

模拟接口工具
easymock <https://github.com/easy-mock/easy-mock/blob/dev/README.zh-CN.md>
json解析,json转POJO
fastjson <https://gitee.com/wenshao/fastjson>
对象映射
mapStruct <https://blog.csdn.net/zhige_me/article/details/80699784>
生产率提高工具,减少getter、setter这类的业务代码
lombok <https://www.cnblogs.com/qnight/p/8997493.html>

<>书单推荐:

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信