0%

Netty是一个基于NIO网络通信框架,使用它可以简单快速地开发网络应用程序,比如客户端和服务端的协议。Netty大大简化了网络程序的开发过程比如TCP和UDP的 Socket的开发。

阅读全文 »

简介

springboot组件也叫starters(场景启动器),这也是SpringBoot最强大的特点,把可以与SpringBoot集成的技术封装成一个个启动器,供有需要的人,因需引入。

以下是来自官网的 starters 描述:

Starters are a set of convenient dependency descriptors that you can include in your application. You get a one-stop-shop for all the Spring and related technology that you need, without having to hunt through sample code and copy paste loads of dependency descriptors. For example, if you want to get started using Spring and JPA for database access, just include the spring-boot-starter-data-jpa dependency in your project, and you are good to go.
The starters contain a lot of the dependencies that you need to get a project up and running quickly and with a consistent, supported set of managed transitive dependencies.

starters 是一组方便的依赖性描述符,可以包括在应用程序中。您可以为所有Spring和所需的相关技术提供一站式服务,而无需搜索示例代码并复制粘贴的依赖描述符负载。例如,如果您想开始使用 Spring 和 JPA 进行数据库访问,只需在项目中包含SpringBootStarter数据 JPA 依赖项,就可以开始了。

常见的场景启动器有:spring-boot-starter-aop,spring-boot-starter-data-jpa等。

starter原理

1、在maven中引入项目需要的依赖

2、编写项目整体的逻辑

3、将相关自定义的类加入springboot自动装配的范围之中

阅读全文 »

RPC通信的演化

  • 从单机到分布式->分布式通信->最基本:二进制传输 TCP/IP
    • 最古老也是最有效,并且永不过时,TCP/UDP的二进制传输。事实上所有的通信方式归根结底都是TCP/UDP
    • CORBA Common Ojbect Request Broker Architecture 。古老而复杂,支持面向对象的通信协议
    • Web Service (SOA SOAP RDDI WSDL 等)
      基于HTTP+xml的标准化Web API
    • RestFul (Representational State Transfer)
      回归简单化本源的Web API 的事实标准,HTTP+JSON
    • RMI Remote Message Service
      JavaEE 中的消息框架标准,为很多MQ提供支持
    • RPC(Remote Procedure Call)
      远程方法调用,这只是一个统称,重点在于方法调用(不支持对象的概念),具体实现甚至可以用RMI RestFul 等去实现,但一般不用,因为RMI不能跨语言,而RestFul效率太低。
      多用于服务器集群间通信,因此使用更加高效,短小精悍的传输模式以提高效率。
阅读全文 »

在 gRPC 中,客户端应用程序可以直接调用另一台计算机上的服务器应用程序上的方法,就好像它是本地对象一样,从而使您可以更轻松地创建分布式应用程序和服务。与许多 RPC 系统一样,gRPC 基于定义服务的思想,指定可以使用其参数和返回类型远程调用的方法。在服务器端,服务器实现此接口并运行 gRPC 服务器来处理客户端调用。在客户端,客户端有一个存根,该存根提供与服务器相同的方法。

阅读全文 »

实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,x^n )。

示例 1:
输入:x = 2.00000, n = 10
输出:1024.00000

示例 2:
输入:x = 2.10000, n = 3
输出:9.26100

示例 3:
输入:x = 2.00000, n = -2
输出:0.25000
解释:2-2 = 1/22 = 1/4 = 0.25

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/powx-n

阅读全文 »

此博客提供了三种方案,可以根据项目需求适当选择

阅读全文 »

计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。

阅读全文 »

——摘录自《MySQL是怎样运行的》

阅读全文 »