<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[一盏小灯下]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Hanlin___</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Hanlin___]]></copyright><item><title><![CDATA[HDFS 坏块导致的 HiveServer2 启动失败]]></title><link>https://blog.youkuaiyun.com/Hanlin___/article/details/123580518</link><guid>https://blog.youkuaiyun.com/Hanlin___/article/details/123580518</guid><author>Hanlin___</author><pubDate>Fri, 18 Mar 2022 18:06:42 +0800</pubDate><description><![CDATA[项目场景：
最近在虚拟机上学习数仓相关的一些技术栈，在三台虚拟机上安装了 Hadoop，Hive 等框架，HDFS 上存有一些练习用的数据，不是很多。
问题描述
有一天启动 Hive 的脚本突然不好用了，脚本的内容主要是启动 Metastore 和 HiveServer2 ，Metastore 启动 OK，没问题，但是 HiveServer2 不行，前一天还是好好的，中间也没有过其他什么能够影响它的操作。
原因分析：
查看 Hadoop Web 端，发现安全模式开启了。

解决方案：
# 退出安全模式
hd]]></description><category></category></item><item><title><![CDATA[启动 SpringBoot 报错 BeanCurrentlyInCreationException]]></title><link>https://blog.youkuaiyun.com/Hanlin___/article/details/110733700</link><guid>https://blog.youkuaiyun.com/Hanlin___/article/details/110733700</guid><author>Hanlin___</author><pubDate>Sun, 06 Dec 2020 13:29:57 +0800</pubDate><description><![CDATA[由于使用了异步注解导致了启动项目的时候报错，当时只知道注释掉异步注解可以暂时解决问题，但是不清楚具体的原因。
  后来查阅了资料，我们需要注意以下两点。


直接调用本类方法而非接口方法/代理对象方法会导致 @Async 注解和事务不生效
使用了 @Async 注解并且 循环依赖 了，启动时就会报 BeanCurrentlyInCreationException

参考资料：使用@Async异步注解导致该Bean在循环依赖时启动报BeanCurrentlyInCreationException异常的根本..]]></description><category></category></item><item><title><![CDATA[推荐阅读：命名规范]]></title><link>https://blog.youkuaiyun.com/Hanlin___/article/details/107198681</link><guid>https://blog.youkuaiyun.com/Hanlin___/article/details/107198681</guid><author>Hanlin___</author><pubDate>Sat, 27 Jun 2020 10:39:04 +0800</pubDate><description><![CDATA[推荐阅读：https://snailclimb.gitee.io/javaguide/#/docs/system-design/naming
常见命名规则以及适用场景这里只介绍 3 种最常见的命名规范。
驼峰命名法（CamelCase）驼峰命名法应该我们最常见的一个，这种命名方式使用大小写混合的格式来区别各个单词，并且单词之间不使用空格隔开或者连接字符连接的命名方...]]></description><category></category></item><item><title><![CDATA[推荐阅读：通俗易懂的介绍IOC]]></title><link>https://blog.youkuaiyun.com/Hanlin___/article/details/107198675</link><guid>https://blog.youkuaiyun.com/Hanlin___/article/details/107198675</guid><author>Hanlin___</author><pubDate>Wed, 10 Jun 2020 21:24:25 +0800</pubDate><description><![CDATA[推荐阅读：https://www.zhihu.com/question/23277575/answer/169698662

    ]]></description><category></category></item><item><title><![CDATA[Git 常用命令]]></title><link>https://blog.youkuaiyun.com/Hanlin___/article/details/107198673</link><guid>https://blog.youkuaiyun.com/Hanlin___/article/details/107198673</guid><author>Hanlin___</author><pubDate>Wed, 10 Jun 2020 21:24:25 +0800</pubDate><description><![CDATA[笔记来自廖雪峰Git教程
