自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Java技术江湖

公号【Java技术江湖】 前阿里Java工程师,4年码龄。 专注分享Java技术干货文,偶尔也吹水吐槽聊人生。

  • 博客(32)
  • 收藏
  • 关注

转载 漫谈grpc 5:实战,在Java中使用grpc

原文链接:java版gRPC实战之二:服务发布和调用 - 掘金欢迎访问我的GitHubgithub.com/zq2599/blog…内容:所有原创文章分类汇总及配套源码,涉及Java、Docker、Kubernetes、DevOPS等;关于《java版gRPC实战》系列《java版gRPC实战》是欣宸原创的面向java程序员的gRPC开发笔记,与读者们一起通过实战来学习掌握gRPC的各个知识点;《java版gRPC实战》全系列链接用proto生成代码 服务发布和调用 服务端流

2021-12-31 15:27:01 3369

原创 漫谈grpc 4:grpc和其他rpc框架的横向对比,到底好在哪里?

1,什么是grpcgRpc 是一个高性能、开源和通用的 RPC 框架,面向移动和 HTTP/2 设计。目前提供 C、Java 和 Go 语言版本,分别是:grpc, grpc-java, grpc-go. 其中 C 版本支持 C, C++, Node.js, Python, Ruby, Objective-C, PHP 和 C# 支持. gRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特。这些特性使得其在移动设备上表现更好,更省电和节省空间占用。

2021-12-31 15:00:09 6201 2

转载 漫谈grpc 3:从实践到原理,带你参透 gRPC

原文链接:万字长文 | 从实践到原理,带你参透 gRPC大家好,我是煎鱼。gRPC 在 Go 语言中大放异彩,越来越多的小伙伴在使用,最近也在公司安利了一波,希望这一篇文章能带你一览 gRPC 的巧妙之处,本文篇幅比较长,请做好阅读准备。本文目录如下:简述gRPC 是一个高性能、开源和通用的 RPC 框架,面向移动和 HTTP/2 设计。目前提供 C、Java 和 Go 语言版本,分别是:grpc, grpc-java, grpc-go. 其中 C 版本支持 C, C++, No

2021-12-31 11:52:04 1173

转载 漫谈grpc 2:实战grpc,跨语言的rpc框架到底好不好用,试试就知道

gRPC 这项技术真是太棒了,接口约束严格,性能还高,在 k8s 和很多微服务框架中都有应用。作为一名程序员,学就对了。之前用 Python 写过一些 gRPC 服务,现在准备用 Go 来感受一下原汁原味的 gRPC 程序开发。本文的特点是直接用代码说话,通过开箱即用的完整代码,来介绍 gRPC 的各种使用方法。代码已经上传到 GitHub,下面正式开始。介绍gRPC 是 Google 公司基于 Protobuf 开发的跨语言的开源 RPC 框架。gRPC 基于 HTTP/2 协

2021-12-31 11:35:01 863

转载 漫谈gRPC 1:Google自研的rpc框架到底有什么神秘之处?

本文概括性的介绍gRPC,包括gRPC的起源,核心特性,生态体系,以及一些知名开源软件对gRPC的使用,最后总结gRPC与netty、dubbo等框架的区别,目的是让读者从整体上对gRPC有一个相对全面的认知。1 gRPC起源十多年来,Google一直在使用一个名为Stubby的通用RPC基础架构来连接在数据中心内部和跨越数据中心运行的大量微服务,其内部系统长期以来一直接受微服务架构的普及。拥有统一的跨平台RPC基础架构,可以在整个系统范围内推广效率,安全性,可靠性和行为分析,这对于支持Go..

2021-12-31 11:27:55 866

转载 万字 讲解Spring Cloud Gateway 2.0,面向未来的技术,了解一下?

原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。本文将从知识拓扑讲起,谈一下api网关的功能,以及spring cloud gateway的使用方法。文章很长,可以先过一下目录。一、知识拓扑 (使用和原理)二、网关的作用三、Predicate,路由匹配四、Filter,过滤器编写五、自定义过滤器六、常见问题为什么很多人觉得spring cloud gateway难用?因为它的背后用的是webflux,涉及到响应式编程,而不是传统的过程式编程。我们把.

2021-12-14 17:58:12 1127

转载 Java注解和注解解析器深耕,架构师必会

