Help
RSS
API
Feed
Maltego
Contact
Domain > lxiaol.cn
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2023-07-22
116.253.24.240
(
ClassC
)
2026-02-13
47.93.85.229
(
ClassC
)
Port 80
HTTP/1.1 200 OKServer: nginx/1.22.1Date: Fri, 13 Feb 2026 21:27:09 GMTContent-Type: text/htmlContent-Length: 52579Last-Modified: Mon, 05 Jan 2026 06:57:34 GMTConnection: keep-aliveETag: 695b60de-cd63Accept-Ranges: bytes !DOCTYPE html>html langzh-CN data-themedark>head>meta charsetUTF-8>meta http-equivX-UA-Compatible contentIEedge>meta nameviewport contentwidthdevice-width,initial-scale1>title>__°ゝ Javanbts つ __/title>meta namekeywords contentHTML, JavaScript, Spring, SpringBoot, 数据结构,剑指 Offer>meta nameauthor contentJavanbt>meta namecopyright contentJavanbt>meta nameformat-detection contenttelephoneno>meta nametheme-color content#0d0d0d>meta namedescription content乘风破浪会有时,直挂云帆济沧海>meta propertyog:type contentwebsite>meta propertyog:title content__°ゝ Javanbt's つ __>meta propertyog:url contenthttp://hexo.lxiaol.cn/index.html>meta propertyog:site_name content__°ゝ Javanbt's つ __>meta propertyog:description content乘风破浪会有时,直挂云帆济沧海>meta propertyog:locale contentzh_CN>meta propertyog:image contenthttps://lxiaol.oss-cn-beijing.aliyuncs.com/pictures/moyuyu.gif>meta propertyarticle:author contentJavanbt>meta propertyarticle:tag contentHTML, JavaScript, Spring, SpringBoot, 数据结构,剑指 Offer>meta nametwitter:card contentsummary>meta nametwitter:image contenthttps://lxiaol.oss-cn-beijing.aliyuncs.com/pictures/moyuyu.gif>link relshortcut icon hrefhttp://lxiaol.oss-cn-beijing.aliyuncs.com/pictures/1597503441421.jpg>link relcanonical hrefhttp://hexo.lxiaol.cn/>link relpreconnect href//cdn.jsdelivr.net>link relpreconnect href//busuanzi.ibruce.info>meta>meta>meta>meta>meta>meta>meta>meta>meta>meta>meta>meta>meta>link relstylesheet href/css/index.css>link relstylesheet href/css/cdn/all.min.css mediaprint onloadthis.mediaall>link relstylesheet href/css/cdn/snackbar.min.css mediaprint onloadthis.mediaall>script>const GLOBAL_CONFIG { root: /, algolia: undefined, localSearch: {path:search.xml,languages:{hits_empty:找不到您查询的内容:${query}}}, translate: undefined, noticeOutdate: undefined, highlight: {plugin:highlighjs,highlightCopy:true,highlightLang:true,highlightHeightLimit:false}, copy: { success: 复制成功, error: 复制错误, noSupport: 浏览器不支持 }, relativeDate: { homepage: false, post: false }, runtime: 天, date_suffix: { just: 刚刚, min: 分钟前, hour: 小时前, day: 天前, month: 个月前 }, copyright: undefined, lightbox: fancybox, Snackbar: {chs_to_cht:你已切换为繁体,cht_to_chs:你已切换为简体,day_to_night:你已切换为深色模式,night_to_day:你已切换为浅色模式,bgLight:#49b1f5,bgDark:#121212,position:top-right}, source: { jQuery: /js/cdn/jquery.min.js, justifiedGallery: { js: https://cdn.jsdelivr.net/npm/justifiedGallery/dist/js/jquery.justifiedGallery.min.js, css: https://cdn.jsdelivr.net/npm/justifiedGallery/dist/css/justifiedGallery.min.css }, fancybox: { js: /js/cdn/jquery.fancybox.min.js, css: /css/cdn/jquery.fancybox.min.css } }, isPhotoFigcaption: false, islazyload: true, isanchor: false}/script>script idconfig-diff>var GLOBAL_CONFIG_SITE{title:__°ゝ Javanbts つ __,isPost:!1,isHome:!0,isHighlightShrink:!1,isToc:!1,postUpdate:2024-02-23 15:35:53}/script>noscript>style typetext/css>#nav{opacity:1}.justified-gallery img{opacity:1}#post-meta time,#recent-posts time{display:inline!important}/style>/noscript>script>(win>{ win.saveToLocal { set: function setWithExpiry(key, value, ttl) { if (ttl 0) return const now new Date() const expiryDay ttl * 86400000 const item { value: value, expiry: now.getTime() + expiryDay, } localStorage.setItem(key, JSON.stringify(item)) }, get: function getWithExpiry(key) { const itemStr localStorage.getItem(key) if (!itemStr) { return undefined } const item JSON.parse(itemStr) const now new Date() if (now.getTime() > item.expiry) { localStorage.removeItem(key) return undefined } return item.value } } win.getScript url > new Promise((resolve, reject) > { const script document.createElement(script) script.src url script.async true script.onerror reject script.onload script.onreadystatechange function() { const loadState this.readyState if (loadState && loadState ! loaded && loadState ! complete) return script.onload script.onreadystatechange null resolve() } document.head.appendChild(script) }) win.activateDarkMode function () { document.documentElement.setAttribute(data-theme, dark) if (document.querySelector(metanametheme-color) ! null) { document.querySelector(metanametheme-color).setAttribute(content, #0d0d0d) } } win.activateLightMode function () { document.documentElement.setAttribute(data-theme, light) if (document.querySelector(metanametheme-color) ! null) { document.querySelector(metanametheme-color).setAttribute(content, #ffffff) } } const t saveToLocal.get(theme) if (t dark) activateDarkMode() else if (t light) activateLightMode() const asideStatus saveToLocal.get(aside-status) if (asideStatus ! undefined) { if (asideStatus hide) { document.documentElement.classList.add(hide-aside) } else { document.documentElement.classList.remove(hide-aside) } } const detectApple () > { if (GLOBAL_CONFIG_SITE.isHome && /iPad|iPhone|iPod|Macintosh/.test(navigator.userAgent)){ document.documentElement.classList.add(apple) } } detectApple() })(window)/script>link relstylesheet href/css/mycss.css>meta namegenerator contentHexo 5.4.2>/head>body>div idweb_bg>/div>div idsidebar>div idmenu-mask>/div>div idsidebar-menus>div classavatar-img is-center>img src data:image/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs data-lazy-srchttps://lxiaol.oss-cn-beijing.aliyuncs.com/pictures/moyuyu.gif onerroronerrornull,src/img/friend_404.gif altavatar>/div>div classsite-data>div classdata-item is-center>div classdata-item-link>a href/archives/>div classheadline>文章/div>div classlength-num>124/div>/a>/div>/div>div classdata-item is-center>div classdata-item-link>a href/tags/>div classheadline>标签/div>div classlength-num>104/div>/a>/div>/div>div classdata-item is-center>div classdata-item-link>a href/categories/>div classheadline>分类/div>div classlength-num>36/div>/a>/div>/div>/div>hr>div classmenus_items>div classmenus_item>a classsite-page href/>i classfa-fw fas fa-home>/i>span> Home/span>/a>/div>div classmenus_item>a classsite-page href/archives/>i classfa-fw fas fa-archive>/i>span> Archives/span>/a>/div>div classmenus_item>a classsite-page href/tags/>i classfa-fw fas fa-tags>/i>span> Tags/span>/a>/div>div classmenus_item>a classsite-page href/categories/>i classfa-fw fas fa-folder-open>/i>span> Categories/span>/a>/div>/div>/div>/div>div classpage idbody-wrap>header classfull_page idpage-header>nav idnav>span idblog_name>a idsite-name href/>__°ゝ Javanbts つ __/a>/span>div idmenus>div idsearch-button>a classsite-page social-icon search>i classfas fa-search fa-fw>/i>span> 搜索/span>/a>/div>div classmenus_items>div classmenus_item>a classsite-page href/>i classfa-fw fas fa-home>/i>span> Home/span>/a>/div>div classmenus_item>a classsite-page href/archives/>i classfa-fw fas fa-archive>/i>span> Archives/span>/a>/div>div classmenus_item>a classsite-page href/tags/>i classfa-fw fas fa-tags>/i>span> Tags/span>/a>/div>div classmenus_item>a classsite-page href/categories/>i classfa-fw fas fa-folder-open>/i>span> Categories/span>/a>/div>/div>div idtoggle-menu>a classsite-page>i classfas fa-bars fa-fw>/i>/a>/div>/div>/nav>div idsite-info>h1 idsite-title>__°ゝ Javanbts つ __/h1>div idsite-subtitle>span idsubtitle>/span>/div>div idsite_social_icons>a classsocial-icon hrefhttps://github.com/lixiaolong6881644 target_blank titleGithub>i classfab fa-github>/i>/a>a classsocial-icon hrefhttps://gitee.com/lixiaogou target_blank titleiconfont icon-gitee>i classiconfont icon-gitee>/i>/a>/div>/div>div idscroll-down>i classfas fa-angle-down scroll-down-effects>/i>/div>/header>main classlayout idcontent-inner>div classrecent-posts idrecent-posts>div classrecent-post-item>div classrecent-post-info no-cover>a classarticle-title href/posts/8701cc3813ac/ title为什么springboot的jar可以直接运行>为什么springboot的jar可以直接运行/a>div classarticle-meta-wrap>span classarticle-meta>i classfas fa-thumbtack sticky>/i>span classsticky>置顶/span>span classarticle-meta__separator>|/span>/span>span classpost-meta-date>i classfar fa-calendar-alt>/i>span classarticle-meta-label>发表于/span>time datetime2024-01-08T12:00:00.000Z title发表于 2024-01-08 20:00:00>2024-01-08/time>/span>span classarticle-meta>span classarticle-meta__separator>|/span>i classfas fa-inbox>/i>a classarticle-meta__categories href/categories/02-%E6%A1%86%E6%9E%B6%E4%B8%AD%E9%97%B4%E4%BB%B6/>02.框架中间件/a>i classfas fa-angle-right>/i>a classarticle-meta__categories href/categories/02-%E6%A1%86%E6%9E%B6%E4%B8%AD%E9%97%B4%E4%BB%B6/01-spring/>01.spring/a>/span>span classarticle-meta tags>span classarticle-meta__separator>|/span>i classfas fa-tag>/i>a classarticle-meta__tags href/tags/springboot/>springboot/a>span classarticle-meta__link>•/span>a classarticle-meta__tags href/tags/Java/>Java/a>span classarticle-meta__link>•/span>a classarticle-meta__tags href/tags/Spring/>Spring/a>span classarticle-meta__link>•/span>a classarticle-meta__tags href/tags/SpringBoot/>SpringBoot/a>/span>/div>div classcontent>为什么springboot的jar可以直接运行?前言SpringBoot框架已经成为很多公司的标配,得益于其快速配置和容易上手,将程序员从繁杂的项目配置工作中解脱出来,将精力更多的集中在业务中,而深受程序员的喜爱。通过使用java -jar命令直接运行打包后的SpringBoot项目,不用再搭建额外的tomcat等web容器便可以启动一个web项目。 不知你有没有思考过,打包后的SpringBoot项目为什么可以直接运行呢?今天我们来一探究竟。 准备既然需要jar包,我们先准备一个,这里我通过 Spring Initializr 新建一个 springboothelloworld 空项目。 项目如下: 主启动类: 1234567891011121314package com.example.springboothelloworld;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBo .../div>/div>/div>div classrecent-post-item>div classrecent-post-info no-cover>a classarticle-title href/pages/f9619d/ titlejava的SPI机制>java的SPI机制/a>div classarticle-meta-wrap>span classarticle-meta>i classfas fa-thumbtack sticky>/i>span classsticky>置顶/span>span classarticle-meta__separator>|/span>/span>span classpost-meta-date>i classfar fa-calendar-alt>/i>span classarticle-meta-label>发表于/span>time datetime2024-01-05T03:36:44.000Z title发表于 2024-01-05 11:36:44>2024-01-05/time>/span>span classarticle-meta>span classarticle-meta__separator>|/span>i classfas fa-inbox>/i>a classarticle-meta__categories href/categories/01-java/>01.java/a>i classfas fa-angle-right>/i>a classarticle-meta__categories href/categories/01-java/01-java%E5%9F%BA%E7%A1%80/>01.java基础/a>/span>span classarticle-meta tags>span classarticle-meta__separator>|/span>i classfas fa-tag>/i>a classarticle-meta__tags href/tags/Random/>Random/a>span classarticle-meta__link>•/span>a classarticle-meta__tags href/tags/Java/>Java/a>span classarticle-meta__link>•/span>a classarticle-meta__tags href/tags/Spring/>Spring/a>span classarticle-meta__link>•/span>a classarticle-meta__tags href/tags/SpringBoot/>SpringBoot/a>/span>/div>div classcontent>java的SPI机制什么是SPISPI的全称是Service Provider Interface,中文名为服务提供者接口,是一种服务发现机制,基于JDK内置的动态加载实现扩展点的机制(通过在 ClassPath 路径下的 META-INF/services 文件夹查找文件,自动加载文件里所定义的类),这一机制使得框架扩展和替换组件变得容易。 SPI术语SPI由三个组件构成:Service、Service Provider、ServiceLoader Service:是一个公开的接口或抽象类,定义了一个抽象的功能模块(文件名称) Service Provider:是Service的实现类(文件内容) ServiceLoader:是SPI机制中的核心组件,负责在运行时发现并加载Service Provider SPI架构和API架构区别SPI架构Java SPI 设计理念是基于接口的编程(策略模式)+配置文件组合实现的动态加载机制。 API架构设置 SPI的扩展是基于jar级别,API扩展是基于类级别 SPI 优缺点优点,可实现服务接口与服务实现的解耦: 服务提供者(如 spri .../div>/div>/div>div classrecent-post-item>div classrecent-post-info no-cover>a classarticle-title href/pages/Collection%E5%AE%B6%E6%97%8F/ titleCollection家族>Collection家族/a>div classarticle-meta-wrap>span classarticle-meta>i classfas fa-thumbtack sticky>/i>span classsticky>置顶/span>span classarticle-meta__separator>|/span>/span>span classpost-meta-date>i classfar fa-calendar-alt>/i>span classarticle-meta-label>发表于/span>time datetime2021-09-22T05:44:57.000Z title发表于 2021-09-22 13:44:57>2021-09-22/time>/span>span classarticle-meta>span classarticle-meta__separator>|/span>i classfas fa-inbox>/i>a classarticle-meta__categories href/categories/01-java/>01.java/a>i classfas fa-angle-right>/i>a classarticle-meta__categories href/categories/01-java/01-java%E5%9F%BA%E7%A1%80/>01.java基础/a>/span>span classarticle-meta tags>span classarticle-meta__separator>|/span>i classfas fa-tag>/i>a classarticle-meta__tags href/tags/Collection/>Collection/a>span classarticle-meta__link>•/span>a classarticle-meta__tags href/tags/Java/>Java/a>/span>/div>div classcontent>Collection家族Collection是一个接口,是高度抽象出来的集合,它包含了集合的基本操作和属性。 什么是集合集合是存储对象的容器,面相对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,存储对象,集合是存储对象最常用的一种方式。 集合的出现就是为了持有对象。集合中可以存储任意类型,而且长度可变。在程序中有可能无法预知需要多少个对象,那么用数组来装对象的话,长度不好定义,而集合解决了这样的问题。 集合和数组的区别 数组的长度是固定的,集合长度是可变的。 数组中可以存储基本数据类型,集合只能存储对象(Java集合实际存放的只是对象的引用,每个集合元素都是一个引用变量,实际内容都放在堆内存或方法区里面,但是基本数据类型是在栈内存上分配空间的,栈上的数据随时就会被收回)。 数组中存储数据类型是单一的,集合中可以存储任意类型的对象。 集合接口 上图是Java集合框架图,这边我们就只先看Iterator接口、Collection接口和其子接口。 Iterator简介Iterator的定义如下: 1public interface Iterable<T> .../div>/div>/div>div classrecent-post-item>div classrecent-post-info no-cover>a classarticle-title href/posts/2dea35e1fa5d/ title泛型相关问题>泛型相关问题/a>div classarticle-meta-wrap>span classpost-meta-date>i classfar fa-calendar-alt>/i>span classarticle-meta-label>发表于/span>time datetime2024-01-03T03:36:44.000Z title发表于 2024-01-03 11:36:44>2024-01-03/time>/span>span classarticle-meta>span classarticle-meta__separator>|/span>i classfas fa-inbox>/i>a classarticle-meta__categories href/categories/01-java/>01.java/a>i classfas fa-angle-right>/i>a classarticle-meta__categories href/categories/01-java/01-java%E5%9F%BA%E7%A1%80/>01.java基础/a>/span>span classarticle-meta tags>span classarticle-meta__separator>|/span>i classfas fa-tag>/i>a classarticle-meta__tags href/tags/%E6%B3%9B%E5%9E%8B/>泛型/a>span classarticle-meta__link>•/span>a classarticle-meta__tags href/tags/Java/>Java/a>/span>/div>div classcontent>泛型相关问题泛型是什么 ?泛型是一种参数化类型的机制。它可以使得代码适用于各种类型,从而编写更加通用的代码,例如集合框架。 好处是什么? 保证类型安全,进行编译期错误检查,使代码具有更好的安全性和可读性。 不需要进行类型强制转换,避免了在运行时出现 ClassCastException 避免类型膨胀 如下程序,如果不使用泛型前,强转结果很容易出错: 12345678910111213public class GenericDemo { public static void main(String args) { // 不使用泛型,集合中传入的值类型不会受到限制 // 存值没有限制,取值就容易出错,容器安全性得不到保障 List list new ArrayList(); list.add("String"); list.add(10); for(Object obj : list){ // 数据取出,需要进行强转, .../div>/div>/div>div classrecent-post-item>div classrecent-post-info no-cover>a classarticle-title href/pages/RandomAccess%E6%8E%A5%E5%8F%A3%E7%9A%84%E4%BD%9C%E7%94%A8/ titleRandomAccess接口的作用>RandomAccess接口的作用/a>div classarticle-meta-wrap>span classpost-meta-date>i classfar fa-calendar-alt>/i>span classarticle-meta-label>发表于/span>time datetime2024-01-03T03:36:44.000Z title发表于 2024-01-03 11:36:44>2024-01-03/time>/span>span classarticle-meta>span classarticle-meta__separator>|/span>i classfas fa-inbox>/i>a classarticle-meta__categories href/categories/01-java/>01.java/a>i classfas fa-angle-right>/i>a classarticle-meta__categories href/categories/01-java/01-java%E5%9F%BA%E7%A1%80/>01.java基础/a>/span>span classarticle-meta tags>span classarticle-meta__separator>|/span>i classfas fa-tag>/i>a classarticle-meta__tags href/tags/Random/>Random/a>span classarticle-meta__link>•/span>a classarticle-meta__tags href/tags/Java/>Java/a>/span>/div>div classcontent>RandomAccess接口的作用1、简介RandomAccess 接口是一个空接口,只是一个标记接口,用以标记实现的List集合具备快速随机访问的能力。 1public interface RandomAccess { } 那么什么是随机访问的能力呢?其实很简单,随机访问就是随机的访问List中的任何一个元素。所有的List实现都支持随机访问的,只是基于基本结构的不同,实现的速度不同罢了,这里的快速随机访问,那么就不是所有List集合都支持了。 ArrayList:基于数组实现,天然带下标,可以实现常量级的随机访问,复杂度为O(1)。 LinkedList:基于链表实现,随机访问需要依靠遍历实现,复杂度为O(n)。 二者的差距显而易见,所以ArrayList具备快速随机访问功能,而LinkedList没有。我们也能看到: 12public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Clonea .../div>/div>/div>div classrecent-post-item>div classrecent-post-info no-cover>a classarticle-title href/pages/ff4a52/ titleLinkedList源码分析>LinkedList源码分析/a>div classarticle-meta-wrap>span classpost-meta-date>i classfar fa-calendar-alt>/i>span classarticle-meta-label>发表于/span>time datetime2024-01-03T03:36:44.000Z title发表于 2024-01-03 11:36:44>2024-01-03/time>/span>span classarticle-meta>span classarticle-meta__separator>|/span>i classfas fa-inbox>/i>a classarticle-meta__categories href/categories/01-java/>01.java/a>i classfas fa-angle-right>/i>a classarticle-meta__categories href/categories/01-java/03-java%E6%BA%90%E7%A0%81/>03.java源码/a>/span>span classarticle-meta tags>span classarticle-meta__separator>|/span>i classfas fa-tag>/i>a classarticle-meta__tags href/tags/LinkedList/>LinkedList/a>span classarticle-meta__link>•/span>a classarticle-meta__tags href/tags/Java/>Java/a>/span>/div>div classcontent>LinkedList 源码分析 LinkedList 简介LinkedList 是一个基于双向链表实现的集合类,经常被拿来和 ArrayList 做比较。 不过,我们在项目中一般是不会使用到 LinkedList 的,需要用到 LinkedList 的场景几乎都可以使用 ArrayList 来代替,并且,性能通常会更好!就连 LinkedList 的作者约书亚 · 布洛克(Josh Bloch)自己都说从来不会使用 LinkedList 。 另外,不要下意识地认为 LinkedList 作为链表就最适合元素增删的场景。我在上面也说了,LinkedList 仅仅在头尾插入或者删除元素的时候时间复杂度近似 O(1),其他情况增删元素的平均时间复杂度都是 O(n) 。 LinkedList 插入和删除元素的时间复杂度? 头部插入/删除:只需要修改头结点的指针即可完成插入/删除操作,因此时间复杂度为 O(1)。 尾部插入/删除:只需要修改尾结点的指针即可完成插入/删除操作,因此时间复杂度为 O(1)。 指定位置插入/删除:需要先移动到指定位置,再修改指定节点的指针完成插入/删除,因此需要 .../div>/div>/div>div classrecent-post-item>div classrecent-post-info no-cover>a classarticle-title href/pages/ef1f2b/ titleCopyOnWriteArrayList源码分析>CopyOnWriteArrayList源码分析/a>div classarticle-meta-wrap>span classpost-meta-date>i classfar fa-calendar-alt>/i>span classarticle-meta-label>发表于/span>time datetime2024-01-03T03:36:44.000Z title发表于 2024-01-03 11:36:44>2024-01-03/time>/span>span classarticle-meta>span classarticle-meta__separator>|/span>i classfas fa-inbox>/i>a classarticle-meta__categories href/categories/01-java/>01.java/a>i classfas fa-angle-right>/i>a classarticle-meta__categories href/categories/01-java/03-java%E6%BA%90%E7%A0%81/>03.java源码/a>/span>span classarticle-meta tags>span classarticle-meta__separator>|/span>i classfas fa-tag>/i>a classarticle-meta__tags href/tags/CopyOnWriteArrayList/>CopyOnWriteArrayList/a>span classarticle-meta__link>•/span>a classarticle-meta__tags href/tags/Java/>Java/a>span classarticle-meta__link>•/span>a classarticle-meta__tags href/tags/Golang/>Golang/a>/span>/div>div classcontent>CopyOnWriteArrayList 简介在 JDK1.5 之前,如果想要使用并发安全的 List 只能选择 Vector。而 Vector 是一种老旧的集合,已经被淘汰。Vector 对于增删改查等方法基本都加了 synchronized,这种方式虽然能够保证同步,但这相当于对整个 Vector 加上了一把大锁,使得每个方法执行的时候都要去获得锁,导致性能非常低下。 JDK1.5 引入了 Java.util.concurrent(JUC)包,其中提供了很多线程安全且并发性能良好的容器,其中唯一的线程安全 List 实现就是 CopyOnWriteArrayList 。关于java.util.concurrent 包下常见并发容器的总结,可以看我写的这篇文章:Java 常见并发容器总结 CopyOnWriteArrayList 到底有什么厉害之处?对于大部分业务场景来说,读取操作往往是远大于写入操作的。由于读取操作不会对原有数据进行修改,因此,对于每次读取都进行加锁其实是一种资源浪费。相比之下,我们应该允许多个线程同时访问 List 的内部数据,毕竟对于读取操作来说是安全的。 这种 .../div>/div>/div>div classrecent-post-item>div classrecent-post-info no-cover>a classarticle-title href/pages/%E4%B8%BA%E4%BB%80%E4%B9%88jdk1.7%E4%B8%ADHashMap%E5%A4%B4%E6%8F%92%E5%85%A5%E4%BC%9A%E6%AD%BB%E5%BE%AA%E7%8E%AF/ title为什么jdk1.7中hashMap头插入会死循环>为什么jdk1.7中hashMap头插入会死循环/a>div classarticle-meta-wrap>span classpost-meta-date>i classfar fa-calendar-alt>/i>span classarticle-meta-label>发表于/span>time datetime2023-12-28T09:44:57.000Z title发表于 2023-12-28 17:44:57>2023-12-28/time>/span>span classarticle-meta>span classarticle-meta__separator>|/span>i classfas fa-inbox>/i>a classarticle-meta__categories href/categories/01-java/>01.java/a>i classfas fa-angle-right>/i>a classarticle-meta__categories href/categories/01-java/01-java%E5%9F%BA%E7%A1%80/>01.java基础/a>/span>span classarticle-meta tags>span classarticle-meta__separator>|/span>i classfas fa-tag>/i>a classarticle-meta__tags href/tags/HashMap/>HashMap/a>span classarticle-meta__link>•/span>a classarticle-meta__tags href/tags/Java/>Java/a>/span>/div>div classcontent>为什么jdk1.7中HashMap头插入会死循环先说结论: 主要原因:头插法 +链表 +多线程并发 +扩容 累加到一起就会形成死循环 多线程下:建议采用ConcurrentHashMap替代 JDK1.8中,HashMap改成尾插法,解决了链表死循环的问题 一、数据插入原理由于JDK1.7中,HashMap的底层存储结构采用的是数组+链表的方法 插入数据时候采用的是头插入法 二、导致死循环的原因此时线程T1,T2节点同时指向A节点,同时线程T1,T2的下一个节点T1.next和T2.next指向B节点 开始扩容,此时假设T2的时间片用完了,进入了休眠状态,而线程T1开始执行扩容动作,一直到线程T1扩容完成以后,线程T2才被唤醒 线程T1扩容完成后的场景 线程T1执行扩容后,线程T2的指向依旧没有变化。 当线程T1执行完成后,线程T2恢复执行死循环发生了: 因为T1完成扩容之后,B节点的下一个节点就是A。而T2线程指向的首节点是A,下一个节点是B。这个时候,顺序刚好与T1扩容之前的节点顺序是相反的。T1执行完成以后的顺序是B到A,而T2执行顺序是A到B,这样A节点和B节点形成 .../div>/div>/div>div classrecent-post-item>div classrecent-post-info no-cover>a classarticle-title href/pages/71c2b2/ title从浏览器地址栏输入到页面展现到底发生什么?>从浏览器地址栏输入到页面展现到底发生什么?/a>div classarticle-meta-wrap>span classpost-meta-date>i classfar fa-calendar-alt>/i>span classarticle-meta-label>发表于/span>time datetime2023-12-27T08:47:03.000Z title发表于 2023-12-27 16:47:03>2023-12-27/time>/span>span classarticle-meta>span classarticle-meta__separator>|/span>i classfas fa-inbox>/i>a classarticle-meta__categories href/categories/01-java/>01.java/a>i classfas fa-angle-right>/i>a classarticle-meta__categories href/categories/01-java/01-java%E5%9F%BA%E7%A1%80/>01.java基础/a>/span>span classarticle-meta tags>span classarticle-meta__separator>|/span>i classfas fa-tag>/i>a classarticle-meta__tags href/tags/tcp/>tcp/a>span classarticle-meta__link>•/span>a classarticle-meta__tags href/tags/http/>http/a>span classarticle-meta__link>•/span>a classarticle-meta__tags href/tags/%E6%B5%8F%E8%A7%88%E5%99%A8/>浏览器/a>span classarticle-meta__link>•/span>a classarticle-meta__tags href/tags/Java/>Java/a>span classarticle-meta__link>•/span>a classarticle-meta__tags href/tags/HTML/>HTML/a>span classarticle-meta__link>•/span>a classarticle-meta__tags href/tags/JavaScript/>JavaScript/a>/span>/div>div classcontent>从浏览器地址栏输入到页面展现到底发生什么?前言打开浏览器从输入网址到网页呈现在大家面前,背后到底发生了什么?经历怎么样的一个过程?先给大家来张总体流程图,具体步骤请看下文分解! 总体来说分为以下几个过程: DNS 解析:将域名解析成 IP 地址 TCP 连接:TCP 三次握手 发送 HTTP 请求 服务器处理请求并返回 HTTP 报文 浏览器解析渲染页面 断开连接:TCP 四次挥手 一、URL 到底是啥URL(Uniform Resource Locator),统一资源定位符,用于定位互联网上资源,俗称网址。比如 http://www.w3school.com.cn/ht…,遵守以下的语法规则: scheme://host.domain:port/path/filename各部分解释如下:scheme - 定义因特网服务的类型。常见的协议有 http、https、ftp、file,其中最常见的类型是 http,而 https 则是进行加密的网络传输。host - 定义域主机(http 的默认主机是 www)domain - 定义因特网域名,比如 w3school.com.cnpo .../div>/div>/div>div classrecent-post-item>div classrecent-post-info no-cover>a classarticle-title href/posts/052b0bfb5029/ titleJVM内存结构和JAVA内存模型(JMM)>JVM内存结构和JAVA内存模型(JMM)/a>div classarticle-meta-wrap>span classpost-meta-date>i classfar fa-calendar-alt>/i>span classarticle-meta-label>发表于/span>time datetime2023-11-13T10:44:57.000Z title发表于 2023-11-13 18:44:57>2023-11-13/time>/span>span classarticle-meta>span classarticle-meta__separator>|/span>i classfas fa-inbox>/i>a classarticle-meta__categories href/categories/01-java/>01.java/a>i classfas fa-angle-right>/i>a classarticle-meta__categories href/categories/01-java/04-JVM/>04.JVM/a>/span>span classarticle-meta tags>span classarticle-meta__separator>|/span>i classfas fa-tag>/i>a classarticle-meta__tags href/tags/JAVA%E5%86%85%E5%AD%98%E6%A8%A1%E5%9E%8B/>JAVA内存模型/a>span classarticle-meta__link>•/span>a classarticle-meta__tags href/tags/Java/>Java/a>span classarticle-meta__link>•/span>a classarticle-meta__tags href/tags/%E7%AE%97%E6%B3%95/>算法/a>/span>/div>div classcontent>JVM内存结构和JAVA内存模型前言首先JVM内存结构和JAVA内存模型是两种东西 JVM内存结构:通常被叫做JVM内存模型,也叫做Java内存区域,Java运行时数据区。 JAVA内存模型:是JMM(Java Memory Model),是定义了线程和主内存之间的抽象关系,即 JMM 定义了 JVM 在计算机内存中的工作方式。 理解好 Java 内存模型,对于我们想深入了解 Java并发编程有先导作用 JVM内存结构通过前篇学习了解,JVM可以将class 文件解释成各个平台可以识别的机器码,最终实现跨平台运行代码,这也是为什么需要JVM。 对于JVM内存模型,大体可以分为两个部分。 线程私有:虚拟机栈,本地方法栈,程序计数器 线程公有:堆,方法区 下面展开解释五大组成部分的作用 堆(Heap)在 Java 中,堆被划分成两个不同的区域:新生代 ( Young )、老年代 ( Old )。新生代 ( Young ) 又被划分为三个区域:Eden、From Survivor、To Survivor。 Java堆在虚拟机启动的时候就被创建,Java堆主要用来为类实例对象和数组 .../div>/div>/div>nav idpagination>div classpagination>span classpage-number current>1/span>a classpage-number href/page/2/#content-inner>2/a>span classspace>…/span>a classpage-number href/page/13/#content-inner>13/a>a classextend next relnext href/page/2/#content-inner>i classfas fa-chevron-right fa-fw>/i>/a>/div>/nav>/div>div classaside-content idaside-content>div classcard-widget card-info>div classis-center>div classavatar-img>img src data:image/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs data-lazy-srchttps://lxiaol.oss-cn-beijing.aliyuncs.com/pictures/moyuyu.gif onerrorthis.onerrornull,this.src/img/friend_404.gif altavatar>/div>div classauthor-info__name>Javanbt/div>div classauthor-info__description>乘风破浪会有时,直挂云帆济沧海/div>/div>div classcard-info-data>div classcard-info-data-item is-center>a href/archives/>div classheadline>文章/div>div classlength-num>124/div>/a>/div>div classcard-info-data-item is-center>a href/tags/>div classheadline>标签/div>div classlength-num>104/div>/a>/div>div classcard-info-data-item is-center>a href/categories/>div classheadline>分类/div>div classlength-num>36/div>/a>/div>/div>a classbutton--animated idcard-info-btn target_blank relnoopener hrefhttps://gitee.com/lixiaogou>i classiconfont icon-gitee>/i>span>码云/span>/a>div classcard-info-social-icons is-center>a classsocial-icon hrefhttps://github.com/lixiaolong6881644 target_blank titleGithub>i classfab fa-github>/i>/a>a classsocial-icon hrefhttps://gitee.com/lixiaogou target_blank titleiconfont icon-gitee>i classiconfont icon-gitee>/i>/a>/div>/div>div classsticky_layout>div classcard-widget card-categories>div classitem-headline>i classfas fa-folder-open>/i> span>分类/span> a classcard-more-btn href/categories/ title查看更多>i classfas fa-angle-right>/i>/a>/div>ul classcard-category-list idaside-cat-list>li classcard-category-list-item parent>a classcard-category-list-link href/categories/01-java/>span classcard-category-list-name>01.java/span>span classcard-category-list-count>42/span>i classfas fa-caret-left>/i>/a>ul classcard-category-list child>li classcard-category-list-item>a classcard-category-list-link href/categories/01-java/01-java%E5%9F%BA%E7%A1%80/>span classcard-category-list-name>01.java基础/span>span classcard-category-list-count>11/span>/a>/li>li classcard-category-list-item>a classcard-category-list-link href/categories/01-java/02-java%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/>span classcard-category-list-name>02.java数据结构与算法/span>span classcard-category-list-count>14/span>/a>/li>li classcard-category-list-item>a classcard-category-list-link href/categories/01-java/03-java%E6%BA%90%E7%A0%81/>span classcard-category-list-name>03.java源码/span>span classcard-category-list-count>5/span>/a>/li>li classcard-category-list-item>a classcard-category-list-link href/categories/01-java/04-JVM/>span classcard-category-list-name>04.JVM/span>span classcard-category-list-count>3/span>/a>/li>li classcard-category-list-item>a classcard-category-list-link href/categories/01-java/05-%E5%B9%B6%E5%8F%91%E5%A4%9A%E7%BA%BF%E7%A8%8B/>span classcard-category-list-name>05.并发多线程/span>span classcard-category-list-count>9/span>/a>/li>/ul>/li>li classcard-category-list-item parent>a classcard-category-list-link href/categories/02-%E6%A1%86%E6%9E%B6%E4%B8%AD%E9%97%B4%E4%BB%B6/>span classcard-category-list-name>02.框架中间件/span>span classcard-category-list-count>20/span>i classfas fa-caret-left>/i>/a>ul classcard-category-list child>li classcard-category-list-item>a classcard-category-list-link href/categories/02-%E6%A1%86%E6%9E%B6%E4%B8%AD%E9%97%B4%E4%BB%B6/01-spring/>span classcard-category-list-name>01.spring/span>span classcard-category-list-count>7/span>/a>/li>li classcard-category-list-item>a classcard-category-list-link href/categories/02-%E6%A1%86%E6%9E%B6%E4%B8%AD%E9%97%B4%E4%BB%B6/02-mysql/>span classcard-category-list-name>02.mysql/span>span classcard-category-list-count>6/span>/a>/li>li classcard-category-list-item>a classcard-category-list-link href/categories/02-%E6%A1%86%E6%9E%B6%E4%B8%AD%E9%97%B4%E4%BB%B6/03-mybatis/>span classcard-category-list-name>03.mybatis/span>span classcard-category-list-count>2/span>/a>/li>li classcard-category-list-item>a classcard-category-list-link href/categories/02-%E6%A1%86%E6%9E%B6%E4%B8%AD%E9%97%B4%E4%BB%B6/04-mq/>span classcard-category-list-name>04.mq/span>span classcard-category-list-count>2/span>/a>/li>li classcard-category-list-item>a classcard-category-list-link href/categories/02-%E6%A1%86%E6%9E%B6%E4%B8%AD%E9%97%B4%E4%BB%B6/05-redis/>span classcard-category-list-name>05.redis/span>span classcard-category-list-count>2/span>/a>/li>li classcard-category-list-item>a classcard-category-list-link href/categories/02-%E6%A1%86%E6%9E%B6%E4%B8%AD%E9%97%B4%E4%BB%B6/06-bloomFilter/>span classcard-category-list-name>06.bloomFilter/span>span classcard-category-list-count>1/span>/a>/li>/ul>/li>li classcard-category-list-item parent>a classcard-category-list-link href/categories/03-%E5%B7%A5%E5%85%B7/>span classcard-category-list-name>03.工具/span>span classcard-category-list-count>18/span>i classfas fa-caret-left>/i>/a>ul classcard-category-list child>li classcard-category-list-item>a classcard-category-list-link href/categories/03-%E5%B7%A5%E5%85%B7/03-Nodejs/>span classcard-category-list-name>03.Nodejs/span>span classcard-category-list-count>1/span>/a>/li>li classcard-category-list-item>a classcard-category-list-link href/categories/03-%E5%B7%A5%E5%85%B7/04-%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/>span classcard-category-list-name>04.博客搭建/span>span classcard-category-list-count>4/span>/a>/li>li classcard-category-list-item>a classcard-category-list-link href/categories/03-%E5%B7%A5%E5%85%B7/05-docker/>span classcard-category-list-name>05.docker/span>span classcard-category-list-count>11/span>/a>/li>li classcard-category-list-item>a classcard-category-list-link href/categories/03-%E5%B7%A5%E5%85%B7/06-easyexcel/>span classcard-category-list-name>06.easyexcel/span>span classcard-category-list-count>1/span>/a>/li>li classcard-category-list-item>a classcard-category-list-link href/categories/03-%E5%B7%A5%E5%85%B7/07-VMware16/>span classcard-category-list-name>07.VMware16/span>span classcard-category-list-count>1/span>/a>/li>/ul>/li>li classcard-category-list-item parent>a classcard-category-list-link href/categories/04-%E7%AE%97%E6%B3%95/>span classcard-category-list-name>04.算法/span>span classcard-category-list-count>38/span>i classfas fa-caret-left>/i>/a>ul classcard-category-list child>li classcard-category-list-item>a classcard-category-list-link href/categories/04-%E7%AE%97%E6%B3%95/01-%E9%93%BE%E8%A1%A8/>span classcard-category-list-name>01.链表/span>span classcard-category-list-count>3/span>/a>/li>li classcard-category-list-item>a classcard-category-list-link href/categories/04-%E7%AE%97%E6%B3%95/02-%E6%A0%88%E4%B8%8E%E9%98%9F%E5%88%97/>span classcard-category-list-name>02.栈与队列/span>span classcard-category-list-count>2/span>/a>/li>li classcard-category-list-item>a classcard-category-list-link href/categories/04-%E7%AE%97%E6%B3%95/03-%E6%9F%A5%E6%89%BE%E7%AE%97%E6%B3%95/>span classcard-category-list-name>03.查找算法/span>span classcard-category-list-count>3/span>/a>/li>li classcard-category-list-item>a classcard-category-list-link href/categories/04-%E7%AE%97%E6%B3%95/04-%E4%BD%8D%E8%BF%90%E7%AE%97/>span classcard-category-list-name>04.位运算/span>span classcard-category-list-count>2/span>/a>/li>li classcard-category-list-item>a classcard-category-list-link href/categories/04-%E7%AE%97%E6%B3%95/05-%E5%AD%97%E7%AC%A6%E4%B8%B2/>span classcard-category-list-name>05.字符串/span>span classcard-category-list-count>2/span>/a>/li>li classcard-category-list-item>a classcard-category-list-link href/categories/04-%E7%AE%97%E6%B3%95/06-%E5%8F%8C%E6%8C%87%E9%92%88/>span classcard-category-list-name>06.双指针/span>span classcard-category-list-count>8/span>/a>/li>li classcard-category-list-item>a classcard-category-list-link href/categories/04-%E7%AE%97%E6%B3%95/07-%E6%90%9C%E7%B4%A2%E4%B8%8E%E5%9B%9E%E6%BA%AF%E7%AE%97%E6%B3%95/>span classcard-category-list-name>07.搜索与回溯算法/span>span classcard-category-list-count>6/span>/a>/li>li classcard-category-list-item>a classcard-category-list-link href/categories/04-%E7%AE%97%E6%B3%95/08-%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92/>span classcard-category-list-name>08.动态规划/span>span classcard-category-list-count>3/span>/a>/li>li classcard-category-list-item>a classcard-category-list-link href/categories/04-%E7%AE%97%E6%B3%95/09-%E6%95%B0%E5%AD%A6/>span classcard-category-list-name>09.数学/span>span classcard-category-list-count>1/span>/a>/li>li classcard-category-list-item>a classcard-category-list-link href/categories/04-%E7%AE%97%E6%B3%95/10-%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92/>span classcard-category-list-name>10.动态规划/span>span classcard-category-list-count>4/span>/a>/li>/ul>/li>/ul>/div>div classcard-widget card-recent-post>div classitem-headline>i classfas fa-history>/i>span>最新文章/span>/div>div classaside-list>div classaside-list-item>a classthumbnail href/posts/8701cc3813ac/ title为什么springboot的jar可以直接运行>img src data:image/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs data-lazy-srchttp://lxiaol.oss-cn-beijing.aliyuncs.com/pictures/cover/109951168996786368.jpg onerrorthis.onerrornull,this.srchttps://lxiaol.oss-cn-beijing.aliyuncs.com/pictures/%E5%85%AC%E4%BC%97%E5%8F%B78x8.jpg alt为什么springboot的jar可以直接运行>/a>div classcontent>a classtitle href/posts/8701cc3813ac/ title为什么springboot的jar可以直接运行>为什么springboot的jar可以直接运行/a>time datetime2024-01-08T12:00:00.000Z title发表于 2024-01-08 20:00:00>2024-01-08/time>/div>/div>div classaside-list-item>a classthumbnail href/pages/f9619d/ titlejava的SPI机制>img src data:image/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs data-lazy-srchttp://lxiaol.oss-cn-beijing.aliyuncs.com/pictures/cover/0c980a15c9ecc0453ea8eab25e38b5170110fc88.jpg onerrorthis.onerrornull,this.srchttps://lxiaol.oss-cn-beijing.aliyuncs.com/pictures/%E5%85%AC%E4%BC%97%E5%8F%B78x8.jpg altjava的SPI机制>/a>div classcontent>a classtitle href/pages/f9619d/ titlejava的SPI机制>java的SPI机制/a>time datetime2024-01-05T03:36:44.000Z title发表于 2024-01-05 11:36:44>2024-01-05/time>/div>/div>div classaside-list-item>a classthumbnail href/posts/2dea35e1fa5d/ title泛型相关问题>img src data:image/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs data-lazy-srchttp://lxiaol.oss-cn-beijing.aliyuncs.com/pictures/cover/109951169161472972.jpg onerrorthis.onerrornull,this.srchttps://lxiaol.oss-cn-beijing.aliyuncs.com/pictures/%E5%85%AC%E4%BC%97%E5%8F%B78x8.jpg alt泛型相关问题>/a>div classcontent>a classtitle href/posts/2dea35e1fa5d/ title泛型相关问题>泛型相关问题/a>time datetime2024-01-03T03:36:44.000Z title发表于 2024-01-03 11:36:44>2024-01-03/time>/div>/div>div classaside-list-item>a classthumbnail href/pages/RandomAccess%E6%8E%A5%E5%8F%A3%E7%9A%84%E4%BD%9C%E7%94%A8/ titleRandomAccess接口的作用>img src data:image/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs data-lazy-srchttps://lxiaol.oss-cn-beijing.aliyuncs.com/pictures/cover/109951169033994929.jpg onerrorthis.onerrornull,this.srchttps://lxiaol.oss-cn-beijing.aliyuncs.com/pictures/%E5%85%AC%E4%BC%97%E5%8F%B78x8.jpg altRandomAccess接口的作用>/a>div classcontent>a classtitle href/pages/RandomAccess%E6%8E%A5%E5%8F%A3%E7%9A%84%E4%BD%9C%E7%94%A8/ titleRandomAccess接口的作用>RandomAccess接口的作用/a>time datetime2024-01-03T03:36:44.000Z title发表于 2024-01-03 11:36:44>2024-01-03/time>/div>/div>div classaside-list-item>a classthumbnail href/pages/ff4a52/ titleLinkedList源码分析>img src data:image/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs data-lazy-srchttp://lxiaol.oss-cn-beijing.aliyuncs.com/pictures/cover/19107313068153661.jpg onerrorthis.onerrornull,this.srchttps://lxiaol.oss-cn-beijing.aliyuncs.com/pictures/%E5%85%AC%E4%BC%97%E5%8F%B78x8.jpg altLinkedList源码分析>/a>div classcontent>a classtitle href/pages/ff4a52/ titleLinkedList源码分析>LinkedList源码分析/a>time datetime2024-01-03T03:36:44.000Z title发表于 2024-01-03 11:36:44>2024-01-03/time>/div>/div>/div>/div>div classcard-widget card-tags>div classitem-headline>i classfas fa-tags>/i>span>标签/span>/div>div classcard-tag-cloud>a href/tags/%E5%85%A8%E5%B1%80%E5%BC%82%E5%B8%B8/ stylefont-size:1.15em;color:#832db0>全局异常/a>a href/tags/%E9%80%92%E5%BD%92/ stylefont-size:1.3em;color:#7a3b13>递归/a>a href/tags/%E7%86%94%E6%96%AD/ stylefont-size:1.15em;color:#897413>熔断/a>a href/tags/%E9%99%90%E6%B5%81/ stylefont-size:1.15em;color:#44337d>限流/a>a href/tags/%E5%85%A8%E5%B1%80%E5%8A%A0%E5%AF%86%E8%A7%A3%E5%AF%86/ stylefont-size:1.15em;color:#40367c>全局加密解密/a>a href/tags/%E4%BA%8B%E5%8A%A1/ stylefont-size:1.15em;color:#3d3ab6>事务/a>a href/tags/%E9%9A%94%E7%A6%BB/ stylefont-size:1.15em;color:#8fc0a4>隔离/a>a href/tags/mybatis/ stylefont-size:1.3em;color:#c8ba63>mybatis/a>a href/tags/SQL%E6%98%A0%E5%B0%84/ stylefont-size:1.15em;color:#879061>SQL映射/a>a href/tags/Explain/ stylefont-size:1.15em;color:#b227b3>Explain/a>a href/tags/springboot/ stylefont-size:1.3em;color:#40533f>springboot/a>a href/tags/IOC/ stylefont-size:1.15em;color:#967558>IOC/a>a href/tags/DI/ stylefont-size:1.15em;color:#4bb04b>DI/a>a href/tags/AOP/ stylefont-size:1.15em;color:#5b3281>AOP/a>a href/tags/%E7%B4%A2%E5%BC%95/ stylefont-size:1.45em;color:#a5ba94>索引/a>a href/tags/%E8%A6%86%E7%9B%96%E7%B4%A2%E5%BC%95/ stylefont-size:1.15em;color:#05407d>覆盖索引/a>a href/tags/%E7%B4%A2%E5%BC%95%E4%B8%8B%E6%8E%A8/ stylefont-size:1.15em;color:#5bbc50>索引下推/a>a href/tags/%E5%9B%9E%E8%A1%A8%E6%9F%A5%E8%AF%A2/ stylefont-size:1.15em;color:#174429>回表查询/a>a href/tags/%E6%9C%80%E5%B7%A6%E5%8C%B9%E9%85%8D/ stylefont-size:1.15em;color:#c8c551>最左匹配/a>a href/tags/mvcc/ stylefont-size:1.15em;color:#9d2d47>mvcc/a>/div>/div>div classcard-widget card-webinfo>div classitem-headline>i classfas fa-chart-line>/i>span>网站资讯/span>/div>div classwebinfo>div classwebinfo-item>div classitem-name>文章数目 :/div>div classitem-count>124/div>/div>div classwebinfo-item>div classitem-name>已运行时间 :/div>div classitem-count idruntimeshow data-publishdate2020-08-12T16:00:00.000Z>/div>/div>div classwebinfo-item>div classitem-name>本站总字数 :/div>div classitem-count>332.1k/div>/div>div classwebinfo-item>div classitem-name>本站访客数 :/div>div classitem-count idbusuanzi_value_site_uv>/div>/div>div classwebinfo-item>div classitem-name>本站总访问量 :/div>div classitem-count idbusuanzi_value_site_pv>/div>/div>div classwebinfo-item>div classitem-name>最后更新时间 :/div>div classitem-count idlast-push-date data-lastpushdate2024-02-23T07:35:52.256Z>/div>/div>/div>/div>/div>/div>/main>footer idfooter>div idfooter-wrap>div classcopyright>©2020 - 2024 i idheartbeat classfa fas fa-heartbeat>/i> Javanbt/div>div classframework-info>span>框架 /span>a target_blank relnoopener hrefhttps://hexo.io>Hexo/a>span classfooter-separator>|/span>span>主题 /span>a target_blank relnoopener hrefhttps://github.com/jerryc127/hexo-theme-butterfly>Butterfly/a>/div>div classfooter_custom_text>乘风破浪会有时,直挂云帆济沧海br>a hrefhttps://beian.miit.gov.cn stylecolor:#f72b07 target_blank>鲁ICP备2020034291号/a>/div>/div>/footer>/div>div idrightside>div idrightside-config-hide>button iddarkmode typebutton title浅色和深色模式转换>i classfas fa-adjust>/i>/button>button idhide-aside-btn typebutton title单栏和双栏切换>i classfas fa-arrows-alt-h>/i>/button>/div>div idrightside-config-show>button idrightside_config typebutton title设置>i classfas fa-cog fa-spin>/i>/button>button idgo-up typebutton title回到顶部>i classfas fa-arrow-up>/i>/button>/div>/div>div idlocal-search>div classsearch-dialog>div classsearch-dialog__title idlocal-search-title>本地搜索/div>div idlocal-input-panel>div idlocal-search-input>div classlocal-search-box>input classlocal-search-box--input placeholder搜索文章 typetext>/div>/div>/div>hr>div idlocal-search-results>/div>span classsearch-close-button>i classfas fa-times>/i>/span>/div>div idsearch-mask>/div>/div>div>script src/js/utils.js>/script>script src/js/main.js>/script>script src/js/cdn/lazyload.iife.min.js>/script>script src/js/cdn/snackbar.min.js>/script>script src/js/search/local-search.js>/script>div classjs-pjax>script>function subtitleType () { getScript(https://sdk.jinrishici.com/v2/browser/jinrishici.js).then(() > { jinrishici.load(function (result) { if (true) { var sub .length 0 ? new Array() : .split(,) var content result.data.content var both sub.unshift(content) var typed new Typed(#subtitle, { strings: sub, startDelay: 300, typeSpeed: 150, loop: false, backSpeed: 50, }) } else { document.getElementById(subtitle).innerHTML result.data.content } }) })}if (true) { if (typeof Typed function) { subtitleType() } else { getScript(/js/cdn/typed.min.js).then(subtitleType) }} else { subtitleType()}/script>/div>script data-pjax src/js/cdn/jquery.min.js>/script>script data-pjax src/js/xkTool.js>/script>script data-pjax src/js/myDiyJs.js>/script>script idclick-show-text src/js/cdn/click-show-text.min.js data-mobilefalse data-text卧槽,🐂🍺,666 data-fontsize15px data-randomfalse async>/script>script async data-pjax src//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js>/script>/div>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]