物联网知识体系构建中
C++技术栈
多线程与多进程
垃圾回收
由于C++没有提供垃圾回收机制,资源申请和释放都需要编程实现。C++编程中不可避免的就是内存泄漏的问题,RAII是Resource Acquisition Is Initialization(wiki上面翻译成 “资源获取就是初始化”)的简称,是C++语言的一种管理资源、避免泄漏的惯用办法。
链接:C++中的RAII机制
网络编程模型
常见的网络编程模型主要分为四种,同步阻塞模型,同步非阻塞,IO多路复用,异步IO.
链接:
1. IO多路复用机制详解
2.深度理解select、poll和epoll
3.完成端口
基于Libevent的网络编程
Libevent是基于IO多路复用的网络编程模型,提供的select,poll和epoll方法来进行I/O复用,但是针对于多个系统平台上的不同的I/O复用实现方式,libevent进行了重新的封装,并提供了统一的API接口。libevent在实现上使用了事件驱动这种机制,其本质上是一种Reactor模式。
链接:1. libevent高性能网络库源码分析
JAVA技术栈
JAVA基础
JAVA语言
JAVA并发编程
为什么wait,notify和notifyAll要与synchronized一起使用
Lock和synchronized的区别和使用
JVM
网络编程基础
网络编程模型
NIO框架详解:Netty的高性能之道
Java NIO:浅析I/O模型
Java web开发基础
后端框架
Spring
简单的来说,Spring主要简化了两个编程中常见的麻烦,一个是依赖注入,另一个是面向切面编程。
浅析依赖倒置(DIP)、控制反转(IOC)和依赖注入(DI)
spring 源码阅读
spring 源码解析
Struts2
MVC框架指的是Model-View-Controller模型。
Struts2要解决什么问题呢?通俗的理解就是如何将前端的url请求和表单数据映射到服务端的方法中。
Struts2工作原理以及核心思想
Hibernate
Hibernate要解决什么问题呢?就是要将服务端程序中数据映射,存储到数据库中。
Mybaits
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详解
大话Spring Cloud
Dubbo
Dubbo是阿里巴巴开源的一个SOA框架,组件间通信方式是webservice+xml方式。
中间件
WEB开发不可避免的涉及到许多中间件技术,虽然这些中间件的是由C++实现的,但是因为在笔者接触的业务场景中服务于JAVA编写的WEB程序,因此将其放在此处
Tomcat
Zookeeper
Zookeeper实现了分布式一致性协议,广泛的应用于集群管理,在目前我接触的业务中主要作为dubbo框架的注册中心。
分布式理论之paxos
zookeeper中的ZAB协议理解
ActiveMq
ActiveMQ是常见的消息中间件,在实际项目中通过ActiveMq 的发布订阅模式。
Nginx
Nginx是反向代理的服务器,在实际项目中主要是防止xss和csrf攻击。
参考文献:什么是Nginx?为什么使用Nginx
ElasticSearch
在实际的业务场景中,服务端需要提供给客户端接口,实时精确查询视频监控点名称,然后根据具体的监控点进行视频播放。如果从关系数据库中直接查询,将会十分耗时,影响用户体验,ElasticSearch是基于lucene的用于海量数据检索的中间件,lucene的基本原理是倒排索引。
Lucene关系数据库的使用
Elasticsearch
ElasticJob
Elastcjob基于quartz定时任务的中间件,实际的业务场景中,应用于定时从其他服务组件拉去文件,进行解析。
keepalive
LTS 任务调度框架
quartz源码分析——执行引擎和线程模型
light-task-scheduler
数据库
关系型数据库
第一范式 第二范式 第三范式 BC范式
为什么B+树适合作为索引的结构
Not only Sql
Redis
MongoDB
Hbase
网络编程
网络安全
数字签名与数字证书以及https
数字签名与数字证书技术简介
数据结构与算法
机器学习
机器学习算法
统计学习
深度学习
机器学习框架
大数据
大数据相关算法
离线处理
Hadoop
实时处理
Spark
Storm
S4
链接: S4,Storm; Mesos,YARN;Spark,Hadoop
业务流程
BS模式编程相关
CAS单点登录
用户一次登录之后,其他服务不可再次登录即可访问。
单点登录原理与简单实现
基于RBAC的权限管理
管理用户可访问资源,列表
RBAC用户、角色、权限、组设计方案
资源管理
增删改查
OAuth 2.0
Leetcode
Leetcode题库涉及到基本的数据结构和算法。
架构设计
9种高性能高可用高并发的技术架构
后端架构师技术图谱
Java 微服务框架选型
微服务架构理解
JavaGuide
项目开发中常见问题
Maven
Maven中 jar包冲突原理与解决办法.
Maven本地仓库添加本地jar包.
常用开源工具包
模拟接口工具
easymock
json解析,json转POJO
fastjson
对象映射
mapStruct
生产率提高工具,减少getter、setter这类的业务代码
lombok