本文将介绍学习元数据->元注解->运行时注解->编译时注解处理器->自定义框架Demo什么是元数据(metadata) 元数据由metadata译来,所谓的元数据就是“关于数据的数据”,更通俗的说就是描述数据的数据,对数据及信息资源的描述性信息.比如说一个文本文件,有创建时间,创建人,文件大小等数据,这都可以理解为是元数据. 在java中,元数据以标签的形式存在java代码中,它的存在并不影响程序代码的编译和执行,通常它被用来生成其它的文件或运...

2021-12-14 17:39:23 1194

转载 Maven实战与原理分析(六):maven 自定义插件开发实战

前言众所周知,maven 实质上是一个插件执行框架,所有的工作都是通过插件完成的。包括我们日常使用到的类似 install、clean、deploy、compiler。。。这些命令,其实底层都是一个一个的 maven 插件。如何开发自己的插件1. maven 插件的命名规范在写一个项目之前,第一件事就是确定一个名称。maven 插件也不例外。它有着自己的一套命名规范。但是规范很简单,一句话就可以概括,**官方插件命名的格式为 maven-xxx-plugin,非官方的插件...

2021-12-14 17:11:55 1766 1

转载 Maven实战与原理分析(五):Maven插件运行原理 + 常见插件汇总

简介: 我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的。本文将为大家介绍一些常用的 Maven 插件。镜像下载、域名解析、时间同步请点击阿里巴巴开源镜像站我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的。进一步说,每个任务对应了一个插件..

2021-12-14 17:10:27 1600

转载 Maven实战与原理分析(四):手把手带你搭建maven私有仓库

Maven的原理就是将jar从远程中央仓库下载到PC磁盘的本地仓库,当本地仓库没有发现需要的jar就会去Maven默认的远程中央仓库Maven Central(由Apache维护)中寻找,每次需要新的jar后都要从远程中央仓库上下载。那么问题来了?这个远程的中央仓库一定有很多人使用那下载速度一定很慢,这个暂且不用考虑。 重要的是万一哪天公司外网连不上了咋办?而Nexus私服恰好可以解决这个问题。搭建私服的好处是Nexus有效解决了Maven对Apache的远程中央仓库的依赖,当项目需要新的jar时会先在n.

2021-12-14 16:57:21 2599

原创 Maven实战与原理分析(三):Maven在应用中的常见问题整理

Maven下载依赖失败的解决方式那今天这期视频我们将带来一个 IDEA 中 Maven 设置的小技巧。那这个技巧可以说非常有用,学会设置之后,再也不用担心 maven 依赖下载变慢的问题。Maven 设置当我们下载安装 Maven 之后,如果不修改 maven 中 setting 文件的。那默认情况下, Maven 远程中央仓库地址为是个国外的地址。http://repo1.maven.org/maven2复制代码那我们国内的网络,因为神秘的力量的影响,访问国外的地址就会比较

2021-12-14 16:51:01 1266

原创 Maven实战与原理分析(二):maven实战

1 Maven 介绍1.1 为什么使用 Maven由于 Java 的生态非常丰富,无论你想实现什么功能,都能找到对应的工具类,这些工具类都是以 jar 包的形式出现的,例如 Spring,SpringMVC、MyBatis、数据库驱动,等等,都是以 jar 包的形式出现的,jar 包之间会有关联,在使用一个依赖之前,还需要确定这个依赖所依赖的其他依赖,所以,当项目比较大的时候,依赖管理会变得非常麻烦臃肿,这是 Maven 解决的第一个问题。Maven 还可以处理多模块项目。简单的项目,单模块..

2021-12-14 16:38:00 536

原创 Maven实战与原理分析(一):maven超全使用指南总结

maven package和maven install 有什么区别?你常用的maven命令有哪些?<dependencyManagement> 是干什么的?还有用过其它构建工具吗? 和maven有啥区别?这几个问题都可以脱口而出,你应该是有点 maven 能耐,写代码去吧,不用看了点赞+收藏 就学会系列,文章收录在 GitHubJavaEgg,N线互联网开发必备技能兵器谱1.Maven是啥:Maven是Apache软件基金会唯一维护的...

2021-12-14 16:35:45 1487

原创 Java面试细节:静态变量和静态块、静态方法、静态类的底层实现原理

