- 博客(457)
- 资源 (19)
- 问答 (4)
- 收藏
- 关注

原创 程序员都在用的IDEA插件(不断更新)
IDEA 插件 集合 分享 程序员 Java 最新CamelCaseTranslationMarkDown NavigatorAlibaba Java Coding GuidelinesGsonFormatKey promoter XRestfulToolkitCodeGlanceVisualVM LauncherMyBatisCodeHelperProIDEA Mind MapSequenceDiagramMaterial Theme UIString Manipulation
2018-01-22 15:14:48
18989
3
原创 Java Maven项目推送到 Maven 中央仓库
当需要在sonatype认证com.xxx命名空间时,需要将@.xxx.com配置域名解析。记录类型:TXT文本内容:验证的 key。
2024-04-13 13:36:54
793
原创 2021总结、2022展望
2021总结[TOC]新冠疫情延续经济下行互联网凛冬教培行业双减上半年在30-40人的产研团队做技术TL下半年在大厂拧螺丝苟字当头,不投资、不负债、储备现金风险对冲,保险意识参与开源SkywalkingAdd some new thread metric and class metric to JVMMetric (#7230) #7243add some new thread metric and class metric to JVMMetric #52Remove T
2021-12-26 15:03:33
1114
原创 IDEA远程部署调试Java应用程序
IDEA远程部署调试Java应用程序文章目录IDEA远程部署调试Java应用程序基本概述准备工作远程服务器准备安装JDK配置JAVA_HOME项目准备创建一个SpringBoot项目创建一个Controller类启动应用,验证结果应用配置修改应用配置创建远程服务器保存应用配置验证结果本地验证服务器验证参考文档基本概述在工作中,我们可能会遇到本地无法连接开发环境数据库等资源,但又想在本地直接开发、调试。这时候就能通过IDEA的Run on ...功能实现。其原理是通过SSH连上远程服务器,部署应用到
2021-10-04 02:03:35
1841
1
原创 Skywalking-13:Skywalking模块加载机制
模块加载机制基本概述Module 是 Skywalking 在 OAP 提供的一种管理功能特性的机制。通过 Module 机制,可以方便的定义模块,并且可以提供多种实现,在配置文件中任意选择实现。模块相关配置文件可以参考:Backend setup、Configuration Vocabulary类图Skywalking 中模块管理相关功能都在 org.apache.skywalking.oap.server.library.module 包下。通过类图可以了解 Skywalking 模块机
2021-10-02 13:13:26
1241
原创 Skywalking-12:Skywalking SPI机制
SPI机制基本概述SPI 全称 Service Provider Interface ,是一种服务发现机制。通过提供接口、预定义的加载器( Loader )以及约定俗称的配置(一般在 META-INF 目录下),可以实现动态加载服务实现类。类图通过类图可以分析出, ServiceLoader 实现了 Iterable 接口,提供了迭代的功能。而 ServiceLoader 将迭代的实现委托给 LazyIterator 。LazyIterator 提供了延时迭代的能力,当有需要的时候,才去加
2021-10-02 13:03:45
419
原创 Skywalking-11:Skywalking查询协议——案例分析
以查询 Metrics 信息案例来分析 Skywalking 查询协议基本概述Skywalking 查询协议默认基于 GraphQL ,如果有需要也可以自定义扩展,提供一个实现了 org.apache.skywalking.oap.server.core.query.QueryModule 的查询模块即可。截取 Skywalking UI 发送的请求请求路径POST http://127.0.0.1:8080/graphql请求体{ "query": "query queryDa
2021-10-02 12:59:17
1545
原创 Skywalking-10:Skywalking查询协议——GraphQL
GraphQLGraphQL 基础参照Getting started with GraphQL Java and Spring Boot这篇文章学习即可PS:可以使用 brew install --cask graphql-playground 安装 graphql for mac 客户端。IDEA 怎么调试 GraphQL 应用安装 JS GraphQL 插件点击JS GraphQL安装插件GraphQL 定义schem
2021-10-02 12:49:06
2031
原创 Skywalking-09:OAL原理——如何通过动态生成的Class类保存数据
OAL 如何通过动态生成的 Class 类,保存数据前置工作OAL 如何将动态生成的 SourceDispatcher 添加到 DispatcherManager // org.apache.skywalking.oap.server.core.oal.rt.OALEngineLoaderService#load public void load(OALDefine define) throws ModuleStartException { if (oalD
2021-08-03 16:55:59
618
原创 Skywalking-08:OAL原理——如何动态生成Class类
OAL 如何动态生成 Class 类代码入口在 org.apache.skywalking.oal.rt.OALRuntime#start 方法 public void start(ClassLoader currentClassLoader) throws ModuleStartException, OALCompileException { if (!IS_RT_TEMP_FOLDER_INIT_COMPLETED) { prepareRTTempFo
2021-08-03 16:42:32
481
原创 Skywalking-07:OAL原理——解释器实现
OAL 解释器实现OAL 解释器是基于 Antlr4 实现的,我们先来了解下 Antlr4Antlr4 基本介绍Antlr4 使用案例参考Antlr4的使用简介这篇文章,我们实现了一个简单的案例:antlr案例:简单的计算器,下面来讲讲这个案例。首先,装好ANTLR v4(IDEA插件)插件,这个之后验证语法树的时候会用到。在 pom.xml 中配置 antlr4 的依赖和插件<dependency> <
2021-08-03 16:25:23
529
原创 Skywalking-06:OAL基础
OAL 基础知识基本介绍OAL(Observability Analysis Language) 是一门用来分析流式数据的语言。因为 OAL 聚焦于度量 Service 、 Service Instance 和 Endpoint 的指标,所以它学习和使用起来非常简单。OAL 基于 altlr 与 javassist 将 oal 脚本转化为动态生成的类文件。自从 6.3 版本后, OAL&
2021-08-03 15:42:10
960
原创 Skywalking-05:在Skywalking RocketBot上添加监控图表
在 Skywalking RocketBot上添加监控图表效果图该图的一些配置信息如下:标题为: JVM Thread State Count (Java Service)指标为: read all values in the duration instance_jvm_thread_new_thread_count,instance_jvm_thread_runnable_thread_count,instance_jvm_thread_blocked_thread_count,instan.
2021-07-28 22:21:17
556
原创 Skywalking-04:扩展Metric监控信息
扩展 Metric监控信息官方文档Source and Scope extension for new metrics案例:JVM Thread增加 Metrics修改 Thread的定义在 apm-protocol/apm-network/src/main/proto/language-agent/JVMMetric.proto协议文件中覆盖 message Thread的定义message Thread { int64 liveCount = 1; int64 daemo...
2021-07-28 22:06:12
1514
1
原创 Skywalking-03:Skywalking本地调试
live-demo与 skywalking源码联调构建项目找一个目录执行如下命令git clone https://github.com/apache/skywalking.git # clone skywalking项目cd skywalking # 进入skywalking目录git checkout v8.4.0 # 切换到v8.4.0版本git checkout -b new_v8.4.0 # 创建一个新分支git submodule init # 初始化子模块git submo..
2021-07-28 21:58:56
1212
原创 Skywalking-02:如何写一个Skywalking trace插件
如何写一个Skywalking trace插件javaagent原理美团技术团队-Java 动态调试技术原理及实践类图实现ConsumeMessageConcurrentlyInstrumentationpublic class ConsumeMessageConcurrentlyInstrumentation extends ClassInstanceMethodsEnhancePluginDefine { // 需要增强的类 private static final St.
2021-07-27 19:51:42
521
原创 Skywalking-01:Skywalking介绍
Skywalking介绍Application performance monitor tool for distributed systems, especially designed for microservices, cloud native and container-based (Docker, Kubernetes, Mesos) architectures.SkyWalking is an Observability Analysis Platform and Application
2021-07-27 19:48:23
612
原创 从搭建大数据环境说起,到执行WordCount所遇到的坑
从搭建大数据环境说起,到执行WordCount所遇到的坑[TOC]背景说明最近(2020年12月20日)在了解大数据相关架构及技术体系。虽然说只是了解,不需要亲自动手去搭建一个环境并执行相应的job。但是,技术嘛。就是要靠下笨功夫,一点点的积累。该动手的还是不能少。所以,就从搭环境(基于docker)开始,一直到成功执行了一个基于yarn调度的wordcount的job。期间,遇到了不少坑点,一个一个填好,大概花了10个小时左右的时间。希望能将这种血泪教训,分享给需要的人。花更少的时间,去完
2020-12-20 13:27:15
438
原创 怎样用Java 8优雅的开发业务
怎样用Java 8优雅的开发业务文章目录怎样用Java 8优雅的开发业务函数式编程流式编程基本原理案例优雅的空处理新的并发工具类`CompletableFuture`单机批处理多线程执行模型模型案例调整线程池的大小并行——使用流还是CompletableFutures?日期和时间API项目地址参考函数式编程匿名函数λ演算流式编程基本原理在Java中流式编程的基本原理有两点。构建流数据流转(流水线)规约IntStream.rangeClosed(1, 100) // 1. 构建流
2020-08-22 12:04:31
1494
5
原创 架构师需要懂的环境配置标准化
架构师需要懂的环境配置标准化[TOC]基本概述在真实的研发环境中,一般存在local、developer、test、product等等环境。如何在这些环境中,实现统一的、标准化的配置问题是架构师需要考虑的一件事情。每种环境一般都需要配置如下部分:组件(MySQL、Redis、MongoDB等)数据(MySQL中的表结构、特定的表数据,如:省市区数据)应用参数组件标准化除线上环境需要考虑到稳定性外,在运维角色没有对容器化有丰富经验的情况下,可以考虑线上环境传统部署,如:自己搭组件
2020-05-24 10:19:56
1514
原创 RocketMQ源码学习
RocketMQ源码学习文章目录RocketMQ源码学习Producer 是怎么将消息发送至 Broker 的?同步发送异步发送队列选择器事务消息原理Broker 是怎么处理客户端发送的消息?NettyRequestProcessor发送消息事务消息客户端怎么获取 Broker 信息?客户端怎么获取队列信息?Producer 是怎么将消息发送至 Broker 的?同步发送RocketMQ ...
2019-11-09 23:03:23
831
原创 RocketMQ 源码学习笔记 Producer 是怎么将消息发送至 Broker 的?
RocketMQ 源码学习笔记 Producer 是怎么将消息发送至 Broker 的?[TOC]前言本次分析基于 RocketMQ release-4.5.2 版本。分析的目标是: RocketMQ 中 Producer 是怎么将消息发送至 Broker 的?说到学习源码,首先当然是要把源代码下载下来,官方地址。使用 git clone https://github.com/apac...
2019-10-10 15:48:50
1631
原创 RocketMQ环境搭建
RocketMQ 环境搭建[TOC]下载[Release Notes - Apache RocketMQ - Version 4.5.2][1]快速入门[Quick Start][2]启动 nameserver 和 brokerunzip rocketmq.zipcd rocketmq/nohup sh bin/mqnamesrv &nohup sh bin/mqbroker...
2019-10-09 19:04:50
912
原创 Spring Boot集成Swagger
Spring Boot集成Swagger@(Swagger)[swagger, springfox, springboot]Spring Boot集成Swagger前言基本概述案例引入依赖Swagger配置配置方式基本概述控制器统一响应类用户Model文档界面源码参考信息前言 为了完成项目自带文档的需求,花了一定的时间研究S...
2018-04-06 14:55:14
5372
1
原创 2017总结、2018展望
2017总结、2018展望@(学习)[学习,总结,展望,记录]2017总结2018展望2017总结书籍阅读得到2018展望书籍学习2017总结书籍在2017这一年中,读了以下书籍: - 《图解设计模式》 - 这本书可谓是设计模式的入门书籍,如果直接读《设计模式——可复用面向对象软件的基础》吃力的话,可以先浏览下这本书。 - 《设计模式——可复用面向对象软件的基础》
2017-12-31 15:48:55
1786
3
原创 正则表达式必知必会学习笔记
正则表达式必知必会学习笔记@(正则表达式)[regex,正则表达式,正则]基本概述 《正则表达式必知必会》是一本很薄的书,花了两个小时左右将全书通读了一遍。这本书基本将正则表达式的常用知识记录了下来,想对正则表达式有个大概的认识可以看看。如果想更深入的学习正则表达式,可以看看这本书引言推荐的《精通正则表达式(第3版)》。该书最后一页的表格可谓是整本书的精华所在,特将其抄录下来,方便参考。表格基
2017-12-23 15:46:52
1235
原创 Java 8 实战学习笔记
Java 8 实战学习笔记@(JAVASE)[java8, 实战, lambda]Java 8 实战学习笔记参考内容Lambda表达式Lambda环绕执行模式抽离步骤原始代码第1步 行为参数化第2步 使用函数式接口来传递行为第3步 执行一个行为第4步 传递Lambda函数接口及其原始类型特化方法引用Lambda及其等效方法引用的例子方法引用主要有三类指向静态方法的方法引用
2017-12-17 17:59:16
1691
原创 Spring Boot整合RabbitMQ
Spring Boot整合RabbitMQ@(MQ)[rabbitmq,springboot]Spring Boot整合RabbitMQ写在开头整合流程配置文件RabbitMQ配置RabbitMQ生产者RabbitMQ消费者手动应答简单工具类参考文档写在开头最近在搭一套基于SpringBoot的项目,用到了ssm+mysql+rabbitmq+redis。除了rabbitmq之外,
2017-11-11 15:47:54
7063
5
原创 Java 8 函数式编程学习笔记
Java 8 函数式编程学习笔记@(JAVASE)[java8, 函数式编程, lambda]Java 8 函数式编程学习笔记参考内容Java 8中重要的函数接口扩展函数接口常用的流操作reduce模式基本原理reduce方法API案例使用reduce和Lambda表达式实现map使用reduce和Lambda表达式实现filter类库基本类型重载解析总结情况一情况二
2017-11-11 14:40:07
1302
原创 VueJS实现用户管理系统
VueJS实现用户管理系统@(VueJS)[基础]VueJS实现用户管理系统源代码源代码<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no,
2017-10-05 15:13:34
10120
原创 Spring Cloud脚手架源码
Spring Cloud脚手架源码@(SpringCloud)[Spring Cloud,框架,组成]Spring Cloud脚手架源码基本介绍思维导图源码基本介绍 Spring Cloud提供了一整套快速构建分布式系统(微服务系统)的工具集合。 本项目基于Camden.SR6版本。思维导图源码GitHub:eureka-parent 参考《Spring Cloud微服务实战
2017-10-05 14:38:15
3496
原创 SpringBoot执行流程
SpringBoot执行流程@(SpringBoot)[springboot,启动流程]SpringBoot执行流程基本概述SpringBoot应用启动步骤简要示意图SpringApplicationRunListenerApplicationContextInitializerApplicationRunner和CommandLineRunnerApplicationRunnerCo
2017-06-18 21:47:07
29485
5
原创 Java7并发编程指南——第八章:测试并发应用程序
Java7并发编程指南——第八章:测试并发应用程序@(并发和IO流)Java7并发编程指南第八章测试并发应用程序思维导图项目代码思维导图项目代码GitHub:Java7ConcurrencyCookbook
2017-06-11 19:35:14
892
原创 Java7并发编程指南——第七章:定制并发类
Java7并发编程指南——第七章:定制并发类@(并发和IO流)Java7并发编程指南第七章定制并发类思维导图项目代码思维导图项目代码GitHub:Java7ConcurrencyCookbook
2017-06-11 19:31:00
775
原创 Java7并发编程指南——第六章:并发集合
Java7并发编程指南——第六章:并发集合@(并发和IO流)Java7并发编程指南第六章并发集合思维导图项目代码思维导图项目代码GitHub:Java7ConcurrencyCookbook
2017-06-11 19:29:34
864
原创 Java7并发编程指南——第五章:Fork Join框架
Java7并发编程指南——第五章:Fork Join框架@(并发和IO流)Java7并发编程指南第五章Fork Join框架思维导图项目代码思维导图项目代码GitHub:Java7ConcurrencyCookbook
2017-06-11 19:27:43
747
原创 Java7并发编程指南——第四章:线程执行器
Java7并发编程指南——第四章:线程执行器@(并发和IO流)Java7并发编程指南第四章线程执行器思维导图项目代码思维导图项目代码GitHub:Java7ConcurrencyCookbook
2017-06-11 19:25:35
741
原创 Java7并发编程指南——第三章:线程同步辅助类
Java7并发编程指南——第三章:线程同步辅助类@(并发和IO流)Java7并发编程指南第三章线程同步辅助类思维导图项目代码思维导图项目代码GitHub:Java7ConcurrencyCookbook
2017-06-11 19:22:43
648
原创 Java7并发编程指南——第二章:线程同步基础
Java7并发编程指南——第二章:线程同步基础@(并发和IO流)Java7并发编程指南第二章线程同步基础思维导图项目代码思维导图项目代码GitHub:Java7ConcurrencyCookbook
2017-06-11 19:16:00
708
原创 Java7并发编程指南——第一章:线程管理
Java7并发编程指南——第一章:线程管理@(并发和IO流)Java7并发编程指南第一章线程管理思维导图项目代码思维导图项目代码GitHub:Java7ConcurrencyCookbook
2017-05-31 17:31:17
1178
个人博客设计文档
2016-04-28
oolong.jar
2016-03-21
web方面职业生涯问题?
2015-10-26
Fibonacci堆中mark域的变换规则和degree域的遵循条件是什么?
2015-08-17
二项堆和Fibonacci堆问题?
2015-08-16
程序员面试,基本功重不重要(算法和数据结构)?
2015-08-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人