1. 创建版本库git init// 初始化一个 Git 仓库git add readme.txt// 把 readme.txt 添加到仓库git commit -m "wrote a readme file"// 将文件提交到仓库, -m 后面是本次提交的说明git status// 查看仓库当前的状态git diff readme.t...]]></description><category></category></item><item><title><![CDATA[十一贝面试复盘]]></title><link>https://blog.youkuaiyun.com/Hanlin___/article/details/107198680</link><guid>https://blog.youkuaiyun.com/Hanlin___/article/details/107198680</guid><author>Hanlin___</author><pubDate>Thu, 07 May 2020 23:48:37 +0800</pubDate><description><![CDATA[4.4 笔试保险相关业务知识，笔试前十一贝给的材料中有。然后有一道通用技术题，一道给后端准备的题。
4.12 一面
Java 中的异常
Spring 的 IOC 与 AOP 原理
Java 中线程池
Java 中如何保证线程安全
用数组实现一个栈
项目相关

4.15 二面
项目相关

二面的面试官问了一些项目的问题，之后聊了聊之前的实习经历。介绍了十一贝的技术体...]]></description><category></category></item><item><title><![CDATA[美团面试复盘]]></title><link>https://blog.youkuaiyun.com/Hanlin___/article/details/107198676</link><guid>https://blog.youkuaiyun.com/Hanlin___/article/details/107198676</guid><author>Hanlin___</author><pubDate>Sat, 11 Apr 2020 23:55:54 +0800</pubDate><description><![CDATA[3.26 笔试当时 A 了 1.18 成绩不是很理想。有一道黑白环的题其实很好答，当时浏览五道题的时候不是很仔细，如果先答黑白环的话，可能最后成绩还会再高一些。当时大部分时间都用到第二题上了，结果才 A 了 0.18，面试的时候一定花一部分时间多看看题，把时间优先用在最容易并且有思路的题上面。
4.2   一面一面的面试官上来就问了很多的项目问题，大家一定要熟悉自...]]></description><category></category></item><item><title><![CDATA[之字形遍历二叉树]]></title><link>https://blog.youkuaiyun.com/Hanlin___/article/details/107198679</link><guid>https://blog.youkuaiyun.com/Hanlin___/article/details/107198679</guid><author>Hanlin___</author><pubDate>Fri, 03 Apr 2020 14:31:05 +0800</pubDate><description><![CDATA[昨天面试了美团的后端，一面最后问了一道这样的算法题，我只写了个层次遍历，那道题返回的是一个嵌套的 ArrayList ，然后我跟面试官说再遍历这个 ArrayList 将其中的需要逆序的在进行逆序。之后面试官就问我这样实现的时间复杂度，我也没答上来。 ：(
这道题是 LeetCode 上的会员题目，不过左程云的书里面也有。
思路是使用双端队列，在遍历从左到右的层时...]]></description><category></category></item><item><title><![CDATA[车主邦的三道笔试题]]></title><link>https://blog.youkuaiyun.com/Hanlin___/article/details/107198684</link><guid>https://blog.youkuaiyun.com/Hanlin___/article/details/107198684</guid><author>Hanlin___</author><pubDate>Sun, 29 Mar 2020 20:54:50 +0800</pubDate><description><![CDATA[将⼀组忽略⼤王⼩王的扑克牌，从⼩到⼤排序，请尽量选择时间复杂度低的⽅案（忽略花⾊，2最 ⼤，A⽐K⼤，2⽐A⼤） 输⼊: 第⼀⾏是给出牌的数量，第⼆⾏为牌的值 7 J Q Q A K 3 2 输出: 3 J Q Q K A 2

层次遍历输出⼆叉树：给定⼀个整数⼆叉树，要求从上往下输出每层的元素值。

