3 e8714614luan

尚未进行身份认证

暂无相关简介

等级
TA的排名 18w+

Web服务客户端之Feign

前文介绍了实现客户端负载均衡的Ribbon,但直接使用Ribbon的API来实现服务间的调用相对较为繁琐,服务间的调用能否像本地接口调用一样便捷、透明,更符合编程习惯呢?Feign就是用来干这事的。FeignFeign是一个声明式的Web服务客户端,让服务之间的调用变得非常简单——定义带@FeignClient注解的接口,本地直接@Autowired 接口,通过调用接口的方法来实现远程服务...

2020-01-20 11:37:46

Dubbo 2.7.5在线程模型上的优化

文章中说这是Dubbo的一个里程碑式的版本。在阅读了相关内容后,我发现这确实是一个里程碑式的跨域,对于Dubbo坎坷的一生来说,这是展现其强大的生命力和积极探索精神的一个版本。强大的生命力体现在新版本发布后众多的或赞扬、或吐槽的社区反馈。探索精神体现在Dubbo在多语言和协议穿透性上的探索。在文章中列举了9大改造点,本文仅介绍2.7.5版本中的一个改造点:优化后的消费端线程模型。...

2020-01-20 11:37:08

实战_Spring_Cloud

前言开发环境 部署环境:阿里云ECS服务器 操作系统:CentOS 7.7 64位 IDEA 版本:2019.3.1 docker 版本:1.13.1 docker-compose版本:1.25.0 spring cloud 版本:Hoxton.SR1 spring boot 版本:2.2.2.RELEASE mysql 版本:5.7 redis 版本:5...

2020-01-20 11:36:01

我与Git的那些破事--分支模型

话不多上,干货顶上。分支模型上述这张图便是一张完整的分支模型。乍看上去,似乎有点复杂,其实理解后非常简单,并且十分经典。如果你所在项目代码管理较为混乱,我相信,该模型会对你有所帮助。主要分支对于完整的项目来讲,有两个主要分支,它们的生命周期与项目等同,即一直会存在:master分支 develop分支master:我相信,每个git用户都非常熟悉该分支,没错,这是创建项...

2020-01-18 14:07:17

垃圾收集器与内存分配策略

垃圾收集器与内存分配策略垃圾收集(Garbage Collection, GC)是JVM实现里非常重要的一环,JVM成熟的内存动态分配与回收技术使Java(当然还有其他运行在JVM上的语言,如Scala等)程序员在提升开发效率上获得了惊人的便利。理解GC,对于理解JVM和Java语言有着非常重要的作用。并且当我们需要排查各种内存溢出、内存泄漏问题时,当垃圾收集称为系统达到更高并发量的瓶颈时,...

2020-01-18 14:06:20

整理drawable(shapdrawable)

前言bitmapdrawable 与nithpathdrawable 完结,接下来是shapedrawable。shapedrawable是使用频率最高的drawable 可见其重要性。shapedrawableshapedrawable 有 rectangle、oval、line、ring分别对应 矩形、椭圆、横线、圆环。矩形先看一段:<?xml vers...

2020-01-18 14:05:50

常见基本数据结构——散列

散列表的实现通常叫做散列。散列是一种用于以常数平均时间执行插入、删除和查找的技术。但是任何排序的信息都不会得到有效的支持。所以FindMax(),FindMin(),以及以线性时间打印的操作都是散列所不支持的。理想的散列表数据结构值不过是一个包含有关键字的具有固定大小的数组。关键字映射的函数叫做散列函数,通常散列函数应该运算简单并且保证任何两个不同的关键字映射到不同的单元。不过这是不可能的...

2020-01-18 12:41:22

SpringBoot多数据源:动态数据源

2. 动态数据源流程说明Spring Boot 的动态数据源,本质上是把多个数据源存储在一个 Map 中,当需要使用某个数据源时,从 Map 中获取此数据源进行处理。而在 Spring 中,已提供了抽象类AbstractRoutingDataSource来实现此功能。因此,我们在实现动态数据源的,只需要继承它,实现自己的获取数据源逻辑即可。动态数据源流程如下所示:用户访问应用,在需...

2020-01-18 12:40:23

关于Log4Net的使用及配置方式

0.简介Log4Net库是Apache log4j框架在 .NET平台下的实现,其开源免费。它可以将日志分不同的等级,以不同的格式,输出到不同的媒介。 官网地址:http://logging.apache.org/log4net/index.html Log4Net开源地址:https://github.com/apache/logging-log4net/1.安装程序包...

2020-01-18 09:33:10

RocketMQ客户端加载流程

