-
Notifications
You must be signed in to change notification settings - Fork 0
life is beautiful like sunshine!
hello-java-maker/OUYANGSIHAI.github.io
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Sorry, we had to truncate this directory to 1,000 files. 2303 entries were omitted from the list. | ||||
Repository files navigation
<!DOCTYPE HTML>
<html lang="zh-CN">
<!-- shw2018 洪卫 modify 2019.08.15-->
<head>
<meta charset="utf-8">
<meta name="keywords" content="Spring Boot, Spring Cloud, 微服务, Java技术, 好好学java, Java面试, 分布式, 最新干货分享">
<meta name="baidu-site-verification" content="fmlEuI34ir" />
<meta name="google-site-verification" content="ZWVq5UvPg33BCEA3LRTUkYe5J854o9lF1_WRTer9l8A" />
<meta name="description" content="本站是 好好学java 的技术分享博客。内容涵盖Java后端技术、Spring Boot、Spring Cloud、微服务架构、分布式、Java面试、测试开发等相关的研究与知识分享。">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0, 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>好好学java | Spring Boot | Spring Cloud | 微服务 | Java技术 | Java面试 | 分布式 | 最新干货分享</title>
<link rel="icon" type="image/png" href="http://image.ouyangsihai.cn/FjihsEiBMONnJIRtPwgGkjE4HAP7">
<!-- <link rel="stylesheet" type="text/css" href="/libs/awesome/css/font-awesome.min.css"> -->
<link rel="stylesheet" type="text/css" href="/libs/materialize/materialize.min.css">
<link rel="stylesheet" type="text/css" href="/libs/aos/aos.css">
<link rel="stylesheet" type="text/css" href="/libs/animate/animate.min.css">
<link rel="stylesheet" type="text/css" href="/libs/lightGallery/css/lightgallery.min.css">
<link rel="stylesheet" type="text/css" href="/css/matery.css">
<link rel="stylesheet" type="text/css" href="/css/my.css">
<!-- 自定义fontawesome样式:欧阳思海 -->
<link rel="stylesheet" type="text/css" href="/css/all.min.css">
<link rel="stylesheet" type="text/css" href="/css/brands.min.css">
<link rel="stylesheet" type="text/css" href="/css/fontawesome.min.css">
<link rel="stylesheet" type="text/css" href="/css/regular.min.css">
<link rel="stylesheet" type="text/css" href="/css/solid.min.css">
<style type="text/css">
code[class*="language-"],
pre[class*="language-"] {
white-space: pre !important;
}
/* 将matery.css中的背景颜色修改放到这里:欧阳思海 */
.bg-color {
background-image: linear-gradient(to right, #ec8585 0%, #419488 100%);
opacity: 0.9;
// 透明度
}
</style>
<script src="/libs/jquery/jquery-2.2.0.min.js"></script>
<script src="https://sdk.jinrishici.com/v2/browser/jinrishici.js" charset="utf-8"></script>
<script>
(function () {
var bp = document.createElement('script');
var curProtocol = window.location.protocol.split(':')[0];
if (curProtocol === 'https') {
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
}
else {
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
}
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(bp, s);
})();
</script>
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?6fe466069710c03a563713b507fbaca7";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
<!-- Google Analytics -->
<script>
(function (i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () {
(i[r].q = i[r].q || []).push(arguments)
}, i[r].l = 1 * new Date(); a = s.createElement(o),
m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m)
})(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');
ga('create', 'UA-XXXXX-Y', 'auto');
ga('send', 'pageview');
</script>
<!-- End Google Analytics -->
<script>(function (i, s, o, g, r, a, m) { i["DaoVoiceObject"] = r; i[r] = i[r] || function () { (i[r].q = i[r].q || []).push(arguments) }, i[r].l = 1 * new Date(); a = s.createElement(o), m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; a.charset = "utf-8"; m.parentNode.insertBefore(a, m) })(window, document, "script", ('https:' == document.location.protocol ? 'https:' : 'http:') + "//widget.daovoice.io/widget/0a804bac.js", "daovoice")</script>
<script>
if (true) {
daovoice('init', {
app_id: "0a804bac",
user_id: "NO_89757", // 必填: 该用户在您系统上的唯一ID
email: "daovoice@example.com", // 选填: 该用户在您系统上的主邮箱
name: "道客船长", // 选填: 用户名
signed_up: 1449821660 // 选填: 用户的注册时间,用Unix时间戳表示
});
daovoice('update');
daovoice('init', {
app_id: "0a804bac"
});
daovoice('update');
}
</script>
<meta name="generator" content="Hexo 6.0.0"><link rel="alternate" href="/rss2.xml" title="好好学java" type="application/rss+xml">
<link rel="stylesheet" href="/css/prism-tomorrow.css" type="text/css">
<link rel="stylesheet" href="/css/prism-line-numbers.css" type="text/css"></head>
<body>
<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="http://image.ouyangsihai.cn/FjihsEiBMONnJIRtPwgGkjE4HAP7" class="logo-img" alt="LOGO">
<span class="logo-span" style="font-size: 1.4rem;">好好学java</span>
</a>
</div>
<!-- <a href="#" data-target="mobile-nav" class="sidenav-trigger button-collapse"><i class="fa fa-navicon"></i></a>
<ul class="right">
<li class="hide-on-med-and-down">
<a href="" class="waves-effect waves-light">
<i class="fa "></i>
<span></span>
</a>
</li>
<li>
<a href="#searchModal" class="modal-trigger waves-effect waves-light">
<i id="searchIcon" class="fa fa-search" title=""></i>
</a>
</li>
</ul> -->
<!-- 支持二级菜单特性 洪卫 shw2018 modify 2019.09.17 -->
<a href="#" data-target="mobile-nav" class="sidenav-trigger button-collapse"><i class="fa fa-align-justify"></i></a>
<ul class="right nav-menu">
<li class="hide-on-med-and-down nav-item" >
<a href="/categories/" class="waves-effect waves-light">
<i style="font-size: 1.1rem;" class="fa fa-folder-minus"></i>
<span style="font-size: 1.1rem;">Java学习</span>
<i style="font-size: 1.1rem;" class="fa fa-chevron-down" aria-hidden="true"></i>
</a>
<ul class="sub-nav menus_item_child ">
<li>
<a href="/categories/Java%E6%A0%B8%E5%BF%83%E7%9F%A5%E8%AF%86/" >
<span>Java入门</span>
</a>
</li>
<li>
<a href="/categories/Javaweb/" >
<span>Java Web</span>
</a>
</li>
<li>
<a href="/categories/spring%E6%95%99%E7%A8%8B/" >
<span>Spring教程</span>
</a>
</li>
<li>
<a href="/categories/springboot%E6%95%99%E7%A8%8B/" >
<span>SpringBoot教程</span>
</a>
</li>
<li>
<a href="/categories/springcloud%E6%95%99%E7%A8%8B/" >
<span>SpringCloud教程</span>
</a>
</li>
<li>
<a href="/categories/Java%E9%9D%A2%E8%AF%95%E9%A2%98/" >
<span>Java面试</span>
</a>
</li>
<li>
<a href="/categories/%E5%89%91%E6%8C%87offer/" >
<span>剑指offer</span>
</a>
</li>
</ul>
</li>
<li class="hide-on-med-and-down nav-item" >
<a href="/categories/" class="waves-effect waves-light">
<i style="font-size: 1.1rem;" class="fa fa-code-branch"></i>
<span style="font-size: 1.1rem;">Java进阶</span>
<i style="font-size: 1.1rem;" class="fa fa-chevron-down" aria-hidden="true"></i>
</a>
<ul class="sub-nav menus_item_child ">
<li>
<a href="/categories/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F%E7%B3%BB%E5%88%97/" >
<span>设计模式</span>
</a>
</li>
<li>
<a href="/categories/Java%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/" >
<span>Java并发编程</span>
</a>
</li>
<li>
<a href="/categories/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/" >
<span>数据库</span>
</a>
</li>
<li>
<a href="/categories/redis/" >
<span>Redis</span>
</a>
</li>
<li>
<a href="/categories/linux/" >
<span>Linux</span>
</a>
</li>
<li>
<a href="/categories/%E5%AE%9E%E6%88%98%E9%A1%B9%E7%9B%AE/" >
<span>Java实战项目</span>
</a>
</li>
</ul>
</li>
<li class="hide-on-med-and-down nav-item" >
<a href="/categories/" class="waves-effect waves-light">
<i style="font-size: 1.1rem;" class="fa fa-code"></i>
<span style="font-size: 1.1rem;">python学习</span>
<i style="font-size: 1.1rem;" class="fa fa-chevron-down" aria-hidden="true"></i>
</a>
<ul class="sub-nav menus_item_child ">
<li>
<a href="/categories/python%E5%9F%BA%E7%A1%80/" >
<span>python基础</span>
</a>
</li>
<li>
<a href="/categories/python%E6%A1%86%E6%9E%B6/" >
<span>python框架</span>
</a>
</li>
<li>
<a href="/categories/python%E5%85%B6%E4%BB%96/" >
<span>python其他</span>
</a>
</li>
</ul>
</li>
<li class="hide-on-med-and-down nav-item" >
<a href="/categories/" class="waves-effect waves-light">
<i style="font-size: 1.1rem;" class="fa fa-coffee"></i>
<span style="font-size: 1.1rem;">Java扩展</span>
<i style="font-size: 1.1rem;" class="fa fa-chevron-down" aria-hidden="true"></i>
</a>
<ul class="sub-nav menus_item_child ">
<li>
<a href="/categories/dubbo/" >
<span>dubbo</span>
</a>
</li>
<li>
<a href="/categories/netty/" >
<span>netty</span>
</a>
</li>
<li>
<a href="/categories/rpc/" >
<span>rpc</span>
</a>
</li>
<li>
<a href="/categories/eureka/" >
<span>eureka</span>
</a>
</li>
<li>
<a href="/categories/%E4%B8%AD%E9%97%B4%E4%BB%B6/" >
<span>中间件</span>
</a>
</li>
<li>
<a href="/categories/%E5%88%86%E5%B8%83%E5%BC%8F/" >
<span>分布式</span>
</a>
</li>
</ul>
</li>
<li class="hide-on-med-and-down nav-item" >
<a href="/categories/" class="waves-effect waves-light">
<i style="font-size: 1.1rem;" class="fa fa-desktop"></i>
<span style="font-size: 1.1rem;">计算机核心</span>
<i style="font-size: 1.1rem;" class="fa fa-chevron-down" aria-hidden="true"></i>
</a>
<ul class="sub-nav menus_item_child ">
<li>
<a href="/categories/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/" >
<span>数据结构</span>
</a>
</li>
<li>
<a href="/categories/leetcode%E5%88%B7%E9%A2%98/" >
<span>leetcode刷题</span>
</a>
</li>
<li>
<a href="/categories/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/" >
<span>计算机网络</span>
</a>
</li>
<li>
<a href="/categories/%E7%AE%97%E6%B3%95/" >
<span>算法</span>
</a>
</li>
</ul>
</li>
<li class="hide-on-med-and-down nav-item" >
<a href="/categories/" class="waves-effect waves-light">
<i style="font-size: 1.1rem;" class="fa fa-adjust"></i>
<span style="font-size: 1.1rem;">学习资源</span>
</a>
</li>
<li class="hide-on-med-and-down nav-item" >
<a href="/contact" class="waves-effect waves-light">
<i style="font-size: 1.1rem;" class="fa fa-envelope"></i>
<span style="font-size: 1.1rem;">留言</span>
</a>
</li>
<li>
<a href="#searchModal" class="modal-trigger waves-effect waves-light">
<i id="searchIcon" class="fa fa-search" title="搜索"></i>
</a>
</li>
</ul>
<div id="mobile-nav" class="side-nav sidenav">
<div class="mobile-head bg-color">
<img src="http://image.ouyangsihai.cn/FjihsEiBMONnJIRtPwgGkjE4HAP7" class="logo-img circle responsive-img">
<div class="logo-name">好好学java</div>
<div class="logo-desc">
本站是 好好学java 的技术分享博客,涵盖Java后端技术、SpringBoot、微服务架构、分布式、Java面试等知 ...
</div>
</div>
<ul class="menu-list mobile-menu-list">
<li class="m-nav-item">
<a href="javascript:;">
<i class="fa fa-fw fa-folder-minus"></i>
Java学习
<span class="m-icon"><i class="fa fa-chevron-right"></i></span>
</a>
<ul >
<li>
<a href="/categories/Java%E6%A0%B8%E5%BF%83%E7%9F%A5%E8%AF%86/ " style="margin-left:75px";>
<span>Java入门</span>
</a>
</li>
<li>
<a href="/categories/Javaweb/ " style="margin-left:75px";>
<span>Java Web</span>
</a>
</li>
<li>
<a href="/categories/spring%E6%95%99%E7%A8%8B/ " style="margin-left:75px";>
<span>Spring教程</span>
</a>
</li>
<li>
<a href="/categories/springboot%E6%95%99%E7%A8%8B/ " style="margin-left:75px";>
<span>SpringBoot教程</span>
</a>
</li>
<li>
<a href="/categories/springcloud%E6%95%99%E7%A8%8B/ " style="margin-left:75px";>
<span>SpringCloud教程</span>
</a>
</li>
<li>
<a href="/categories/Java%E9%9D%A2%E8%AF%95%E9%A2%98/ " style="margin-left:75px";>
<span>Java面试</span>
</a>
</li>
<li>
<a href="/categories/%E5%89%91%E6%8C%87offer/ " style="margin-left:75px";>
<span>剑指offer</span>
</a>
</li>
</ul>
</li>
<li class="m-nav-item">
<a href="javascript:;">
<i class="fa fa-fw fa-code-branch"></i>
Java进阶
<span class="m-icon"><i class="fa fa-chevron-right"></i></span>
</a>
<ul >
<li>
<a href="/categories/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F%E7%B3%BB%E5%88%97/ " style="margin-left:75px";>
<span>设计模式</span>
</a>
</li>
<li>
<a href="/categories/Java%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/ " style="margin-left:75px";>
<span>Java并发编程</span>
</a>
</li>
<li>
<a href="/categories/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9B%B8%E5%85%B3/ " style="margin-left:75px";>
<span>数据库</span>
</a>
</li>
<li>
<a href="/categories/redis/ " style="margin-left:75px";>
<span>Redis</span>
</a>
</li>
<li>
<a href="/categories/linux/ " style="margin-left:75px";>
<span>Linux</span>
</a>
</li>
<li>
<a href="/categories/%E5%AE%9E%E6%88%98%E9%A1%B9%E7%9B%AE/ " style="margin-left:75px";>
<span>Java实战项目</span>
</a>
</li>
</ul>
</li>
<li class="m-nav-item">
<a href="javascript:;">
<i class="fa fa-fw fa-code"></i>
python学习
<span class="m-icon"><i class="fa fa-chevron-right"></i></span>
</a>
<ul >
<li>
<a href="/categories/python%E5%9F%BA%E7%A1%80/ " style="margin-left:75px";>
<span>python基础</span>
</a>
</li>
<li>
<a href="/categories/python%E6%A1%86%E6%9E%B6/ " style="margin-left:75px";>
<span>python框架</span>
</a>
</li>
<li>
<a href="/categories/python%E5%85%B6%E4%BB%96/ " style="margin-left:75px";>
<span>python其他</span>
</a>
</li>
</ul>
</li>
<li class="m-nav-item">
<a href="javascript:;">
<i class="fa fa-fw fa-coffee"></i>
Java扩展
<span class="m-icon"><i class="fa fa-chevron-right"></i></span>
</a>
<ul >
<li>
<a href="/categories/dubbo/ " style="margin-left:75px";>
<span>dubbo</span>
</a>
</li>
<li>
<a href="/categories/netty/ " style="margin-left:75px";>
<span>netty</span>
</a>
</li>
<li>
<a href="/categories/rpc/ " style="margin-left:75px";>
<span>rpc</span>
</a>
</li>
<li>
<a href="/categories/eureka/ " style="margin-left:75px";>
<span>eureka</span>
</a>
</li>
<li>
<a href="/categories/%E4%B8%AD%E9%97%B4%E4%BB%B6/ " style="margin-left:75px";>
<span>中间件</span>
</a>
</li>
<li>
<a href="/categories/%E5%88%86%E5%B8%83%E5%BC%8F/ " style="margin-left:75px";>
<span>分布式</span>
</a>
</li>
</ul>
</li>
<li class="m-nav-item">
<a href="javascript:;">
<i class="fa fa-fw fa-desktop"></i>
计算机核心
<span class="m-icon"><i class="fa fa-chevron-right"></i></span>
</a>
<ul >
<li>
<a href="/categories/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/ " style="margin-left:75px";>
<span>数据结构</span>
</a>
</li>
<li>
<a href="/categories/leetcode%E5%88%B7%E9%A2%98/ " style="margin-left:75px";>
<span>leetcode刷题</span>
</a>
</li>
<li>
<a href="/categories/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/ " style="margin-left:75px";>
<span>计算机网络</span>
</a>
</li>
<li>
<a href="/categories/%E7%AE%97%E6%B3%95/ " style="margin-left:75px";>
<span>算法</span>
</a>
</li>
</ul>
</li>
<li class="m-nav-item">
<a href="/categories/" class="waves-effect waves-light">
<i class="fa fa-fw fa-adjust"></i>
学习资源
</a>
</li>
<li class="m-nav-item">
<a href="/contact" class="waves-effect waves-light">
<i class="fa fa-fw fa-envelope"></i>
留言
</a>
</li>
</ul>
</div>
</div>
</nav>
</header>
<div class="bg-cover pd-header post-cover" style="background-image: url('/medias/featureimages/0.jpg')">
<div class="container">
<div class="row">
<div class="col s12 m12 l12">
<div class="brand">
<div class="description center-align post-title">
</div>
</div>
</div>
</div>
</div>
</div>
<main class="post-container content">
<link rel="stylesheet" href="/libs/tocbot/tocbot.css">
<style>
#articleContent h1::before,
#articleContent h2::before,
#articleContent h3::before,
#articleContent h4::before,
#articleContent h5::before,
#articleContent h6::before {
display: block;
content: " ";
height: 100px;
margin-top: -100px;
visibility: hidden;
}
#articleContent :focus {
outline: none;
}
.toc-fixed {
position: fixed;
top: 64px;
}
.toc-widget {
padding-left: 20px;
}
.toc-widget .toc-title {
margin: 35px 0 15px 0;
padding-left: 17px;
font-size: 1.5rem;
font-weight: bold;
line-height: 1.5rem;
}
.toc-widget ol {
padding: 0;
list-style: none;
}
#toc-content ol {
padding-left: 10px;
}
#toc-content ol li {
padding-left: 10px;
}
#toc-content .toc-link:hover {
color: #42b983;
font-weight: 700;
text-decoration: underline;
}
#toc-content .toc-link::before {
background-color: transparent;
max-height: 25px;
}
#toc-content .is-active-link {
color: #42b983;
}
#toc-content .is-active-link::before {
background-color: #42b983;
}
#floating-toc-btn {
position: fixed;
right: 20px;
bottom: 76px;
padding-top: 15px;
margin-bottom: 0;
z-index: 998;
}
#floating-toc-btn .btn-floating {
width: 48px;
height: 48px;
}
#floating-toc-btn .btn-floating i {
line-height: 48px;
font-size: 1.4rem;
}
/* 自定义mycard:欧阳思海 */
#my-card {
/* position: relative; */
width: 310px;
height: 300px;
/* max-height: 330px; */
margin-bottom: 15px;
margin-top: 15px;
/* text-align: center; */
border: 0;
border-radius: 3px;
color: rgba(0, 0, 0, .87);
background: #fff 50%;
background-image: none;
background-size: auto;
background-size: cover;
box-shadow: 0 15px 35px rgba(50, 50, 93, .1), 0 5px 15px rgba(0, 0, 0, .07);
}
/* .widget {
line-height: 1.6em;
word-wrap: break-word;
font-size: 0.9em;
padding-top: 15px;
padding-left: -45px;
} */
</style>
<div class="row">
<div id="main-content" class="col s12 m12 l9">
<!-- shw2018 洪卫 modify 2019.08.15-->
<!-- 代码块修改的代码开始 -->
<!-- 代码块功能依赖 -->
<script type="text/javascript" src="/libs/codeBlock/codeBlockFunction.js"></script>
<!-- 代码语言 -->
<script type="text/javascript" src="/libs/codeBlock/codeLang.js"></script>
<!-- 代码块复制 -->
<script type="text/javascript" src="/libs/codeBlock/codeCopy.js"></script>
<!-- 代码块收缩 -->
<script type="text/javascript" src="/libs/codeBlock/codeShrink.js"></script>
<!-- 代码块折行 -->
<style type="text/css">
code[class*="language-"], pre[class*="language-"] { white-space: pre !important; }
</style>
<!-- 代码块修改代码结束 -->
<!-- 文章内容详情 -->
<div id="container">
<div id="artDetail">
<div class="card">
<div class="card-content article-info">
<div class="row tag-cate">
<div class="col s7">
<div class="article-tag">
<span class="chip bg-color">无标签</span>
</div>
</div>
<div class="col s5 right-align">
</div>
</div>
<div class="post-info">
<div class="post-date info-break-policy">
<i class="fa fa-calendar-minus-o fa-fw"></i>发布日期:
2022-09-04
</div>
<div class="post-author info-break-policy">
<i class="fa fa-user-o fa-fw"></i>作者:
好好学java
</div>
<div class="info-break-policy">
<i class="fa fa-file-word-o fa-fw"></i>文章字数:
1
</div>
<div class="info-break-policy">
<i class="fa fa-clock-o fa-fw"></i>阅读时长:
1 分
</div>
<span id="busuanzi_container_site_pv" style='display:none'></span>
<i class="fa fa-eye fa-fw"></i>阅读次数:
<span id="busuanzi_value_page_pv"></span>
</div>
</div>
<hr class="clearfix">
<div class="card-content article-card-content">
<!-- 欧阳思海,modify,2020.05.01-->
<!-- 文章详情详情页面的头部广告位置信息 -->
<div id="post-head-panel">
<a href="https://github.com/OUYANGSIHAI/JavaInterview" style="font-size: 18px;" target="_blank">
<img src="/icons/hot.gif">
本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!
</a>
</div>
<br />
<blockquote>
<p>本文GitHub <a href="https://github.com/OUYANGSIHAI/JavaInterview" target="_blank">https://github.com/OUYANGSIHAI/JavaInterview</a> 已收录,这是我花了6个月总结的<b>一线大厂Java面试</b>总结,本人已拿大厂offer,欢迎star</p>
<p>原文链接:blog.ouyangsihai.cn >> <a href="/README.html" target="_blank"></a></p>
</blockquote>
<div id="articleContent">
<p>test</p>
</div>
<!-- 欧阳思海,modify,2020.05.01-->
<!-- 文章详情详情页面的头部广告位置信息 -->
<div id="post-head-panel">
<a href="https://github.com/OUYANGSIHAI/JavaInterview" style="font-size: 18px;" target="_blank">
<img src="/icons/hot.gif">
本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!
</a>
</div>
<br />
<blockquote>
<p>本文GitHub <a href="https://github.com/OUYANGSIHAI/JavaInterview" target="_blank">https://github.com/OUYANGSIHAI/JavaInterview</a> 已收录,这是我花了6个月总结的<b>一线大厂Java面试</b>总结,本人已拿大厂offer,欢迎star</p>
<p>原文链接:blog.ouyangsihai.cn >> <a href="/README.html" target="_blank"></a></p>
</blockquote>
<hr />
<style>
#reward {
margin: 40px 0;
text-align: center;
}
#reward .reward-link {
font-size: 1.88rem;
}
#reward .btn-floating:hover {
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2), 0 5px 15px rgba(0, 0, 0, 0.2);
}
#rewardModal {
width: 320px;
height: 350px;
}
#rewardModal .reward-title {
margin: 15px auto;
padding-bottom: 5px;
}
#rewardModal .modal-content {
padding: 10px;
}
#rewardModal .close {
position: absolute;
right: 15px;
top: 15px;
color: rgba(0, 0, 0, 0.5);
font-size: 1.3rem;
line-height: 20px;
cursor: pointer;
}
#rewardModal .close:hover {
color: #ef5350;
transform: scale(1.3);
-moz-transform:scale(1.3);
-webkit-transform:scale(1.3);
-o-transform:scale(1.3);
}
#rewardModal .reward-tabs {
margin: 0 auto;
width: 210px;
}
.reward-tabs .tabs {
height: 38px;
margin: 10px auto;
padding-left: 0;
}
.reward-content ul {
padding-left: 0 !important;
}
.reward-tabs .tabs .tab {
height: 38px;
line-height: 38px;
}
.reward-tabs .tab a {
color: #fff;
background-color: #ccc;
}
.reward-tabs .tab a:hover {
background-color: #ccc;
color: #fff;
}
.reward-tabs .wechat-tab .active {
color: #fff !important;
background-color: #22AB38 !important;
}
.reward-tabs .alipay-tab .active {
color: #fff !important;
background-color: #019FE8 !important;
}
.reward-tabs .reward-img {
width: 210px;
height: 210px;
}
</style>
<div id="reward">
<a href="#rewardModal" class="reward-link modal-trigger btn-floating btn-large waves-effect waves-light red">赏</a>
<!-- Modal Structure -->
<div id="rewardModal" class="modal">
<div class="modal-content">
<a class="close modal-close"><i class="fa fa-close"></i></a>
<h4 class="reward-title">多少都是对我的认可</h4>
<div class="reward-content">
<div class="reward-tabs">
<ul class="tabs row">
<li class="tab col s6 alipay-tab waves-effect waves-light"><a href="#alipay">支付宝</a></li>
<li class="tab col s6 wechat-tab waves-effect waves-light"><a href="#wechat">微 信</a></li>
</ul>
<div id="alipay">
<img src="http://image.ouyangsihai.cn/FpbhsOuf3Ar9vY34B97Y2qQ7LVGe" class="reward-img" alt="支付宝打赏二维码">
</div>
<div id="wechat">
<img src="http://image.ouyangsihai.cn/FgYlMzms68PH73PWpZBwPfbLTAws" class="reward-img" alt="微信打赏二维码">
</div>
</div>
</div>
</div>
</div>
</div>
<script>
$(function () {
$('.tabs').tabs();
});
</script>
<link rel="stylesheet" type="text/css" href="/libs/share/css/share.min.css">
<div id="article-share">
<div class="social-share" data-disabled="qzone" data-wechat-qrcode-helper="<p>微信里点“发现”->“扫一扫”二维码便可查看分享。</p>"></div>
</div>
<script src="/libs/share/js/social-share.min.js"></script>
<div class="reprint1">
<p>
<span class="reprint1-tip">
<i class="fa fa-exclamation-circle"></i> 转载请注明:
</span>
<a href="https://blog.ouyangsihai.cn" class="b-link-green">好好学java</a>
<i class="fa fa-angle-right fa-lg fa-fw text-color"></i>
<a href="/README.html" class="b-link-green"></a>
</p>
</div>
</div>
</div>
<style>
.valine-card {
margin: 1.5rem auto;
}
.valine-card .card-content {
padding: 20px 20px 5px 20px;
}
/* valine 评论框增加背景图片 */
#vcomments textarea {
box-sizing: border-box;
background: url("") 100% 100% no-repeat;
}
#vcomments input[type=text],
#vcomments input[type=email],
#vcomments input[type=url],
#vcomments textarea {
box-sizing: border-box;
}
#vcomments p {
margin: 2px 2px 10px;
font-size: 1.05rem;
line-height: 1.78rem;
}
#vcomments blockquote p {
text-indent: 0.2rem;
}
#vcomments a {
padding: 0 2px;
color: #42b983;
font-weight: 500;
text-decoration: underline;
}
#vcomments img {
max-width: 100%;
height: auto;
cursor: pointer;
}
#vcomments ol li {
list-style-type: decimal;
}
#vcomments ol,
ul {
display: block;
padding-left: 2em;
word-spacing: 0.05rem;
}
#vcomments ul li,
ol li {
display: list-item;
line-height: 1.8rem;
font-size: 1rem;
}
#vcomments ul li {
list-style-type: disc;
}
#vcomments ul ul li {
list-style-type: circle;
}
#vcomments table, th, td {
padding: 12px 13px;
border: 1px solid #dfe2e5;
}
#vcomments table, th, td {
border: 0;
}
table tr:nth-child(2n), thead {
background-color: #fafafa;
}
#vcomments table th {
background-color: #f2f2f2;
min-width: 80px;
}
#vcomments table td {
min-width: 80px;
}
#vcomments h1 {
font-size: 1.85rem;
font-weight: bold;
line-height: 2.2rem;
}
#vcomments h2 {
font-size: 1.65rem;
font-weight: bold;
line-height: 1.9rem;
}
#vcomments h3 {
font-size: 1.45rem;
font-weight: bold;
line-height: 1.7rem;
}
#vcomments h4 {
font-size: 1.25rem;
font-weight: bold;
line-height: 1.5rem;
}
#vcomments h5 {
font-size: 1.1rem;
font-weight: bold;
line-height: 1.4rem;
}
#vcomments h6 {
font-size: 1rem;
line-height: 1.3rem;
}
#vcomments p {
font-size: 1rem;
line-height: 1.5rem;
}
#vcomments hr {
margin: 12px 0;
border: 0;
border-top: 1px solid #ccc;
}
#vcomments blockquote {
margin: 15px 0;
border-left: 5px solid #42b983;
padding: 1rem 0.8rem 0.3rem 0.8rem;
color: #666;
background-color: rgba(66, 185, 131, .1);
}
#vcomments pre {
font-family: monospace, monospace;
padding: 1.2em;
margin: .5em 0;
background: #272822;
overflow: auto;
border-radius: 0.3em;
tab-size: 4;
}
#vcomments code {
font-family: monospace, monospace;
padding: 1px 3px;
font-size: 0.92rem;
color: #e96900;
background-color: #f8f8f8;
border-radius: 2px;
}
#vcomments pre code {
font-family: monospace, monospace;
padding: 0;
color: #e8eaf6;
background-color: #272822;
}
#vcomments pre[class*="language-"] {
padding: 1.2em;
margin: .5em 0;
}
#vcomments code[class*="language-"],
pre[class*="language-"] {
color: #e8eaf6;
}
#vcomments [type="checkbox"]:not(:checked), [type="checkbox"]:checked {
position: inherit;
margin-left: -1.3rem;
margin-right: 0.4rem;
margin-top: -1px;
vertical-align: middle;
left: unset;
visibility: visible;
}
#vcomments b,
strong {
font-weight: bold;
}
#vcomments dfn {
font-style: italic;
}
#vcomments small {
font-size: 85%;
}
#vcomments cite {
font-style: normal;
}
#vcomments mark {
background-color: #fcf8e3;
padding: .2em;
}
#vcomments table, th, td {
padding: 12px 13px;
border: 1px solid #dfe2e5;
}
table tr:nth-child(2n), thead {
background-color: #fafafa;
}
#vcomments table th {
background-color: #f2f2f2;
min-width: 80px;
}
#vcomments table td {
min-width: 80px;
}
#vcomments [type="checkbox"]:not(:checked), [type="checkbox"]:checked {
position: inherit;
margin-left: -1.3rem;
margin-right: 0.4rem;
margin-top: -1px;
vertical-align: middle;
left: unset;
visibility: visible;
}
/* 修复评论第一行位置错位 */
.v .vlist .vcard {
padding-top: 2.5em !important ;
}
</style>
<div class="card valine-card" data-aos="fade-up">
<div id="vcomments" class="card-content"></div>
</div>
<script src="/libs/valine/av-min.js"></script>
<script src="/libs/valine/Valine.min.js"></script>
<!-- <link rel="stylesheet" type="text/css" href="/libs//libs/jQuery-emoji/dist/css/jquery.emoji.css">
<script src="/libs//libs/jQuery-emoji/dist/js/jquery.emoji.min.js"></script>
<script src="/libs//libs/jQuery-emoji/dist/js/emoji.list.js"></script> -->
<script>
new Valine({
el: '#vcomments',
appId: 'MxSNOS83TYWU3Opsy2GTW1ih-gzGzoHsz',
appKey: '4XevOgmAxHEwVDnIKgvEUihB',
notify: 'true' === 'true',
verify: 'true' === 'true',
visitor: 'true' === 'true',
avatar: 'mm',
pageSize: '10',
lang: 'zh-cn',
placeholder: '请畅所欲言吧,别害羞~',
});
// function parse_emoji() {
// jQuery(".vcontent").emojiParse({
// basePath: '/libs/jQuery-emoji/images/emoji',
// icons: emojiLists // 注:详见 js/emoji.list.js
// });
// }
// setTimeout(function() {
// // jQuery emoji 解析
// parse_emoji();
// // jquery emoji 初始化
// jQuery(".veditor").emoji({
// showTab: true,
// animation: 'slide',
// basePath: '/libs/jQuery-emoji/images/emoji',
// icons: emojiLists // 注:详见 js/emoji.list.js
// });
// jQuery(".vmore").on("click", function() {
// setTimeout(function() {
// parse_emoji();
// }, 500);
// });
// }, 800)
</script>
<article id="prenext-posts" class="prev-next articles">
<div class="row article-row">
<div class="article col s12 m6" data-aos="fade-up" data-aos="fade-up">
<div class="article-badge left-badge text-color">
<i class="fa fa-dot-circle-o"></i> 本篇
</div>
<div class="card">
<a href="/README.html">
<div class="card-image">
<img src="/medias/featureimages/0.jpg" class="responsive-img" alt="">
<span class="card-title"></span>
</div>
</a>
<div class="card-content article-content">
<div class="summary block-with-text">
test
</div>
<div class="publish-info">
<span class="publish-date">
<i class="fa fa-clock fa-fw icon-date"></i>2022-09-04
</span>
<span class="publish-author">
</span>
</div>
</div>
</div>
</div>
<div class="article col s12 m6" data-aos="fade-up">
<div class="article-badge right-badge text-color">
本篇 <i class="fa fa-dot-circle-o"></i>
</div>
<div class="card">
<a href="/README.html">
<div class="card-image">
<img src="/medias/featureimages/0.jpg" class="responsive-img" alt="">
<span class="card-title"></span>
</div>
</a>
<div class="card-content article-content">
<div class="summary block-with-text">
test
</div>
<div class="publish-info">
<span class="publish-date">
<i class="fa fa-clock fa-fw icon-date"></i>2022-09-04
</span>
<span class="publish-author">
</span>
</div>
</div>
</div>
</div>
</div>
</article>
</div>
</div>
<script>
$('#articleContent').on('copy', function (e) {
// IE8 or earlier browser is 'undefined'
if (typeof window.getSelection === 'undefined') return;
var selection = window.getSelection();
// if the selection is short let's not annoy our users.
if (('' + selection).length < Number.parseInt('500')) {
return;
}
// create a div outside of the visible area and fill it with the selected text.
var bodyElement = document.getElementsByTagName('body')[0];
var newdiv = document.createElement('div');
newdiv.style.position = 'absolute';
newdiv.style.left = '-99999px';
bodyElement.appendChild(newdiv);
newdiv.appendChild(selection.getRangeAt(0).cloneContents());
// we need a <pre> tag workaround.
// otherwise the text inside "pre" loses all the line breaks!
if (selection.getRangeAt(0).commonAncestorContainer.nodeName === 'CODE') {
newdiv.innerHTML = "<pre>" + newdiv.innerHTML + "</pre>";
}
var url = document.location.href;
newdiv.innerHTML += '<br />'
+ '来源: 好好学java<br />'
+ '作者: 好好学java<br />'
+ '链接: <a href="' + url + '">' + url + '</a><br />'
+ '本文章著作权归作者所有,任何形式的转载都请注明出处。';
selection.selectAllChildren(newdiv);
window.setTimeout(function () { bodyElement.removeChild(newdiv); }, 200);
});
</script>
<!--
<script src="https://my.openwrite.cn/js/readmore.js" type="text/javascript"></script>
<script>
const btw = new BTWPlugin();
btw.init({
id: 'container',
blogId: '15305-1590684104111-518',
name: '程序员的技术圈子',
qrcode: 'http://image.ouyangsihai.cn/FtAUOeE5--1JTdcuuZFIhMuEUuJO',
keyword: 'vip',
});
</script>
-->
</div>
<div id="toc-aside" style="width: 310px;" class="expanded col l3 hide-on-med-and-down">
<!-- 自定义右侧card:欧阳思海 -->
<!-- <div id="my-card" style="background: ">
</div> -->
<!-- <div class="toc-widget">
<div class="toc-title" style="display: none;"><i class="fa fa-list-alt"></i> </div>
<div id="toc-content"></div>
</div> -->
<aside class="col-lg-3" style="width: 300px;">
<link rel="stylesheet" type="text/css" href="/css/my-aside.css">
<!-- 关注公众号信息:欧阳思海 -->
<div class="widget-wrap">
<div class="widget bg-danger" style="color:whitesmoke; background-color: #419488">
<div class="card-front animated col s12 m12 l8 offset-l2 fadeInUp">
<div class="row">
<div class="col-md-5" style="text-align: center;">
<img class="adv" style="width: 95px; height: 95px;"
src="http://image.ouyangsihai.cn/FtAUOeE5--1JTdcuuZFIhMuEUuJO">
</div>
<div class="col-md-7" style="text-align: center;">
<h2 style="font-size: 18px;
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-weight: inherit;
font-style: inherit;
font-family: inherit;
vertical-align: baseline;">关注公众号</h2>
<small style="font-size: 15px;">
→「技术干货」每日推送 <br>
→「回复资料」领取资料 <br>
→「微信加群」每周福利 <br>
</small>
</div>
</div>
</div>
<!-- <div style="font-size: 0.8em;">
<a href="/assets/erweima.jpg" target="_blank"
style="color:orange;font-size: 14px;">点击添加我的微信,加入技术讨论群</a>
除公众号以外,我还会在以下平台发布内容:
</div>
-->
<div class="profile-block social-links col-md-7" style="text-align: center;">
<table style="align-items: center;
padding-left: 25px;">
<tbody>
<tr>
<td style="margin: 0;
padding: 0;
border: 0;
outline: 0;
font-weight: inherit;
font-style: inherit;
font-family: inherit;
vertical-align: baseline;"><a
style="color: whitesmoke;font-size: 25px;"
href="https://github.com/OUYANGSIHAI/JavaInterview" target="_blank" title="GitHub"
class="tooltip">
<img style="width: 22px;height: 22px;" src="/icons/github.svg"></a>
</td>
<td style="margin: 0;
padding: 0;
border: 0;
outline: 0;
font-weight: inherit;
font-style: inherit;
font-family: inherit;
vertical-align: baseline;"><a
style="color: whitesmoke;font-size: 25px;"
href="https://www.zhihu.com/people/hai-hai-ren-sheng-50/activities"
target="_blank" title="知乎" class="tooltip">
<img style="width: 22px;" src="/icons/zhihu.svg"></a>
</td>
<td style="margin: 0;
padding: 0;
border: 0;
outline: 0;
font-weight: inherit;
font-style: inherit;
font-family: inherit;
vertical-align: baseline;"><a
style="color: whitesmoke;font-size: 25px;"
href="https://blog.csdn.net/sihai12345" target="_blank" title="CSDN"
class="tooltip">
<img style="width: 18px;" src="/icons/CSDN.svg"></a>
</td>
<td style="margin: 0;
padding: 0;
border: 0;
outline: 0;
font-weight: inherit;
font-style: inherit;
font-family: inherit;
vertical-align: baseline;"><a
style="color: whitesmoke;font-size: 25px;"
href="https://www.jianshu.com/u/12b0bd4c857c" target="_blank" title="简书"
class="tooltip">
<img style="width: 22px;" src="/icons/JianShu.svg"></a>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<!-- custom rightside_link:热门文章推荐:欧阳思海 -->
<div class="widget-wrap widget-panel">
<p style="text-align: left;padding-bottom: 10px;line-height: 30px; font-size: 14px;">
<a href="https://github.com/OUYANGSIHAI/JavaInterview" target="_blank">
<img src="/icons/hot.gif">
本人花费半年的时间总结的《 Java 面试指南》已拿腾讯等大厂 offer,已开源在 github ,欢迎 star!
</a><br>
<a href="https://mp.weixin.qq.com/s/I0jimqziHqRNaIy0kXRCnw" target="_blank">
<img src="/icons/hot.gif">
2020 Java 1000G 最新学习资源,Java基础、Java项目实战、Java分布式等等!
</a><br>
<a href="http://image.ouyangsihai.cn/FpB-dO6g-XU44mMrVlj7EL1y7Rs7" target="_blank">
<img src="/icons/hot.gif">
高级 Java 开发微信群,一起搞事情吧!
</a><br>
</p>
</div>
<!-- custom rightside_banner:右侧广告或者其他的栏目设置:欧阳思海 -->
<div class="widget-wrap">
<a href="https://github.com/OUYANGSIHAI/JavaInterview" target="_blank">
<img src="http://image.ouyangsihai.cn/FhhoEYMaNr6m0v8KhG8vSPgoREBV" style="width: 100%;">
</a>
</div>
<!-- 右侧专栏分类:欧阳思海 -->
<div class="widget-wrap widget-panel">
<ul class="media-list">
<li class="media">
<a href="/categories/MySQL的艺术世界/" target="_blank">
<div class="media-left">
<img class="media-object" src="http://image.ouyangsihai.cn/Fn3kQurieQ_0QUeqPmx5RW5i6R9n" style="width: 55px;">
</div>
<div class="media-body">
<h4 class="media-heading" style="margin-bottom: 10px; font-size: 100%;
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-weight: inherit;
font-style: inherit;
font-family: inherit;
vertical-align: baseline;">
MySQL 的系列文章,解决全部面试问题!
</h4>
<p>
总共10篇文章,面试热门的锁、事务,通通解决了!
</p>
</div>
</a>
</li>
<hr>
<li class="media">
<a href="/categories/深入理解Java虚拟机/" target="_blank">
<div class="media-left">
<img class="media-object" src="http://image.ouyangsihai.cn/FpcS21VWJOHSgGzKcpW3_xVTSEeN" style="width: 55px;">
</div>
<div class="media-body">
<h4 class="media-heading" style="margin-bottom: 10px; font-size: 100%;
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-weight: inherit;
font-style: inherit;
font-family: inherit;
vertical-align: baseline;">
深入理解 Java 虚拟机,面试必问
</h4>
<p>
总共10篇文章,包括内存模型、GC算法、GC收集器等。
</p>
</div>
</a>
</li>
<hr>
</ul>
</div>
<!-- 右侧分类 -->
<div class="widget-wrap widget-panel">
<h3 class="widget-title">文章分类</h3>
<div class="widget">
<ul class="category-list">
<li class="category-list-item"><a class="category-list-link" href="categories/趣聊数据结构与算法/">>
趣聊数据结构与算法</a><span class="category-list-count">6</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/职业生涯浅谈/">>
职业生涯浅谈</a><span class="category-list-count">33</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/Java项目分享/">>
Java项目分享</a><span class="category-list-count">1</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/Java面试经验/">>
Java面试经验</a><span class="category-list-count">4</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/我要进大厂/">>
我要进大厂</a><span class="category-list-count">1</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/好好学java/">>
好好学java</a><span class="category-list-count">1116</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/剑指offer/">>
剑指offer</a><span class="category-list-count">112</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/css/">>
css</a><span class="category-list-count">12</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/其他框架/">>
其他框架</a><span class="category-list-count">142</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/python其他/">>
python其他</a><span class="category-list-count">45</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/数据库相关/">>
数据库相关</a><span class="category-list-count">293</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/Java核心知识/">>
Java核心知识</a><span class="category-list-count">196</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/Java面试题/">>
Java面试题</a><span class="category-list-count">308</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/mybatis源码/">>
mybatis源码</a><span class="category-list-count">56</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/spring教程/">>
spring教程</a><span class="category-list-count">173</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/springboot教程/">>
springboot教程</a><span class="category-list-count">156</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/实战Activiti工作流/">>
实战Activiti工作流</a><span class="category-list-count">4</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/springcloud教程/">>
springcloud教程</a><span class="category-list-count">39</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/linux/">>
linux</a><span class="category-list-count">91</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/python框架/">>
python框架</a><span class="category-list-count">43</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/python基础/">>
python基础</a><span class="category-list-count">78</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/dubbo/">>
dubbo</a><span class="category-list-count">37</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/Java源码/">>
Java源码</a><span class="category-list-count">76</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/叽叽喳喳杂七杂八/">>
叽叽喳喳杂七杂八</a><span class="category-list-count">10</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/MySQL的艺术世界/">>
MySQL的艺术世界</a><span class="category-list-count">8</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/jquery/">>
jquery</a><span class="category-list-count">14</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/Java并发/">>
Java并发</a><span class="category-list-count">43</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/Java文章合辑/">>
Java文章合辑</a><span class="category-list-count">11</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/Java基础修炼/">>
Java基础修炼</a><span class="category-list-count">7</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/不一样的Java8/">>
不一样的Java8</a><span class="category-list-count">3</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/小程序开发的世界/">>
小程序开发的世界</a><span class="category-list-count">1</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/Java学习资源分享/">>
Java学习资源分享</a><span class="category-list-count">1</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/Java小学生漫游/">>
Java小学生漫游</a><span class="category-list-count">2</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/rocketmq源码解析/">>
rocketmq源码解析</a><span class="category-list-count">33</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/springmvc最新教程/">>
springmvc最新教程</a><span class="category-list-count">9</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/Java的Exception/">>
Java的Exception</a><span class="category-list-count">6</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/vue-js/">>
vue.js</a><span class="category-list-count">10</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/实战设计模式/">>
实战设计模式</a><span class="category-list-count">1</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/python数据处理/">>
python数据处理</a><span class="category-list-count">7</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/Java-Web闯关/">>
Java Web闯关</a><span class="category-list-count">7</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/springboot2-0最新教程/">>
springboot2.0最新教程</a><span class="category-list-count">11</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/netty/">>
netty</a><span class="category-list-count">16</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/rpc/">>
rpc</a><span class="category-list-count">13</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/拥抱大厂系列/">>
拥抱大厂系列</a><span class="category-list-count">6</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/eureka/">>
eureka</a><span class="category-list-count">19</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/分布式/">>
分布式</a><span class="category-list-count">6</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/中间件/">>
中间件</a><span class="category-list-count">23</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/Java基础/">>
Java基础</a><span class="category-list-count">1</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/带你学Python/">>
带你学Python</a><span class="category-list-count">10</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/使用技术工具/">>
使用技术工具</a><span class="category-list-count">1</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/mycat源码/">>
mycat源码</a><span class="category-list-count">5</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/深入理解Java虚拟机/">>
深入理解Java虚拟机</a><span class="category-list-count">8</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/spring源码/">>
spring源码</a><span class="category-list-count">2</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/Java集合源码分析/">>
Java集合源码分析</a><span class="category-list-count">1</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/github的repo/">>
github的repo</a><span class="category-list-count">1</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/Java框架深究/">>
Java框架深究</a><span class="category-list-count">1</span>
</li>
<li class="category-list-item"><a class="category-list-link" href="categories/分布式架构/">>
分布式架构</a><span class="category-list-count">2</span>
</li>
</ul>
</div>
</div>
</aside>
</div>
</div>
<!-- TOC 悬浮按钮. 修改成永远不显示:欧阳思海-->
<script src="/libs/tocbot/tocbot.min.js"></script>
<script>
$(function () {
tocbot.init({
tocSelector: '#toc-content',
contentSelector: '#articleContent',
headingsOffset: -($(window).height() * 0.4 - 45),
// headingsOffset: -205,
headingSelector: 'h1, h2, h3, h4, h5'
});
console.log('============');
// modify the toc link href to support Chinese.
let i = 0;
let tocHeading = 'toc-heading-';
$('#toc-content a').each(function () {
$(this).attr('href', '#' + tocHeading + (++i));
});
// modify the heading title id to support Chinese.
i = 0;
$('#articleContent').children('h1, h2, h3, h4, h5').each(function () {
$(this).attr('id', tocHeading + (++i));
});
// Set scroll toc fixed.
let tocHeight = parseInt($(window).height() * 0.4 - 64);
let $tocWidget = $('.toc-widget');
$(window).scroll(function () {
let scroll = $(window).scrollTop();
/* add post toc fixed. */
if (scroll > tocHeight) {
$tocWidget.addClass('toc-fixed');
} else {
$tocWidget.removeClass('toc-fixed');
}
});
/* 修复文章卡片 div 的宽度. */
let fixPostCardWidth = function (srcId, targetId) {
let srcDiv = $('#' + srcId);
if (srcDiv.length === 0) {
return;
}
let w = srcDiv.width();
if (w >= 450) {
w = w + 21;
} else if (w >= 350 && w < 450) {
w = w + 18;
} else if (w >= 300 && w < 350) {
w = w + 16;
} else {
w = w + 14;
}
$('#' + targetId).width(w);
};
// 切换TOC目录展开收缩的相关操作.
// 修改右侧边栏功能:欧阳思海
const expandedClass = 'expanded';
let $tocAside = $('#toc-aside');
let $mainContent = $('#main-content');
$('#floating-toc-btn .btn-floating').click(function () {
if ($tocAside.hasClass(expandedClass)) {
$tocAside.removeClass(expandedClass).slideUp(500);
$mainContent.removeClass('l9');
} else {
$tocAside.addClass(expandedClass).slideDown(500);
$mainContent.addClass('l9');
}
fixPostCardWidth('artDetail', 'prenext-posts');
});
});
</script>
</main>
<footer class="page-footer bg-color">
<div class="container row center-align">
<div class="col s12 m8 l8 copy-right">
Copyright© 2019 <a href="https://www.java1000.com/" target="_blank"> 好好学java </a>维护. 网站备案/许可证号:赣ICP备17007984号-3
<br>
<span id="sitetime"></span>
<br>
<!--
<span id="busuanzi_container_site_pv" style='display:none'></span>
总访问量: <span id="busuanzi_value_site_pv" class="white-color"></span>
<span id="busuanzi_container_site_uv" style='display:none'></span>
人次 | 访客人数: <span id="busuanzi_value_site_uv" class="white-color"></span> 人
-->
<!-- 修改计数:欧阳思海 -->
<span id="busuanzi_container_site_pv" style='display:inline'>
<i class="fa fa-heart-o"></i>
本站总访问量 <span id="busuanzi_value_site_pv" class="white-color"></span>
</span>
<span id="busuanzi_container_site_uv" style='display:none'>
人次, 访客数 <span id="busuanzi_value_site_uv" class="white-color"></span> 人.
</span>
| 字数统计:
<span class="white-color">8290.3k</span> 字
<br>
</div>
<div class="col s12 m4 l4 social-link social-statis">
<a href="https://github.com/OUYANGSIHAI/JavaInterview" class="tooltipped" target="_blank" data-tooltip="访问我的GitHub" data-position="top" data-delay="50">
<i class="fa fa-code-branch"></i>
</a>
<a href="https://mail.qq.com/cgi-bin/qm_share?t=qm_mailme&email=1446037005@qq.com" class="tooltipped" target="_blank" data-tooltip="邮件联系我" data-position="top" data-delay="50">
<i class="fa fa-envelope-open"></i>
</a>
<a href="https://zhihu.com/people/hai-hai-ren-sheng-50/activities" class="tooltipped" target="_blank" data-tooltip="访问我的知乎" data-position="top" data-delay="50">
<i class="fa fa-inverse">知</i>
</a>
<a href="https://blog.ouyangsihai.cn/sitemap.xml" class="tooltipped" target="_blank" data-tooltip="站点地图" data-position="top" data-delay="50">
<i class="fa fa-sitemap"></i>
</a>
<a href="https://blog.ouyangsihai.cn/friends" class="tooltipped" target="_blank" data-tooltip="友情链接" data-position="top" data-delay="50">
<i class="fa fa-address-book"></i>
</a>
</div>
</div>
</footer>
<div class="progress-bar"></div>
<script language=javascript>
function siteTime() {
window.setTimeout("siteTime()", 1000);
var seconds = 1000;
var minutes = seconds * 60;
var hours = minutes * 60;
var days = hours * 24;
var years = days * 365;
var today = new Date();
var todayYear = today.getFullYear();
var todayMonth = today.getMonth() + 1;
var todayDate = today.getDate();
var todayHour = today.getHours();
var todayMinute = today.getMinutes();
var todaySecond = today.getSeconds();
/* Date.UTC() -- 返回date对象距世界标准时间(UTC)1970年1月1日午夜之间的毫秒数(时间戳)
year - 作为date对象的年份,为4位年份值
month - 0-11之间的整数,做为date对象的月份
day - 1-31之间的整数,做为date对象的天数
hours - 0(午夜24点)-23之间的整数,做为date对象的小时数
minutes - 0-59之间的整数,做为date对象的分钟数
seconds - 0-59之间的整数,做为date对象的秒数
microseconds - 0-999之间的整数,做为date对象的毫秒数 */
var t1 = Date.UTC(2019, 08, 10, 00, 00, 00); //北京时间2019-8-1 00:00:00
var t2 = Date.UTC(todayYear, todayMonth, todayDate, todayHour, todayMinute, todaySecond);
var diff = t2 - t1;
var diffYears = Math.floor(diff / years);
var diffDays = Math.floor((diff / days) - diffYears * 365);
var diffHours = Math.floor((diff - (diffYears * 365 + diffDays) * days) / hours);
var diffMinutes = Math.floor((diff - (diffYears * 365 + diffDays) * days - diffHours * hours) / minutes);
var diffSeconds = Math.floor((diff - (diffYears * 365 + diffDays) * days - diffHours * hours - diffMinutes *
minutes) / seconds);
document.getElementById("sitetime").innerHTML = "本站已运行 " + diffYears + " 年 " + diffDays + " 天 " + diffHours +
" 小时 " + diffMinutes + " 分钟 " + diffSeconds + " 秒" ;
} /*因为建站时间还没有一年,就将之注释掉了。需要的可以取消*/
siteTime();
</script>
<!-- 修改计数:欧阳思海 -->
<script>
$(document).ready(function () {
var int = setInterval(fixCount, 50); // 50ms周期检测函数
var pvcountOffset = 1005469; // 初始化首次数据
var uvcountOffset = 250804;
function fixCount() {
if (document.getElementById("busuanzi_container_site_pv").style.display != "none") {
$("#busuanzi_value_site_pv").html(parseInt($("#busuanzi_value_site_pv").html()) + pvcountOffset);
clearInterval(int);
}
if ($("#busuanzi_container_site_pv").css("display") != "none") {
$("#busuanzi_value_site_uv").html(parseInt($("#busuanzi_value_site_uv").html()) + uvcountOffset); // 加上初始数据
clearInterval(int); // 停止检测
}
}
});
</script>
<!-- 搜索遮罩框 -->
<div id="searchModal" class="modal">
<div class="modal-content">
<div class="search-header">
<span class="title"><i class="fa fa-search"></i> 搜索</span>
<input type="search" id="searchInput" name="s" placeholder="请输入搜索的关键字"
class="search-input">
</div>
<div id="searchResult"></div>
</div>
</div>
<script src="/js/search.js"></script>
<script type="text/javascript">
$(function () {
console.log("lets go!");
console.log("/");
searchFunc("/" + "search.json", 'searchInput', 'searchResult');
});
</script>
<!-- 回到顶部按钮 -->
<div id="backTop" class="top-scroll">
<a class="btn-floating btn-large waves-effect waves-light" href="#!">
<i class="fa fa-angle-up"></i>
</a>
</div>
<script src="/libs/materialize/materialize.min.js"></script>
<script src="/libs/masonry/masonry.pkgd.min.js"></script>
<script src="/libs/aos/aos.js"></script>
<script src="/libs/scrollprogress/scrollProgress.min.js"></script>
<script src="/libs/lightGallery/js/lightgallery-all.min.js"></script>
<script src="/js/matery.js"></script>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-149362573-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'UA-149362573-1');
</script>
<script src="/libs/others/clicklove.js"></script>
<script async src="/libs/others/busuanzi.pure.mini.js"></script>
<!-- 洪卫 shw2018 add 2019.08.28 -->
<script type="text/javascript">
var OriginTitile = document.title,
st;
document.addEventListener("visibilitychange", function () {
document.hidden ? (document.title = "看不见我🙈~看不见我🙈~", clearTimeout(st)) : (document.title =
"(๑•̀ㅂ•́) ✧被发现了~", st = setTimeout(function () {
document.title = OriginTitile
}, 3e3))
})
</script>
<!-- 鼠标点击烟花爆炸效果 洪卫 shw2018 add 2019.09.09 -->
<!-- 背景雪花飘落特效洪卫 shw2018 add 2019.09.10 -->
<!-- 鼠标点击文字特效 洪卫 shw2018 add 2019.09.10-->
<!-- 背景雪花飘落特效 洪卫 shw2018 add 2019.09.10 -->
<!-- 在线聊天工具 洪卫 shw2018 add 2019.09.11 -->
<!-- 背景 canvas-nest 洪卫 shw 2018 add 2019.09.15-->
<!-- 背景静止彩带 洪卫 shw 2018 add 2019.09.15-->
<!-- 背景动态彩带 洪卫 shw 2018 add 2019.09.15-->
</body>
</html>About
life is beautiful like sunshine!
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published