Hill__Cheung
码龄6年
关注
提问 私信
  • 博客:16,418
    16,418
    总访问量
  • 30
    原创
  • 1,411,346
    排名
  • 16
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2019-08-17
博客简介:

Hill__Cheung的博客

查看详细资料
个人成就
  • 获得24次点赞
  • 内容获得17次评论
  • 获得31次收藏
创作历程
  • 30篇
    2021年
成就勋章
TA的专栏
  • 个人笔记
    24篇
  • 面经
    3篇
  • JVM
    8篇
  • 算法
    1篇
  • 并发编程
    6篇
  • 调错记录
    4篇
  • LeetCode
    2篇
  • Spring
    1篇
  • 个人项目
    2篇
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

网易一面凉经

网易一面凉经今天7.30 面试了网易,说一下整体情况吧,感觉这次面试,自己也有很多东西都不会,面试官问的问题我几乎全答不出来,感觉自己还是比较菜的,菜的无敌无敌爆炸。一开始面的还行,后面一直问到不会的。我后面答题就没有信心了,然后回答问题全乱了,全部想不起来。然后就乱了心,啥都不会了。我来总结一下问题吧,可能有些问题我表述不清楚或者忘记了,请见谅。一句话总结就是问到你不会为止。前面都是比较基础的问题,主要还是抗压能力还不够,有些问题我答出来了,但是面试官 说了一句啊?笑了一下我就以为是错的不过面了这
原创
发布博客 2021.09.01 ·
307 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

阿里健康一面面经

今天刚刚面了阿里健康,不知道为什么我阿里笔试0分,也可以约面试,但是我感觉问的问题比较难。1.自我介绍2.项目中的重难点3.happen-before用来干嘛的?4.快排基本流程5.并发编程,那些是设计好的,给上层架构用的6.Mysql中B+树的数据结构7.Mysql中B+树为什么要用B+树,为什么不用红黑树8.Mysql中如何保持数据不丢失?(二次读写和日志)反问环节,面试官建议我多看看源码, 感觉理解的东西都比较概念,没有真的很深入的去理解面试时长30分钟感觉挂掉了,难度太难了
原创
发布博客 2021.08.05 ·
682 阅读 ·
0 点赞 ·
3 评论 ·
0 收藏

Java IO模型

IO模型BIO同步并阻塞(传统型阻塞),服务器实现模式为 一个连接一个线程,即客户端 有链接请求时服务器就需要 启动一个线程进行处理,如果这个连接不做任何事情就会造成不要的线程开销。NIO同步非阻塞,服务器实现模式是 为一个 线程处理多个请求,即客户端发送的连接请求都会注册到 多路复用器上,多路复用器 轮询到连接有IO请求就进行处理AIO(又称为NIO2.0)异步非阻塞,服务器实现模式为 一个有效请求一个线程,客户端的IO请求都是由OS先完成了再通知服务器应用去启动线程进行出出力, 一般适用
原创
发布博客 2021.07.29 ·
234 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

垃圾回收器(简单概述)

垃圾回收器(简单概述)GC分类与性能指标垃圾回收器概述垃圾收集器没有在规范中进行过多的规定,可以由不同厂商、不同版本的JVM来实现。由于JDK的版本处于高速迭代过程中,因此Java发展至今衍生了众多的GC版本。从不同角度分析垃圾收集器,可以将GC分为不同的类型。Java不同版本新特性语法层面:Lambda表达式、switch、自动拆箱装箱、enum、泛型API层面:Stream API、新的日期时间、Optional、String、集合框架底层优化:JVM优化、GC的变化、元空间、静
原创
发布博客 2021.07.29 ·
551 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

垃圾回收概述(垃圾回收算法)

垃圾回收概述Java 和 C++语言的区别,就在于垃圾收集技术和内存动态分配上,C++语言没有垃圾收集技术,需要程序员手动的收集。垃圾收集,不是Java语言的伴生产物。早在1960年,第一门开始使用内存动态分配和垃圾收集技术的Lisp语言诞生。关于垃圾收集有三个经典问题:哪些内存需要回收?什么时候回收?如何回收?垃圾收集机制是Java的招牌能力,极大地提高了开发效率。如今,垃圾收集几乎成为现代语言的标配,即使经过如此长时间的发展,Java的垃圾收集机制仍然在不断的演进中,不同大小的设
原创
发布博客 2021.07.29 ·
802 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