这节介绍RocketMQ客户端的启动流程,即Consumer和Producer的启动流程。1. 客户端demo 首先先看下客户端的demoProducer:public class SyncProducer { public static void main (String[] args) throws Exception { // 实例化消息生产者Pr...

2020-01-18 09:32:24

Netty之缓冲区ByteBuf解读(一)

Netty 在数据传输过程中,会使用缓冲区设计来提高传输效率。虽然,Java 在 NIO 编程中已提供 ByteBuffer 类进行使用,但是在使用过程中,其编码方式相对来说不太友好,也存在一定的不足。所以高性能的 Netty 框架实现了一套更加强大,完善的 ByteBuf,其设计理念也是堪称一绝。ByteBuffer 分析在分析 ByteBuf 之前,先简单讲下 ByteBuffer...

2020-01-18 09:31:45

一文搞定Spring Boot + Vue 项目在Linux Mysql环境的部署(强烈建议收藏)

本文介绍Spring Boot、Vue 、Vue Element编写的项目,在Linux下的部署,系统采用Mysql数据库。按照本文进行项目部署,不迷路。1. 前言典型的软件开发,经过“需求分析”,“概要设计”,“详细设计”,“开发及单元测试”,“前后端联调”,“生产环境上线”。到了发布到生产环节的环节,紧张的神经,终于可以松一口气了!!!且慢,部署也是很重要的一环,稍有不慎就会“前功...

2020-01-18 08:09:19

什么是注解?

一、概念Java 注解是在 JDK5 时引入的新特性,注解(也被称为元数据)为我们在代码中添加信息提供了一种形式化的方法,使我们可以在稍后某个时刻非常方便地使用这些数据。注解类型定义指定了一种新的类型,一种特殊的接口类型。 在关键词 interface 前加 @ 符号也就是用 @interface 来区分注解的定义和普通的接口声明。目前大部分框架(如 Spring Boot 等)都通过使用注解...

2020-01-18 08:08:47

Python3.7之Python介绍

一、编程语言编程语言总体分为机器语言、汇编语言与高级语言。1.机器语言计算机内部只能接受二进制代码,用二进制代码0和1描述的指令称为机器指令,全部机器指令的集合构成计算机的机器语言,用机器语言编程的程序称为目标程序。只有目标程序才能被计算机直接识别和执行。机器语言依赖于具体机种,局限性很大,属于低级语言。2.汇编语言和机器语言一样,都是直接对硬盘进行操作。指令采用英文缩写的...

2020-01-16 15:58:06

活动安排-贪心算法-可视化

前情提要有n个活动(假设n很大,人力安排较困难)n个活动的开始时间和结束时间已经知道但我又想充分利用资源,安排最多数量的活动贪心算法语言:python可视化依赖的第三方库:numpy,matplotlib开始活动安排之旅贪心算法概述:创建活动类(或结构体),按照用户输入实例化为一个个活动对象,按照活动的结束时间增序对活动整体排序,挑选活动时,活动的结束...

2020-01-16 15:57:22

django查询表数据是否存在

一.查询函数通过模型类.objects属性可以调用如下函数,实现对模型类对应的数据表的查询。 (这里objects是django为我们实现的一个模型管理类的对象)(1)get返回满足条件的一条且只有一条数据。返回值是一个模型类的对象。参数中写查询条件。1)如果查到多条数据,则抛异常MultipleObjectsReturned。2)查询不到数据,则抛异常:DoesNotEx...

2020-01-16 14:50:33

用脚本创建django-orm数据库表数据

脚本创建数据库表数据import osimport sysimport djangobase_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))sys.path.append(base_dir)# 将配置文件的路径写到 DJANGO_SETTINGS_MODULE 环境变量中os.environ....

2020-01-16 14:49:12

Django框架:设计模型

1. 设计模型我们之前操作数据库是通过写sql语句,那么能不能不写sql语句就可以操作数据库呢? 当然可以,这就要使用ORM框架了。1.1 ORM框架O是object,也就类对象的意思,R是relation,翻译成中文是关系,也就是关系数据库中数据表的意思,M是mapping,是映射的意思。在ORM框架中,它帮我们把类和数据表进行了一个映射,可以让我们通过类和类对象就能操作它所对应的表...

2020-01-16 14:47:56

Python实现云服务器防止暴力密码破解

云服务器防止暴力密码破解云服务器暴露在公网上,每天都有大量的暴力密码破解,更换端口,无济于事,该脚本监控安全日志,获取暴力破解的对方ip,加入hosts黑名单路径说明描述 路径 登录安全日志 /var/log/secure hosts黑名单 /etc/hosts.deny hosts白名单 /etc/hosts.allow 逻辑介绍通过...

2020-01-16 10:58:08

在python中最常见的:print的真正用法

一、print()函数概述print() 方法用于打印输出,是python中最常见的一个函数。该函数的语法如下:print(*objects, sep=' ', end='\n', file=sys.stdout)参数的具体含义如下: objects --表示输出的对象。输出多个对象时,需要用 , (逗号)分隔。 sep -- 用来间隔多个对象。 end...

2020-01-16 10:57:05

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。