1<!-- build time:Mon Jan 19 2026 21:26:19 GMT+0800 (ä¸å½æ åæ¶é´) --><!DOCTYPE HTML><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests"><meta name="keywords" content="å
³äº, small-rose.github.io,notes.zhangxiaocai.cn,hexo,java,java web,个人å客,ææ¯ç¬è®°"><meta name="description" content="Small-Rose,å¼ å°èè,ä¸ªäººææ¯ç¬è®°,è®°å½å¦ä¹ /å¼åé®é¢"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no"><meta name="renderer" content="webkit|ie-stand|ie-comp"><meta name="mobile-web-app-capable" content="yes"><meta name="format-detection" content="telephone=no"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"><title>å
³äº | æ¯è«ç¬è®°</title><link rel="icon" type="image/x-icon, image/vnd.microsoft.icon" href="https://fastly.jsdelivr.net/gh/small-rose/small-rose.github.io@master/favicon.ico"><link rel="stylesheet" type="text/css" href="https://fastly.jsdelivr.net/gh/small-rose/small-rose.github.io@master/libs/awesome/css/all.css"><link rel="stylesheet" type="text/css" href="https://fastly.jsdelivr.net/gh/small-rose/small-rose.github.io@master/libs/materialize/materialize.min.css"><link rel="stylesheet" type="text/css" href="https://fastly.jsdelivr.net/gh/small-rose/small-rose.github.io@master/libs/aos/aos.css"><link rel="stylesheet" type="text/css" href="https://fastly.jsdelivr.net/gh/small-rose/small-rose.github.io@master/libs/animate/animate.min.css"><link rel="stylesheet" type="text/css" href="https://fastly.jsdelivr.net/gh/small-rose/small-rose.github.io@master/libs/lightGallery/css/lightgallery.min.css">
1<script type="text/javascript" src="/libs/artitalk/artitalk.min.css"></script>
1<link rel="stylesheet" type="text/css" href="https://fastly.jsdelivr.net/gh/small-rose/small-rose.github.io@master/css/matery.css"><link rel="stylesheet" type="text/css" href="/css/my.css">
1<script src="https://fastly.jsdelivr.net/gh/small-rose/small-rose.github.io@master/libs/jquery/jquery.min.js"></script>
1<meta name="generator" content="Hexo 4.2.1"><link rel="alternate" href="/atom.xml" title="æ¯è«ç¬è®°" type="application/atom+xml"><link rel="stylesheet" href="/css/prism-tomorrow.css" type="text/css"></head><style type="text/css" lang="css">#loading-container{position:fixed;top:0;left:0;min-height:100vh;width:100vw;z-index:9999;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#FFF;background-color:#cce8cf;text-align:center;-webkit-transition:opacity 1s ease;-moz-transition:opacity 1s ease;-o-transition:opacity 1s ease;transition:opacity 1s ease}.loading-image{width:120px;height:50px;transform:translate(-50%)}.loading-image div:nth-child(2){-webkit-animation:pacman-balls 1s linear 0s infinite;animation:pacman-balls 1s linear 0s infinite}.loading-image div:nth-child(3){-webkit-animation:pacman-balls 1s linear .33s infinite;animation:pacman-balls 1s linear .33s infinite}.loading-image div:nth-child(4){-webkit-animation:pacman-balls 1s linear .66s infinite;animation:pacman-balls 1s linear .66s infinite}.loading-image div:nth-child(5){-webkit-animation:pacman-balls 1s linear .99s infinite;animation:pacman-balls 1s linear .99s infinite}.loading-image div:first-of-type{width:0;height:0;border:25px solid #49b1f5;border-right-color:transparent;border-radius:25px;-webkit-animation:rotate_pacman_half_up .5s 0s infinite;animation:rotate_pacman_half_up .5s 0s infinite}.loading-image div:nth-child(2){width:0;height:0;border:25px solid #49b1f5;border-right-color:transparent;border-radius:25px;-webkit-animation:rotate_pacman_half_down .5s 0s infinite;animation:rotate_pacman_half_down .5s 0s infinite;margin-top:-50px}@-webkit-keyframes rotate_pacman_half_up{0%{transform:rotate(270deg)}50%{transform:rotate(1turn)}to{transform:rotate(270deg)}}@keyframes rotate_pacman_half_up{0%{transform:rotate(270deg)}50%{transform:rotate(1turn)}to{transform:rotate(270deg)}}@-webkit-keyframes rotate_pacman_half_down{0%{transform:rotate(90deg)}50%{transform:rotate(0)}to{transform:rotate(90deg)}}@keyframes rotate_pacman_half_down{0%{transform:rotate(90deg)}50%{transform:rotate(0)}to{transform:rotate(90deg)}}@-webkit-keyframes pacman-balls{75%{opacity:.7}to{transform:translate(-100px,-6.25px)}}@keyframes pacman-balls{75%{opacity:.7}to{transform:translate(-100px,-6.25px)}}.loading-image div:nth-child(3),.loading-image div:nth-child(4),.loading-image div:nth-child(5),.loading-image div:nth-child(6){background-color:#49b1f5;width:15px;height:15px;border-radius:100%;margin:2px;width:10px;height:10px;position:absolute;transform:translateY(-6.25px);top:25px;left:100px}.loading-text{margin-bottom:20vh;text-align:center;color:#2c3e50;font-size:2rem;box-sizing:border-box;padding:0 10px;text-shadow:0 2px 10px rgba(0,0,0,.2)}@media only screen and (max-width:500px){.loading-text{font-size:1.5rem}}.fadeout{opacity:0;filter:alpha(opacity=0)}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0)}}</style>
1<script>!function(){const n=function(){setTimeout(function(){const n=document.getElementById("loading-container");n.className="fadeout",setTimeout(function(){n.style.display="none"},2500)},1e3)};n()}()</script>
1<body><div id="loading-container"><p class="loading-text">å~ æ£å¨ä»æå¡å¨å·åé¡µé¢ . . .</p><div class="loading-image"><div></div><div></div><div></div><div></div><div></div></div></div><header class="navbar-fixed"><nav id="headNav" class="bg-color nav-transparent"><div id="navContainer" class="nav-wrapper container"><div class="brand-logo"><a href="/" class="waves-effect waves-light"><img src="https://fastly.jsdelivr.net/gh/small-rose/small-rose.github.io@master/medias/logo-3.png" class="logo-img" alt="LOGO"> <span class="logo-span mytitle">æ¯è«ç¬è®°</span></a></div><a href="#" data-target="mobile-nav" class="sidenav-trigger button-collapse"><i class="fas fa-bars"></i></a><ul class="right nav-menu"><li class="hide-on-med-and-down nav-item"><a href="/" class="waves-effect waves-light"><i class="fas fa-home"></i><span class="jianxi">主</span></a></li><li class="hide-on-med-and-down nav-item"><a href="/tags" class="waves-effect waves-light"><i class="fas fa-tags"></i><span class="jianxi">ç¾</span></a></li><li class="hide-on-med-and-down nav-item"><a href="/categories" class="waves-effect waves-light"><i class="fas fa-bookmark"></i><span class="jianxi">ç±»</span></a></li><li class="hide-on-med-and-down nav-item"><a href="/archives" class="waves-effect waves-light"><i class="fas fa-archive"></i><span class="jianxi">æ¡£</span></a></li><li class="hide-on-med-and-down nav-item"><a href="/about" class="waves-effect waves-light"><i class="fas fa-user-circle"></i><span class="jianxi">å¾</span></a></li><li class="hide-on-med-and-down nav-item"><a href="/contact" class="waves-effect waves-light"><i class="fas fa-comments"></i><span class="jianxi">è¨</span></a></li><li class="hide-on-med-and-down nav-item"><a href="/artitalk" class="waves-effect waves-light"><i class="fas fa-heartbeat"></i><span class="jianxi">è¯</span></a></li><li class="hide-on-med-and-down nav-item"><a href="/galleries" class="waves-effect waves-light"><i class="fas fa-image"></i><span class="jianxi">å¾</span></a></li><li class="hide-on-med-and-down nav-item"><a href="/friends" class="waves-effect waves-light"><i class="fas fa-address-book"></i><span class="jianxi">å</span></a></li><li class="hide-on-med-and-down nav-item"><a href="https://docs.zhangxiaocai.cn/" target="_blank" rel="noopener" class="waves-effect waves-light"><i class="fas fa-file-alt"></i><span class="jianxi">åº</span></a></li><li class="hide-on-med-and-down nav-item"><a href="https://quills.zhangxiaocai.cn/" target="_blank" rel="noopener" class="waves-effect waves-light"><i class="fas fa fa-star"></i><span class="jianxi">é</span></a></li><li class="hide-on-med-and-down nav-item"><a href="https://travellings.now.sh/" target="_blank" rel="noopener" class="waves-effect waves-light"><i class="fas fa-location-arrow"></i><span class="jianxi">å¼</span></a></li><li class="hide-on-med-and-down nav-item"><a href="" class="waves-effect waves-light"><i class="fas fa-list"></i> <span>ç§</span> <i class="fas fa-chevron-down" aria-hidden="true"></i></a><ul class="sub-nav menus_item_child"><li><a href="https://zhangxiaocai.cn/z80"><i class="fas fa-arrow-circle-left" style="margin-top:-20px"></i> <span>æ¶å
éæµ</span></a></li><li><a href="/navigate"><i class="fas fa-location-arrow" style="margin-top:-20px"></i> <span>é£åä¹é¨</span></a></li><li><a href="/box"><i class="fas fa-map-marker" style="margin-top:-20px"></i> <span>å¦éåé</span></a></li><li><a href="https://blog.zhangxiaocai.cn" target="_blank" rel="noopener"><i class="fas fa-pen-alt" style="margin-top:-20px"></i> <span>é¿èæ
äº</span></a></li><li><a href="https://nav.zhangxiaocai.cn/" target="_blank" rel="noopener"><i class="fas fa-asterisk" style="margin-top:-20px"></i> <span>红é£ç¿ è</span></a></li></ul></li><li><a href="#searchModal" class="modal-trigger waves-effect waves-light"><i id="searchIcon" class="fas fa-search" title="æç´¢"></i></a></li><li id="fullscreen_li" class="fullscreen"><a href="javascript:void(0);" class="modal-trigger waves-effect waves-light"><i id="fullscreen" class="fa fa-expand-arrows-alt" title="å
¨å±"></i></a></li></ul><style>.jianxi{padding-left:2px}</style><div id="mobile-nav" class="side-nav sidenav"><div class="mobile-head bg-color"><img src="https://fastly.jsdelivr.net/gh/small-rose/small-rose.github.io@master/medias/logo-3.png" class="logo-img circle responsive-img"><div class="logo-name">æ¯è«ç¬è®°</div><div class="logo-desc">Small-Rose,å¼ å°èè,ä¸ªäººææ¯ç¬è®°,è®°å½å¦ä¹ /å¼åé®é¢</div></div><ul class="menu-list mobile-menu-list"><li class="m-nav-item"><a href="/" class="waves-effect waves-light"><i class="fa-fw fas fa-home"></i> é¦é¡µ</a></li><li class="m-nav-item"><a href="/tags" class="waves-effect waves-light"><i class="fa-fw fas fa-tags"></i> æ ç¾</a></li><li class="m-nav-item"><a href="/categories" class="waves-effect waves-light"><i class="fa-fw fas fa-bookmark"></i> åç±»</a></li><li class="m-nav-item"><a href="/archives" class="waves-effect waves-light"><i class="fa-fw fas fa-archive"></i> 彿¡£</a></li><li class="m-nav-item"><a href="/about" class="waves-effect waves-light"><i class="fa-fw fas fa-user-circle"></i> å
³äº</a></li><li class="m-nav-item"><a href="/contact" class="waves-effect waves-light"><i class="fa-fw fas fa-comments"></i> çè¨ç°¿</a></li><li class="m-nav-item"><a href="/artitalk" class="waves-effect waves-light"><i class="fa-fw fas fa-heartbeat"></i> ArtiTalk</a></li><li class="m-nav-item"><a href="/galleries" class="waves-effect waves-light"><i class="fa-fw fas fa-image"></i> Galleries</a></li><li class="m-nav-item"><a href="/friends" class="waves-effect waves-light"><i class="fa-fw fas fa-address-book"></i> åæ
龿¥</a></li><li class="m-nav-item"><a href="https://docs.zhangxiaocai.cn/" target="_blank" rel="noopener" class="waves-effect waves-light"><i class="fa-fw fas fa-file-alt"></i> Docs</a></li><li class="m-nav-item"><a href="https://quills.zhangxiaocai.cn/" target="_blank" rel="noopener" class="waves-effect waves-light"><i class="fa-fw fas fa fa-star"></i> Tyloo</a></li><li class="m-nav-item"><a href="https://travellings.now.sh/" target="_blank" rel="noopener" class="waves-effect waves-light"><i class="fa-fw fas fa-location-arrow"></i> Travellings</a></li><li class="m-nav-item"><a href="javascript:;"><i class="fa-fw fas fa-list"></i> Secret <span class="m-icon"><i class="fas fa-chevron-right"></i></span></a><ul><li><a href="https://zhangxiaocai.cn/z80" style="margin-left:75px"><i class="fa fas fa-arrow-circle-left" style="position:absolute;
1left:50px"></i> <span>TimeBacked</span></a></li><li><a href="/navigate" style="margin-left:75px"><i class="fa fas fa-location-arrow" style="position:absolute;left:50px"></i> <span>Navigation</span></a></li><li><a href="/box" style="margin-left:75px"><i class="fa fas fa-map-marker" style="position:absolute;left:50px"></i> <span>Siteboxing</span></a></li><li><a href="https://blog.zhangxiaocai.cn" target="_blank" rel="noopener" style="margin-left:75px"><i class="fa fas fa-pen-alt" style="position:absolute;left:50px"></i> <span>Writinging</span></a></li><li><a href="https://nav.zhangxiaocai.cn/" target="_blank" rel="noopener" style="margin-left:75px"><i class="fa fas fa-asterisk" style="position:absolute;left:50px"></i> <span>ColorWorld</span></a></li></ul></li></ul></div></div></nav><div class="denglong"><div class="deng-box"><div class="deng"><div class="xian"></div><div class="deng-a"><div class="deng-b"><div class="deng-t">å¦å¹´</div></div></div><div class="shui shui-a"><div class="shui-c"></div><div class="shui-b"></div></div></div></div><div class="deng-box1"><div class="deng"><div class="xian"></div><div class="deng-a"><div class="deng-b"><div class="deng-t">æ¥è</div></div></div><div class="shui shui-a"><div class="shui-c"></div><div class="shui-b"></div></div></div></div></div></header><style type="text/css">.about-cover{height:75vh}</style><div class="bg-cover pd-header about-cover"><div class="container"><div class="row"><div class="col s10 offset-s1 m8 offset-m2 l8 offset-l2"><div class="brand"><div class="title center-align">Small Rose</div><div class="description center-align"><span id="subtitle"></span>
1<script src="https://cdn.jsdelivr.net/npm/[email protected]"></script>
1<script>var typed=new Typed("#subtitle",{strings:["è·¯è¡è½è¿ï¼æåå¿
è³ï¼äºæ
è½å°ï¼ä¸å䏿ã","éªéª¥ä¸è·ï¼ä¸è½åæ¥ï¼é©½é©¬å驾ï¼åå¨ä¸èã","å¹³æ¥ä¸äºå ç¼æï¼å±±å´©æ¥æ¶ç½ªé¾éã"],startDelay:300,typeSpeed:100,loop:!0,backSpeed:50,showCursor:!0})</script>
1</div></div></div></div>
1<script>var bannerUrl="https://fastly.jsdelivr.net/gh/small-rose/small-rose.github.io@master/medias/banner/"+(new Date).getDay()+".jpg";$(".bg-cover").css("background-image","url("+bannerUrl+")")</script>
1</div></div><main class="content"><div id="aboutme" class="container about-container"><div class="card"><div class="card-content"><div class="row"><div class="post-statis col l4 hide-on-med-and-down" data-aos="zoom-in-right"><div class="statis"><span class="count"><a href="/">152</a></span> <span class="name">æç« </span></div><div class="statis"><span class="count"><a href="/categories">32</a></span> <span class="name">åç±»</span></div><div class="statis"><span class="count"><a href="/tags">78</a></span> <span class="name">æ ç¾</span></div></div><div class="col s12 m12 l4"><div class="profile center-align"><div class="avatar"><img src="https://fastly.jsdelivr.net/gh/small-rose/small-rose.github.io@master/medias/avatar.jpg" alt="Small-Rose" class="circle responsive-img avatar-img"></div><div class="author"><div class="post-statis hide-on-large-only" data-aos="zoom-in-right"><div class="statis"><span class="count"><a href="/">152</a></span> <span class="name">æç« </span></div><div class="statis"><span class="count"><a href="/categories">32</a></span> <span class="name">åç±»</span></div><div class="statis"><span class="count"><a href="/tags">78</a></span> <span class="name">æ ç¾</span></div></div><div class="title">Small-Rose</div><div class="career">软件工ç¨å¸</div><div class="social-link hide-on-large-only" data-aos="zoom-in-left"><a href="https://github.com/small-rose" class="tooltipped" target="_blank" data-tooltip="è®¿é®æçGitHub" data-position="top" data-delay="50"><i class="fab fa-github"></i> </a><a href="mailto:[email protected]" class="tooltipped" target="_blank" data-tooltip="é®ä»¶èç³»æ" data-position="top" data-delay="50"><i class="fas fa-envelope-open"></i> </a><a href="tencent://AddContact/?fromId=50&fromSubId=1&subcmd=all&uin=970175021" class="tooltipped" target="_blank" data-tooltip="QQèç³»æ: 970175021" data-position="top" data-delay="50"><i class="fab fa-qq"></i> </a><a href="https://stackoverflow.com/users/5063539/small-rose" class="tooltipped" target="_blank" data-tooltip="å
³æ³¨æçç¥ä¹: https://stackoverflow.com/users/5063539/small-rose" data-position="top" data-delay="50"><i class="fab fa-zhihu1">ç¥</i> </a><a href="https://yun.zhangxiaocia.cn" class="tooltipped" target="_blank" data-tooltip="个人äºç" data-position="top" data-delay="50"><i class="fas fa-cloud"></i></a></div></div></div></div><div class="col l4 hide-on-med-and-down" data-aos="zoom-in-left"><div class="social-link"><a href="https://github.com/small-rose" class="tooltipped" target="_blank" data-tooltip="è®¿é®æçGitHub" data-position="top" data-delay="50"><i class="fab fa-github"></i> </a><a href="mailto:[email protected]" class="tooltipped" target="_blank" data-tooltip="é®ä»¶èç³»æ" data-position="top" data-delay="50"><i class="fas fa-envelope-open"></i> </a><a href="tencent://AddContact/?fromId=50&fromSubId=1&subcmd=all&uin=970175021" class="tooltipped" target="_blank" data-tooltip="QQèç³»æ: 970175021" data-position="top" data-delay="50"><i class="fab fa-qq"></i> </a><a href="https://stackoverflow.com/users/5063539/small-rose" class="tooltipped" target="_blank" data-tooltip="å
³æ³¨æçç¥ä¹: https://stackoverflow.com/users/5063539/small-rose" data-position="top" data-delay="50"><i class="fab fa-zhihu1">ç¥</i> </a><a href="https://yun.zhangxiaocia.cn" class="tooltipped" target="_blank" data-tooltip="个人äºç" data-position="top" data-delay="50"><i class="fas fa-cloud"></i></a></div></div></div><div class="introduction center-align" data-aos="fade-up">âéè½è¿©ï¼ä¸è¡ä¸è³ï¼äºè½å°ï¼ä¸ä¸ºä¸æãâ</div><link href="https://cdn.bootcss.com/botui/0.3.9/botui-theme-default.css" rel="stylesheet"><link href="https://cdn.bootcss.com/botui/0.3.9/botui.min.css" rel="stylesheet"><style>#myTalk{margin-top:30px}</style><div id="myTalk" class="container other-skills chip-container" data-aos="zoom-in-up"><div class="entry-content"><div id="hello-xiaocai" class="popcontainer" style="min-height:300px;padding:2px 6px 4px;background-color:#24c8ff;border-radius:10px"><center><h4>ä¸ <ruby>å°èè <rp></rp></ruby>对è¯ä¸...</h4><p></p></center><bot-ui></bot-ui></div></div></div>
1<script type="text/javascript" src="https://fastly.jsdelivr.net/gh/small-rose/small-rose.github.io@master/js/botui.js"></script>
1<script>bot_ui_ini()</script>
1<style type="text/css">#categories-chart,#posts-chart,#tags-chart{width:100%;height:300px;margin:.5rem auto;padding:.5rem}</style><div id="postCharts" class="post-charts"><div class="title center-align" data-aos="zoom-in-up"><i class="far fa-bar-chart"></i> æç« ç»è®¡å¾</div><div class="row"><div class="chart col s12 m6 l4" data-aos="zoom-in-up"><div id="posts-chart"></div></div><div class="chart col s12 m6 l4" data-aos="zoom-in-up"><div id="categories-chart"></div></div><div class="chart col s12 m6 l4" data-aos="zoom-in-up"><div id="tags-chart"></div></div></div></div>
1<script type="text/javascript" src="https://fastly.jsdelivr.net/gh/small-rose/small-rose.github.io@master/libs/echarts/echarts.min.js"></script>
1<script>let postsChart = echarts.init(document.getElementById('posts-chart')); 2 let categoriesChart = echarts.init(document.getElementById('categories-chart')); 3 let tagsChart = echarts.init(document.getElementById('tags-chart')); 4 5 6 7 let postsOption = { 8 title: { 9 text: 'æç« åå¸ç»è®¡å¾', 10 top: -5, 11 x: 'center' 12 }, 13 tooltip: { 14 trigger: 'axis' 15 }, 16 xAxis: { 17 type: 'category', 18 data: ["2025-01","2025-02","2025-03","2025-04","2025-05","2025-06","2025-07","2025-08","2025-09","2025-10","2025-11","2025-12","2026-01"] 19 }, 20 yAxis: { 21 type: 'value', 22 }, 23 series: [ 24 { 25 name: 'æç« ç¯æ°', 26 type: 'line', 27 color: ['#6772e5'], 28 data: [0,0,0,0,0,0,0,0,0,0,0,0,0], 29 markPoint: { 30 symbolSize: 45, 31 color: ['#fa755a','#3ecf8e','#82d3f4'], 32 data: [{ 33 type: 'max', 34 itemStyle: {color: ['#3ecf8e']}, 35 name: 'æå¤§å¼' 36 }, { 37 type: 'min', 38 itemStyle: {color: ['#fa755a']}, 39 name: 'æå°å¼' 40 }] 41 }, 42 markLine: { 43 itemStyle: {color: ['#ab47bc']}, 44 data: [ 45 {type: 'average', name: 'å¹³åå¼'} 46 ] 47 } 48 } 49 ] 50 }; 51 52 53 54 let categoriesOption = { 55 title: { 56 text: 'æç« åç±»ç»è®¡å¾', 57 top: -4, 58 x: 'center' 59 }, 60 tooltip: { 61 trigger: 'item', 62 formatter: "{a} <br/>{b} : {c} ({d}%)" 63 }, 64 series: [ 65 { 66 name: 'åç±»', 67 type: 'pie', 68 radius: '50%', 69 color: ['#6772e5', '#ff9e0f', '#fa755a', '#3ecf8e', '#82d3f4', '#ab47bc', '#525f7f', '#f51c47', '#26A69A'], 70 data: [{"name":"MySQL","value":8},{"name":"DB2","value":3},{"name":"SQL","value":3},{"name":"Github","value":4},{"name":"Git","value":1},{"name":"Java","value":10},{"name":"Centos","value":4},{"name":"Linux","value":2},{"name":"Hexo","value":21},{"name":"Tools","value":4},{"name":"æ¶èèµæº","value":3},{"name":"Img-Api","value":1},{"name":"è天室","value":1},{"name":"Javascript","value":1},{"name":"JVM","value":20},{"name":"å¼åç½ç«","value":1},{"name":"å·¥å ·ç½ç«","value":1},{"name":"Docker","value":3},{"name":"keepalived","value":1},{"name":"Nginx","value":1},{"name":"Spring","value":4},{"name":"SpringBoot","value":14},{"name":"Memcache","value":1},{"name":"SpringCloud","value":21},{"name":"MQ","value":1},{"name":"Tomcat","value":1},{"name":"IDEA","value":1},{"name":"MarkDown","value":1},{"name":"Web","value":3},{"name":"Mybatis","value":10},{"name":"Javaå¹¶å","value":1},{"name":"宿¶ä»»å¡","value":3}], 71 itemStyle: { 72 emphasis: { 73 shadowBlur: 10, 74 shadowOffsetX: 0, 75 shadowColor: 'rgba(0, 0, 0, 0.5)' 76 } 77 } 78 } 79 ] 80 }; 81 82 83 84 let tagsOption = { 85 title: { 86 text: 'TOP10 æ ç¾ç»è®¡å¾', 87 top: -5, 88 x: 'center' 89 }, 90 tooltip: {}, 91 xAxis: [ 92 { 93 type: 'category', 94 data: ["Hexo","SpringCloud","JVM","Mybatis","Java","MySQL","SQL","centos","DB2","Git"] 95 } 96 ], 97 yAxis: [ 98 { 99 type: 'value' 100 } 101 ], 102 series: [ 103 { 104 type: 'bar', 105 color: ['#82d3f4'], 106 barWidth : 18, 107 data: [18,17,15,9,9,8,8,5,3,3], 108 markPoint: { 109 symbolSize: 45, 110 data: [{ 111 type: 'max', 112 itemStyle: {color: ['#3ecf8e']}, 113 name: 'æå¤§å¼' 114 }, { 115 type: 'min', 116 itemStyle: {color: ['#fa755a']}, 117 name: 'æå°å¼' 118 }], 119 }, 120 markLine: { 121 itemStyle: {color: ['#ab47bc']}, 122 data: [ 123 {type: 'average', name: 'å¹³åå¼'} 124 ] 125 } 126 } 127 ] 128 }; 129 130 // render the charts 131 postsChart.setOption(postsOption); 132 categoriesChart.setOption(categoriesOption); 133 tagsChart.setOption(tagsOption);</script>
133<div class="my-projects"><div class="title center-align" data-aos="zoom-in-up"><i class="fas fa-gift"></i> æç项ç®</div><div class="row"><div class="col s12 m6 l4" data-aos="fade-up"><div class="info center-align"><a href="https://github.com/small-rose/NoteBook" class="icon" style="background:linear-gradient(to bottom right,#66BB6A 0,#81C784 100%)" target="_blank"><i class="fas fa-file-alt"></i></a><div class="info-title"><a href="https://github.com/small-rose/NoteBook" target="_blank">NoteBook</a></div><div class="info-desc">ç¥è¯åºç¬è®°æ¬</div></div></div><div class="col s12 m6 l4" data-aos="fade-up"><div class="info center-align"><a href="https://github.com/small-rose/easy-txt" class="icon" style="background:linear-gradient(to bottom right,#66BB6A 0,#81C784 100%)" target="_blank"><i class="fas fa-file-alt"></i></a><div class="info-title"><a href="https://github.com/small-rose/easy-txt" target="_blank">Easy-Txt</a></div><div class="info-desc">ææ¬å¤§æ¹éæ°æ®å¯¼å
¥å¯¼åº</div></div></div><div class="col s12 m6 l4" data-aos="fade-up"><div class="info center-align"><a href="https://github.com/small-rose/Grabpic" class="icon" style="background:linear-gradient(to bottom right,#66BB6A 0,#81C784 100%)" target="_blank"><i class="fas fa-file-alt"></i></a><div class="info-title"><a href="https://github.com/small-rose/Grabpic" target="_blank">Grabpic</a></div><div class="info-desc">ä¸å¥å¯ä»¥èªå®ä¹çéèç¹æ¹éç¬å¾ç³»ç»</div></div></div><div class="col s12 m6 l4" data-aos="fade-up"><div class="info center-align"><a href="https://github.com/small-rose/zhblog" class="icon" style="background:linear-gradient(to bottom right,#F06292 0,#EF5350 100%)" target="_blank"><i class="fas fa-database"></i></a><div class="info-title"><a href="https://github.com/small-rose/zhblog" target="_blank">Zhblog</a></div><div class="info-desc">åºäº Spring Boot å¼åç个人å客系ç»</div></div></div><div class="col s12 m6 l4" data-aos="fade-up"><div class="info center-align"><a href="https://github.com/small-rose/JavaPractice" class="icon" style="background:linear-gradient(to bottom right,#29B6F6 0,#1E88E5 100%)" target="_blank"><i class="fas fa-file-alt"></i></a><div class="info-title"><a href="https://github.com/small-rose/JavaPractice" target="_blank">JavaPractice</a></div><div class="info-desc">个人å¦ä¹ JAVA 常è§Demoåº [å¿«éå
¥å£]</div></div></div><div class="col s12 m6 l4" data-aos="fade-up"><div class="info center-align"><a href="https://github.com/small-rose/limit-checked-starter" class="icon" style="background:linear-gradient(to bottom right,red 0,#F99 100%)" target="_blank"><i class="fa fa-java"></i></a><div class="info-title"><a href="https://github.com/small-rose/limit-checked-starter" target="_blank">limit-checked-starter</a></div><div class="info-desc">Restful APIæ¥å£éå¶è®¿é®çspringboot-starterç»ä»¶</div></div></div></div></div><div class="my-skills"><div class="title center-align" data-aos="zoom-in-up"><i class="fas fa-wrench"></i> æçæè½</div><div class="row"><div class="col s12 m6 l6" data-aos="fade-up"><div class="skillbar"><div class="skillbar-title" style="background:linear-gradient(to right,#F06 0,#F0C 100%);width:80%"><span>Java</span></div><div class="skill-bar-percent">80%</div></div></div><div class="col s12 m6 l6" data-aos="fade-up"><div class="skillbar"><div class="skillbar-title" style="background:linear-gradient(to right,#90F 0,#C6F 100%);width:75%"><span>JavaScript</span></div><div class="skill-bar-percent">75%</div></div></div><div class="col s12 m6 l6" data-aos="fade-up"><div class="skillbar"><div class="skillbar-title" style="background:linear-gradient(to right,#2196F3 0,#42A5F5 100%);width:80%"><span>HTML5</span></div><div class="skill-bar-percent">80%</div></div></div><div class="col s12 m6 l6" data-aos="fade-up"><div class="skillbar"><div class="skillbar-title" style="background:linear-gradient(to right,#00BCD4 0,#80DEEA 100%);width:88%"><span>CSS</span></div><div class="skill-bar-percent">88%</div></div></div><div class="col s12 m6 l6" data-aos="fade-up"><div class="skillbar"><div class="skillbar-title" style="background:linear-gradient(to right,#4CAF50 0,#81C784 100%);width:80%"><span>SQL</span></div><div class="skill-bar-percent">80%</div></div></div><div class="col s12 m6 l6" data-aos="fade-up"><div class="skillbar"><div class="skillbar-title" style="background:linear-gradient(to right,#FFEB3B 0,#FFF176 100%);width:75%"><span>ç¨åºè®¾è®¡</span></div><div class="skill-bar-percent">75%</div></div></div></div></div></div></div></div></main><footer class="page-footer bg-color"><link rel="stylesheet" href="https://fastly.jsdelivr.net/gh/small-rose/small-rose.github.io@master/libs/aplayer/APlayer.min.css"><style>.aplayer .aplayer-lrc p{display:none;font-size:12px;font-weight:700;line-height:16px!important}.aplayer .aplayer-lrc p.aplayer-lrc-current{display:none;font-size:15px;color:#42b983}.aplayer.aplayer-fixed.aplayer-narrow .aplayer-body{left:-66px!important}.aplayer.aplayer-fixed.aplayer-narrow .aplayer-body:hover{left:0!important}</style><div><div class="row"><meting-js class="col l8 offset-l2 m10 offset-m1 s12" server="netease" type="playlist" id="2056253259" fixed="true" autoplay theme="#42b983" loop order="random" preload="auto" volume="0.7" list-folded="true"></meting-js></div></div>
133<script src="https://fastly.jsdelivr.net/gh/small-rose/small-rose.github.io@master/libs/aplayer/APlayer.min.js"></script>
133<script src="https://cdn.jsdelivr.net/npm/meting@2/dist/Meting.min.js"></script>
133<div class="container row center-align" style="margin-bottom:15px!important"><div class="col s12 m8 l8 copy-right">Copyright © <span id="year">2020</span> <a href="/about" target="_blank">Small-Rose</a> | Powered by <a href="https://hexo.io/" target="_blank">Hexo</a> | Theme <a href="https://github.com/blinkfox/hexo-theme-matery" target="_blank">Matery</a><br> <i class="fas fa-chart-area"></i> ç«ç¹æ»åæ°: <span class="white-color">413k</span> å <span id="busuanzi_container_site_pv">| <i class="far fa-eye"></i> æ»è®¿é®é: <span id="busuanzi_value_site_pv" class="white-color"></span> 次 </span><span id="busuanzi_container_site_uv">| <i class="fas fa-users"></i> æ»è®¿é®äººæ°: <span id="busuanzi_value_site_uv" class="white-color"></span> 人</span><br><span id="sitetime">è½½å
¥è¿è¡æ¶é´...</span>
133<script>function siteTime(){var e=1e3,t=60*e,n=60*t,o=24*n,l=365*o,r=new Date,a="2020",i="5",d="1",m="0",M="0",g="0",s=r.getFullYear(),u=r.getMonth()+1,T=r.getDate(),c=r.getHours(),f=r.getMinutes(),h=r.getSeconds(),y=Date.UTC(a,i,d,m,M,g),H=Date.UTC(s,u,T,c,f,h),I=H-y,B=Math.floor(I/l),D=Math.floor(I/o-365*B),E=Math.floor((I-(365*B+D)*o)/n),L=Math.floor((I-(365*B+D)*o-E*n)/t),v=Math.floor((I-(365*B+D)*o-E*n-L*t)/e);a==s?(document.getElementById("year").innerHTML=s,document.getElementById("sitetime").innerHTML="æ¬ç«å·² <del>å®å
¨</del> èå
¨è¿è¡ "+D+" 天 "+E+" å°æ¶ "+L+" åé "+v+" ç§"):(document.getElementById("year").innerHTML=a+" - "+s,document.getElementById("sitetime").innerHTML="æ¬ç«å·² <del>å®å
¨</del> èå
¨è¿è¡ "+B+" å¹´ "+D+" 天 "+E+" å°æ¶ "+L+" åé "+v+" ç§")}setInterval(siteTime,1e3)</script>
133<br><span id="icp"><img src="https://fastly.jsdelivr.net/gh/small-rose/small-rose.github.io@master/medias/icp.png" style="vertical-align:text-bottom"> <a href="http://beian.miit.gov.cn/" target="_blank">éICPå¤19015637å·-1</a></span><br></div><div class="col s12 m4 l4 social-link social-statis"><a href="https://github.com/small-rose" class="tooltipped" target="_blank" data-tooltip="è®¿é®æçGitHub" data-position="top" data-delay="50"><i class="fab fa-github"></i> </a><a href="mailto:[email protected]" class="tooltipped" target="_blank" data-tooltip="é®ä»¶èç³»æ" data-position="top" data-delay="50"><i class="fas fa-envelope-open"></i> </a><a href="tencent://AddContact/?fromId=50&fromSubId=1&subcmd=all&uin=970175021" class="tooltipped" target="_blank" data-tooltip="QQèç³»æ: 970175021" data-position="top" data-delay="50"><i class="fab fa-qq"></i> </a><a href="https://stackoverflow.com/users/5063539/small-rose" class="tooltipped" target="_blank" data-tooltip="å
³æ³¨æçç¥ä¹: https://stackoverflow.com/users/5063539/small-rose" data-position="top" data-delay="50"><i class="fab fa-zhihu1">ç¥</i> </a><a href="https://yun.zhangxiaocia.cn" class="tooltipped" target="_blank" data-tooltip="个人äºç" data-position="top" data-delay="50"><i class="fas fa-cloud"></i></a></div></div></footer><div class="progress-bar"></div>
133<script type="text/javascript">window.$crisp=[],window.CRISP_WEBSITE_ID="bf3c468c-2fd7-4dcc-866d-3b008127fff0",function(){d=document,s=d.createElement("script"),s.src="https://client.crisp.chat/l.js",s.async=1,d.getElementsByTagName("head")[0].appendChild(s)}()</script>
133<script>"1"===localStorage.getItem("themespring")?document.body.classList.add("themespring"):matchMedia("(prefers-color-scheme: themespring)").matches&&document.body.classList.add("themespring")</script>
133<a onclick="switchThemes()" id="switchspring" style="display:none"><img class="chunjiepic" src="/js/spring/spring-img/denglong.png" title="èæ¥æ¨¡å¼"></a>
133<script></script>
133<div id="searchModal" class="modal"><div class="modal-content"><div class="search-header"><span class="title"><i class="fas fa-search"></i> æç´¢</span> <input type="search" id="searchInput" name="s" placeholder="请è¾å
¥æç´¢çå
³é®å" class="search-input"></div><div id="searchResult"></div></div></div>
133<script src="https://fastly.jsdelivr.net/gh/small-rose/small-rose.github.io@master/js/search.js"></script>
133<script type="text/javascript">$(function(){searchFunc("https://fastly.jsdelivr.net/gh/small-rose/small-rose.github.io@master/search.xml","searchInput","searchResult")})</script>
133<div id="backTop" class="top-scroll"><a class="btn-floating btn-large waves-effect waves-light" href="#!"><i class="fas fa-arrow-up"></i></a></div>
133<script src="https://fastly.jsdelivr.net/gh/small-rose/small-rose.github.io@master/libs/materialize/materialize.min.js"></script>
133<script src="https://fastly.jsdelivr.net/gh/small-rose/small-rose.github.io@master/libs/masonry/masonry.pkgd.min.js"></script>
133<script src="https://fastly.jsdelivr.net/gh/small-rose/small-rose.github.io@master/libs/aos/aos.js"></script>
133<script src="https://fastly.jsdelivr.net/gh/small-rose/small-rose.github.io@master/libs/scrollprogress/scrollProgress.min.js"></script>
133<script src="https://fastly.jsdelivr.net/gh/small-rose/small-rose.github.io@master/libs/lightGallery/js/lightgallery-all.min.js"></script>
133<script src="https://fastly.jsdelivr.net/gh/small-rose/small-rose.github.io@master/js/matery.js"></script>
133<script>var _hmt=_hmt||[];!function(){var e=document.createElement("script");e.src="https://hm.baidu.com/hm.js?90b288cd6d944c8f4f8f0258e60bf981";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)}()</script>
133<script>!function(){var t=document.createElement("script"),s=window.location.protocol.split(":")[0];"https"===s?t.src="https://zz.bdstatic.com/linksubmit/push.js":t.src="http://push.zhanzhang.baidu.com/push.js";var e=document.getElementsByTagName("script")[0];e.parentNode.insertBefore(t,e)}()</script>
133<script src="https://fastly.jsdelivr.net/gh/small-rose/small-rose.github.io@master/libs/others/clicklove.js" async></script>
133<script async src="https://fastly.jsdelivr.net/gh/small-rose/small-rose.github.io@master/libs/others/busuanzi.pure.mini.js"></script>
133<script type="text/javascript" size="150" alpha="0.6" zindex="-1" src="https://fastly.jsdelivr.net/gh/small-rose/small-rose.github.io@master/libs/background/ribbon.min.js" async></script>
133<script src="https://fastly.jsdelivr.net/gh/small-rose/small-rose.github.io@master/libs/instantpage/instantpage.js" type="module"></script>
133<script src="/js/sakura.js" type="module"></script>
133<script src="https://fastly.jsdelivr.net/gh/small-rose/small-rose.github.io@master/js/fullscreen.js" type="module"></script>
133<script src="/" type="module"></script>
133<script> 134 window.imageLazyLoadSetting = { 135 isSPA: false, 136 processImages: null, 137 }; 138 </script>
138<script>window.addEventListener("load",function(){var t=/\.(gif|jpg|jpeg|tiff|png)$/i,r=/^data:image\/[a-z]+;base64,/;Array.prototype.slice.call(document.querySelectorAll("img[data-original]")).forEach(function(a){var e=a.parentNode;"A"===e.tagName&&(e.href.match(t)||e.href.match(r))&&(e.href=a.dataset.original)})});</script>
138<script>!function(n){n.imageLazyLoadSetting.processImages=o;var i=n.imageLazyLoadSetting.isSPA,r=Array.prototype.slice.call(document.querySelectorAll("img[data-original]"));function o(){i&&(r=Array.prototype.slice.call(document.querySelectorAll("img[data-original]")));for(var t,e,a=0;a<r.length;a++)t=r[a],0<=(e=t.getBoundingClientRect()).bottom&&0<=e.left&&e.top<=(n.innerHeight+240||document.documentElement.clientHeight+240)&&function(){var t,e,n,i,o=r[a];t=o,e=function(){r=r.filter(function(t){return o!==t})},n=new Image,i=t.getAttribute("data-original"),n.onload=function(){t.src=i,e&&e()},n.src=i}()}o(),n.addEventListener("scroll",function(){var t,e;t=o,e=n,clearTimeout(t.tId),t.tId=setTimeout(function(){t.call(e)},500)})}(this);</script>
138<script>(function(w,d, s, id) {w.webpushr=w.webpushr||function(){(w.webpushr.q=w.webpushr.q||[]).push(arguments)};var js, fjs = d.getElementsByTagName(s)[0];js = d.createElement(s); js.id = id;js.src = 'https://cdn.webpushr.com/app.min.js';fjs.parentNode.appendChild(js);}(window,document, 'script', 'webpushr-jssdk'));webpushr('init','BJrux_BJKMKcoDBNWov5dsd0zhl3p0eF00OUzgogE5bQRheUA7eytp5rcZXYHdodyiVfbOmMlAkf140zUrAPfv4');</script>
138</body></html><!-- rebuild by neat -->
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.