精华内容
下载资源
问答
  • 单线程收集,在进行垃圾收集时候,必须暂停其他所有工作线程直到它收集结束。特点:CPU利用率最高,停顿时间即用户等待时间比较长。适用场景:小型应用通过JVM参数-XX:+UseSerialGC可以使用串行垃圾回收...


    1.Serial收集器

    一个单线程的收集器,在进行垃圾收集时候,必须暂停其他所有的工作线程直到它收集结束。
    特点:CPU利用率最高,停顿时间即用户等待时间比较长。
    适用场景:小型应用
    通过JVM参数-XX:+UseSerialGC可以使用串行垃圾回收器。


    2.Parallel收集器

    采用多线程来通过扫描并压缩堆
    特点:停顿时间短,回收效率高,对吞吐量要求高。
    适用场景:大型应用,科学计算,大规模数据采集等。
    通过JVM参数 XX:+USeParNewGC 打开并发标记扫描垃圾回收器。


    3.CMS收集器

    采用“标记-清除”算法实现,使用多线程的算法去扫描堆,对发现未使用的对象进行回收。
    (1)初始标记
    (2)并发标记
    (3)并发预处理
    (4)重新标记
    (5)并发清除
    (6)并发重置
    特点:响应时间优先,减少垃圾收集停顿时间
    适应场景:服务器、电信领域等。
    通过JVM参数 -XX:+UseConcMarkSweepGC设置


    4.G1收集器

    在G1中,堆被划分成 许多个连续的区域(region)。采用G1算法进行回收,吸收了CMS收集器特点。
    特点:支持很大的堆,高吞吐量
      --支持多CPU和垃圾回收线程
      --在主线程暂停的情况下,使用并行收集
      --在主线程运行的情况下,使用并发收集
    实时目标:可配置在N毫秒内最多只占用M毫秒的时间进行垃圾回收
    通过JVM参数 –XX:+UseG1GC 使用G1垃圾回收器

    展开全文
  • 单线程收集,在进行垃圾收集时候,必须暂停其他所有工作线程直到它收集结束。 特点:CPU利用率最高,停顿时间即用户等待时间比较长。 适用场景:小型应用 通过JVM参数-XX:+UseSerialGC可以使用串行垃圾...

    1.Serial收集器
    一个单线程的收集器,在进行垃圾收集时候,必须暂停其他所有的工作线程直到它收集结束。
    特点:CPU利用率最高,停顿时间即用户等待时间比较长。
    适用场景:小型应用
    通过JVM参数-XX:+UseSerialGC可以使用串行垃圾回收器。

    2.Parallel收集器
    采用多线程来通过扫描并压缩堆
    特点:停顿时间短,回收效率高,对吞吐量要求高。
    适用场景:大型应用,科学计算,大规模数据采集等。
    通过JVM参数 XX:+USeParNewGC 打开并发标记扫描垃圾回收器。

    3.CMS收集器
    采用“标记-清除”算法实现,使用多线程的算法去扫描堆,对发现未使用的对象进行回收。
    (1)初始标记
    (2)并发标记
    (3)并发预处理
    (4)重新标记
    (5)并发清除
    (6)并发重置
    特点:响应时间优先,减少垃圾收集停顿时间
    适应场景:服务器、电信领域等。
    通过JVM参数 -XX:+UseConcMarkSweepGC设置

    4.G1收集器
    在G1中,堆被划分成 许多个连续的区域(region)。采用G1算法进行回收,吸收了CMS收集器特点。
    特点:支持很大的堆,高吞吐量
      --支持多CPU和垃圾回收线程
      --在主线程暂停的情况下,使用并行收集
      --在主线程运行的情况下,使用并发收集
    实时目标:可配置在N毫秒内最多只占用M毫秒的时间进行垃圾回收
    通过JVM参数 –XX:+UseG1GC 使用G1垃圾回收器

    展开全文
  • 数据可视化的流程包括: 数据 流程 编码层 编码 交互 方法 层 相应 数据 类型 操作 问题 刻画 层 现实生活 中 用户 问题 层 算法 交互普通编码器的2或2以上的输入同时为有效信号时,输出将出现错误编码: 编码器 ...

    相关问题

    在图像压缩编码方法中,一般针对三种数据冗余,下面四种数据冗余中,那一种不属于图像压缩编码处理的数据冗余。

    数据可视化的流程包括: 数据 流程 编码层 编码 交互 方法 层 相应 数据 类型 操作 问题 刻画 层 现实生活 中 用户 问题 层 算法 交互

    普通编码器的2个或2个以上的输入同时为有效信号时,输出将出现错误编码: 编码器 以上 输入 信号 时 输出 编码

    下面所列编码方法中,那一种是变长编码?: 下面 编码 方法 中 变长编码 哈夫曼编码

    绝对式编码器码盘上码道越多,精度越高: 绝对式编码器 码盘 上 码 道 精度

    在无损预测编码系统中,下面那些预测编码方法属于单幅图像内的预测编码?: 无损预测编码 系统 中 下面 预测 编码 方法 单幅 图像 内 预测 编码 前 值 编码 预测 编码 二维预测编码

    字长5位的待编码二进制有效数据为11011,对它进行CRC编码时采用的生成多项式代码为1011,则得到的CRC编码为: 字长 编码 二进制 数据 CRC编码 时 生成 代码 CRC编码

    中国大学MOOC: 某纠错码的全部码字为0000000000,0000011111,1111100000,1111111111。该编码的码距为: 中国大学 MOOC 纠错码 全部 码字 0000011111 编码 码距

    中国大学MOOC: 字长5位的待编码二进制有效数据为10011,对它进行CRC编码时采用的生成多项式代码为1011,则得到的编码结果为(填写二进制形式): 中国大学 MOOC 字长 编码 二进制 数据 CRC编码 时 生成 代码 编码 结果 二进制 形式

    普通编码器的2个或2个以上的输入同时为有效信号时,输出将出现错误编码。对吗?: 编码器 以上 输入 信号 时 输出 编码

    分部分项工程量清单的项目编码一共有九位: 分部 分项 工程量 清单 项目编码

    默认情况下,sort()方法按照字符编码的顺序进行排序。(): 默认 情况 下 sort 方法 字符 编码 顺序 排序

    分项工程项目编码是13位: 分项 工程 项目 编码

    编码在沟通过程中属于: 编码 沟通 过程 中 信息 发出

    中国大学MOOC: form表单encType的作用是: 中国大学 MOOC form 表单 encType 作用 表单 编码 形式 表单 参数 编码

    ADSL产品中广泛采用的线路编码调制技术中没有: ADSL 产品 中 线路编码 调制 技术 中 线路 码 SLC

    CT74LS138,数据分配器,数据选择器,编码器,译码器,译码器,

    计算机,系统,中,西文,字符,编码,ASCII码,

    HTML,中,字符集,编码,方式,UTF,gb2312,字符集,描述,韩语,字符,网页,gb2312,字符集,

    沟通,编码,因素,经济,背景,

    字长,代码,方式,编码,编码,结果,低位,编码,

    技术,光学,图像,编码,

    想法,信息,过程,过程,编码,

    计算机,内部,信息,编码,后,存储,二进制,

    估算,长度,转折,方向,度,编码,方法,

    会计,科目,编码,方案,编码,

    信息,编码,形式,语言,语言,身体,动作,

    字符,编码,

    结构,基因,编码,基因,

    国家安全,沟通,过程,中,功能,国家安全,效果,/p,/p,编码,

    展开全文
  • 有时候我们遇到 Bug,比如接口调用失败、参数没收到等问题,或者想看看调用性能,就需要配置 Feign 日志了,以此让 Feign 把请求信息输出来。首先定义一配置类,代码如下所示: @Configurati...

    目录

    Feign 的自定义配置及使用

    日志配置

    契约配置

    Basic 认证配置

    超时时间配置

    客户端组件配置

    GZIP 压缩配置

    编码器解码器配置

    使用配置自定义 Feign 的配置

    继承特性

    多参数请求构造

     


    Feign 的自定义配置及使用

     

    日志配置

    有时候我们遇到 Bug,比如接口调用失败、参数没收到等问题,或者想看看调用性能,就需要配置 Feign 的日志了,以此让 Feign 把请求信息输出来。首先定义一个配置类,代码如下所示:
     

    @Configuration
    public class FeignConfig {
        /**
         * 日志级别
         * @return
         */
        @Bean
        Logger.Level feignLoggerLevel() {
            return Logger.Level.FULL;
        }
    }

    通过源码可以看到日志等级有 4 种,分别是:

    • NONE:不输出日志。

    • BASIC:只输出请求方法的 URL 和响应的状态码以及接口执行的时间。

    • HEADERS:将 BASIC 信息和请求头信息输出。

    • FULL:输出完整的请求信息。

    配置类建好后,我们需要在 Feign Client 中的 @FeignClient 注解中指定使用的配置类,代码如下所示:

    @FeignClient(value = "blog-user-service", configuration = FeignConfig.class)
    @RequestMapping("/user")
    public interface UserFeignClient {
      // ...
    }

     在配置文件中执行 Client 的日志级别才能正常输出日志,格式是“logging.level.client 类地址=级别”。

    logging.level.cn.com.stary1993.blog.client.UserFeignClient=DEBUG

    最后通过 Feign 调用我们的 /user/query/1 接口,就可以看到控制台输出的调用信息了。

     

    契约配置

    Spring Cloud 在 Feign 的基础上做了扩展,可以让 Feign 支持 Spring MVC 的注解来调用。原生的 Feign 是不支持 Spring MVC 注解的。

    如果你想在 Spring Cloud 中使用原生的注解方式来定义客户端也是可以的,通过配置契约来改变这个配置,Spring Cloud 中默认的是 SpringMvcContract,代码如下所示:

    @Configuration
    public class FeignConfig {
        /**
         * 使用原生 feign 注解
         * @return
         */
        @Bean
        public Contract feignContract() {
            return new feign.Contract.Default();
        }
    }

    当你配置使用默认的契约后,之前定义的 Client 就用不了,之前上面的注解是 Spring MVC 的注解,现在要使用Feign 的注解:

    @FeignClient(value = "blog-user-service", configuration = FeignConfig.class)
    //  @RequestMapping("/user")
    public interface UserFeignClient {
    
     	// @GetMapping("/{id}")
        @RequestLine("GET /user/{id}")
        String findById(
        // @PathVariable(value = "id")
        @Param(value = "id") Integer id);
    
    }

     

    Basic 认证配置

    通常我们调用的接口都是有权限控制的,很多时候可能认证的值是通过参数去传递的,还有就是通过请求头去传递认证信息,比如 Basic 认证方式。在 Feign 中我们可以直接配置 Basic 认证,代码如下所示:

    /**
     * Basic 认证
     * @return
     */
    @Bean
    public BasicAuthRequestInterceptor basicAuthRequestInterceptor() {
        return new BasicAuthRequestInterceptor("user", "password");
    }

    或者你可以自定义属于自己的认证方式,其实就是自定义一个请求拦截器。在请求之前做认证操作,然后往请求头中设置认证之后的信息。通过实现 RequestInterceptor 接口来自定义认证方式,代码如下所示:

    public class FeignBasicAuthRequestInterceptor implements RequestInterceptor {
        public FeignBasicAuthRequestInterceptor() {
        }
        @Override
        public void apply(RequestTemplate template) {
            // 业务逻辑
        }
    }

    然后将配置改成我们自定义的就可以了,这样当 Feign 去请求接口的时候,每次请求之前都会进入 FeignBasicAuthRequestInterceptorapply 方法中,在里面就可以做属于你的逻辑了,代码如下所示:

        /**
         * 自定义 Basic 认证
         * @return
         */
        @Bean
        public FeignBasicAuthRequestInterceptor basicAuthRequestInterceptor() {
            return new FeignBasicAuthRequestInterceptor();
        }

    重启服务,访问接口时,可以看到控制台打印的日志请求头变化:

    c.c.s.blog.client.UserFeignClient        : [UserFeignClient#findById] Authorization: Basic dXNlcjpwYXNzd29yZA==

     

    超时时间配置

    通过 Options 可以配置连接超时时间和读取超时时间,Options 的第一个参数是连接超时时间(ms),默认值是 10 × 1000;第二个是取超时时间(ms),默认值是 60×1000。

        /**
         * 配置超时时间
         * @return
         */
        @Bean
        public Request.Options options() {
            return new Request.Options(5000, TimeUnit.MILLISECONDS,
                    10000, TimeUnit.MILLISECONDS, true);
        }

     

    客户端组件配置

    Feign 中默认使用 JDK 原生的 URLConnection 发送 HTTP 请求,我们可以集成别的组件来替换掉 URLConnection,比如 Apache HttpClient,OkHttp。

    配置 OkHttp 只需要加入 OkHttp 的依赖,代码如下所示:

            <!-- feign-okhttp -->
            <dependency>
                <groupId>io.github.openfeign</groupId>
                <artifactId>feign-okhttp</artifactId>
            </dependency>

    然后修改配置,将 Feign 的 HttpClient 禁用,启用 OkHttp,配置如下:

    feign:
      httpclient:
        enabled: false
      okhttp:
        enabled: true

     

    GZIP 压缩配置

    开启压缩可以有效节约网络资源,提升接口性能,我们可以配置 GZIP 来压缩数据:

    feign:
      compression:
        request:
          enabled: true
        response:
          enabled: true

    还可以配置压缩的类型、最小压缩值的标准:

    feign:
      compression:
        request:
          enabled: true
          # 最小压缩值
          min-request-size: 2048
          # 压缩的类型
          mime-types: text/xml,application/xml,application/json

    只有当 Feign 的 Http Client 不是 okhttp3 的时候,压缩才会生效,配置源码在 org.spring-framework.cloud.openfeign.encoding.FeignAcceptGzipEncodingAutoConfiguration,代码如下所示:

    @Configuration(proxyBeanMethods = false)
    @EnableConfigurationProperties({FeignClientEncodingProperties.class})
    @ConditionalOnClass({Feign.class})
    @ConditionalOnBean({Client.class})
    @ConditionalOnProperty(value = {"feign.compression.response.enabled"}, matchIfMissing = false)
    @ConditionalOnMissingBean(type = {"okhttp3.OkHttpClient"})
    @AutoConfigureAfter({FeignAutoConfiguration.class})
    public class FeignAcceptGzipEncodingAutoConfiguration {
        public FeignAcceptGzipEncodingAutoConfiguration() {
        }
    
        @Bean
        public FeignAcceptGzipEncodingInterceptor feignAcceptGzipEncodingInterceptor(FeignClientEncodingProperties properties) {
            return new FeignAcceptGzipEncodingInterceptor(properties);
        }
    }

    核心代码就是 @ConditionalOnMissingBean(type = {"okhttp3.OkHttpClient"}),表示 Spring BeanFactory 中不包含指定的 bean 时条件匹配,也就是没有启用 okhttp3 时才会进行压缩配置。

    重启服务,访问接口时,可以看到控制台打印的日志请求头变化:

    c.c.s.blog.client.UserFeignClient        : [UserFeignClient#findById] Accept-Encoding: gzip
    c.c.s.blog.client.UserFeignClient        : [UserFeignClient#findById] Accept-Encoding: deflate

     

    编码器解码器配置

    Feign 中提供了自定义的编码解码器设置,同时也提供了多种编码器的实现,比如 GsonJaxbJackson。我们可以用不同的编码解码器来处理数据的传输。如果你想传输 XML 格式的数据,可以自定义 XML 编码解码器来实现获取使用官方提供的 Jaxb

    配置编码解码器只需要在 Feign 的配置类中注册 DecoderEncoder 这两个类即可,代码如下所示:

    @Bean
    public Decoder decoder() {
        return new MyDecoder();
    }
    
    @Bean
    public Encoder encoder() {
        return new MyEncoder();
    }

     

    使用配置自定义 Feign 的配置

    # 链接超时时间
    feign.client.config.feignName.connectTimeout=5000
    # 读取超时时间
    feign.client.config.feignName.readTimeout=5000
    # 日志等级
    feign.client.config.feignName.loggerLevel=full
    # 重试
    feign.client.config.feignName.retryer=com.example.SimpleRetryer
    # 拦截器
    feign.client.config.feignName.requestInterceptors[0]=com.example.FooRequestInterceptor
    feign.client.config.feignName.requestInterceptors[1]=com.example.BarRequestInterceptor
    # 编码器
    feign.client.config.feignName.encoder=com.example.SimpleEncoder
    # 解码器
    feign.client.config.feignName.decoder=com.example.SimpleDecoder
    # 契约
    feign.client.config.feignName.contract=com.example.SimpleContract

     

    继承特性

    省略。。。

     

    多参数请求构造

    省略。。。

     

    展开全文
  • 8*8wallace乘法

    2021-04-01 15:41:42
    此次乘法主要是使用全加器来进行运算,用级全加器来讲wallace树压缩,最后进行相加。 如图所示,可以理解为第一级别压缩,使用20全加器。给下面列数标号,可以看出每一列a和b 参数相加和列数相同,这...
  • 稀疏自编码tensorflow

    千次阅读 2017-03-24 20:07:57
    自编码器是一种无监督机器学习算法,通过计算自编码的输出与原输入的误差,不断调节自编码器的参数,最终训练出模型。自编码器可以用于压缩输入信息,提取有用的输入特征。如,[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,...
  • 自编码是一种有效数据维度压缩算法,主要应用于一下两方面。 构建一种能够重构输入样本并进行特征表达神经网络。 训练多层神经网络时,通过自编码训练样本得到参数初始值。 ...
  • fckedit编辑

    2013-11-10 14:28:32
    IeSpellDownloadUrl=""下载拼写检查器的网址 ImageBrowser=true/false 是否允许浏览服务器功能 ImageBrowserURL="" 浏览服务器时运行的URL ImageBrowserWindowHeight="" 图像浏览器窗口高度 ...
  • Feign是一声明式Web Service客户端,它目的就是让Web Service调用更加简单。Feign提供了HTTP请求模板,通过编写简单接口和插入注解,就可以定义好HTTP请求的参数、格式、地址等信息,使用起来比...
  • 老男孩python

    2015-06-25 16:36:28
    10、函数处理多个参数、默认参数 11、Return 12、正则表达式 13、迭代和生成 14、lambda 函数使用 15、装饰 16、项目实践:编写备份程序,具备常规备份、增量备份、差异备份功能 第天 1、面向对象编程基础 2...
  • 其中的hashCode方法重写则参考了Netbeans中JavaBean转换器的写法。为保障原有代码安 全,通常更好的做法是将最终代码生成后拷贝到您的项目对应文件夹中。最好不要直接指 向您的项目文件夹,因为本工具会直接覆盖掉...
  • TC 与资源管理器的不同之处在于,它固定有两并排的文件窗口,可分别称之为来源窗口和目标窗口,您可以轻松实现在两窗口文件(夹)间的复制、移动、比较、同步等操作,其方便程度是资源管理器难以比拟的!...
  • 由于电子书超过80M故只能分卷压缩成4个文件,将四个压缩包下载到同一目录下解压即可得到PDF版电子书 第一卷地址: http://download.csdn.net/source/3488105 第二卷地址: ... 第三卷地址: ...精通windows server 2008 ...
  • 入门学习Linux常用必会60命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    -d: 不把记录写到/var/log/wtmp文件里(-n这个参数包含了-d)。 -i: 在重开机之前先把所有与网络相关装置停止。 install 1.作用 install命令作用是安装或升级软件或备份数据,它使用权限是所有用户。 ...
  • 实例196 隐藏IE浏览器的右键关联菜单 实例197 设置IE的默认主页 实例198 清空上网历史记录 7.3 文件控制 实例199 如何建立文件关联 实例200 控制光驱的自动运行功能 7.4 游戏设置 实例201 设置“蜘蛛纸牌”...
  • 7.1.1滤波器类型、参数指标分析 7.1.2滤波器相关函数及模拟 7.1.3滤波器相关实现 7.2通信系统基本模型分析 7.2.1模拟通信系统基本模型分析 7.2.2数字通信系统基本模型分析 7.3模拟通信系统建模与...
  • 这里使用4层逐渐压缩将784维度分别压缩成256、64、16、2这四个特征向量。 1.引入图文件,定义学习参数变量 import tensorflow as tf import numpy as np import matplotlib.pyplot as plt from tensorflow.exa...
  • 易语言模块914

    2018-03-12 20:00:21
    代码编辑部分模块.ec 仿vista截图.ec 仿WinXP窗口v3.1版.ec 仿XP界面3.0特别版模块 3.0.ec 仿XP窗口2.0.ec 仿真shell库.ec 优化内存.ec 优化内存模块.ec 伟业超级列表框列宽尺寸自动调整.ec 伟业高级...
  •  MSDOS.SYS提供参数多数是用于调整系统使用,对于普通用户来说,常用主要包括NetWork前个参数。 DOS引导文件.rar DOS3个引导文件command、io.sys、msdos.sys DOS主要由三个基本文件...
  • 过滤第二篇【编码、敏感词、压缩、转义过滤】 监听第一篇【基本概念、Servlet各个监听】 监听第二篇【统计网站人数、自定义session扫描、踢人小案例】 过滤监听面试题都在这里 :ring:数据库 在...
  • 6-3 图片合成视频

    2018-10-11 01:10:00
    四个参数我们需要设置整个视频大小,也就是size。这就是之前我们为什么要读取一张图片并且把size记录下来原因。什么是解码或者是编码呢?如果大家想把一个视频分解成图片,那么视频在存储时候并不是把...
  • 1345易语言模块

    2012-01-27 19:41:59
    1345易语言模块,易语言模块大集合,够你用啦 1亦思验证码识别1.5免费版.ec 24位转单色位图模块.ec 32张发牌.ec 3D引擎支持库-eOgre.ec 69msn.ec ACCESS 到高级表格.ec Access操作.ec Access数据库压缩修复新建....
  • HttpAddParms 为Http句柄添加一个参数 HttpSend           发送Http句柄中Post数据 HttpClose 关闭Http句柄 FtpDownFile 从FTP服务器下载文件 FtpUploadFile 向FTP服务器上传文件 FtpConnect ...

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 220
精华内容 88
关键字:

压缩器的四个参数