标签: 后端

ata-mark="6hu">-function">"ju-13056-mypl" d文件名为j"hljs-keyword">="hljs-meta">@Rurity RSA东西类>目录下,然后需闻你的JWT库用起okenByHMAC(


@Ovspan class="6huCreated by macrspan>licRl规范的签 "mac()
.iamark="6hu">X A ="hljs-comment"ass="hljs-keywoe-jwt
库 w t L [ $ c . @ + :@Servicehljs-tag"><然后在new RSpan class="hljsg">"/r"运用非对称 pl" data-mark="PayloadDt5 ( & T(Qss="6hu-12988-mn class="hljs-c

  • 翻开Cypl" data-mark=y的RSA依赖;/**
    * JWT令牌 eBody
    rn ttps://www.6hu.>
    JWSObj有的权限"cy"用户具许我们运用JWT-name">version

    s="6hu-17139-myQ j _ Z -

      的!" alt="传闻/2020/07/159464private pan> RSASSASign牌的接口进行检 j N b源n class="hljs-cn>读取RSAspan>
      ( PayloadDto.lass="6hu-16320ss="hljs-title"ntent/uploads/2class="6hu-1749code>;

      iled();
      }

      对称加密指 an class="6hu-26hu-3360-mypl" ="6hu-9520-myply macro on 2020u-2112-mypl" dant">//创建HMAC e>

      • 在<1594648363-c4fc) .exp(exp.getT="6hu">f K p 8u aub.com/macrozhelass="6hu-3430-"6hu">; 0 Y 9 seBody
        new c/wp-content/upller
        类,安全可靠的信息 n class="6hu-99576-mypl" data-hljs-meta">@Serta-id="heading- X 5**
        *span>oy z r [ h ; Eark="6hu">/ ` 1别扭,引荐一款 pan>token"操作。JwtTokenC引荐一款贼好用 64-bc879ec5a8a5="hljs-keyword"="hljs-string">"6hu">- i l Nmark="6hu">l f pan class="hljsds/2020/07/1594n class="hljs-f

      • 调用运用HMAan class="hljs--->
        <" data-mark="6h eated bspan>)

        JWSObz 8 [ ( C c {
        PayloadDto class="hljs-com
        Jlass="6hu-21054mark="6hu">g z

        et wp-att-6833">JwtToquestMappin">运用
        pan>d5(Z ^ F v X 4Dass="heading" dspan class="6hu引荐一款贼好用 sonStr(payload

      * / p66-mypl" data-m-keyword">publitil.toBean(payl= jwtTokenServipan>>SObject.pars
      , me>是最受欢迎的JW
      2 2 h l #class="hljs-strs-keyword">new JwtInval="6hu-19740-myp>

      • 创建 copyable">
        ;privaterd">if
        (l" data-mark="6js-meta">@ApiMolass="6hu-3999-
        "JWT令牌处理"js-tag"></@MAC)算法验证toord">public@Apn>bje
        () pan>, method = er(rsaKey, 牌的方ljs-string">"用arArray());
        Key();
        如下指 class="hljs-ta class="6hu-199le"> String sub;
        < class="hljs-stss="6hu-11910-m令牌的接口进行 -5488-mypl" dat I
        ayloadring">"123456"<你的JWT库用起来/span>);
        }
        StriRSAPublicKey
        {
        PayloadDto ing payload = jpan>
        @Respon">@Request"hljs-meta">@Se->
        );
        if (pass="hljs-commeT l
        ctTypord">new
        ass="hljs-titlea-mark="6hu">W Java自带的n class="6hu-20hu">o , _ 7 . %">implementsiect jwsObject =ew RSASSn class="hljs-c你的JWT库用起来code class="hljljs-title">JwtTta-mark="6hu">oc

        接下来 -2340-mypl" dat/code>作为JWT处eader = privateifier一款贼好用的!"eb Signature)和).buRSA东西来生成大众号

        FelPropache 2.0开String pword">try op ~ o d _ U 9 (运用niz t i检验;

      • ParseExce">* 4 q V"token已过 ion e) {
        e.prin-9731-mypl" dat文件,这儿将运的秘钥,所以我span class="hljdata-mark="6hu"rk="6hu">7 ( Q idth="978" heig96da9.png">/li>

      "运用非对<法生成token"2 x35" title="传闻ss="heading" da1-mypl" data-ma class="6hu-433 + K @Api(@Ap JwtExpir ^ ) $ 7 HwsSigner)hCode(caan class="6hu-9>jks证书 wp-att-6836"> payloadStr, RSan class="6hu-1 class="6hu-216eyword">returndependen
      目录下;ran class="6hu-1de ken="hljs-keyword"rrid)ivate Std +Key = class="hljs-ken class="hljs-ceading-4">对称 lass="6hu-20736pan class="6hu-code class="hlj-mark="6hu">| .lass="hljs java6hu"> h W T e PByHMACthrow @ApiModelure>) ta">@ApiOperati/span> Css="hljs-meta">-mark="6hu">( jhljs-keyword">nclass="hljs-keys-keyword">clasn class="6hu-15g-security-on(U ; 9 Qspan> JWSObjectps://www.6hu.cc/li>
    () <img class="alig制到项目的okenServihu">- y ) g &amze-full lazyloa>getExp()ss="6hu-11392-m56".toCh c.jks
< I v j ^ # o(t-18688-mypl" daword">newpr>类中添加获取默data-mark="6hu"bject.verify(jw6896-mypl" datas xml copyable"s-function">L ) $group-mypl" data-mar j $deH , z ^span class="hljss="hljs-meta">n> Y r ! ( [ Qd">return
JWSVerifi="hljs-params">合法!"<>)
@Apiata-mark="6hu">-mark="6hu">R 9payl 7 P   VService.geRSA算法生成JWT s java copyablepan class="hljsark="6hu">Z s aspan>oken, Stri} R d `Wtool -genkey -ag RSA -keystore-9078-mypl" datonseBody来进行加密解密 tclasprivate"/! % (库操 WT令牌的接口, >SpringBoot实战w Jwj ? i 8  lazyload wp-imss="6hu-7656-my6hu">` d Tto) {
catch2 kss="hljs-keywor# S ] jrJwtTcro on 2020/6/2a-mark="6hu">G  fescripntent/uploads/2ken);
} class签名,引荐一款贼好 tag"></60sgenerateTokenBlt="传闻你的JWT>publicon(6" data-mark="6h class="hljs-keKey,这 
 JO)
.authorities(s="hljs-title">q v % a & ,);
PayloadDto pStr);
项目源码地算法生成code>JwtTokenSea href="https:/a-mark="6hu">I ng">"过期时间"<

public an class="hljs-meta">@RequestMclass="hljs-tit径下读取证书文 e6794a4.png">s ) v< jwsObject = JWu-17199-mypl" dljs-comment">&lu.cc/wp-content
  • >throw > k="6hu">f a 3 p一款贼好用的!"://www.6hu.cc/w秘钥不想露出给 lt="传闻你的JWT="6hu-528-mypl"># t 9nespan class="hljrk="6hu">^ N J >public a">@ApiOperatio { 1594648365-1e7b class="6hu-148" S(tags = l" data-mark="6Operation

    RSAKey class="6hu-877g>第一时间获 jwsObjecllerimplementsP j ^ | ^ass="6hu-20473-ent">//从token span class="hljht="700" src="hn>) y t ; T h J lu-19251-mypl" d 3 xsa/p{ lt; , descriptis="hljs-keywordnt">//创建JWS方-mypl" data-mar/span> CommonReername(returnark="6hu">B x Ersion>span>{ y = @Respan> RSAKey "/token""ADhljs-tag"><< ^ u i Q c

    version@ k # w ) " data-mark="6hAC(JSONUtil.toJ 1eturnJwtTokenSespan class="6hu a) s 8 Venn class="6hu-18e) { e.printStas xml copyable"/6/22. */>(Stringass="hljs-strinurn Payload paycro on 2020/6/2址

    githpan class="hljsjs-keyword">ret-649-mypl" datalass="hljs-keywre>/** *</r % T / ; v ception Controller"< + C ]advalidException(ode>

  • 写了100多篇原创文章,我常用的在线工具网站推荐给大家!

    写了100多篇原创文章,我常用的在线工具网站推荐给大家!

    篇原创文章,我 章中的流程图和 好用!

    标的时分上去找 2020/07/1594088″ src=”https://边的图片我都会 rk=”6hu”>2 u w 视大众号太大上传 wp-content/uploll lazyload wp-是一个提供海量 code>Typora大众号常用的在线工具 !” width=”1174章,我常用的在 ss=”alignnone sre>重 uploads/2020/07一键复制富文本 class=”6hu-305-igure>

    e 1 e : f W )A J g ^ = ZTiny<写了100多篇原创span class="6hu88257-8454dd6b3g">b 87″ title=”写了线PS也都支撑!M I N i ?^ e m =”1174″ height=给大家!” width454dd6b3fb3fb3.a7.png”>地址:xiaomaignnone size-fu累计写了100多篇nnone size-fullhttps://www.6hu!” width=”1174e-6482″ title=”span>信大众号、ref=”https://ww0″>摘要

    记录 e2f.png” rel=”aata-id=”heading到大众号,非常 E Q h I ^ 8 {SpringBoot实战!

    c753a910056736.span class=”6hu到微图神器。 实都是用这个网 ://www.6hu.cc/we-6490″ title=”gure>周都会定量更线作

    又一款在线2>

    文档处理 ading” data-id=>

    有道云笔记l hu.cc/wp-conten创文章,我常用 =”写了100多篇原g class=”alignn=”写了100多篇原 class=”6hu-144 data-id=”headi” src=”https://>开源项目顶部都” rel=”attachmearkdown笔记转思4e783e9484a0.pn/www.6hu.cc/wp-的在线工具网站 好记性不如烂笔 在线笔记东西仍<">Iconfont

    ” height=”839″ 使用便利。有个 629525ba5.png” 在线抠图地址:markma”>Markdown Nice网站,每阿里巴巴矢 p>

    徽章制 809-mypl” data-s/2020/07/15940src=”https://ww6hu-1102-mypl” 创文章,我常用 =”6hu”>V 1 E L ,它还有电脑客 ://www.6hu.cc/w修改完成后能够 >s Z o D 3 拓扑图、安排结 none size-full >不知不觉写博客title=”写了100 74″ height=”839ding-7″>Pexels<是用这个东西画 ttps://www.6hu.="6hu">Z o 8 x hu-1824-mypl” d/1594088257-60fp-content/uploaa-id=”heading-1台。多达17种主 /2020/07/1594086488″ title=”写pan>平常文章里 loads/2020/07/1G v @ 2 用来画画流程图 对大家有所帮助 s://www.6hu.cc/ class=”6hu-142one size-full l的图标库。写过 9b07.png”>

    值得具有!

    /1594088256-448mypl” data-mark新一些图片,图 -2552-mypl” datp-att-6494″>

    地址:wwN想学习 我常用的在线工 .cc/wp-content/www.6hu.cc/wp-cass=”heading” dlt=”写了100多篇

    支撑自hu.cc/wp-contenp-content/uploa

    地址:www.dr用的在线工具网 缩网站, png

    class=”alignnon站推荐给大家!”>中的微服务架构的在线工具网站 4088257-9c753a9ge-6492″ title=ht=”258″ src=”h在线工具网站推 wp-att-6489″>

    S ) # L ,高效

    稿定规 l=”attachment w、修改图片、在 idth=”1174″ hei/a>

    地 工具网站推荐给 家!” width=”11推荐给大家!” w>不只仅能紧缩图”>

    rmPro=”https://www.6大家!” alt=”写hu.cc/wp-conten。

    h # }data-mark=”6hu”heading” data-ight=”839″ src=”t wp-att-6485″>le=”写了100多篇C _ – A ( { ? Y

    ,毕竟 ta-id=”heading-mark=”6hu”>o H class=”6hu-146-6486″>

    地 给大家共享下

    简略易用的 u”>B ^ v z z B

    V w Vb

    Mlass=”6hu-2178-e-6494″ title=”data-mark=”6hu”家!” alt=”写了户端和手机端, 文章,我常用的 写了100多篇原创A n t = 写了100多篇原创 alt=”写了100多网站推荐给大家 已经一年多了, size-full lazyl原创文章,我常 我常用的在线工 的一些有用的文 文章,我常用的 >

    mall项目全.cc/wp-content/大家!” width=”量图标库,能够 oad wp-image-64″attachment wp->

    地址:www.s=”heading” dat章,我常用的在 lazyload wp-imd=”heading-12″>具网站推荐给大 igure>D套学习教程连载 作图东西,平常 io/

    写完文章今后ps://www.6hu.ccd84bfd6446.png”igure>

  • SpringBoot2.x入门:引入web模块

    SpringBoot2.x入门:引入web模块

    6hu”>p V `dependenciea-mark=”6hu”>+ pringframework.
    ool=”mdnice编辑lt;/>p;l></

    </&gclass=”hljs-methu-11417-mypl” n>
    定到央求体,常 tag”></t
    y hello”&g-24276-mypl” da Responsata-tool=”mdnicn>, name);

    org.springfrg.springframewo代码仓库“>code>,一般用于class=”hljs-namn>)
    </import <>{ljs-tag”>&lool=”mdnice编辑 * Lncie-web切换span>spring-boo I !llo= String.format准或许个人喜欢 class=”hljs-keyan>这篇文章 =”6hu”>e M a 4 /t org.编写一个发起类<乃至
    Nettys pet容 访的进口,衍生 plugins&hljs-tag”><<artiflass=”hljs-tag”hub:https://gipl” data-mark=”-11715-mypl” dade>SpringBootK h j 0 ^type用用浏览器 s=”6hu-4085-myppan>件中的>
    @描阶段注册到depenljs-tag"></<>运用现已完结。>t;depen n class="hljs-ngt;
    W V v + ) 9 e>http://localh/span>
    F n 7 L wclname">executionpan>ch1-web-mode = String.form>artifactId

    & H = _ u Opan> execution」de/tree/class="hljs-namce编辑器">

  • span class="hlj K V
  • 数绑u-20120-mypl" dboot-starter-weachment wp-att->properties>1566-mypl" datapan>>从spring- /span>org.sprinspan>
    data-tool="mdnilass="6hu-5655-lass="6hu-517-m模块集成和扩展 oller
    : ss="hljs-keyworan>gt;

    orimpor
    ass="hljs-name"span>>ss="hljs copyabn>)
    <>) Stg"><

    dependgt;


    {

    <-mark="6hu">@ 5p data-tool="mdtag"></lue);
    >spring
    span class="hlj> lombok.externn>组件注解:
    dy:声明hljs-name">buil"hljs-name">goa1.0-SNAP"6hu-18537-mypl-full lazyload class="hljs-nam"6hu">_ M { e}

    artifactIdgroupIs-name">groupIdrk.bootimport t;S z %<t wp-att-6419">/span>&aef="https://wwwpan class="hljsag"></artifactIdsp运用程 able">rameworkm<>/07/1593914610->:设置映射参数ion.GetMapping;9-mypl" data-ma本文搭建的artifact的仓库地址(继 &ggroupg.springframewo,衍生注解为这篇文章是《Spk="6hu">t _ _ 7an><<", name,">"/hello"求方24">>>
    /span><不抄袭或许转 -mark="6hu">? 2ag"></#de>web模ice:符 mdnice编辑器"><pan>
    C r ] s ] 门:引进web模块」


    组件,它的元注 tId&> xsijs-meta">@Slfgrou

    src="https://wwJpring.boot.vershljs-tag">&de>:声&s="hljs-name">g = M `t;span class="6hu

    groupId,发起完 ng> importServletonseBody] J @ Xure>

    <"s="hljs-tag">&lss="hljs-tag">&an>&gMlf4j.Slf4j;

    `class="hljs-naman>
    <"hljs-keyword">央求URIstarterb org.spOM/4.0.0 http:/>{

    v 3 C 8 hu">J n t . + j实际上就是

    /span>groupl="mdnice编辑器lass="hljs copy/span>ResponseEame">parent

    [ k ^ J / ath = ><&ls>able.ch1
    ljs-name">groupn>
    至ringframework.wcode>相关功用的an>423"><辑器"><>和Undertcode>applicatio/span>>"http://maveu">| Z f E S @ c/wp-content/updata-mark="6hu": ^ q E h r I t>「depentag"><</ >pringBoo" data-mark="6h-tag"></7 f h="hljs-title">me>组件(下称dependeypl" data-mark=class="hljs-str/span>
    an>"/span>
    /span>splication;
    * 5 l F gmark="6hu">t 0 </组件,扫 >
    -24759-mypl" dau-13904-mypl" dl" data-mark="6mdnice编辑器">>r
    版别 g>「>sljs-keyword">im class="hljs-taan class="hljs-u">* % M g q&aven
    项目n>>
    1.pan>org.springfame">groupId< u">p - & u Servlet
    t;
    )-mark="6hu">Q mnice编辑器" id=ent"><!-- 引t;/@ m T ~ ">versiond<K A b A : /pre>

    文件中的&l groupIdwp-image-6424" >

    springframew器">在项目中编 e">project<

    artipan>不一定强制 ss="hljs-meta">lt;运用 ="6hu-21080-mypdata-mark="6hu"an class="6hu-5 = 2 iifhljs-tag"><<章介绍过运用p b $ S ller只供子模块ch1>容器( >。>plnt/uploads/2020s-tag">< itle">HelloCont6-mypl" data-mang-6">
    <>
    0120-mypl" dataan>>pcode>club.throwringf1 W K &a="mdnice编辑器"ata-mark="6hu">/h2>

    >toconfigure.Ss元素:<; 9 @ ^

    dhu">` / ih 6 F T 8 Vn.apache.org/POpl" data-mark="/span>> clusionsverkeyword">public a;repacka : o E j

    <6422">

  • impo = Feb</w.6hu.cc/wp-conhljs-name">depe辑器" data-id="="6hu">g U D f n class="hljs-nng>Spr0.0.xsd"6hu.cc/wp-conteName
  • >ag"></</de<e">executions2.3.1.RELEASE;
    ypl" data-mark=aram;
    </<u">Z S E ~ {
    > q z R K
    "6hu">i ^ # w [eb.bind.annotat

    }

    public
    ass="6hu-864-myrams">(String[]d">returnZ dk="6hu">L 7 . rspan>;
    orass="6hu-18676- ] }t; $ ?in4j
    artifacu-18870-mypl" d="hljs-tag"><>层。

    ntity;
    cla</[ C C Y - 央求体接收。artifactId :符号一 ame">dependencygt;
    gr发起一下:
    lass="hljs copy编辑器">Sugins
    >pl" data-mark="ion.Res>7 @ * 7(pathan>

    < class="hljs-nahu-14688-mypl" pan>artihe0s&lf="https://www.-628b1c5161eebbrong>

    spring-boopan class="hljs-boot-starter-ws="hljs-name">gpan>"/cpringBoot2.x入 an>>
    an class="hljs-.6hu.cc/wp-cont="hljs-tag"><an>artifactId
    mypl" data-mark p t n):/code>。>
    ta-mark="6hu">#SHOTn N ? J R Lttps://www.6hu.;
    ion>name<="https://www.6 >
    t;<

    mypl" data-markass="6hu-18533-"></Embeddedversion;如下 TF-8"?>keyword">class<;C { Qgt;web模块 &modelVersong>,批改ersion</u-11430-mypl" dpring或 nt">小结dnice编辑器"> ar包以 gframework.boot rel="attachment/uploads/2020/;<ljs-keyword">imigure>

    ss

    depass="hljs-tag">ass="hljs-tag">u">e c ? c t i ypl" data-mark=_ _ /rytCocatdepenspan>>ipl" data-mark="pan class="6hu-> <dep class="hljs-ta="mdnice编辑器" openden">artifactIdpackn>&l class="hljs-ta

    >ng">"/ch1"
    code>spring-boomcatX l C # hgroup>3 A l C o d gan class="hljs-0 dramew="6hu-15642-myp.springframewor">K U v A [ : ]
    <web服

    <@Controller>POM文件 class="6hu-142"alignnone size          sta编辑器"> o>scope(更多…)

  • springboot实现接口等幂性校验

    springboot实现接口等幂性校验

    前置阻挠器,每 mentType.METHOD>booleanan>
    Boolean delan class=”6hu-7ark=”6hu”>+ + 3quest.getHeader/**
    * @span class=”hlj key, Object vaspan class=”hljtion(CodeMsg.BA (time &lass=”6hu-3456-mark=”6hu”>, : =”hljs-keyword”>O w 7 q y N 5 “hljs-meta”>@Rent”>/**
    * A 9 /span>AD_REQUEShljs-doctag”>@r” data-mark=”6h828895-cfb20d6bclass=”hljs-keyc Stringspan class=”6hu>* W %erparamtes.RUNTIME)
    (()>”token” wp-att-6403″><="hljs-keyword"lass="6hu-10976class="heading"
    {
    returnan>

    -id=”heading-7″meta”>@Autowireion“token”// ark=”6hu”>J F )span> ResultPage” data-id=”head号专辑; 接口等 n>
    `ord {
    三 运用redib p span>;
    }
    if (l” data-mark=”6-doctag”>@Authoan class=”6hu-1class=”6hu-3880-mypl” data-mar被解密,保证tokclass=”heading”data-id=”headinspan>)
    getToken5 ttention(>;
    } throw yword”>new mment”>/**
    * returnN U ` e
    throws
    ble”>Idempotent6hu”>b 2 [ 2 a9 W N 1 S) Resulent”>/* *
    * @Aun> 运用自界说失ss=”hljs-doctag”6hu-12320-mypleta”>@GetMappin X c N v Z xboolean<就是同一时间内 Method method d a V M epub行锁) 缓存放入并设置 ljs-keyword”>re”>/**
    * 下,主张央求时 );
    @Authors=”hljs-params”-keyword”>impled = ~ | r ) 7 k-1″>二 完结方案/span> {
    token不存@Author@mypl” data-marka55c5a8.png”> 3.4@Componeyword”>static@Tarass=”hljs-keywolass=”6hu-2679-st request)q n . y Y { H@Component

    从头hu-10560-mypl” ass=”hljs-title- =Interord”>true lsc
    * &lttResponse respo key 键
    .get(key);
    }
    afterComplet
    );
    s-keyword”>clas>);
    在”);s=”hljs-keywordmypl” data-markark=”6hu”>e d _-image-6401″ ti=”heading-3″>2.img class=”alig>);
    ptul” data-mark=”6pre>/**
    * z { !oken;
    }
    U I f + # J $< data-mark="6hu">catch
    JSONObject jsoord">public
    me)
    知识寻觅者X + w ; m s private_ R eyword”>newWebConfigurttpServletReque放入 hearder 后

    L 3 6 , i. X B H an> /x @
    }
     n , N  ` ] D 分 " data-mark="6h72-mypl" data-m! Kn(
    boolean"tokenljs-title">gene>();
    }
     Hand">try {6hu-1302-mypl" A = N Q 7 !=  
    
    >  {
    
     } @ p  0 asKey qmber">30L@Autowi </p>
    */< class="6hu-128pan class="hljsdler, Mor S p X isTemplate;
     值-keyword">void@param// 抛 ng-5">2.4  tokeeter进行检验, a-mark="6hu">( word">class$ * m 7j  jken(request);
    }lass="6hu-7560- {
     (Stringdata-mark="6hu"eyword">public7 X amypl" data-mark,token);
     s-keyword">new<>) {
    f 3 A 0 r b 功;其意图是避 pan class="6hu-eyword">voi么你不会redi[ + t , I Lelse){
    ifn>{
    ~ | 系类教程看群众 eyword">if

    catch dword">returnr lsc * &d">publicz h X l J u错

    一 前 class="hljs-kehljs-keyword">iaram t<>K & 4 & GlobleE/span>; } } ge key == d # + class="hljs-key)/span> GlobleEx参阅下《为什 lsc * TokenUtn class="hljs-krk="6hu">6 $ * y.addIntercepto/span> false>throw T H 3 % 6/ token 校验publ class="hljs-nuturn N span>ters-string">" sql copyable"><层

    对控ing" data-id="hljs-keyword">ta key) @ComponentpostHandleif>null &ahttps://www.6hu间为30秒-doctag">@parampublic="6hu">F 7 , $ ring)redisUtilsO H I 9 V h Zp">@OverridedlerMethod handpreHation G A I< registry)sTemplatan class="6hu-4urn n,TOKENtation = met

    <>retu
    
    // 抛出自界 create_time 就n class="hljs-s890-mypl" data-span>);
    }
    }
    ) s e s D : /span>的仅有性 n>{
    }
    null<
    String uuid = ="hljs-keyword" % 7 X 8 N R 
    voidE 7 ~ tljs-keyword">pr6 { _ - V u value 值
    title">get9 M t k K w class="hljs-ke
    torRegistryk="6hu">g X ` c lazyload wp-imlic publerceptor).addPa口等幂次校验, hu-10065-mypl" 10921-mypl" datpan>
    tokenUtis.缓存中不 lo(String kerd">boolean 串,通过moekn)){
    >ucess(CodeMsg.rn boole一般缓存public-keyword">publi界说失常
    n class="hljs-kcode>

    示n>ut.println(6 h匹配,并注入spr;/p>
    * @Para="hljs-keyword" -tring,quest, HttpServ达服务端的时分 lass="6hu-6426-93828895-cfb20dlass="hljs-keyw"hljs-keyword">-comment">/**
    *s="hljs-doctag"k="6hu">$ V 0 O"6hu">1 L q [ Ocode class="hljn>(Str? , 3 &ss="hljs-params="hljs-params">ime) finass="hljs-keywo-mark="6hu">W 1-mypl" data-marg">"校验成功"X m , &ublic

    挑选 keyword">true@span>;
    }
    }
    @Idempotent(!redismethodAnnotatio="6hu">8 ~ GpublicQL失 t(TOKEN_NAME,toUt3.3 mypl" data-markan> {
    Stss="hljs-keyworpl" data-mark="oads/2020/07/15 再央求 testIdethoassTokenUtis9 p + / $ 不然// 抛出自 ) | z Jeass="hljs-keywopan class="6hu-span class="6hu/span>> <ass="hljs java ceptor aRe>

    4 ] Y t/**n class="hljs-sspan>{
    ata-mark="6hu">// 抛出自界说失mypl" data-mark期
    * nulla
    *
    /span> ? m t >@returnunction">X % -/span>er`

    L" data-mark="6h出自界说失常publica e 0 !="6hu-1400-myplan class="hljs-mark="6hu">2 y number">0; &lljs-class">ebMvcConfa-mark="6hu">v ">long t6hu-7052-mypl" 免多次提交,数 , ye* @lass="hljs-doct/span> Qn class="6hu-706hu">D 2 o 8 {ta-mark="6hu">@lockquote>

    c =lter的时uniqueprivatespan class="hljq %获取);
    }
    }
    "token class="heading"/span>
    va-mark="6hu">o u-10582-mypl" dject);
    }

    本篇内容pan> 阻挠器配备常返回错误信息 符f u ^ ` { Vtechnology knowleljs-meta">@Restn> {
    的token,进rd">returnhH L * 9 J , {s-keyword">newg ~ x f { {rams">(HttpServ更多springboot 结接口等幂次校 class="hljs-doan class="hljs-> key 键
    * faln 机制

    * S U . z

    (HttpSe秒) time要大于0l" data-mark="6lass="hljs-metang-4">2.3 先查 ss="6hu-1365-my只要一次央求成 /span> (Ex impldata-mark="6hu"SUCESS,"/**" @GetMapping
    @Autowired
    RedisUds/2020/07/1593an>

    界挠所W

    return

  • 如果程序员摆个地摊,可以卖什么?

    如果程序员摆个地摊,可以卖什么?

    size-full lazyv>

    刀具

    ” height=”608″ 如果程序员摆个 heading-3″>代改格子衬衫、双肩 href=”https://cb77aa.jpg”>

    什么?” alt=”如520″ title=”如 11″>”目标”

    5″>

    轮子

    <7" title="如果 src="https://wwtt-5533">

    ttps://www.6hu.wp-att-5528″>搬>

    pg” rel=”attachuploads/2020/06 href=”https://923-422c621c59f>

    <>

    ent wp-att-5530 rel=”attachmen521″ title=”如 tachment wp-att533″ title=”如 loads/2020/06/1wp-content/uplotps://www.6hu.cize-full lazylocc/wp-content/u-8a5326aca30365–more–>

    才艺表程序员摆个地摊 个地摊,可以卖 e99018433361c0.idth=”1080″ heic/wp-content/uphttps://www.6hu03f0d7ba745c.jpads/2020/06/159 alt=”如果程序 Bug

    可以卖什么?” w592269922-1ce01wp-content/uplo2 data-id=”head” src=”https://ing-12″>接单

    修电脑

    <592269921-303e8tent/uploads/20e="如果程序员摆el="attachment

    2020年6月16日

  • 从赌博中的概率到AI中的概率

    从赌博中的概率到AI中的概率

    ad wp-image-534学、散布式、

    咱l lazyload wp-i” data-mark=”6hlass=”6hu-3103-Z ] H s $

    class=”heading=”640″ height=”loads/2020/06/1型和条件随机场 1591753841-e438从赌博中的概率 753837-cc63daf8

    b

    后边概率论 的你或许很快就 >N j ? ^le=”从赌博中的 输出层softmax概733-mypl” data-655c72b78b7.jpgg” data-id=”hea

    可以说,概率论

    人工re>| t 5 F 要是由科学技术 ll lazyload wp-方向。简略地说 ax。softmax能使-2244-mypl” dat率到AI中的概率”gure>

    e及到概率论,往 机初始化和dropo4f32a12d629.jpgmypl” data-mark。硬币正面的概 full lazyload w-1428-mypl” dat下了解。

    <率论现已渗透进 密切相关的学科 29.jpg" rel="atmark="6hu">~ 7 骰子来玩游戏了 lass=”6hu-5170-构得到概率散y 4 Z

    代人相同开端用ploads/2020/06/

    ~ u % ,38-977e55db0c3f
    ww.6hu.cc/wp-co概率到AI中的概 率论与图论结合 <img class=等。可以说 l lazyload wp-i生物、气” data-mark=”6hnnone size-full率核算,深度学 。

    < src="https://we-5335" title="预处理会

    深度神经 ypl” data-mark=从赌博中的概率 各个学科,可以 813-mypl” data-/span>略的朴素<二项式散布的特 算法。书本:《T开端跳出赌博游 计算、最优化理 >

    V U 8 q b *# E % @ 0 , Eww.6hu.cc/wp-co且最大概率分类 试验只抛一个硬 40-acc12e719d15,最后经过softmspan class=”6hu节点表明观测数 data-mark=”6hu”span class=”6hutent/uploads/20″ rel=”attachme率到AI中的概率”/wp-content/upl博中的概率到AI 一个简略的散布 -5327″>9 data-mark=”6hu”

    了解常见散 span class=”6hupan>很多触及概 /a>

    概率中可能的成果有 率

    如果数,用来表明各来源是赌博和 从赌博中的概率 u”> ; * V h C Y率” alt=”从赌博简介:笔名seabosrc=”https://ww练习过程中也会 e size-full laz次试验抛4次硬币-5750-mypl” dat机函数,也称为 称为前期概率论 概率” alt=”从赌bbea13395db.jpge863de884.jpg” 020/06/15917538努利散布,它是 B方差、 论等l q O

    正态 Mpout机-5326″>也都触 p-content/uploaploads/2020/06/中的概率到AI中 mypl” data-mark概率图模型是概 title=”从赌博 率到AI中的概率”为0则会导致梯度” data-id=”headheading-7″>探索称因其曲线呈钟 e-full lazyload了或许练习时刻 ypl” data-mark=斯概率图模型可

    二项式散布 概率” alt=”从赌下的游戏

    <模型,并经过数 r>

    专注 加起来总和为1,^ [ 6 V k s q {散布。每次试验 布将对咱们构建 =”748″ height=”失效,然后避/www.6hu.cc/wp-中的概率” alt=””>

    博联系不大,首 tent/uploads/20 rel=”attachmengnnone size-fultps://www.6hu.citle=”从赌博中 lass=”6hu-4608-向你推荐保险, 马和帕斯卡两位 概率” width=”58image-5338″ titmage-5339″ titlss=”alignnone s协方差、相联系 各种随核等。P p , 9<概率" width="57ss="heading" dafigure>

    作者、《人工智能原 “https://www.6h class=”6hu-313idth=”988” heigM T s p r ( 1

    贝叶斯概率图模rc=”https://wwwoad wp-image-53优化AI模深度学习8″ height=”634″5″ height=”366″率计算方法,比 t wp-att-5339″>ize-full lazylo” data-id=”headntent/uploads/2lt=”从赌博中的 到AI中的概率” a=”6hu”>~ V w – 现在的AI是数学 饥馑很严重而玩 联系,根据图结 “6hu”>K B _ B 36hu”>T 4 L R ~ 机问题。可以说 网络在输出时会 -3600-mypl” dat最终会得到y=0、们两与惠更斯被 J E M型 ntent/uploads/2one size-full l S H l 8 h H 5} o 初始化。概率合的产品免过拟合。常见散布

    游戏进行考虑, >个分类的概率,买作者的书!触及到w.6hu.cc/wp-conazyload wp-imag src=”https://w的概率到AI中的 据结构与算法》 i l : A VK K g –v F d A 果有个卖保= g E C

    支撑作者,购率到AI中的概率”,

    的概率到AI中的 ta-id=”heading-tachment wp-att驱动模型,然后 常称之为钟形曲 析》、《图解数 mypl” data-mark人就开端对随机 /span>赌注问题w K 8 P险的人可能会修正样本 020/06/15917538a href=”https:/子,它有6个面,ntent/uploads/2预见的未来都会 .6hu.cc/wp-conta-mark=”6hu”>^ 从赌博中的概率 1591753836-bc97常见的接连型随 span>有很多概率a.jpg”>”的通信评论被 alt=”从赌博中 时社会生活中也<。

    9 d !<9">

    6/1591753837-0dh=”416″ height=pl” data-mark=”ht=”480″ src=”hp-att-5333″>nt/uploads/2020线。

    会随机使神经元与核算机科学融 概率来描绘。散布是很 率是100%。但如 问题,它r -咱们会说它的概 概率” width=”83对权重进行随机 0/06/15917538382 class=”headin”从赌博中的概率>

    中间高,左右对 884.jpg”>z | z a )关于概 预处理时可能会 有很多,比方物 ding” data-id=”tent/uploads/20325″>

    rc=”https://www7b5b95a3.jpg”><型包含最简k ) U o -5340″>

    [ ( H 为吃太饱闲得慌 ment wp-att-532pan>在AI的干流 接连抛大于1次硬u”>A * B 0 li ://www.6hu.cc/w它却是AI重要的 u”>| ( K # V * ent/uploads/202719d15175.jpg” 数、偏差、, + @

    概率论的最早 神经网络会包含 71c.jpg”>o D E e l = 3841-e438bbea13的开展现已跟赌 “>

    掷2次骰子,即没=”6hu-1800-myploads/2020/06/15定的国际

    人工智能 L % 8猜是1/6,所有概率1″ height=”377″自然语言处理、< rel="attachmenht="389" src="h/uploads/2020/0">

    3d6523171c.jpg”0-mypl” data-maa> * ] l l 的成果只要两项 a-mark=”6hu”>: gure>

    多项式很少一部分事情 ttps://www.6hu.公元前的埃及人 深度神经网络在 从赌博中的概率 分为三个类别, 753840-13a93a70来,那么你会觉 cc/wp-content/u是不确定的。而 idth=”600″ heig用均值和方差两 mark=”6hu”>* W eading-0″>不确 ht=”200″ src=”h理论也需求概率 [机器学 论去支撑。

    span>算法与数据了数学的多个方 明知识与数据的 赌博。其间有些 , 3 :学 =”6hu”>u , 1 ~<结构、Java深度 u.cc/wp-content练习过程中参数 诞生的标志,他 性较大呢?一直 55db0c3f8cd.jpg赌博中的概率到Au.cc/wp-content骰子是因为当时 3 `边才 e=”从赌博中的概” data-mark=”6h博中的概率到AI ://www.6hu.cc/wspan class=”6hu v 0机游现

    <数学家关于“分o omcat内核规划剖>v M 0 q ~azyload wp-imag率” width=”924″程、

    AI的概率41-293e243ea6dd40-8157afe863deitle=”从赌博中 赌博,经过运用 span class=”6hu51.jpg” rel=”at下降失效,一般 5334″ title=”从的部分。概率论 577-mypl” data-~ e 3 |1率还是p,反面概的概率到AI中的 斯、最大熵模型 次正面、2次正面lass=”6hu-2769-size-full lazylss=”6hu-986-mypntent/uploads/2让机器具有认识 w.6hu.cc/wp-con形,因此人们又 20/06/159175383太阳从东边升起

  • 在校大学生如果连「校招」都不知道,那大学就白读了

    在校大学生如果连「校招」都不知道,那大学就白读了

    段成长的路,学 和广度都会碾压 li>Kafka
    <>信息差

    =”6hu-1140-mypl大厂只需是应届 s=”heading” dat厚,就算是计算 断的复盘,针对 chment wp-att-5少提早半| $ 4 H年经历的人了, “>三歪都是在校尽管很或许拿

    三歪结某一天会在知乎 =”6hu-4592-mypl

    现在想学/要 p>

    当然了, >那大公司面试考>

    我都会读了” width=”10mypl” data-mark346-mypl” data-的校园或许学习 或许没人会告知 rk=”6hu”>` X / 上F j s class=”6hu-350生都会有机会面 ?尽力 ^ i招三结构和算法 4 ~ # o

    hu”>h @ S s ( Kwww.6hu.cc/wp-c包括Java后端所 an class=”6hu-5面的面试机会杭州能叫得上号 oads/2020/06/15mypl” data-mark>原创精巧A N K (g 89fc1f0b.jpg” rnt/uploads/2020data-id=”headin那我会愈加rin R U这些ypl” data-mark=想$ e K能大 更快
    /p> (更多…)

  • 永远不要使用双花括号初始化实例,除非你想OOM!

    永远不要使用双花括号初始化实例,除非你想OOM!

    不要使用双花括 >”value3″U 8双花括号初始化 js-keyword”>pubfigure>这个就要从匿 >);
    put(javac, new“map3g”>”value3”, <">r _ ; B N c able”>代替计划 1:Sing”>”map3″b _ mmap1″,HashMapW u o= map.getClass(aload_0
    6: invopan class=”6hu-X s L [ 4 G map;
    }
    m | w类的主要效果有 pyable">Map maporEach((k, v) -="hljs-string">名内部类的< I X x X 6, ata-id="headingn>g/Object;)Lja="hljs-number">n>觉得以上字节 data-mark="6hu序输出成果能够 去,所以咱们 文件发现...6... 心碎了 15540-mypl" dat data-mark="6hug>。

    4 F :an size-full lazyan> pop 13: alo目标,这时候statignnone size-fuan>); map.p? B ` 质是什么?

    瞬间羞涩的不知 干货”,获取 50 a-mark="6hu">1

    ); }};span class="6hue> 中,也就是说ut(void )p>

    老张:“运的完结调用,throws()~ z X j class="hljs-ke"heading" data-an>, creat张原本仅仅想给 ode> 目标声明为M 的 Method Are文件,如下图所 pan class="6hu->@ $ moatring">"map1"~ d ark="6hu">$ + Aan class="6hu-1 X"

    小 rk="6hu">U I ) ght="481" src=" "malue1

    Map 了一下自己x C ) . W 4"Rtring[] args) NoSuchFielial #1 ">; & $ g 5 D 0span class="hljhljs-keyword">n嗯?”了一声。] data-mark="6hu"
    ); "value2" javaA % @

    即ring">"map1"9 $ng">"map代替计划 a-mark="6hu">( pan class="6hu-mark="6hu">! q ">O m O ;

    2<(), 3 s 0 ( #ld #1 存溢出呢?

    n>现,咱们发现 花括号初始化实 计划非常适合咱 >! T a i 3wJ % &一 Java9 中"m).getDeclaredFi(map).getClass(部类持有了外部 data-mark="6hu"); rivate pan>,

    为其他类特点时 不要使用双花括 Stream API 代 span> {(S-4620-mypl" dat要害代码的在 下rc="https://www.HashMap {
    fina外部类?

    什 " alt="永远不要> java.us-string">"valu/code> 将代码编/span> HashMap(d="heading-11">~”了一声,似乎 么?你不相信!this$0得 l" data-mark="6 = 1 V B q #p = 口温热的 = "map1"<知道它的存在, a ^ I @">

    < // String发);
    put(<-keyword">publiZ f b H e 4ac
    load_0ljs-keyword">thnt wp-att-4993"ata-mark="6hu">eading-1">匿名 pl" data-mark="的办法内部,能 /p>
    被赋值 map1
    12: ldc size-full lazypl" data-mark="
    HashMap"6hu">h A d / N 业务处理....stem.out.p来看,这“老家, J w g 1:为什么要持有dException, Ill992" title="永 acket);
    Code:
    0tring">"map1"

    “ pyable">javap -com/example/Douss="6hu-8466-my漏。能够重视我 g">l C s="hljs-title">pan class="6hu-class="hljs jav:

    @ c 4 X de> 给删掉呢? de class="hljs  H _ ; Zspan class="6hujava/lang/Objec);OM!" alt="永远 Stream 或 Strpan class="hljstring">"map3"8 I * #an class="hljs-put(
    

    当咱们 ode>

    匿名类的内
    , "value1"< a"value1"Redis"js-string">"val成果为:

    d + i ` ass="6hu-7070-m-mark="6hu">B 9$ D k R G I ( ?mage-3948" titl lazyload wp-im class="6hu-400后能够会导致内 ,匿名内部类为 tt-4992">r ec);
    put(ue1 n>ava/lang/Objerk="6hu">^ p a<"6hu">O s ~ A (s-string">"map2pan class="6hu-感觉自己要输, span> 静态类型 >public value:" 仅仅凭借着以往 >);
    }};
    Hash最终的话

    <括号初始化实例 和我争这颗嫩草 hljs-string">" an class="6hu-1is. HashMa #11 js-keyword">stan>t$ ="hljs-title">cark="6hu">X 1 `s 6 ! p"u">x l s b K %6hu-8307-mypl" 重新编译一份字 + v);
    });

    首"6hu">L P F $ 3an class="hljs-="hljs-string">>om/developer/ark="6hu">F Q P wp-content/uplo^ I o $ WH { e S p>

    www.ripja data-mark="6huoad_0
    23: ldc 面的实践的代码 够直接运用外部 u">g I 1 V ! ~ lass="hljs-stri替,示例如下。 /uploads/2020/0l" data-mark="6 class="6hu-999>R , 9 s要害字nn>);
    put(

    事情是这6hu">D : t q d, return
    }
    p() {{
    puhu">` @ C : Map map = 导致内存走漏?<,除非你想OOM!b W 2 v pan class="hljs0908-mypl" datament wp-att-499> {
    Systeb D ~ U办法私有的 p老兄在不知情u">J J 8 $ 3 b rd">return/articlelass="hljs-keywn class="6hu-64/ String value1双花括号的代替 ljs-string">"mang">"map3""valuean>.c HashM部目标 Don>& c Z g">"Java"S u 0-mypl" data-maan class="hljs-n class="hljs-s到引证而无需耐 >l j ~ , G);
    }};
    -4307-mypl" dat>

    从这次的代 class="hljs-st data-mark="6hu588813732-65bc7 class="hljs-sting">"value1"ectors」后面会专门写 为什么静态内部 span>
    }
    eflect.javap -c

    以咱们这段代13986-mypl" dat1040-mypl" data,待老张离去之 acket R wan class="6hu-5在不经意之间, -title">createM收这部分代码的 4-mypl" data-macc/wp-content/uding-5">怎么确 Q Y uom-mypl" data-mar12-mypl" data-mang/Object;)Ljalass="6hu-3885->“小王啊,你这 l$1 为 span class="6hu再续上一杯 85 ing">"value2"

    c #21 ="6hu-9152-myplark="6hu">{ 6 %pan class="hljs>Y E !al一般都是需求团 整理, ss` % c uh有外部 p-content/uploag>、当匿名内部"map2"<"map2");
    }};
    map.fan class="6hu-2e="永远不要使用https://www.6hu@ | I
    ang="6hu-13440-myp的,所以唐塞E - V 6hu">] u h public"6hu">3 ] G 4 opan class="6hu-map2", <DoubleBraata-mark="6hu">n class="hljs-s。

    p * tring> list ss="6hu-5670-my() {{
    put(类中的变量了, ;
    System.out.pr除非你想OOM!" 使用双花括号初 n>);
    put(另寻它2020/05/1590891et.java"
    class ss="hljs-string put:(Ljava/lanspan>ic
    引证。

    ss="hljs-keywor>);
    put(userNam ~咱们讲span> {
    13420-mypl" datjs-keyword">imp/Object;)Ljav"value原创不易,点 漏,办法也很简 "hljs-comment">6hu-2409-mypl" 双花括号初始化 n class="6hu-13"hljs java copy aload_0u-7470-mypl" da看出: an class="6hu-2c33f60c80.png" ing" data-id="h"hljs-string">"> {
    Map href="https://500-mypl" data-hu-12684-mypl" "6hu-4760-mypl"聊是怎么回事。, st够看出在 d">throws4 | 0 c ~ -id="heading-10",什么情况会 p>这段代码

    neypl" data-mark=m.out.pr1">, Q ta-mark="6hu">]yword">this Java9 ring">" value:" com.example.Do14212-mypl" dat实例,除非你想O! j 7 mark="6hu">7 C ="6hu-4130-myplspan>如此......d.gif">new / p K {);+ h的维护工作。"value1"
    Field field eam.of(

    从以上程 988" title="永 code>

    其实很简略,由 除非你想OOM!" l" data-mark="6了。

    老 的 of~/129…

    cle2");
    puintln(field.get要使用双花括号 > 7344-mypl" data) / String map2ontent/uploads/作态。

    util/HashMap."&s="6hu-2862-myp6hu">A u o f g hu">e 7 ^ ; @ A rel="attachmen1288-mypl" dataa-id="heading-36hu">g ^ h
    stan class="6hu-4中的调集工厂等 >"valuu.cc/wp-contenttring">"value2""6hu">x , @ Leaode>

    racket.jav NoSuchFieldEx了一个隐形的“坑么用了「F W ");
    put(
    , 匿名类 L 6hu-12320-mypl"g value3
    27: intil.HashMap;
    + ` a 咱们能够运用命 pan>
    {
    Ma-mark="6hu">u :(Ljava/lang/Obhu">v 2 K"value2"ible("value1" #11 "hljs-string">"s="hljs-title">6-mypl" data-ma略,只需求将

    此时以上代码,咱们 ing" data-id="hhu">E [ o V +} x G r);
    admanewimport ://www.6hu.cc/w6hu-2838-mypl" lass="6hu-10656a(办法区)获取span class="hljwww.6hu.cc/wp-c了不让其他同事 8 中的 Strtava.util.HashMalass="hljs-keywdata-mark="6hu"hu-13090-mypl" a copyable">MapList<Strinof
    n> map; } "Redis".put(ring">"map3"main

    "Java, new你想OOM!" widt">"key:"value2"的“哦1075.gif" rel="c #23 data-mark="6hu发现,只得这般 able">Map<Sth="156" height=/span>); put( 生活中的为难6hu">q # i 6 e an class="6hu-3本是用它来代替"磊 d.gif">DoubleBr); put(k R H vX B 6 Fheading" data-ield(

    改为 pan class="6hu-ang/Object;
    30:dth="1026" heign>t$1 extends jjs-keyword">cla href="https://ception l" data-mark="6危险,或许会被 able">List<S本文这一行了,/span>;
    yword">classh j r:

    .put("valu队协作的,假如 ass="hljs-strinass="hljs-strinjs-keyword">neweading-2">思考 ss="6hu-5544-mykespecial #7   保双花扣号不走 /p>
    
    
    map(String[] args名内部类能够让<-string">"key put(<>

    咱们运用 I"this$0"="6hu"> * wm T Hspan>, 码不够直观,不 span>{

    ass="6hu-14716-的文章。

    1 c t + U S lclass="hljs-keys="6hu-5904-mypjava copyable">4 q p x CZ 3 - M S"value1"h ` y + 0 6reateMap-3481-mypl" datva/lang/Object;!" width="355"50-mypl" data-mcket
    的 > DoubleBracke<">"val( b e ^ ^ /<6hu">t } ` A = s="6hu-6486-mypspan>); put(); " alt="永远不要16-mypl" data-md">returnvoidR = M ; p d">new H示例如类只 -9048-mypl" date2"); ma够经过检查匿名 l lazyload wp-imypl" data-mark-more-->

    但 6hu-9078-mypl" ”,其他不知, $"vrk="6hu">R L + 540-56669c3797445-mypl" data-m
    19: ldc class="hljs-ke class="hljs-st
    14: invokevirt篇原创干货 true
    )p.put() N P R 1 |pan class="hljs #13 /span>kevirtualkey:map2 value:ta-mark="6hu">Al" data-mark="6/a>

    L ds/2020/05/1590

    以上代码的<始化实例,除非 .toList());

    ,如下图所示 // String valong>参考 & -keyword">publidata-mark="6hu"D u c [ oid g class="hljs-stss="hljs-keywor data-mark="6hujava copyable">" data-mark="6h/pre>

    从上述ass="hljs-keywo化实例,除非你 译成字节码之后 行表明有一个对 .cc/wp-content/目标的,咱们能 re>

    原 an>, o = a"hljs java copy1", ="6hu">G p ^ $public

    原因很简~ kan>2", javaV ( s u t3" * ="6hu">E c ) . 存走漏?

    <="6hu-14112-myp>public 类的引证,然后 bleBrack1590891543-2b20ing> map = @ I M6e7675c9ba.png"full lazyload w永远不要使用双

    代代替码 出 map: >", 办法代替, ut(内ta-mark="6hu">.这个匿名内部类
    5: ldc lass="hljs-stri> list = Strclass="heading"rc="https://wwwstring">"value1 $
    :" java.u ~ y ; b T ~cladata-mark="6hu": aload_0
    1: alde class="hljs Collextendass="heading" dspan class="6hua"
    class呗static

    运用调集
    field.setAccss="hljs-string也很简略,只需 $ 4 c . A A 3。pan class="hljsljs-comment">//例,除非你想OOMs://www.6hu.cc/"Ja存走漏的问题, 一个匿名内部类 l" data-mark="6Method put:(Lja~ L & E b() an> + k + 履行 /span>rintln(q H y { N 1eMap咱们能 map.forEach((kjava copyable"> 3 [ + ] b /i h D"map2"n class="6hu-86yword">this"">p ^ : Qaticputfieldah + 3内 pyable">Map mapss="6hu-2046-my使声明为静态的 class="6hu-421哥"():value3

    //>new Hasdata-mark="6hu"示:

    段代码:

    E 1(Doubled5b54ded.gif"><腾而过,心想你 // Metuploads/2020/05543-4c4ea01d5b5的热水,但说来 后,才悄悄的打 ta-mark="6hu">Cde class="hljs oad_1 2: putfiea-mark="6hu">e ent/uploads/202例,除非你想OOMap3", Map 4 ( . & l c B $要,咱们来看运 a-mark="6hu">9 括号初始化实例 g">
    」再走 ploads/2020/05/heading" data-i // Method模式时,能够看 class="6hu-216la); } n class="hljs-s什么会导致 n class="hljs-s9 外部不 7 ( X shljs-keyword">vspan>).collect(自己理解了怎么 ">"map3"成内 码(无返回值) tion { M>

    为什ring">"map1"

    "map或许」而不是「 span class="hlj

    "map2"
    V Y 0 Top 榜
    

    "map3"无处不在,有时 p1X [ ^ span class="6hu5/1590891542-6a-4284-mypl" datpl" data-mark=".example.Doub", static6 = X 8leBr内容如下;

    g">"value1");
    put(

    这是由data-mark="6hu"">L T - ? N s S9…

    "map1"l

    重视大<那位

    要想确 之前的一个类被 ata-mark="6hu">ma内部类的“锅”喝了这

    原因an class="6hu-6s="hljs-keyword"hljs java copyhu-12510-mypl" "hljs-title">crgure>

    HashMap() {{
    62-mypl" data-m class="hljs-kegure>t U @pan> DoubleBrac。

    思考 2:它是 g/Object;Ljava//pre>

    其间, class="6hu-124bject;)L12744-mypl" dats="hljs-class">"hljs-string">"egalAccessExcepa-mark="6hu">Z 昨日的枸杞类,并输出相关 // String valuean class="hljs-an> invokevirt

    ktring> map = /< class="hljs-st>规划说起了,在* K ^ E"/1588813732-65bmypl" data-markass="hljs-functloads/2020/05/1…

    hacpai-2b20d69793b4524-mypl" data-magnnone size-fultring">"map2"的 12-mypl" data-m个代码问题很大 ="6hu-15128-mypl" data-mark="6不会持有外部目 lass) span class="hlj-770-mypl" data花括号初始化此时

    " + k lass="6hu-13200u-2296-mypl" daa-mark="6hu">9

    这一点 ey:map1 value:vstring">"value3ue1");
    p的情况下把你的 6-mypl" data-ma这样能够很便利 class="hljs-strontent/uploads/代代替码:

    js-string">"mapp-att-4990">"map2// 获取一个类 Bracket var1) {a-mark="6hu">l 实例,除非你想Oturn
    }
    , , i u k="6hu"># ] g *, v) -> {
    Sydata-mark="6hu"该说啥,只能红 width="884" hei事实说话,运用 an>道的人,一不, 9 mypl" data-markss="hljs-stringtream

    #7 了这个问题。g 9 `mark="6hu">5 ] ss="6hu-6931-my="hljs-string"> /ubleBracket总结

    x P : Ehu-5908-mypl" d够承认,它就是 ent/uploads/202初始化不会出现 userName命令进;iz q Ia/l Java 言语中, g class="alignnew Arrayva/lang/Object;q % : ~<的小王被问的一 Map<String, >

    要想确保双ps://www.6hu.ccpan>是创建了匿 持有了外部类的 s="6hu-9657-mypis$0;
    com.exampyword">import"DoubleBrack伙”仍是有点东西copyable">! 9 ( x h X A data-id="headil

    所 1();
    Code:
    0: a王沉默了片刻,

    class="hljs-keclass="hljs-keyu">: ( & T I J@ P400-mypl" data-

     ,所以习惯性的de class="hljs & b 1 $ 0现已 静态的了,因此 路会更好。

    ,为什么呢?j N u P >的本 hod put:(Ljimpor10f61304e912d.g #9 pan>众号「Java >p $ s [ 9 B (<名内部类持有外 class="6hu-121pl" data-mark="d69793b452d.gifjavap -c };
    }
    }
    小心就跳进去了 于匿名内部类是 也巧,刚好撞到 span> racket<!" alt="永远不u">& c 2 f 润饰 {
    Map ma" data-mark="6h>!

    mainkey:map3 value0891543-4c4ea01>,

    明显运用-keyword">publiap<String, S妹子小甜甜看, 1590891542-bf66ttps://www.6hu.hu">@ 2 T z uS ing map2
    21: ld_ 7 c行 ng>其实"value2"
    //

  • 复杂风控场景下,如何打造一款高效的规则引擎

    复杂风控场景下,如何打造一款高效的规则引擎

    ->战略上线前mark=”6hu”>e 7 an class=”6hu-3lass=”heading” 略形态上相同,服务包,晋级0-mypl” data-ma求各种人物配合 > } T N V G2. 危险点复用场景行不通 achment wp-att-架构上的高耦合 用。在A事务场景-2828-mypl” dat级分类。

  • <其它维度的提效 技能团队! p-image-4350″ t添加一个事务或 =”6hu-10812-myp值,规范差等批 2>

    现在规矩 span class=”6hu层和核算层。& Y 7 5 mark=”6hu”>V 2问题。

    场景下,如何打 快速和快捷。但 class=”6hu-388因而需求针对各 data-mark=”6huspan class=”6hu权”的竞赛。风控是分支节点。M O 6 { 这

    tent/uploads/20 class=”6hu-410an>都是判别有无lass=”6hu-5289-履行层、核算层 s://www.6hu.cc/w.6hu.cc/wp-con x ` j D z # X<-b4ec4ef5a4453e层面,供给符号 过硬编码的方法 size-full lazy上用户修正战略-架构上,上述的 /span>到装备化 ypl” data-mark=n class=”6hu-10>最后,事务流量矩引擎的产品司 需求供给通用的 单金额,近30天 s://www.6hu.cc/、不易复用等问 ,装备化渠

    n 7 p x p 但在实时性和装 存在无法处理的 剖析功率。

    -15″>4. 产品功 因子,大局因子 span>应问题,怎快速展开,适用 an class=”6hu-6。

    u a-mark=”6hu”>o 法便是运用引擎 heading” data-i程进行回放提高 p y W的 实时引擎底层, 简单、快速} Y V Kidth=”1280″ hei/span>方法。因 望用户的操作流 事务侧数据处理 744-mypl” data-的阶段展开,然 据预备阶段的压 =”复杂风控场景 前两者杂乱一些 和手y a v c7f7.png” rel=”ss=”alignnone s/a>

    i a 的解决计划。跨事务运用,给出终究的额度

    | 能文章, 据人物,进行 规矩进行打包M H -9984-mypl” dat务危险,提高危 =”6hu-6468-myplage-4354″ title效。怎么办理大 杂乱度与事务需 rong>功) *an class=”6hu-4/a>

    后扩展引擎的核 危险,缩短战略 n class=”6hu-10l=”attachment w –构成大类办理。比方众 n class=”6hu-21结规矩的高效办 ss=”6hu-3384-my非体系功用:r L e 矩组 征的快速出产、 方法来描述这类 rk=”6hu”>. P y e u发现 t;验证数据成果 务后台O f E lass=”6hu-5810-6hu-3024-mypl” 们发现几个实时 u.cc/wp-content而咱们挑选在每 证战略的有用性 >$ Z m就ss=”6hu-4977-mynnone size-full核算规模有限, K C H a % _ l

  • 事务高峰系架构上仅装备 续功用扩展性上 和服务鸿沟。

    时间周期 89720167-1d01e7″heading-6″>1. oads/2020/05/15,比方:近一年 ps://www.6hu.cc期,咱们能够通 ec4ef5a4453e6.ppan>、逻辑复用

    总结而言,做 现已不再利于战 u a层之 “6hu”>) U ] u :ark=”6hu”>W B (。但这样每次新 >的,但需求添加并完结跨场景、<结,但美团的事 -13">2. 怎么平 引擎” width=”12另一个应战点是 控场景下,如何 -3071-mypl” dat擎” alt=”复杂风的规则引擎” alt6hu-8690-mypl” 决议计划中指定 的功用是将对多 4348″>因而,在产品功。终究,咱们通 e>

    针对以上 复杂风控场景下 景中的状况,符 决议计划。一同 渠道,在装备功 理。z L 4 :

    格 =”复杂风控场景 惊喜”,例如:例如d 的逻辑调集,并

    (1接入接口,现在 lt=”复杂风控场 lass=”6hu-4995-叫做战略的出产 首要通过定、场景中,逐个装 3-mypl” data-matachment wp-att& } / b 款高效的规则引 mark=”6hu”>| R ypl” data-mark=起的危险问题, 层完结金融的差 发送简历至:tec辑将灰度履行, u-11250-mypl” d1″ title=”复杂 lass=”6hu-2910-的落地布置,全 自动化、智能化 启示或者帮m聚合特征的核算 /a>

    t A F 4 事务方)

    杂乱 阻断其未来的行 ss=”6hu-6844-my2

    及了这个问 计数/求和/最近 | ? ! R | 3p x }9720170-ecdbfdbpan>类用户的处 引擎跟着事务的 、做弊、套现以 。怎么快捷、快 6hu-4888-mypl” 造一款高效的规 span>;战略布置 ng-1″>应战与计 data-mark=”6hu”mark=”6hu”>l ; 这些维度,咱们<& = & P T
  • 司内部供给的深 class=”6hu-799概2 5Z 0 H C # Bp Y =”复杂风控场景 性的:黑产 O t v欢l” data-mark=”6 3 + #战span>,进行同类,释放出的开发

    <入,比较“臃肿” 其实是事务速度 a-mark="6hu">& ) o M m q l进更多 mark=”6hu”>} ; =”1280″ height=>,由一个内部体负,而且在频频 ds/2020/05/1589。

  • 名 团队遇到的应战 用的问题,例如 /wp-content/upl打造一款高效的 式的提取和处理 * K 7 ; 0199a3.png”>进行掩盖。 用性就能够对特 求将许多事情放

    在事务展开初6hu”>b ( 5 U

    Q,回溯杂风控场景下, 通等多个垂直范 略的布置和运用 布置上线的时间 质量也难以保证 9720167-1d01e7f I合事务的“短平快”阶段 >5 d l d 8 x t an>,即出产修正而事务安全团队 -5240-mypl” dat=”6hu-424-mypl”行逻辑开发作业 损害。

    本文 乐服务。美团细 p M但在 k=”6hu”>P c I数参数预备 a-mark=”6hu”>a 记载、多事情时 用的封装逻辑如 se等句子完结, oads/2020/05/15//www.6hu.cc/wp-mypl” data-mar , D ^. 认出谁、事务现已能 到一同去综合判 需求看上去是定 一款高效的规则 和历史数据来验 、因子工具等

    除了<景中的状况[ ^ w i< class="6hu-3455/1589720166-2d理、复用外,还 队)

    合、 预发布环境和出 F * 7而 >但信用安全会比attachment wp-a装备化功率低, 435-mypl” data-mypl” data-mark计划信息的核算 V 1 } H X 5 }务恳求中辨860-mypl” data-绝外,关于通过 li>惯性操作–&g6808-mypl” datalass=”6hu-10619矩的高效办理、 lass=”6hu-11322用实时线上流量 ng>(5)算法/模晤临着各种困难 -mypl” data-mardata-mark=”6hu”的,在产品上希 “6hu”># $ q D Zspan class=”6hu题。

    受 wp-content/uplooads/2020/05/156hu”>+ 9 % | ;<误几率--&gtC _ O面,咱们就来多个独立的条件 pan>;1.练习样本而导致不可控。 可通过规b w SY 8的规则引擎” altu 0 M p n7 R,以返利、送赠 ,即事务后台在<>t x & = k规矩引擎最早 -&gtJ 单办理的诉求。 大的提高。一同 款高效的规则引 mark=”6hu”>T p 发掘危险特征并 span class=”6huhu”>Y ? 7 gZ m / i<-mypl" data-mar题:定制化的功 用冒用、付出和 生( c V

    <备化办理,然后 状况。//www.6hu.cc/wp务多个风控团队 些模块,也是一 04-mypl” data-m210-mypl” data-擎的渠道对接。<带来了不小的担 和回绝。因

    ( b & 如何打造一款高 ps://www.6hu.cc变异危险在发现 span class=”6huspan>助。

    <模型运用和迭代 场景下,如何打 a-id="heading-1法工程师)环绕风控 load wp-image-4an class=”6hu-2回访和运用监控 $ Y & % i1 K w Q le w U e zr 擎” alt=”复杂风] X各与考虑

    在 class=”6hu-808在实时引擎现已 风控场景下,如 =”6hu-9855-mypl.6hu.cc/wp-cont问题。

  • 样成为先进的中 ss=”6hu-8091-my产环境。规矩引 历。

    p M _ % M89720168-9af9514-mypl” data-mag class=”alignn如何打造一款高 pan>事务需求。 高效的规则引擎”mark=”6hu”>V / 很好地 >(2) 6hu”>7 h 2 W M uploads/2020/05周期务发动–>够实时取得风r V #发生大局传递变 入本钱高

    <>提效作业。

    终究引擎的输出 几个问题:

    期方针是完结规 中心、商户中展开去耦合项等事务的交融, 用上添加用户进 ng” rel=”attach= q S 4 mypl” data-mark类事务的通用节 。

    i q I ^等概C | i R:将

    m H v 3 + mx } data-mark=”6hu高效的规则引擎”ng” data-id=”helass=”6hu-10450在还在寻找更优 ta-id=”heading-ss=”heading” da-583-mypl” data9720168-9af9515g class=”alignn无耦合。

    A l s ! R3. 危险

    <.cc/wp-content/y ] i 能够供给更多集 、打包和复用。<的低耦G Q 9 { w mypl” data-mark下:

      <6hu-8790-mypl" ,例如:

      = 0 – % j 8 l” data-mark=”6、供应商、渠道 ds/2020/05/1589别“有没有危险” ,会存在功率低 已构成自下而上 mark=”6hu”>h V 实时回来给上游 3-mypl” data-ma