给定⼀个整数数组，要求输出⼀个同样⼤⼩的数组，输出的数组每个...]]></description><category></category></item><item><title><![CDATA[Cannot resolve MVC View **]]></title><link>https://blog.youkuaiyun.com/Hanlin___/article/details/107198678</link><guid>https://blog.youkuaiyun.com/Hanlin___/article/details/107198678</guid><author>Hanlin___</author><pubDate>Sun, 29 Mar 2020 20:36:45 +0800</pubDate><description><![CDATA[使用 SpringBoot 集成了 FreeMarker 之后，我就想着测试一下 FreeMarker 是否正常。
可是在写好了 Controller，templates 之后，却一直 404，控制台并没有报异常。回到 IDEA 中看了下 Controller 中的 return “demo”; // demo 是模板名，果然被标线了，提示 Cannot reso...]]></description><category></category></item><item><title><![CDATA[Dependency ** not found]]></title><link>https://blog.youkuaiyun.com/Hanlin___/article/details/107198672</link><guid>https://blog.youkuaiyun.com/Hanlin___/article/details/107198672</guid><author>Hanlin___</author><pubDate>Sun, 29 Mar 2020 20:35:51 +0800</pubDate><description><![CDATA[最近在做学校的毕设，用的技术是 SpringBoot + FreeMarker，需要用 Maven 进行包管理。
在 pom.xml 中提示找不到 FreeMarker 这个依赖，这时候需要先检查一下我们的 Maven 镜像配置是否错误，大家常用的阿里镜像实际只镜像了 central，所以镜像配置最好像下面这样写。
&lt;mirror&gt;      &lt;...]]></description><category></category></item><item><title><![CDATA[Hexo 上传 GitHub 失败]]></title><link>https://blog.youkuaiyun.com/Hanlin___/article/details/107198674</link><guid>https://blog.youkuaiyun.com/Hanlin___/article/details/107198674</guid><author>Hanlin___</author><pubDate>Thu, 23 Jan 2020 14:03:42 +0800</pubDate><description><![CDATA[平时写完博客都是使用如下的命令来生成并部署，g 代表生成模板，d 代表部署到 GitHub。
hexo g -d以前这命令都用的好好的，今天突然报出了如下错误。看了下就是 ssh 通过 22 端口连接不上。
ssh: connect to host github.com port 22: Connection timed outfatal: Could not r...]]></description><category></category></item><item><title><![CDATA[2020新的一年]]></title><link>https://blog.youkuaiyun.com/Hanlin___/article/details/107198687</link><guid>https://blog.youkuaiyun.com/Hanlin___/article/details/107198687</guid><author>Hanlin___</author><pubDate>Thu, 16 Jan 2020 14:24:00 +0800</pubDate><description><![CDATA[2019 就这样过去了，过去一年有很多我过的不满意的地方，我也曾反反复复回想，有过失落与后悔。但是该过的总会过去的，我的目标还没有实现，要想过的更好我还要继续向前。2020，就向前看吧，继续努力！
 


    ...]]></description><category></category></item><item><title><![CDATA[100 道算法题]]></title><link>https://blog.youkuaiyun.com/Hanlin___/article/details/107198683</link><guid>https://blog.youkuaiyun.com/Hanlin___/article/details/107198683</guid><author>Hanlin___</author><pubDate>Thu, 16 Jan 2020 14:02:20 +0800</pubDate><description><![CDATA[左程云在牛客网上发帖子说过建议 80% 备战面试的时间放在数据结构和算法上，剩下的 20% 的时间再放在基础知识上。CYC2018 在小专栏里也说过 100 道 LeetCode 会对面试帮助很大。虽然来来回回看了好些遍左程云那个初级算法课程，但是有的地方还是记不牢，准备面试的时间大部分还是花在了阅读和理解知识点上。我觉得还是把重点放回来吧，把左程云算法课程中的题...]]></description><category></category></item><item><title><![CDATA[二叉树每层最大值的节点]]></title><link>https://blog.youkuaiyun.com/Hanlin___/article/details/107198689</link><guid>https://blog.youkuaiyun.com/Hanlin___/article/details/107198689</guid><author>Hanlin___</author><pubDate>Tue, 24 Dec 2019 15:09:24 +0800</pubDate><description><![CDATA[昨天下午去面试字节的后端，算法题是这一道。