Java静态变量的初始化(static块的本质)在网上看到了下面的一段代码:publicclassTest { static{ _i = 20; } publicstaticint_i = 10; publicstaticvoidmain(String[] args) { System.out.println(_i); } }pu...

2021-12-10 17:55:18 1125

转载 如果你想在Java代码中写一个Http客户端,你会选择哪一种方式?Okhttp vs Apache vs Jdk

除了本文推荐的几种方式,强烈推荐 OkHttp目前JAVA实现HTTP请求的方法用的最多的有两种:一种是通过HTTPClient这种第三方的开源框架去实现。HTTPClient对HTTP的封装性比较不错,通过它基本上能够满足我们大部分的需求。HttpClient3.1 是 org.apache.commons.httpclient下操作远程 url的工具包,虽然已不再更新,但实现工作中使用httpClient3.1的代码还是很多,HttpClient4.5是org.apache.http.clien

2021-12-10 17:35:04 1011

转载 Java中的屠龙之术(二):如何方便快捷地生成.class文件

在之前的“Java中的屠龙之术:如何修改语法树”中,我们详细介绍了如何使用Javac源码提供的工具类来修改语法树。而在此基础上,有一款开源工具javapoet可以更加快捷地生成字节码,实现原理其实也就是对JavaAPT的封装,然而Javapoet有一个局限性,就是只能生成新的.class文件,却无法修改原有的类,这也是它的一大局限性所在。接下来就让我们看看它的使用方法把。0x00 概述注解系列注解基础 JavaPoet 编译期注解处理之APT上一篇限于篇幅只介绍了APT,这篇来继续介绍

2021-12-10 17:31:12 1556

转载 Java8特性详解 lambda表达式(三):原理篇

