精华内容
下载资源
问答
  • 对比有哪几种基本方式
    万次阅读
    2020-09-14 15:01:34

    加密算法分为:

    1.对称加密

    常见的有AES,DES,3DES

     

    2.非对称加密

    常见的有RSA,ECC,DSA

     

    3.线性散列

    常见的有MD5,SHA1,SHA256,HMAC

     

    不同也是应用的时候怎么选:

    1.对称加密算法使用同一个密匙加密和解密,速度快,适合给大量数据加密。对称加密客户端和服务端使用同一个密匙,存在被抓包破解的风险。

     

    2.非对称加密算法使用公钥加密,私钥解密,私钥签名,公钥验签。安全性比对称加密高,但速度较慢。非对称加密使用两个密匙,服务端和客户端密匙不一样,私钥放在服务端,黑客一般是拿不到的,安全性高。

     

    3.线性散列一般是做防篡改签名比较多,因为它们输入任意长度的串都会得到一个固定长度的串。比如比特币中就是用到了SHA256,还有我们早期的互联网系统的密码都是MD5加密保存,登录的时候也只是把用户输入的密码散列后再与库中的密码对比,防止数据库泄漏后明文的密码造成的损失。比如著名的csdn用户库被泄露事件。

     

    伟大的国密单独说(点赞以王小云院士为首的团队):

    对称:SM1 SM4

    SM1:其加密强度与AES相当。该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。

    SM4:无线局域网标准的分组数据算法。对称加密,密钥长度和分组长度均为128位。

    非对称:SM2

    SM2:基于ECC。该算法已公开。由于该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA。ECC 256位(SM2采用的就是ECC 256位的一种)安全强度比RSA 2048位高,但运算速度快于RSA。

    消息摘要: SM3

    SM3 :可以用MD5作为对比理解。该算法已公开。校验结果为256位。

     

    建议用国密,据说政府相关的项目强制性要求使用。

    更多相关内容
  • 创建线程池有哪几种方式

    万次阅读 2019-08-30 10:24:23
    Executors目前提供了5不同的线程池创建配置: 1、newCachedThreadPool(),它是用来处理大量短时间工作任务的线程池,具有个鲜明特点:它会试图缓存线程并重用,当无缓存线程可用时,就会创建新的工作线程;...

    通常开发者都是利用Executors提供的通用线程池创建方法,去创建不同配置的线程池,主要区别在于不同的

    Executors目前提供了5种不同的线程池创建配置:

    1、newCachedThreadPool(),它是用来处理大量短时间工作任务的线程池,具有几个鲜明特点:它会试图缓存线程并重用,当无缓存线程可用时,就会创建新的工作线程;如果线程闲置时间超过60秒,则被终止并移除缓存;长时间闲置时,这种线程池,不会消耗什么资源。其内部使用SynchronousQueue作为工作队列。

    2、newFixedThreadPool(int nThreads),重用指定数目(nThreads)的线程,其背后使用的是无界的工作队列,任何时候最多有nThreads个工作线程是活动的。这意味着,如果任务数量超过了活动线程数目,将在工作队列中等待空闲线程出现;如果工作线程退出,将会有新的工作线程被创建,以补足指定数目nThreads。

    3、newSingleThreadExecutor(),它的特点在于工作线程数目限制为1,操作一个无界的工作队列,所以它保证了所有的任务都是被顺序执行,最多会有一个任务处于活动状态,并且不予许使用者改动线程池实例,因此可以避免改变线程数目。

    4、newSingleThreadScheduledExecutor()和newScheduledThreadPool(int corePoolSize),创建的是个ScheduledExecutorService,可以进行定时或周期性的工作调度,区别在于单一工作线程还是多个工作线程。

    5、newWorkStealingPool(int parallelism),这是一个经常被人忽略的线程池,Java 8 才加入这个创建方法,其内部会构建ForkJoinPool,利用Work-Stealing算法,并行地处理任务,不保证处理顺序。

    Executor框架的基本组成

    各个类型的设计目的

    1、Executor是一个基础的接口,其初衷是将任务提交和任务执行细节解耦,这一点可以天汇其定义的唯一方法。

      void execute(Runnable command);

    2、ExecutorService则更加完善,不仅提供service管理,比如shutdown等方法,也提供了更加全面的提交任务机制,如返回Future而不是 void 的 submit 方法

      <T> Future<T> submit(Callable<T> task);

    注意,这个例子输入的可是Callable,它解决了Runnable无法返回结果的困扰。

    3、Java标准类库提供了几种基础实现,比如 ThreadPoolExecutor、ScheduledThreadPoolExecutor、ForkJoinPool。这些线程池设的设计特点在于其高度的可调节性和灵活性,以尽量满足复杂多变的实际应用场景,我会进一步分析其构建部分的源码,剖析这种灵活性的源头。

    4、Executors则从简化使用的角度,为我们提供了各种方便的静态工长方法。

    阿里发布的 Java开发手册中强制线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式,这样的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险

    下面从源码角度,分析线程池的设计与实现,将主要围绕最基础的ThreadPoolExecutor源码。ScheduledThreadPoolExecutor是ThreadPoolExecutor的扩展,主要是增加了调度逻辑。而ForkJoinPool则是为了ForkJoinTask定制的线程池,与通常意义的线程池有所不同。

    在现实应用中,理解应用于线程池的交互和线程池内部的工作过程,可以参考下图。

     

     简单理解一下:

    1、工作队列负责存储用户提交的各个任务,这个工作队列,可以是容量为0的 SynchronousQueue(使用newCachedThreadPool),也可以是像固定大小线程池(newFixedThreadPool)那样使用LinkedBlockingQueue。

      private final BlockingQueue<Runnable> workQueue;

    2、内部的“线程池”,这是指保持工作线程的集合,线程池需要在运行过程中管理线程创建、销毁。例如,对于带缓存的线程池,当任务压力较大时,线程池会创建新的工作线程;当业务压力退去,线程池会闲置一段时间(默认60秒)后结束线程。

      private final HashSet<Worker> workers = new HashSet<Worker>();

      线程池的工作线程被抽象为静态内部类Worker,基于AQS实现

    3、ThreadFactory提供上面所需要的创建线程逻辑。

    4、如果任务提交时被拒绝,比如线程池已处于SHUTDOWN状态,需要为其提供处理逻辑,Java 标准库提供了类似 ThreadPoolExecutor.AbortPolicy 等默认实现,也可以按照实际需要自定义。

    从上面的分析,就可以看出线程池的几个基本组成部分,一起都体现在线程池的构造函数中,从字面我们就可以猜测到其用意:

    1、corePoolSize, 稍微的核心线程数,可以大致理解为长期驻留的线程数目(除非设置了allowCoreThreadTimeOut)。对于不同的线程池,这个值可能会有很大区别,比如newFixedThreadPool 会将其设置为 nThreads ,而对于newCachedThreadPool则设为0。

    2、maximumPoolSize,顾名思义,就是线程不够时能够创建的最大线程数。同样进行对比,对于newFixedThreadPool,当然就是nThreads,以为其要求是固定大小,而newCachedThreadPool则是Integer.VALUE。

    3、keepAliveTime和TimeUnit,这两个参数指定了额外的线程能够闲置多久,显然有些线程池不需要它。

    4、workQueue,工作队列,必须是BlockingQueue。

    通过配置不同的参数,我们就可以创建出行为大相径庭的线程池,这就是线程池高度灵活性的基础。

    public ThreadPoolExecutor(int corePoolSize,
                              int maximumPoolSize,
                              long keepAliveTime,
                              TimeUnit unit,
                              BlockingQueue<Runnable> workQueue,
                              RejectedExecutionHandler handler) {
        this(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue,
             Executors.defaultThreadFactory(), handler);
    }
    展开全文
  • 几种常见的MQ总结对比

    万次阅读 多人点赞 2020-06-27 12:12:08
    Kafka、ActiveMQ、RabbitMQ、RocketMQ 都什么区别,以及适合哪些场景? 面试官心理分析 其实面试官主要是想看看: 第一,你知不知道你们系统里为什么要用消息队列这个东西? 不少候选人,说自己项目里用了 ...

    面试题

    为什么使用消息队列?
    消息队列有什么优点和缺点?
    Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别,以及适合哪些场景?
    

    面试官心理分析

    其实面试官主要是想看看:

    第一,你知不知道你们系统里为什么要用消息队列这个东西?
    不少候选人,说自己项目里用了 Redis、MQ,但是其实他并不知道自己为什么要用这个东西。其实说白了,就是为了用而用,或者是别人设计的架构,他从头到尾都没思考过。
    没有对自己的架构问过为什么的人,一定是平时没有思考的人,面试官对这类候选人印象通常很不好。因为面试官担心你进了团队之后只会木头木脑的干呆活儿,不会自己思考。
    
    第二,你既然用了消息队列这个东西,你知不知道用了有什么好处&坏处?
    你要是没考虑过这个,那你盲目弄个 MQ 进系统里,后面出了问题你是不是就自己溜了给公司留坑?你要是没考虑过引入一个技术可能存在的弊端和风险,面试官把这类候选人招进来了,基本可能就是挖坑型选手。就怕你干 1 年挖一堆坑,自己跳槽了,给公司留下无穷后患。
    
    第三,既然你用了 MQ,可能是某一种 MQ,那么你当时做没做过调研?
    你别傻乎乎的自己拍脑袋看个人喜好就瞎用了一个 MQ,比如 Kafka,甚至都从没调研过业界流行的 MQ 到底有哪几种。每一个 MQ 的优点和缺点是什么。每一个 MQ 没有绝对的好坏,但是就是看用在哪个场景可以扬长避短,利用其优势,规避其劣势。
    如果是一个不考虑技术选型的候选人招进了团队,leader 交给他一个任务,去设计个什么系统,他在里面用一些技术,可能都没考虑过选型,最后选的技术可能并不一定合适,一样是留坑。
    

    面试题剖析
    为什么使用消息队列

    其实就是问问你消息队列都有哪些使用场景,然后你项目里具体是什么场景,说说你在这个场景里用消息队列是什么?

    面试官问你这个问题,期望的一个回答是说,你们公司有个什么业务场景,这个业务场景有个什么技术挑战,如果不用 MQ 可能会很麻烦,但是你现在用了 MQ 之后带给了你很多的好处。

    先说一下消息队列常见的使用场景吧,其实场景有很多,但是比较核心的有 3 个:解耦、异步、削峰。
    解耦

    看这么个场景。A 系统发送数据到 BCD 三个系统,通过接口调用发送。如果 E 系统也要这个数据呢?那如果 C 系统现在不需要了呢?A 系统负责人几乎崩溃......

    mq-1

    在这个场景中,A 系统跟其它各种乱七八糟的系统严重耦合,A 系统产生一条比较关键的数据,很多系统都需要 A 系统将这个数据发送过来。A 系统要时时刻刻考虑 BCDE 四个系统如果挂了该咋办?要不要重发,要不要把消息存起来?头发都白了啊!

    如果使用 MQ,A 系统产生一条数据,发送到 MQ 里面去,哪个系统需要数据自己去 MQ 里面消费。如果新系统需要数据,直接从 MQ 里消费即可;如果某个系统不需要这条数据了,就取消对 MQ 消息的消费即可。这样下来,A 系统压根儿不需要去考虑要给谁发送数据,不需要维护这个代码,也不需要考虑人家是否调用成功、失败超时等情况。

    mq-2

    总结:通过一个 MQ,Pub/Sub 发布订阅消息这么一个模型,A 系统就跟其它系统彻底解耦了。

    面试技巧:你需要去考虑一下你负责的系统中是否有类似的场景,就是一个系统或者一个模块,调用了多个系统或者模块,互相之间的调用很复杂,维护起来很麻烦。但是其实这个调用是不需要直接同步调用接口的,如果用 MQ 给它异步化解耦,也是可以的,你就需要去考虑在你的项目里,是不是可以运用这个 MQ 去进行系统的解耦。在简历中体现出来这块东西,用 MQ 作解耦。
    异步

    再来看一个场景,A 系统接收一个请求,需要在自己本地写库,还需要在 BCD 三个系统写库,自己本地写库要 3ms,BCD 三个系统分别写库要 300ms、450ms、200ms。最终请求总延时是 3 + 300 + 450 + 200 = 953ms,接近 1s,用户感觉搞个什么东西,慢死了慢死了。用户通过浏览器发起请求,等待个 1s,这几乎是不可接受的。

    mq-3

    一般互联网类的企业,对于用户直接的操作,一般要求是每个请求都必须在 200 ms 以内完成,对用户几乎是无感知的。

    如果使用 MQ,那么 A 系统连续发送 3 条消息到 MQ 队列中,假如耗时 5ms,A 系统从接受一个请求到返回响应给用户,总时长是 3 + 5 = 8ms,对于用户而言,其实感觉上就是点个按钮,8ms 以后就直接返回了,爽!网站做得真好,真快!

    mq-4
    削峰

    每天 0:00 到 12:00,A 系统风平浪静,每秒并发请求数量就 50 个。结果每次一到 12:00 ~ 13:00 ,每秒并发请求数量突然会暴增到 5k+ 条。但是系统是直接基于 MySQL 的,大量的请求涌入 MySQL,每秒钟对 MySQL 执行约 5k 条 SQL。

    一般的 MySQL,扛到每秒 2k 个请求就差不多了,如果每秒请求到 5k 的话,可能就直接把 MySQL 给打死了,导致系统崩溃,用户也就没法再使用系统了。

    但是高峰期一过,到了下午的时候,就成了低峰期,可能也就 1w 的用户同时在网站上操作,每秒中的请求数量可能也就 50 个请求,对整个系统几乎没有任何的压力。

    mq-5

    如果使用 MQ,每秒 5k 个请求写入 MQ,A 系统每秒钟最多处理 2k 个请求,因为 MySQL 每秒钟最多处理 2k 个。A 系统从 MQ 中慢慢拉取请求,每秒钟就拉取 2k 个请求,不要超过自己每秒能处理的最大请求数量就 ok,这样下来,哪怕是高峰期的时候,A 系统也绝对不会挂掉。而 MQ 每秒钟 5k 个请求进来,就 2k 个请求出去,结果就导致在中午高峰期(1 个小时),可能有几十万甚至几百万的请求积压在 MQ 中。

    mq-6

    这个短暂的高峰期积压是 ok 的,因为高峰期过了之后,每秒钟就 50 个请求进 MQ,但是 A 系统依然会按照每秒 2k 个请求的速度在处理。所以说,只要高峰期一过,A 系统就会快速将积压的消息给解决掉。
    消息队列有什么优缺点

    优点上面已经说了,就是在特殊场景下有其对应的好处,解耦、异步、削峰。

    缺点有以下几个:

    系统可用性降低
    系统引入的外部依赖越多,越容易挂掉。本来你就是 A 系统调用 BCD 三个系统的接口就好了,人 ABCD 四个系统好好的,没啥问题,你偏加个 MQ 进来,万一 MQ 挂了咋整,MQ 一挂,整套系统崩溃的,你不就完了?如何保证消息队列的高可用,可以点击这里查看。
    
    系统复杂度提高
    硬生生加个 MQ 进来,你怎么保证消息没有重复消费?怎么处理消息丢失的情况?怎么保证消息传递的顺序性?头大头大,问题一大堆,痛苦不已。
    
    一致性问题
    A 系统处理完了直接返回成功了,人都以为你这个请求就成功了;但是问题是,要是 BCD 三个系统那里,BD 两个系统写库成功了,结果 C 系统写库失败了,咋整?你这数据就不一致了。
    

    所以消息队列实际是一种非常复杂的架构,你引入它有很多好处,但是也得针对它带来的坏处做各种额外的技术方案和架构来规避掉,做好之后,你会发现,妈呀,系统复杂度提升了一个数量级,也许是复杂了 10 倍。但是关键时刻,用,还是得用的。

    如何选择MQ

    一般的业务系统要引入 MQ,最早大家都用 ActiveMQ,但是现在确实大家用的不多了,没经过大规模吞吐量场景的验证,社区也不是很活跃,所以大家还是算了吧,我个人不推荐用这个了;

    后来大家开始用 RabbitMQ,但是确实 erlang 语言阻止了大量的 Java 工程师去深入研究和掌控它,对公司而言,几乎处于不可控的状态,但是确实人家是开源的,比较稳定的支持,活跃度也高;

    不过现在确实越来越多的公司会去用 RocketMQ,确实很不错,毕竟是阿里出品,但社区可能有突然黄掉的风险(目前 RocketMQ 已捐给 Apache,但 GitHub 上的活跃度其实不算高)对自己公司技术实力有绝对自信的,推荐用 RocketMQ,否则回去老老实实用 RabbitMQ 吧,人家有活跃的开源社区,绝对不会黄。

    所以中小型公司,技术实力较为一般,技术挑战不是特别高,用 RabbitMQ 是不错的选择;大型公司,基础架构研发实力较强,用 RocketMQ 是很好的选择。

    如果是大数据领域的实时计算、日志采集等场景,用 Kafka 是业内标准的,绝对没问题,社区活跃度很高,绝对不会黄,何况几乎是全世界这个领域的事实性规范。

    怎么保证消息没有重复消费

    1.如果是拿这个消息做数据库insert操作(事实上update和delete重复也不影响)给这个消息做一个唯一主键,那么就算出现重复消费的情况,就会导致主键冲突,避免数据库出现脏数据。
    2.当拿到这个消息做redis的set的操作,那就容易了,不用解决,因为你无论set几次结果都是一样的,set操作本来就算幂等操作。
    3.如果上面两种情况还不行,准备一个第三方存储,来做消费记录。以redis为例,给消息分配一个全局id,只要消费过该消息,将<id,message>以K-V形式写入redis。那消费者开始消费前,先去redis中查询有没消费记录即可。
    

    怎么处理消息丢失的情况
    怎么保证消息传递的顺序性
    怎么保证多系统消息一致性

     

     

    https://www.jianshu.com/p/9a0e9ffa17dd ----另一篇对MQ简介

    展开全文
  • 上一篇主要介绍了硬件平台的基本情况,并没有详细的分析和对比每种硬件平台的优劣,这里我选取几种常见的硬件平台,从输入、硬件架构、输出等几个方面进行详细对比,以便深入了解各种平台。 这里我主要对比:恩智...

          上一篇主要介绍了硬件平台的基本情况,并没有详细的分析和对比每种硬件平台的优劣,这里我选取几种常见的硬件平台,从输入、硬件架构、输出等几个方面进行详细对比,以便深入了解各种平台。

           这里我主要对比:恩智浦S32V、英伟达DRIVE PX2、TI的TDA4、寒武纪1M、高通SA8155。

    1 .恩智浦S32V

           S32V是恩智浦推出的一款汽车视觉微处理器,主要参数如下:

    1. 硬件方面:4 x A53@1GHz,1 x M4@133MHz内核,2个APEX核,3D GPU, 图像信号处理器(ISP)
    2. 存储方面:2 GiB DDR存储器,SD卡插槽,QSPI Nor闪存,用于NVM的16 GiB EMMC。
    3. 接口方面:视频输入(VIU接头2 x MIPI-CSI2),Gigabit以太网,1x PCIE 2.0,加速度传感器、磁力计以及陀螺仪,汽车CAN口输出。
    4. 功耗方面:GPU 10瓦,不用GPU 4瓦。
    5. 结构图:

    2. DRIVE PX2

              英伟达在自动驾驶领域也可为信心满满,不过px2至今没有被用于量产,到底什么原因呢:

    1.  硬件:16nm FinFET工艺,8xA57核心和4xDenver核心,Pascal架构GPU.
    2.  接口:支持12路摄像头输入、激光定位、雷达和超声波传感器,PCIe v3.0,GMSL Display
    3.  功耗:250W ,采用水冷散热设计。
    4.  总结:性能强悍,但是真是太贵了,价格一点都不亲民。没有车辆CAN总线接口,需要自己集成。

    3. TI的TDA4

           TDA4是TI的第一款片上系统(SoC),基于Jacinto™ 7架构, 功能强大:

    1. 硬件:2xARM A72,深度学习矩阵乘法加速器(MMA),视觉处理加速器(VPAC)和图像信号处理器(ISP)和多个视角辅助加速器;深度和运动处理加速器(DMPAC);
    2. 接口:6路摄像头、激光定位、雷达和超声波传感器,4路PCIe v3.0,优化的CAN总线接口。
    3. 功耗:5~20W,无需主动冷却。
    4. 结构图: 

    4. 寒武纪1M

            国产芯片,集成度和国际大厂还是有很大的区别,作为国产第一个芯片还是很值的肯定的,不支持摄像头和雷达数据的直接输入,需要外置采集卡,只有逻辑计算平台,也没有集成CAN总线接口,处理器对深度学习有一定的优化。

    1. 硬件:台积电7nm工艺,主频1GHz,压缩解压缩模块
    2. 接口:支持PCIe接口,支持 CNN、RNN、SOM 等多种深度学习模型。
    3. 功耗:80瓦

           寒武纪的芯片在逻辑计算和深度学习方面,还是有很多亮点的,但是好的产品需要有强大的硬件以及易用的开发软件。寒武纪的芯片没有集成摄像头和传感器是输入,也没有能集成CAN总线接口,与之对应的开发平台也不完整。总之,中国芯片产业任重道远。

    展开全文
  • 几种常用的图像对比度调整方法

    千次阅读 2020-12-03 13:48:10
    在工业图像中,不同时间段拍摄的图像质量层次不齐,需要按需选择合适的调整方式,本文列出了几种基本的方法: 1.直方图均衡 图像直方图存在峰值时,如暗峰值,亮峰值,中间峰值,通过直方图均衡,可以将图像调整为...
  • 从今年的九月份到现在,接触机器学习、深度学习再到现在的深度强化学习已经三个月的时间了。从java web开发到人工智能的领域转变的过程中,学到了很多很杂的东西,感觉这才是我以后要研究的东西。然而,在这个转变...
  • 寻址方式

    万次阅读 多人点赞 2020-11-21 16:18:46
    首先需要知道的是,数据寻址的方式比较多,在指令字中必须设置一个字段来表明是哪种寻址方式。并且指令的地址字段通常都不表示操作数的有效地址,我们把它称为形式地址,记作 A ,有效地址记作 EA,由寻址方式和形式...
  • 机器学习的几种学习方式

    千次阅读 2019-08-05 15:38:09
    在机器学习领域,以下四主要的学习方式。 监督式学习(Supervised Learning) 在监督式学习下,输入数据被称为“训练数据”,每组训练数据一个明确的标识或结果,如对防垃圾邮件系统中“垃圾邮...
  • PPT背景填充的几种方式,简单高效

    千次阅读 2020-11-24 14:21:20
    相信大家对这个功能都不陌生,那么如何做出创意又逼格幻灯片效果呢?今天就跟大家分享个实用的填充小技巧。 01 背景填充 使用幻灯片背景填充,我们可以制作出让视觉更加层次丰富的PPT页面。 案例一: ...
  • 几种运维工具的对比

    万次阅读 多人点赞 2018-11-09 15:15:38
    运维行业句话:“无监控、不运维”,是的,一点也不夸张,监控俗称“第三只眼”。没了监控,什么基础运维,业务运维都是“瞎子”。 所以说监控是运维这个职业的根本。尤其是在现在DevOps这么火的时候,用监控...
  • 摄影构图的几种基本方法

    万次阅读 2016-01-23 20:02:35
    对于摄影,构图是基本的技巧之一。同样的事物,不同的角度就不同的... 但摄影构图的几种基本方法决不是要把摄影框死。只是让初学考以最简单的方法突破固有的思维。我们知道,武侠里真正厉害的是招似无招。摄影也一
  • 基于Oracle访问数据不同方法:包含全表扫描和采样表扫描,介绍三随机取样方式,并分别从随机性和性能(读取时间)作比较。
  • JS几种数组遍历方式和性能分析对比

    千次阅读 2017-04-05 17:28:52
    JS数组遍历,基本就是for,forin,foreach,forof,map等等一些方法,以下介绍几种本文分析用到的数组遍历方式以及进行性能分析对比 第一种:普通for循环 代码如下: for(j = 0; j ; j++) { } 简要说明:...
  • 方法描述:两幅图像patch(当然也可是整幅图像),分别计算两幅图像的直方图,并将直方图进行归一化,然后按照某种距离度量的标准进行相似度的测量。 方法的思想:基于简单的向量相似度来对图像相似度进行度量。 ...
  • SVM几种核函数的对比分析以及SVM算法的优缺点

    万次阅读 多人点赞 2019-04-25 14:54:00
    SVM核函数的作用 SVM核函数是用来解决数据线性不可分而提出的,把数据从源空间映射到目标空间(线性可分空间)。...基本原理:依靠升维使得原本线性不可分的数据线性可分; 升维的意义:使得原本线性不可分的数...
  • 身份认证的三种方式

    千次阅读 2020-12-26 15:08:04
    一单一服务器模式 1 一般过程如下 ... ...c 服务器向用户返回session_id,...e 服务器收到session_id并对比之前保存的数据,确认用户的身份。 2 缺点 单点性能压力,无法扩展。 分布式架构中,需要session共享方案.
  • 如果我们要简单的总结,数据分析的方法,具体以下几种: 1)确定数据的准确性 这里包含了选择数据维度的合理性、数据统计的准确性。如果数据维度选择不合理、数据统计结果不精确,我们可能是无法得出正确的分析...
  • 实现负载均衡的几种方式

    万次阅读 多人点赞 2018-07-21 09:56:13
    负载均衡(Load Balance)是集群技术(Cluster)的一应用。负载均衡可以将工作任务分摊到多个处理单元,从而提高并发处理能力。目前最常见的负载均衡应用是Web负载均衡。根据实现的原理不同,常见的web负载均衡技术...
  • 物联网Wi-Fi配网方式,你知道几种

    千次阅读 多人点赞 2020-09-07 14:37:22
    本文将从原理、流程详细介绍一键配网、设备热点配网、手机热点配网、蓝牙配网、路由器配网和零配等6配网方式,总结对比各配网方式的特点,并分享对配网技术未来发展方向的看法。一 概要Wi-Fi大家很早就接触了,...
  • 几种平均数

    千次阅读 2020-02-15 10:15:13
    总的来说:几种平均数的应用的取决于场景 一、定义 1、算数平均数:又称均值,是统计学中最基本,最常用的一种平均指标,分为简单算术平均数、加权算术平均数。 设一组数据为X1,X2,...,Xn,简单地算术平均数的计算...
  • 这个方法很常见,一般用来判断基本数据类型,如:string,number,boolean,symbol,bigint(es10新增一种基本数据类型bigint),undefined等。 typeof 目前能返回string,number,boolean,symbol,bigint,unfined...
  • 几种企业应用集成方式的比较

    万次阅读 2017-12-29 10:35:25
    前言  我们做过的大部分系统其实并不是自己从头开始设计和实现的,很多时候...于是,集成主要有哪几种方式?他们各什么特点呢?这些问题就一一的浮现出来。这里主要针对一些原来个人项目中接触过的问题,结合一些
  • Java--反射机制原理、几种Class获取方式及应用场景

    万次阅读 多人点赞 2021-08-22 11:26:31
    2.1 三种方式及区别2.2 代码演示区别三、Java反射机制的应用场景哪些?3.1 应用场景3.2 应用场景实现3.2.1 简单工厂模式3.2.2 简单工厂模式优化(应用场景)3.2.1 代理模式中动态代理(应用场景) 学习背景 学习...
  • Qt 定时器的几种方式 摘要: Qt中定时器的使用两种方法,一种是使用QObject类提供的定时器startTimer,还有一种就是使用QTimer类。 方法介绍: 共有方法:   QTimer(QObject *parent = Q_NULLPTR) ...
  • 简述https的几种加密方式

    千次阅读 2019-09-25 14:50:23
    加密方式常见的加密方式:对称加密和非对称加密。对称加密算法和非对称加密算法只不过是密码学中的两加密算法罢了,所谓的算法就是一可以将信息从一形式转变为另一形式的规则...
  • 进行图像相似度对比几种办法

    万次阅读 2018-08-23 14:31:09
    方法描述:两幅图像patch(当然也可是整幅图像),分别计算两幅图像的直方图,并将直方图进行归一化,然后按照某种距离度量的标准进行相似度的测量。 方法的思想:基于简单的向量相似度来对图像相似度进行度量。 ...
  • PHP变量加1的几种方式对比

    千次阅读 2017-01-24 15:39:11
    PHP 变量加1的几种方式天下武功唯快不破,同一个功能往往都多种实现方式,那么对于强迫症患者,追求完美的程序原来说,那种方式才是最快的呢, 他们的区别又是什么呢?下面会探究下几个典型的例子。$i = $i + 1 ...
  • 常见的几种加密算法比较

    千次阅读 2020-09-04 10:58:48
    “加密”,是一限制对网络上传输数据的访问权的技术。原始数据(也称为明文,plaintext)被加密设备(硬件或软件)和密钥加密而产生的经过编码的数据称为密文(ciphertext)。将密文还原为原始明文的过程称为解密,它...
  • 因为天气、拍摄技术等原因,我们拍出来的照片对比度经常不够,看上去像在照片上蒙了一层细纱,整张照片看起来... 今天,我们就向大家介绍用Photoshop提高照片对比度的几种常见的方法,让你的照片告别灰蒙蒙的模样。在
  • 广义的数据可视化包括数据的采集、分析、治理、管理、挖掘在内的一系列复杂数据处理,然后由设计师设计一表现形式,最后由工程师创建对应的可视化算法及技术实现手段。本文仅探讨狭义的图表和信息图层次的数据可视...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 344,146
精华内容 137,658
关键字:

对比有哪几种基本方式