public class GetLevelMax {    public static void main(String[] args) {        // 建立一颗二叉树        TreeNode root = new TreeNode(1);        root.left  = new TreeNode...]]></description><category></category></item><item><title><![CDATA[类加载的时机]]></title><link>https://blog.youkuaiyun.com/Hanlin___/article/details/107198703</link><guid>https://blog.youkuaiyun.com/Hanlin___/article/details/107198703</guid><author>Hanlin___</author><pubDate>Sun, 22 Dec 2019 14:53:00 +0800</pubDate><description><![CDATA[以下内容来自《深入理解 Java 虚拟机》（第二版）——周志明
在 Class 文件中描述的各种信息，最终都需要加载到虚拟机中之后才能运行和使用。虚拟机把描述类的数据从 Class 文件加载到内存，并对数据进行校验、转换解析和初始化，最终形成可以被虚拟机直接使用的 Java 类型，这就是虚拟机的类加载机制。
与那些在编译时需要进行连接工作的语言不同，在 Java ...]]></description><category></category></item><item><title><![CDATA[垃圾收集器]]></title><link>https://blog.youkuaiyun.com/Hanlin___/article/details/107198690</link><guid>https://blog.youkuaiyun.com/Hanlin___/article/details/107198690</guid><author>Hanlin___</author><pubDate>Wed, 18 Dec 2019 15:16:55 +0800</pubDate><description><![CDATA[以下内容来自《深入理解 Java 虚拟机》（第二版）——周志明


这里讨论的收集器基于 JDK 1.7 Update 14 之后的 HotSpot 虚拟机。上图展示了 7 种作用于不同分代的收集器，如果两个收集器之间存在连线，就说明它们可以搭配使用。

Serial 收集器
Serial 收集器是最基本，发展历史最悠久的收集器。他是一个单线程的收集器，但它的 “...]]></description><category></category></item><item><title><![CDATA[垃圾收集算法]]></title><link>https://blog.youkuaiyun.com/Hanlin___/article/details/107198704</link><guid>https://blog.youkuaiyun.com/Hanlin___/article/details/107198704</guid><author>Hanlin___</author><pubDate>Wed, 18 Dec 2019 14:04:16 +0800</pubDate><description><![CDATA[以下内容来自《深入理解 Java 虚拟机》（第二版）——周志明

标记 - 清除算法（Mark-Sweep）
算法分为 “标记” 和 “清除” 两个阶段：首先标记出所有需要回收的对象，在标记完成后统一回收所有被标记的对象。它的不足主要有两个：一个是效率问题，标记和清除两个过程的效率都不高；另一个是空间问题，标记清除之后会产生大量不连续的内存碎片，空间碎片太多可能会...]]></description><category></category></item><item><title><![CDATA[回收方法区]]></title><link>https://blog.youkuaiyun.com/Hanlin___/article/details/107198685</link><guid>https://blog.youkuaiyun.com/Hanlin___/article/details/107198685</guid><author>Hanlin___</author><pubDate>Wed, 18 Dec 2019 13:22:54 +0800</pubDate><description><![CDATA[以下内容来自《深入理解 Java 虚拟机》（第二版）——周志明
Java 虚拟机规范中确实说过可以不要求虚拟机（或者 HotSpot 虚拟机中的永久代）在方法区实现垃圾收集，而且在方法区中进行垃圾收集的 “性价比” 确实比较低：在堆中，尤其是新生代，收集一次一般可以回收 70% ~ 95% 的空间，而方法区中是远远达不到的。
永久代的垃圾收集主要回收两部分内容：废...]]></description><category></category></item><item><title><![CDATA[判断对象是否死亡]]></title><link>https://blog.youkuaiyun.com/Hanlin___/article/details/107198734</link><guid>https://blog.youkuaiyun.com/Hanlin___/article/details/107198734</guid><author>Hanlin___</author><pubDate>Wed, 18 Dec 2019 12:48:03 +0800</pubDate><description><![CDATA[以下内容来自《深入理解 Java 虚拟机》（第二版）——周志明
在堆里面存放着 Java 世界中几乎所有的对象实例，垃圾收集器在对堆进行回收之前，需要确定这些对象当中哪些还存活着，哪些已经死去（即不可能再被任何途径使用的对象）。

引用计数算法
给对象添加一个引用计数器，每当一个地方引用它，计数器加 1；当引用失效时，计数器减 1。引用计数实现简单，判定效率也很高...]]></description><category></category></item></channel></rss>