JVM(类加载子系统)

JVMJVM的整体结构[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KIRlxghn-1627542127576)(C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20210307211553743.png)]PS:执行引擎里面有:解释器和JIT(即时编译器)JAVA代码执行流程文字概括:首先java源码(.java文件)进入java编译器然后生成字节码文件(.class)文件JVM(j
原创
发布博客 2021.07.29 ·
175 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

并发编程(下)

不可变对象设计(String保护性拷贝)、final的使用、享元模式不可变类设计String如果一个对象在不能够修改器内部状态(属性),那么它就是线程安全的,因为不存在并发修改类用final修饰保证了该类中的方法不能被覆盖,防止子类无意间破坏不可变性不可变如果一个对象在不能够修改其内部状态(属性),那么它就是线程安全的,因为 不存在并发修改。日期转换的问题问题提出下面代码在运行时,由于SimpleDateFormat不是线程安全的``package com.finaltest
原创
发布博客 2021.07.29 ·
237 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java并发编程:CAS概念、原子操作类(乐观锁思想)、LongAddr和AtomicLong、Unsafe

Java并发编程:CAS概念、原子操作类(乐观锁思想)、LongAddr和AtomicLong、Unsafe共享模型之无锁Java中 synchronize 和 ReentranLock等独占锁就是 悲观锁思想的实现在Java中 java.util.concurretn.atomic包下面的原子变量类就是使用了乐观锁的一种实现方式CAS实现的管程即monitor是阻塞式的悲观锁实现并发控制,这章我们将通过非阻塞式乐观锁的来实现并发控制1、 问题提出有如下需求,保证account.w
原创
发布博客 2021.07.29 ·
949 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

Java内存模型(JMM-原子性、可见性、有序性)、volatile原理、

Java内存模型(JMM-原子性、可见性、有序性)、volatile原理、共享模型之内存多线程的三大特性(原子性、可见性、有序性)之前将的synchronize底层Monitor主要关注的是访问共享变量时,保证临界区代码的原子性。下面进一步深入学习共享变量在多线程间的可见性问题与多条指令执行时的有序性问题Java内存模型(重点)JMM 即Java Memory Model,它从Java层面定义了主存、工作内存抽象概念,底层对应着 CPU寄存器、缓存、硬件内存、CPU指令优化等。JMM体
原创
发布博客 2021.07.29 ·
276 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

# 死锁、ReentranLock(锁重入、锁超时、可中断、公平锁、条件变量)、同步模式之顺序控制

死锁、ReentranLock(锁重入、锁超时、可中断、公平锁、条件变量)、同步模式之顺序控制多把锁小故事一间大屋子有两个功能:睡觉、学习,互不相干。现在小南要学习、小女要睡觉,但如果只用一间屋子(一个对象锁)的话,那么并发度很低小南获取锁之后,学完习之后,小女才能进来睡觉。解决方法时准备多个房间(多个对象锁)@Slf4j(topic = "guizy.BigRoomTest")public class BigRoomTest { public static void m
原创
发布博客 2021.07.29 ·
381 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

# wait和notify原理

wait和notify原理wait和notify(重点)小故事[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CDMyQx9F-1627541763521)(C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20210407112231826.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1wwjn2wY-1627541763535)(C:\Users
原创
发布博客 2021.07.29 ·
332 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Synchronize的底层优化(CAS,重量级锁,轻量级锁,偏向锁)

Java 对象头 (重点)对象头对象头包含两部分: 运行时元数据(Mark Word)和类型指针(Klass Word)运行时元数据:哈希值(HashCode),可以看出是 堆中对象的地址GC分代年龄(年龄计数器) (用于新生代from/to区晋升老年代的标准, 阈值为15)锁状态标志(用于JDK1.6对synchronize的优化->轻量级锁)线程持有的锁偏向线程ID(用于JDK1.6对synchronize的优化->偏向锁)偏向时间戳类型指
原创
发布博客 2021.07.29 ·
837 阅读 ·
3 点赞 ·
2 评论 ·
6 收藏

端点科技 面经

一面端点面试,电话面试,面了大概40分钟+(1) 自我介绍(2) Zookeeper分布式锁怎么实现(监听+Znode 、项目上写的)(3)Zookeeper怎么保证事务一致性(2PC)(4)Zookeeper怎么实现ID生成器(5)HashMap八股文 (扩容机制、结构)(6) 问了一个红黑树基本定义(说了一遍)(7)HashMap八股文与CourrentHashMap八股文(也问了ConcurrentLinkedList不太会)(8)gc的整体流程(9)调用System.gc(),
原创
发布博客 2021.07.21 ·
1151 阅读 ·
5 点赞 ·
2 评论 ·
7 收藏

递归总结

递归最近刷算法刷到了递归和回溯我总结了一下一篇博客首先,要了解递归就要知道递归是什么?递归是什么?**程序调用自身的编程技巧称之为递归。一个函数在运行中直接或者间接的调用自身就称之为一种方法。**它通常把一个大型复制的问题一层一层转为一个与原问题相似较小问题来解决简单地来说,递归就是运行时自己调用自己,当满足一定的条件的时候就会跳出去不过构成递归需要具备的条件:子问题必须和原问题为同样的问题不能无限的调用本身,须要有一个出口。说了这么多可能都绕晕了 那我们看一个例子:输入一个
原创
发布博客 2021.05.14 ·
181 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Starting MySQL... ERROR! The server quit without updating PID file (/data/mysql/localhost.pid).

Starting MySQL… ERROR! The server quit without updating PID file (/data/mysql/localhost.pid).今天遇到一个linux安装mysql错误,启动mysql的时候报:Starting MySQL… ERROR! The server quit without updating PID file (/data/mysql/localhost.pid).解决步骤:你可以先去 /etc/my.cnf查看错误日志看到错误
原创
发布博客 2021.05.11 ·
813 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

CAS概念

CAS概念、原子操作类(乐观锁思想)、LongAddr和AtomicLong、Unsafe共享模型之无锁Java中 synchronize 和 ReentranLock等独占锁就是 悲观锁思想的实现在Java中 java.util.concurretn.atomic包下面的原子变量类就是使用了乐观锁的一种实现方式CAS实现的管程即monitor是阻塞式的悲观锁实现并发控制,这章我们将通过非阻塞式乐观锁的来实现并发控制1、 问题提出有如下需求,保证account.withdraw取款
原创
发布博客 2021.04.26 ·
318 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Spring源码分析

Spring IOC容器初始化主体流程Spring IOC 的容器体系IOC容器是Spring的核心模块,是抽象了对象管理、依赖关系管理的框架解决方案。SPring提供了很多的容器,其中BeanFactory是顶层容器(根容器),不能被实例化,它定义了所有IOC容器必须遵从的一套原则,具体的容器实现可以增加额外的功能,比如我们常用到的ApplicationContext,其下更具体的实现如ClassPathXmlApplicationContext包含了解析xml等一系列的内容,AnnotationC
原创
发布博客 2021.04.26 ·
168 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spring解决循环依赖

Spring如何解决循环依赖想彻底弄清楚spring的循环依赖问题,首先得弄清除循环依赖是如何发生的,Spring又是如何检测循环依赖的发生的。其次再探究Spring如何解决循环的依赖的问题最后我们总结循环依赖解决的2个关键因素,提前曝光和曝光时机,缺一不可循环依赖检查<bean id="a" class="A"> <property name="b" ref="b"><bean/><bean id="b" class="B">
原创
发布博客 2021.04.26 ·
173 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

nested exception is java.lang.IllegalArgumentException: ContextPath must start with ‘/‘ and not end

Unable to start web server; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘undertowServletWebServerFactory’ defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/Serv
原创
发布博客 2021.04.25 ·
777 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest

Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=…) with your test错误信息如下当我们用SpringBoot整合junit时候注意test中的包名和启动入口报名一致这是测试类这是启动类注意两者报名应该一致都应该改成一样的包名,程序就可以正常运行了...
原创
发布博客 2021.04.24 ·
227 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多