Toggle navigation
Gao Ming’s Blog
Home
About
Archives
Tags
Tags
Hey, this is Tags.
机器学习
工具
中间件
Java基础
运维
测试框架
神经网络
Spring
应用框架
数据库
剑指offer
设计模式
多线程
深度学习
自然语言处理
Go基础
消息队列
源码解析
机器学习
Adaboost
Adaboost
Boosting与AdaBoost
Boosting与AdaBoost
Bagging与随机森林
Bagging与随机森林
EM算法
EM算法
GBDT
GBDT
GBDT和XGBoost区别
GBDT和XGBoost区别
SVM
SVM
XGBoost
XGBoost
朴素贝叶斯
朴素贝叶斯
线性回归和逻辑回归
线性回归和逻辑回归
过拟合和欠拟合
过拟合和欠拟合
决策树
决策树
机器学习基础
机器学习基础
工具
BcakdoorController
动态代理,执行项目中任意代码
Filter指定UrI免登录
基于注解实现拉取所有需要免登录的接口,可以匹配到HttpMethod层面的路由地址
Hexo搭建个人博客
利用 Hexo 快速生成个人博客网站更换主题,Typora 快速编辑文章,github.io 发布,百度统计网站访问
中间件
Cat
CAT(Central Application Tracking),是美团点评基于 Java 开发的一套开源的分布式实时监控系统。美团点评基础架构部希望在基础存储、高性能通信、大规模在线访问、服务治理、实时监控、容器化及集群智能调度等领域提供业界领先的、统一的解决方案,CAT 目前在美团点评的产品定位是应用层的统一监控组件,在中间件(RPC、数据库、缓存、MQ 等)框架中得到广泛应用,为各业务线提供系统的性能指标、健康状况、实时告警等服务
Redis
Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助
Redisson
Redisson是Redis官方推荐的Java版的Redis客户端。它提供的功能非常多,也非常强大,此处我们只用它的分布式锁功能
Redis缓存一致性
Redis缓存一致性
Zookeeper
zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目
本地缓存和分布式缓存
本地缓存和分布式缓存
Java基础
Filter指定UrI免登录
基于注解实现拉取所有需要免登录的接口,可以匹配到HttpMethod层面的路由地址
GC问题排查
GC问题排查
三色标记
三色标记
函数式编程
函数式编程
函数接口
函数接口是指内部只有一个抽象方法的接口
响应式编程
响应式编程
线程池
线程池
编码与解码
编码:将字符转为字节序列 解码:将字节序列转为字符
HashMap源码解析
哈希表(hash table)的实现是基于Map接口,这种实现方式提供了Map所有的可选操作,并且允许空键和空值(null key null value)
数据库设计规范
Mysql设计规范
Java注解(Annotation)
Java语言的类、方法、变量、参数和包等都可以被标注,和JavaDoc不同,Java标注可以通过反射获取标注内容,在编译器生成类文件时,标注可以被嵌入到字节码中
ReentrantLock源码解析
java除了使用关键字synchronized外,还可以使用ReentrantLock实现独占锁的功能。而且ReentrantLock相比synchronized而言功能更加丰富,使用起来更为灵活,也更适合复杂的并发场景
Stream流常规用法
A sequence of elements supporting sequential and parallel aggregate operations
Jvm工具
Jps jstack jstat jinfo jmap jhat
Java虚拟机
Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java虚拟机屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行
运维
Git基础
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持
Nexus
搭建Nexus私服的主要目的是为了解决工作组上组件之间的jar包依赖管理,特别是基础架构部门的jar包要共享出来,就需要把jar包deploy发布到nexus私服上
Docker基础
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化
Devops
DevOps是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作
测试框架
Mockito 测试框架
Mockito 是的 Java 单元测试 Mock 框架,开源
神经网络
Restricted Boltzmann Machines
Restricted Boltzmann Machines
Stackend Autoencoders
Stackend Autoencoders
线性回归和逻辑回归
线性回归和逻辑回归
优化器
优化器
机器学习基础
机器学习基础
深度学习基础
机器学习基础
Spring
Spring HTTP invoker(SOA)
Spring HTTP invoker 是 spring框架中的一个远程调用模型,执行基于HTTP的远程调用(意味着可以通过防火墙),并使用Java的序列化机制在网络间传递对象
SpringSecurity单点登录
基于SpringSecurity的单点登录
Spring
Spring 是目前主流的 Java Web 开发框架,是 Java 世界最为成功的框架。该框架是一个轻量级的开源框架,具有很高的凝聚力和吸引力
应用框架
Web系统架构分层
微服务架构 api biz common job portal
RabbitMq
RabbitMQ是一个开源的消息代理和队列服务器,用来通过普通协议在不同的应用之间共享数据(跨平台跨语言)。RabbitMQ是使用Erlang语言编写,并且基于AMQP协议实现
数据库
MongoDB
Spring集成MongoDB
QueryDSL
QueryDSL
数据库设计规范
Mysql设计规范
ElasticSearch
ElasticSearch
剑指offer
二叉树
二叉树
剑指offer001-整数除法
整数除法
剑指offer003-前n个数字二进制中1的个数
前n个数字二进制中1的个数
剑指offer004-只出现一次的数字
只出现一次的数字
剑指offer006-排序数组中两个数字之和
排序数组中两个数字之和
剑指offer002-二进制加法
二进制加法
剑指offer005-单词长度的最大乘积
单词长度的最大乘积
剑指offer008-和大于等于target的最短子数组
和大于等于target的最短子数组
剑指offer007-数组中和为0的三个数
数组中和为0的三个数
剑指offer010-和为k的子数组
和为k的子数组
剑指offer009-乘积小于K的子数组
乘积小于K的子数组
剑指offer011-0和1个数相同的子数组
和1个数相同的子数组
剑指offer013-二维子矩阵的和
二维子矩阵的和
剑指offer014-字符串中的变位词
符串中的变位词
剑指offer012-左右两边子数组的和相等
左右两边子数组的和相等
剑指offer015-字符串中的所有变位词
字符串中的所有变位词
剑指offer017-含有所有字符的最短字符串
含有所有字符的最短字符串
剑指offer016-不含重复字符的最长子字符串
不含重复字符的最长子字符串
剑指offer018-有效的回文
有效的回文
剑指offer020-回文子字符串的个数
回文子字符串的个数
剑指offer021-删除链表的倒数第n个节点
删除链表的倒数第n个节点
剑指offer019-最多删除一个字符得到回文
最多删除一个字符得到回文
剑指offer022-链表中环的入口节点
链表中环的入口节点
剑指offer023-两个链表的第一个重合节点
两个链表的第一个重合节点
剑指offer026-重排链表
重排链表
剑指offer024-反转链表
反转链表
剑指offer025-链表中的两数相加
链表中的两数相加
剑指offer028-展平多级双向链表
展平多级双向链表
剑指offer027-回文链表
回文链表
剑指offer030-剑指offer030-插入、删除和随机访问都是O(1)的容器
剑指offer030-插入、删除和随机访问都是O(1)的容器
剑指offer032-有效的变位词
有效的变位词
剑指offer029-排序的循环链表
排序的循环链表
剑指offer033-变位词组
变位词组
剑指offer036-后缀表达式
后缀表达式
剑指offer034-外星语言是否排序
外星语言是否排序
剑指offer035-最小时间差
最小时间差
剑指offer037-小行星碰撞
小行星碰撞
剑指offer038-每日温度
每日温度
剑指offer039-直方图最大矩形面积
直方图最大矩形面积
剑指offer040-矩阵中的最大的矩形
矩阵中的最大的矩形
剑指offer041-滑动窗口的平均值
滑动窗口的平均值
剑指offer045-二叉树最底层最左边的值
二叉树最底层最左边的值
剑指offer044-二叉树每层的最大值
二叉树每层的最大值
剑指offer047-二叉树剪枝
二叉树剪枝
剑指offer049-从根节点到叶节点的路径数字之和
从根节点到叶节点的路径数字之和
剑指offer050-向下的路径节点之和
向下的路径节点之和
剑指offer046-二叉树的右侧视图
二叉树的右侧视图
排序算法
排序算法
设计模式
代理模式
代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用
工厂模式
工厂顾名思义就是创建产品,根据产品是具体产品还是具体工厂可分为简单工厂模式和工厂方法模式,根据工厂的抽象程度可分为工厂方法模式和抽象工厂模式
策略模式
策略模式把对象本身和运算规则区分开来,其功能非常强大,因为这个设计模式本身的核心思想就是面向对象编程的多形性的思想
装饰器模式
装饰器的价值在于装饰,他并不影响被装饰类本身的核心功能。在一个继承的体系中,子类通常是互斥的。比如一辆车,品牌只能要么是奥迪、要么是宝马,不可能同时属于奥迪和宝马,而品牌也是一辆车本身的重要属性特征。但当你想要给汽车喷漆,换坐垫,或者更换音响时,这些功能是互相可能兼容的,并且他们的存在不会影响车的核心属性:那就是他是一辆什么车。这时你就可以定义一个装饰器:喷了漆的车。不管他装饰的车是宝马还是奥迪,他的喷漆效果都可以实现
观察者模式
当对象存在一对多关系时,则使用观察者模式(Observer Pattern)
责任链模式
责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式
门面与调停者模式
门面模式是对象的结构模式,外部与一个子系统的通信必须通过一个统一的门面对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。调停者模式是对象的行为模式。调停者模式包装了一系列对象相互作用的方式,使得这些对象不必相互明显引用。从而使它们可以较松散地耦合。
多线程
多线程-线程状态
新建,运行,限期等待,无限期等待,阻塞,结束
CountDownLatch
CountDownLatch
深度学习
线性回归和逻辑回归
线性回归和逻辑回归
过拟合和欠拟合
过拟合和欠拟合
优化器
优化器
深度学习基础
机器学习基础
自然语言处理
自然语言处理任务
nlp任务
Go基础
Go语言基础
Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区
消息队列
RabbitMq
RabbitMQ是一个开源的消息代理和队列服务器,用来通过普通协议在不同的应用之间共享数据(跨平台跨语言)。RabbitMQ是使用Erlang语言编写,并且基于AMQP协议实现
源码解析
ReentrantLock源码解析
java除了使用关键字synchronized外,还可以使用ReentrantLock实现独占锁的功能。而且ReentrantLock相比synchronized而言功能更加丰富,使用起来更为灵活,也更适合复杂的并发场景