1 2 3<!DOCTYPE html> 4<html lang="zh-CN" data-default-color-scheme=auto> 5 6 7 8<head> 9 <meta charset="UTF-8"> 10 11 <link rel="apple-touch-icon" sizes="76x76" href="https://avatars.githubusercontent.com/u/55075474?v=4"> 12 <link rel="icon" href="https://avatars.githubusercontent.com/u/55075474?v=4"> 13 14 15 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=5.0, shrink-to-fit=no"> 16 <meta http-equiv="x-ua-compatible" content="ie=edge"> 17 18 <meta name="theme-color" content="#2f4154"> 19 <meta name="author" content="GerryMC"> 20 <meta name="keywords" content=""> 21 22 <meta property="og:type" content="website"> 23<meta property="og:title"> 24<meta property="og:url" content="https://gerrymc.top/index.html"> 25<meta property="og:site_name"> 26<meta property="og:locale" content="zh_CN"> 27<meta property="article:author" content="GerryMC"> 28<meta name="twitter:card" content="summary_large_image"> 29 30 31 32 <title></title> 33 34 <link rel="stylesheet" href="https://lib.baomitu.com/twitter-bootstrap/4.6.1/css/bootstrap.min.css" /> 35 36 37 38 39 40<!-- 主é¢ä¾èµç徿 åºï¼ä¸è¦èªè¡ä¿®æ¹ --> 41<!-- Do not modify the link that theme dependent icons --> 42 43<link rel="stylesheet" href="//at.alicdn.com/t/c/font_1749284_5i9bdhy70f8.css"> 44 45 46 47<link rel="stylesheet" href="//at.alicdn.com/t/c/font_1736178_k526ubmyhba.css"> 48 49 50<link rel="stylesheet" href="/css/main.css" /> 51 52 53 <link id="highlight-css" rel="stylesheet" href="/css/highlight.css" /> 54 55 <link id="highlight-css-dark" rel="stylesheet" href="/css/highlight-dark.css" /> 56 57 58 59 60 61
61<script id="fluid-configs"> 62 var Fluid = window.Fluid || {}; 63 Fluid.ctx = Object.assign({}, Fluid.ctx) 64 var CONFIG = {"hostname":"gerrymc.top","root":"/","version":"1.9.8","typing":{"enable":true,"typeSpeed":70,"cursorChar":"_","loop":false,"scope":[]},"anchorjs":{"enable":true,"element":"h1,h2,h3,h4,h5,h6","placement":"left","visible":"hover","icon":""},"progressbar":{"enable":true,"height_px":3,"color":"#29d","options":{"showSpinner":false,"trickleSpeed":100}},"code_language":{"enable":true,"default":"TEXT"},"copy_btn":true,"image_caption":{"enable":true},"image_zoom":{"enable":true,"img_url_replace":["",""]},"toc":{"enable":true,"placement":"right","headingSelector":"h1,h2,h3,h4,h5,h6","collapseDepth":0},"lazyload":{"enable":true,"loading_img":"/img/loading.gif","onlypost":false,"offset_factor":2},"web_analytics":{"enable":true,"follow_dnt":true,"baidu":null,"google":{"measurement_id":null},"tencent":{"sid":null,"cid":null},"leancloud":{"app_id":"LyT8mpSI2Jq9CRhOtNOgBXkE-9Nh9j0Va","app_key":"fUOlkXhD9wcmxOTed9NdlqPH","server_url":"https://lyt8mpsi.lc-cn-n1-shared.com","path":"window.location.pathname","ignore_local":false},"umami":{"src":null,"website_id":null,"domains":null,"start_time":"2024-01-01T00:00:00.000Z","token":null,"api_server":null}},"search_path":"/local-search.xml","include_content_in_search":true}; 65 66 if (CONFIG.web_analytics.follow_dnt) { 67 var dntVal = navigator.doNotTrack || window.doNotTrack || navigator.msDoNotTrack; 68 Fluid.ctx.dnt = dntVal && (dntVal.startsWith('1') || dntVal.startsWith('yes') || dntVal.startsWith('on')); 69 } 70 </script>
70 71
71<script src="/js/utils.js" ></script>
71 72
72<script src="/js/color-schema.js" ></script>
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90<meta name="generator" content="Hexo 7.3.0"></head> 91 92 93<body> 94 95 96 <header> 97 98 99<div class="header-inner" style="height: 100vh;"> 100 <nav id="navbar" class="navbar fixed-top navbar-expand-lg navbar-dark scrolling-navbar"> 101 <div class="container"> 102 <a class="navbar-brand" href="/"> 103 <strong></strong> 104 </a> 105 106 <button id="navbar-toggler-btn" class="navbar-toggler" type="button" data-toggle="collapse" 107 data-target="#navbarSupportedContent" 108 aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> 109 <div class="animated-icon"><span></span><span></span><span></span></div> 110 </button> 111 112 <!-- Collapsible content --> 113 <div class="collapse navbar-collapse" id="navbarSupportedContent"> 114 <ul class="navbar-nav ml-auto text-center"> 115 116 117 118 119 120 <li class="nav-item"> 121 <a class="nav-link" href="/" target="_self"> 122 <i class="iconfont icon-home-fill"></i> 123 <span>é¦é¡µ</span> 124 </a> 125 </li> 126 127 128 129 130 131 132 <li class="nav-item"> 133 <a class="nav-link" href="/archives/" target="_self"> 134 <i class="iconfont icon-archive-fill"></i> 135 <span>彿¡£</span> 136 </a> 137 </li> 138 139 140 141 142 143 144 <li class="nav-item"> 145 <a class="nav-link" href="/categories/" target="_self"> 146 <i class="iconfont icon-category-fill"></i> 147 <span>åç±»</span> 148 </a> 149 </li> 150 151 152 153 154 155 156 <li class="nav-item"> 157 <a class="nav-link" href="/tags/" target="_self"> 158 <i class="iconfont icon-tags-fill"></i> 159 <span>æ ç¾</span> 160 </a> 161 </li> 162 163 164 165 166 167 168 <li class="nav-item"> 169 <a class="nav-link" href="/links/" target="_self"> 170 <i class="iconfont icon-link-fill"></i> 171 <span>åé¾</span> 172 </a> 173 </li> 174 175 176 177 178 179 180 <li class="nav-item"> 181 <a class="nav-link" href="/about/" target="_self"> 182 <i class="iconfont icon-user-fill"></i> 183 <span>å ³äº</span> 184 </a> 185 </li> 186 187 188 189 <li class="nav-item" id="search-btn"> 190 <a class="nav-link" target="_self" href="javascript:;" data-toggle="modal" data-target="#modalSearch" aria-label="Search"> 191 <i class="iconfont icon-search"></i> 192 </a> 193 </li> 194 195 196 197 <li class="nav-item" id="color-toggle-btn"> 198 <a class="nav-link" target="_self" href="javascript:;" aria-label="Color Toggle"> 199 <i class="iconfont icon-dark" id="color-toggle-icon"></i> 200 </a> 201 </li> 202 203 </ul> 204 </div> 205 </div> 206</nav> 207 208 209 210<div id="banner" class="banner" parallax=true 211 style="background: url('https://fluid.s3.bitiful.net/bg/vdysjx.png?w=1920&fmt=webp') no-repeat center center; background-size: cover;"> 212 <div class="full-bg-img"> 213 <div class="mask flex-center" style="background-color: rgba(0, 0, 0, 0.3)"> 214 <div class="banner-text text-center fade-in-up"> 215 <div class="h2"> 216 217 <span id="subtitle" data-typed-text="å¦å¦éæ°´è¡èï¼ä¸è¿åé"></span> 218 219 </div> 220 221 222 </div> 223 224 225 <div class="scroll-down-bar"> 226 <i class="iconfont icon-arrowdown"></i> 227 </div> 228 229 </div> 230 </div> 231</div> 232 233</div> 234 235 </header> 236 237 <main> 238 239 <div class="container nopadding-x-md"> 240 <div id="board" 241 style="margin-top: 0"> 242 243 <div class="container"> 244 <div class="row"> 245 <div class="col-12 col-md-10 m-auto"> 246 247 248 249 <div class="row mx-auto index-card"> 250 251 252 <article class="col-12 col-md-12 mx-auto index-info"> 253 <h2 class="index-header"> 254 255 <a href="/2025/11/10/jianli/" target="_self"> 256 257 </a> 258 </h2> 259 260 261 <a class="index-excerpt index-excerpt__noimg" href="/2025/11/10/jianli/" target="_self"> 262 <div> 263 ä¸ªäººä¿¡æ¯ å§åï¼å¼ æ | å¹´é¾ï¼32å² | å·¥ä½å¹´éï¼7å¹´ çµè¯ï¼138****1234 | é®ç®±ï¼[email protected] ææ¯å客
263ï¼https://blog.techstack.com | GitHubï¼github.com/zhangm-dev æ±èæåï¼Javaé«çº§å¼åå·¥ç¨å¸/ææ¯ä¸å®¶ | ææèªèµï¼35K-45K ææ¯è½åç©éµ ç±»å« 264 </div> 265 </a> 266 267 <div class="index-btm post-metas"> 268 269 <div class="post-meta mr-3"> 270 <i class="iconfont icon-date"></i> 271 <time datetime="2025-11-10 23:37" pubdate> 272 2025-11-10 273 </time> 274 </div> 275 276 277 278 </div> 279 </article> 280 </div> 281 282 <div class="row mx-auto index-card"> 283 284 285 <div class="col-12 col-md-4 m-auto index-img"> 286 <a href="/2025/06/05/javaweb/" target="_self"> 287 <img src="http://eb118-file.cdn.bcebos.com/upload/52a3d4efed3f4597b3f71d0a9188bd80_2169211077.png?" srcset="/img/loading.gif" lazyload alt="Java Webå¼åææ¯æ¼è¿æ·±åº¦è§£æï¼ä»Servletå°Spring Bootçæºç 级åæ"> 288 </a> 289 </div> 290 291 <article class="col-12 col-md-8 mx-auto index-info"> 292 <h2 class="index-header"> 293 294 <a href="/2025/06/05/javaweb/" target="_self"> 295 Java Webå¼åææ¯æ¼è¿æ·±åº¦è§£æï¼ä»Servletå°Spring Bootçæºç çº§åæ 296 </a> 297 </h2> 298 299 300 <a class="index-excerpt " href="/2025/06/05/javaweb/" target="_self"> 301 <div> 302 Java Webå¼åææ¯æ¼è¿æ·±åº¦è§£æï¼ä»Servletå°Spring Bootçæºç 级åæä¸ãServletææ¯å æ ¸åæ1. Servletæ¥å£è®¾è®¡12345678// javax.servlet.Servlet æ ¸å¿æ¥å£public interface Servlet { void init(ServletConfig config) throws ServletExceptio 303 </div> 304 </a> 305 306 <div class="index-btm post-metas"> 307 308 <div class="post-meta mr-3"> 309 <i class="iconfont icon-date"></i> 310 <time datetime="2025-06-05 00:00" pubdate> 311 2025-06-05 312 </time> 313 </div> 314 315 316 <div class="post-meta mr-3 d-flex align-items-center"> 317 <i class="iconfont icon-category"></i> 318 319 320<span class="category-chains"> 321 322 323 324 <span class="category-chain"> 325 326 <a href="/categories/JAVA/" class="category-chain-item">JAVA</a> 327 328 329 330 </span> 331 332 333</span> 334 335 </div> 336 337 338 <div class="post-meta"> 339 <i class="iconfont icon-tags"></i> 340 341 <a href="/tags/JAVA/">#JAVA</a> 342 343 <a href="/tags/%E7%9F%A5%E8%AF%86%E4%BD%93%E7%B3%BB/">#ç¥è¯ä½ç³»</a> 344 345 </div> 346 347 </div> 348 </article> 349 </div> 350 351 <div class="row mx-auto index-card"> 352 353 354 <div class="col-12 col-md-4 m-auto index-img"> 355 <a href="/2021/01/15/aliyun_sms/" target="_self"> 356 <img src="http://eb118-file.cdn.bcebos.com/upload/52a3d4efed3f4597b3f71d0a9188bd80_2169211077.png?" srcset="/img/loading.gif" lazyload alt="Java使ç¨é¿éäºçä¿¡æå¡"> 357 </a> 358 </div> 359 360 <article class="col-12 col-md-8 mx-auto index-info"> 361 <h2 class="index-header"> 362 363 <a href="/2021/01/15/aliyun_sms/" target="_self"> 364 Java使ç¨é¿éäºçä¿¡æå¡ 365 </a> 366 </h2> 367 368 369 <a class="index-excerpt " href="/2021/01/15/aliyun_sms/" target="_self"> 370 <div> 371 ä¸ãåå¤å·¥ä½é¦å è¦å¼éé¿éäºççä¿¡æå¡ï¼ç¶å卿§å¶å°ä¸æ¾å°çä¿¡æå¡ãè¿å ¥åå°±æ¯ä»¥ä¸çé¢ãå ¶ä¸æä»¬éè¦4个ä¸è¥¿ï¼accessKeyIdãaccessKeySecretãç信模æ¿åçä¿¡ç¾åã 372 </div> 373 </a> 374 375 <div class="index-btm post-metas"> 376 377 <div class="post-meta mr-3"> 378 <i class="iconfont icon-date"></i> 379 <time datetime="2021-01-15 00:00" pubdate> 380 2021-01-15 381 </time> 382 </div> 383 384 385 <div class="post-meta mr-3 d-flex align-items-center"> 386 <i class="iconfont icon-category"></i> 387 388 389<span class="category-chains"> 390 391 392 393 <span class="category-chain"> 394 395 <a href="/categories/JAVA%E5%B7%A5%E5%85%B7/" class="category-chain-item">JAVAå·¥å ·</a> 396 397 398 399 </span> 400 401 402</span> 403 404 </div> 405 406 407 <div class="post-meta"> 408 <i class="iconfont icon-tags"></i> 409 410 <a href="/tags/JAVA/">#JAVA</a> 411 412 <a href="/tags/%E5%B0%8F%E5%B7%A5%E5%85%B7/">#å°å·¥å ·</a> 413 414 </div> 415 416 </div> 417 </article> 418 </div> 419 420 <div class="row mx-auto index-card"> 421 422 423 <div class="col-12 col-md-4 m-auto index-img">
424 <a href="/2021/01/12/java_info_filter/" target="_self"> 425 <img src="http://eb118-file.cdn.bcebos.com/upload/52a3d4efed3f4597b3f71d0a9188bd80_2169211077.png?" srcset="/img/loading.gif" lazyload alt="Javaæ£å表达å¼è¿æ»¤ææºå·ã身份è¯ç常ç¨ä¿¡æ¯"> 426 </a> 427 </div> 428 429 <article class="col-12 col-md-8 mx-auto index-info"> 430 <h2 class="index-header"> 431 432 <a href="/2021/01/12/java_info_filter/" target="_self"> 433 Javaæ£å表达å¼è¿æ»¤ææºå·ã身份è¯ç常ç¨ä¿¡æ¯ 434 </a> 435 </h2> 436 437 438 <a class="index-excerpt " href="/2021/01/12/java_info_filter/" target="_self"> 439 <div> 440 èæ¯å¨æä»¬æ¥å¸¸å¼åä¸ï¼å¸¸å¸¸ä¼ç¨å°ä¸äºåºå®ä¿¡æ¯ï¼å¦ï¼ææºå·ã身份è¯çãä¹ä¼å¯¹è´¦æ·åï¼å¯ç çä¿¡æ¯ä½ç¹å®çéå¶ãé£ä¹å°±éè¦è¿æ»¤æä¸äºåå¾ä¿¡æ¯ï¼ä¿è¯æ°æ®çåç¡®æ§ãè¿éæä»¬éè¿æ£å表达å¼å¯¹å符串è¿è¡å¹é è¿æ»¤ã æ£åè¡¨è¾¾å¼æ£å表达å¼å¯ä»¥ç¨åç¬¦ä¸²æ¥æè¿°è§åï¼å¹¶ç¨æ¥å¹é åç¬¦ä¸²ãæ¯å¦ï¼â\\dâ表示å¯ä»¥å¹é ä¸ä½0~9çæ°åï¼å ¶ä¸ç¬¬ä¸ä¸ªâ"æ¯è½¬ä¹å符ã妿æ³å¹é å¤ä½å符éè¦å¨è¡¨è¾¾å¼åé¢å â{æå°ä½æ°ï¼æå¤§ä½ 441 </div> 442 </a> 443 444 <div class="index-btm post-metas"> 445 446 <div class="post-meta mr-3"> 447 <i class="iconfont icon-date"></i> 448 <time datetime="2021-01-12 00:00" pubdate> 449 2021-01-12 450 </time> 451 </div> 452 453 454 <div class="post-meta mr-3 d-flex align-items-center"> 455 <i class="iconfont icon-category"></i> 456 457 458<span class="category-chains"> 459 460 461 462 <span class="category-chain"> 463 464 <a href="/categories/JAVA%E5%B7%A5%E5%85%B7/" class="category-chain-item">JAVAå·¥å ·</a> 465 466 467 468 </span> 469 470 471</span> 472 473 </div> 474 475 476 <div class="post-meta"> 477 <i class="iconfont icon-tags"></i> 478 479 <a href="/tags/JAVA/">#JAVA</a> 480 481 <a href="/tags/%E5%B0%8F%E5%B7%A5%E5%85%B7/">#å°å·¥å ·</a> 482 483 </div> 484 485 </div> 486 </article> 487 </div> 488 489 <div class="row mx-auto index-card"> 490 491 492 <div class="col-12 col-md-4 m-auto index-img"> 493 <a href="/2021/01/05/snowflake/" target="_self"> 494 <img src="http://eb118-file.cdn.bcebos.com/upload/52a3d4efed3f4597b3f71d0a9188bd80_2169211077.png?" srcset="/img/loading.gif" lazyload alt="Java使ç¨éªè±id"> 495 </a> 496 </div> 497 498 <article class="col-12 col-md-8 mx-auto index-info"> 499 <h2 class="index-header"> 500 501 <a href="/2021/01/05/snowflake/" target="_self"> 502 Java使ç¨éªè±id 503 </a> 504 </h2> 505 506 507 <a class="index-excerpt " href="/2021/01/05/snowflake/" target="_self"> 508 <div> 509 æ¦è¿°éªè±IDå³SnowFlakeIDï¼é常éªè±IDæ¯ååå¸å¼ä¸èµ·ä½¿ç¨çãåé´ä¸ä¸å«äººçä»ç»ï¼SnowFlakeæ¯twitterå ¬å¸å é¨åå¸å¼é¡¹ç®éç¨çIDçæç®æ³ï¼å¼æºå广åå½å 大åç好è¯ãç±è¿ç§ç®æ³çæçIDï¼æä»¬å°±å«åSnowFlakeID SnowFlakeIDçæå¤§çç¹æ§å°±æ¯å¤©ç¶å»ä¸å¿åï¼éè¿æ¶é´æ³ã工使ºå¨ç¼å·ä¸¤ä¸ªåéè¿è¡é ç½®åï¼éè¿SnowFlakeç®æ³ä¼çæå¯ä¸çéå¢IDãå¨ä»»ä½æºå¨ 510 </div> 511 </a> 512 513 <div class="index-btm post-metas"> 514 515 <div class="post-meta mr-3"> 516 <i class="iconfont icon-date"></i> 517 <time datetime="2021-01-05 00:00" pubdate> 518 2021-01-05 519 </time> 520 </div> 521 522 523 <div class="post-meta mr-3 d-flex align-items-center"> 524 <i class="iconfont icon-category"></i> 525 526 527<span class="category-chains"> 528 529 530 531 <span class="category-chain"> 532 533 <a href="/categories/JAVA%E5%B7%A5%E5%85%B7/" class="category-chain-item">JAVAå·¥å ·</a> 534 535 536 537 </span> 538 539 540</span> 541 542 </div> 543 544 545 <div class="post-meta"> 546 <i class="iconfont icon-tags"></i> 547 548 <a href="/tags/JAVA/">#JAVA</a> 549 550 <a href="/tags/%E5%B0%8F%E5%B7%A5%E5%85%B7/">#å°å·¥å ·</a> 551 552 </div> 553 554 </div> 555 </article> 556 </div> 557 558 559 560 561 562 </div> 563 </div> 564 </div> 565 </div> 566 </div> 567 568 569 570 <a id="scroll-top-button" aria-label="TOP" href="#" role="button"> 571 <i class="iconfont icon-arrowup" aria-hidden="true"></i> 572 </a> 573 574 575 576 <div class="modal fade" id="modalSearch" tabindex="-1" role="dialog" aria-labelledby="ModalLabel" 577 aria-hidden="true"> 578 <div class="modal-dialog modal-dialog-scrollable modal-lg" role="document"> 579 <div class="modal-content"> 580 <div class="modal-header text-center"> 581 <h4 class="modal-title w-100 font-weight-bold">æç´¢</h4> 582 <button type="button" id="local-search-close" class="close" data-dismiss="modal" aria-label="Close">
583 <span aria-hidden="true">×</span> 584 </button> 585 </div> 586 <div class="modal-body mx-3"> 587 <div class="md-form mb-5"> 588 <input type="text" id="local-search-input" class="form-control validate"> 589 <label data-error="x" data-success="v" for="local-search-input">å ³é®è¯</label> 590 </div> 591 <div class="list-group" id="local-search-result"></div> 592 </div> 593 </div> 594 </div> 595</div> 596 597 598 599 600 </main> 601 602 <footer> 603 <div class="footer-inner"> 604 605 <div class="footer-content"> 606 <a href="https://hexo.io" target="_blank" rel="nofollow noopener"><span>Hexo</span></a> <i class="iconfont icon-love"></i> <a href="https://github.com/fluid-dev/hexo-theme-fluid" target="_blank" rel="nofollow noopener"><span>Fluid</span></a> 607 </div> 608 609 610 <div class="statistics"> 611 612 613 614 615 616 <span id="leancloud-site-pv-container" style="display: none"> 617 æ»è®¿é®é 618 <span id="leancloud-site-pv"></span> 619 次 620 </span> 621 622 623 <span id="leancloud-site-uv-container" style="display: none"> 624 æ»è®¿å®¢æ° 625 <span id="leancloud-site-uv"></span> 626 人 627 </span> 628 629 630 631 632 633</div> 634 635 636 637</div> 638 639 </footer> 640 641 <!-- Scripts --> 642 643
643<script src="https://lib.baomitu.com/nprogress/0.2.0/nprogress.min.js" ></script>
643 644 <link rel="stylesheet" href="https://lib.baomitu.com/nprogress/0.2.0/nprogress.min.css" /> 645 646
646<script> 647 NProgress.configure({"showSpinner":false,"trickleSpeed":100}) 648 NProgress.start() 649 window.addEventListener('load', function() { 650 NProgress.done(); 651 }) 652 </script>
652 653 654
655<script src="https://lib.baomitu.com/jquery/3.6.4/jquery.min.js" ></script>
vendor: 1 bytes, line 655
655
656<script src="https://lib.baomitu.com/twitter-bootstrap/4.6.1/js/bootstrap.min.js" ></script>
vendor: 1 bytes, line 656
656
657<script src="/js/events.js" ></script>
vendor: 1 bytes, line 657
657
658<script src="/js/plugins.js" ></script>
658 659 660 661
661<script src="https://lib.baomitu.com/typed.js/2.0.12/typed.min.js" ></script>
661 662
662<script> 663 (function (window, document) { 664 var typing = Fluid.plugins.typing; 665 var subtitle = document.getElementById('subtitle'); 666 if (!subtitle || !typing) { 667 return; 668 } 669 var text = subtitle.getAttribute('data-typed-text'); 670 671 typing(text); 672 673 })(window, document); 674 </script>
674 675 676 677 678 679 680
680<script src="/js/img-lazyload.js" ></script>
680 681 682 683 684 685 686
686<script defer src="/js/leancloud.js" ></script>
686 687 688
688<script src="/js/local-search.js" ></script>
688 689 690 691 692 693
694<script src="/js/custom.js"></script>
694 695 696 697 698<!-- 主é¢çå¯å¨é¡¹ï¼å°å®ä¿æå¨æåºé¨ --> 699<!-- the boot of the theme, keep it at the bottom -->
700<script src="/js/boot.js" ></script>
700 701 702 703 704 705 <noscript> 706 <div class="noscript-warning">å客å¨å 许 JavaScript è¿è¡çç¯å¢ä¸æµè§æææ´ä½³</div> 707 </noscript> 708</body> 709</html>
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.