Hong's Blog

Like life,like coding


  • 首页

  • 关于

  • 标签

  • 分类

  • 搜索

LeetCode-二分查找

发表于 2020-02-22 | 分类于 algorithm , interview

一. 二分查找

​ 二分查找是算法里很常见的一道题目。有的题目直接就是要求二分查找,有的题目是子步骤需要用到查找,而这一块也可以用到二分法进行查找。同时二分法具备的时间复杂度为O(logN),是一个非常高效的算法。概念很简单,对于有序 的数组,就是一直使用中点mid 进行筛选,逐步缩小区间大小,最后得到答案。但是概念大家都懂,实际操作的时候却发现总是会出现问题,比如判定条件到底是left < right还是left <= right?里面的else if到底是left = mid还是left = mid + 1等等?最后返回的是left还是left + 1?这使得原本觉得二分法很简单的我们,渐渐地发现:原来我们只会做最基本的那个二分查找,只要稍微加一点变动,就很容易出现纰漏。所以这里就是要好好总结二分查找的真实框架,真正地掌握二分查找的精髓,而不是只会做那道最简单的二分查找。

​ 本文参考链接:《二分查找算法细节详解》,《Leetcode题解 - 二分查找》

阅读全文 »

HashMap源码阅读

发表于 2020-02-17 | 分类于 Java

一. 前言:

​ 在准备面试的过程中,发现HashMap源码是很常见的考点,于是进行了仔细的学习。以前都说读源码是快速提高Java水平的好途径,在阅读了HashMap的部分重要源码之后真的是深有体会,于是写下此篇文章做记录。具体内容包括,HashMap的构造方法,put,get方法,以及put&get所需要的hash方法,还有扩容时所需要的resize方法。我们将对这几个方法的源码进行阅读,理解它的逻辑,以及一些巧妙的设计。

阅读全文 »

MySQL锁的判断

发表于 2020-02-17 | 分类于 MySQL

一. 前言

本文的最终解决的问题:如何判断一条SQL语句用到了哪些锁?
(特别地,这里考虑的是MySQL数据库的锁机制)

首先,我们需要先对MySQL的事务机制,锁机制,索引机制都总结一遍。

阅读全文 »

JVM知识整理

发表于 2020-02-17 | 分类于 Java

一. 类的生命周期:加载→连接→初始化→使用→销毁

连接 包括:

①验证(确保被加载的类的正确性)
②准备(为静态变量分配内存,并将其初始化为默认值(指0,false,null等),同时将static final值转换为具体的常量
③初始化:为静态变量执行赋值语句(static,非final),执行静态块
PS:初始化只有在对类主动使用时才会执行,包括以下:
①new
②访问静态域的时候
③反射(如Class.forName)
④初始化某个类时,其父类也会初始化
⑤运行main方法时,该类加载

阅读全文 »

Spring Cloud笔记(一)

发表于 2020-02-18 | 分类于 Spring Cloud

一. 前言

​ Spring已经渐渐地成为了Java程序员的必备技能,尤其是Java Web方向。同时,Spring也一直在发展,由于Spring存在配置臃肿的问题,所以就出现了Spring Boot框架,用于简化新Spring应用的初始搭建以及开发过程。近年来微服务架构也越来越火,所以在Spring Boot的基础上又出现了Spring Cloud。如果你是常年使用Spring的Java Web程序员,那么Spring Boot跟Spring Cloud很值得一学。

​ 本系列文章并非是完整的教程,我阅读的是”纯洁的微笑“的博客:。以及书籍《Spring Cloud与Docker微服务架构实战》by周立。相信每一位学习编程的朋友都遇到过一个问题,跟着书上/教程上一步一步走,结果却不一样。有的时候是版本的问题,有的时候是自己的操作出现纰漏,也可能是教程本身也存在纰漏。无论如何,学习是一个挖坑再填坑的过程,在这个过程中我们的技术也会快速提高。所以这篇文章就是记录我在学习Spring Cloud过程中所遇到的问题,以及如何解决(虽然也有构建步骤,但目前写得比较简单,建议结合上面推荐的博客,书籍使用)。如果有朋友也遇到了类似的问题,可以参考一下。

阅读全文 »

数据库三级封锁协议

发表于 2020-02-17 | 分类于 MySQL

一. 前言

数据库并发会导致各种问题(即多线程下导致的同步问题),需要用lock来解决。

一般会导致的问题:脏读,不可重复读,第一类更新丢失,第二类更新丢失

为了解决这些问题,需要使用锁机制,数据库一般有三级封锁协议。本文阐述了这些问题具体是什么,锁机制如何解决这些问题。

阅读全文 »
12…5
Hong

Hong

hong

30 日志
16 分类
17 标签
RSS
GitHub E-Mail

Tag Cloud

  • CentOS2
  • Debug2
  • Docker2
  • Github1
  • IDE1
  • JSON1
  • LeetCode3
  • Linux1
  • RabbitMQ1
  • Spring Boot6
  • Spring Cloud6
  • algorithm3
  • blog1
  • deprecated1
  • interview7
  • life1
  • note1
© 2019 — 2020 true 粤ICP备19122452号-1
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.4