Java为什么需要lambda表达式?能够提升代码简洁性、提高代码可读性。例如,在平时的开发过程中,把一个列表转换成另一个列表或map等等这样的转换操作是一种常见需求。在没有lambda之前通常都是这样实现的。List<Long> idList = Arrays.asList(1L, 2L, 3L);List<Person> personList = new ArrayList<>();for (long id : idList) { pers

2021-12-10 17:24:11 809

转载 Java8特性详解 lambda表达式(二):流式处理中的lambda

要讲 Stream ,那就不得不先说一下它的左膀右臂 Lambda 和方法引用,你用的 Stream API 其实就是函数式的编程风格,其中的「函数」就是方法引用,「式」就是 Lambda 表达式。Lambda 表达式Lambda 表达式是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象,是一个匿名函数,即没有函数名的函数。Lambda表达式可以表示闭包。在 Java 中,Lambda 表达式的格式是像下面这样// 无参数,无返回值() -

2021-12-10 17:19:14 951

原创 Java8特性详解 lambda表达式(一):使用篇

在 Java 8之前,一个实现了只有一个抽象方法的接口的匿名类看起来更像Lambda 表达式。下面的代码中,anonymousClass方法调用waitFor方法,参数是一个实现接口的Condition类,实现的功能为,当满足某些条件,Server 就会关闭。 下面的代码是典型的匿名类的使用。void anonymousClass() { final Server server = new HttpServer(); waitFor(new Condition() { ..

2021-12-10 17:16:09 1377

原创 lombok中的builder注解居然是一种设计模式:让我们了解一下超级实用的“建造者模式”吧

1.认识:①一句话来说:封装一个复杂对象的构建过程,并可以按步骤构造。因为需要对对象一步步建造起来,所以称为建造者模式。②将复杂产品的构建过程封装分解在不同的方法中,使得创建过程非常清晰,能够让我们更加精确的控制复杂产品对象的创建过程,同时它隔离了复杂产品对象的创建和使用,使得相同的创建过程能够创建不同的产品。但是若内部变化复杂,会有很多的建造类。2.UML类图:UML说明:Product(产品角色):一个具体的产品对象。Builder(抽象建造者):创建一个Product对象的各个部件

2021-12-10 14:52:19 2088

原创 从Java的类加载机制谈起:聊聊Java中如何实现热部署(热加载)

一 class的热替换ClassLoader中重要的方法loadClassClassLoader.loadClass(...)是ClassLoader的入口点。当一个类没有指明用什么加载器加载的时候,JVM默认采用AppClassLoader加载器加载没有加载过的class,调用的方法的入口就是loadClass(…)。如果一个class被自定义的ClassLoader加载,那么JVM也会调用这个自定义的ClassLoader.loadClass(…)方法来加载class内部引用的一些别的clas.

2021-12-08 19:19:13 2578

转载 这篇 CPU Cache,估计也没人看

点击蓝色“黄小斜学Java”关注我哟加个“星标”,每天和你一起多进步一点点!无论你写什么样的代码都会交给 CPU 来执行,所以,如果你想写出性能比较高的代码,这篇文章中提到的技术还是值得认...

2021-12-08 11:59:00 314

转载 聊一聊我眼中的阿里P8、P9及以上人的水平

点击蓝色“黄小斜学Java”关注我哟加个“星标”,每天和你一起多进步一点点!源/乐谷说 文/对白的算法屋见过身边的阿里P8,记录一下我的观察,这里仅说技术线的P8,有...

2021-12-08 11:59:00 399

转载 昨天,JetBrains 推出“下一代 IDE”,快看看有哪些值得期待的功能!

点击蓝色“黄小斜学Java”关注我哟加个“星标”,每天和你一起多进步一点点!11月29日,JetBrains 在官方博客宣布,推出一款有点不一样的轻量级编辑器 Fleet,并称其为“下一代...

2021-12-07 11:59:00 223

原创 面试题:如何解决Spring 的循环依赖问题

Spring 的循环依赖问题什么是循环依赖什么是循环依赖呢?可以把它拆分成循环和依赖两个部分来看,循环是指计算机领域中的循环,执行流程形成闭合回路;依赖就是完成这个动作的前提准备条件,和我们平常说的依赖大体上含义一致。放到 Spring 中来看就一个或多个 Bean 实例之间存在直接或间接的依赖关系,构成循环调用,循环依赖可以分为直接循环依赖和间接循环依赖,直接循环依赖的简单依赖场景:Bean A 依赖于 Bean B,然后 Bean B 又反过来依赖于 Bean A(Bean A -> Bean

2021-12-06 20:57:26 1045

转载 面试官:为什么 SpringBoot 的 jar 可以直接运行?

点击关注公众号,Java干货及时送达????本文来源:http://fangjian0423.github.io/2017/05/31/springboot-executable-jar/S...

2021-12-06 11:59:00 321

转载 知乎高赞:31岁零基础转行程序员,目前35了,网友:脸皮要厚,才能熬过35~

点击蓝色“黄小斜学Java”关注我哟加个“星标”,每天和你一起多进步一点点!作者:老去的80后来源:zhuanlan.zhihu.com/p/99944212大家好,我是D哥,今天无意中...

2021-12-06 11:59:00 1863 3

转载 别再用 BeanUtils 了,这款 PO VO DTO 转换神器不香么?

点击关注公众号,Java干货及时送达????点击蓝色“黄小斜学Java”关注我哟加个“星标”,每天和你一起多进步一点点!来源:toutiao.com/i6891531055631696395老铁...

2021-12-05 11:59:00 294

转载 一位阿里P9的年薪和家庭资产

点击蓝色“黄小斜学Java”关注我哟加个“星标”,每天和你一起多进步一点点!过去的二十年中,我们似乎总能够听到层出不穷的致富故事,但近些年来,这样的事情似乎越来越少,不常听说了,好像互联网...

2021-12-04 11:59:00 302

转载 这个用Java写的开源音乐播放器,我粉了!

随着版权意识的增强,如今,想听几首歌,都得下载好几个音乐软件,这也就算了,大部分音乐还都是付费,安装这么多APP或许还说的过,但是对于不是粉丝的人来说,付费听歌都不怎么愿意,于是就开始寻找...

2021-12-03 11:59:00 1050 1

转载 面试官:final、finally、finalize 有什么区别?

作者 |磊哥来源 | Java面试真题解析(ID:aimianshi666)转载请联系授权(微信ID:GG_Stone)重要说明:本篇为博主《面试题精选-基础篇》系列中的一篇,查看系列面...

2021-12-02 11:59:00 333

转载 ​17 款程序员神级 Chrome 插件,爱了爱了!

点击关注公众号,Java干货及时送达????整理:小哈学Java美化Just Black 午夜黑官方主题Dark Reader 暗黑主题为什么你们就是不能加个空格呢?标签管理Momentum 【...

2021-12-01 11:59:00 3886

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除