心城以北_社区达人页

个人头像照片
心城以北
已加入开发者社区951

勋章 更多

个人头像照片
专家博主
专家博主
个人头像照片
星级博主
星级博主
个人头像照片
技术博主
技术博主
个人头像照片
初入江湖
初入江湖

成就

已发布334篇文章
7条评论
已回答0个问题
0条评论
已发布0个视频
github地址

技术能力

兴趣领域
擅长领域
技术认证

暂时未有相关云产品技术能力~

暂无个人介绍

暂无精选文章
暂无更多信息

2022年04月

  • 04.25 15:09:56
    发表了文章 2022-04-25 15:09:56

    Spring 源码解析 | Aop 源码实现(二)

    本次我们一起来聊一下 Spring Aop 的原理。本文主要写 Aop 运行时的一个执行过程。 环境介绍: JDK 17 Spring 6.0.0-SNAPSHOT
  • 04.25 15:06:43
    发表了文章 2022-04-25 15:06:43

    Spring 源码解析 | Aop 源码实现(一)(下)

    本次我们一起来聊一下 Spring Aop 的原理。本文主要是通过一个简单的 Aop 案例,然后结合 Spring 的源码进行分析, Spring Aop 介入时机; Spring Aop 初始化等。 环境介绍: JDK 17 Spring 6.0.0-SNAPSHOT
  • 04.25 15:04:14
    发表了文章 2022-04-25 15:04:14

    Spring 源码解析 | Aop 源码实现(一)(上)

    本次我们一起来聊一下 Spring Aop 的原理。本文主要是通过一个简单的 Aop 案例,然后结合 Spring 的源码进行分析, Spring Aop 介入时机; Spring Aop 初始化等。 环境介绍: JDK 17 Spring 6.0.0-SNAPSHOT
  • 04.25 15:01:48
    发表了文章 2022-04-25 15:01:48

    以 MySQL 为例我们来聊聊,索引创建原则和执行计划分析。

    以 MySQL 为例我们来聊聊,索引创建原则和执行计划分析。
  • 04.25 14:58:48
    发表了文章 2022-04-25 14:58:48

    Spring 源码解析 | populateBean 属性填充(下)

    本文主要是讲 Spring 容器的启动过程主要是以题干的方式进行可能不回涉及过多的细节,希望大家阅读本文能对 Spring 源码有一个简单的了解。 环境介绍: Spring 5.3.10 Jdk 11
  • 04.25 14:56:39
    发表了文章 2022-04-25 14:56:39

    Spring 源码解析 | populateBean 属性填充(上)

    本文主要是讲 Spring 容器的启动过程主要是以题干的方式进行可能不回涉及过多的细节,希望大家阅读本文能对 Spring 源码有一个简单的了解。 环境介绍: Spring 5.3.10 Jdk 11
  • 04.25 14:54:23
    发表了文章 2022-04-25 14:54:23

    Spring 源码解析 | 容器初始化 refresh() 分析

    本文主要是讲 Spring 容器的启动过程主要是以题干的方式进行可能不回涉及过多的细节,希望大家阅读本文能对 Spring 容器初始化过程有一个简单的了解。 环境介绍: Spring 5.3.10 Jdk 11
  • 04.25 14:52:34
    发表了文章 2022-04-25 14:52:34

    Spring 源码解析 | 核心功能

    Spring 框架是以简化 JAVA EE 应用程序的开发为目标而创建的,它为企业级开发提供了丰富的功能,但这些功能的底层都依赖于他的两个核心特性:依赖注入(DI)和面向切面编程(AOP)。
  • 04.25 14:50:32
    发表了文章 2022-04-25 14:50:32

    Spring 源码解析 | 5.3.x 源码编译

    源码下载 首先去 GitHub 上面下载源码。下载地址: github.com/spring-proj… 注意如果觉得下载比较慢的话,可以先同步到自己的 gitee 仓库在下载,下面是我 gitee 仓库的地址 gitee.com/zhengsh/spr…
  • 04.25 14:45:46
    发表了文章 2022-04-25 14:45:46

    Spring 源码解析 | 类型转换

    Spring 内部,有很多地方可能需要将 String 转换为其他类型,今天我们一起来学习一下 PropertyEditor、 ConversionService、TypeConverter 三种类型转换的使用。
  • 04.25 14:43:56
    发表了文章 2022-04-25 14:43:56

    以嫦娥后羿的故事,同大家聊聊加密解密

    嫦娥奔月是我们耳熟能详的神话传说,下面我们将通过嫦娥和后羿的神话故事为背景题材,和大家一起分享信息安全技术基础知识。假设:嫦娥想告诉后羿约他在 "9月20日一起去看一场电影" 的消息,让通过网络将这个消息发给后羿,我们如何保证消息的安全传递?
  • 04.25 14:38:04
    发表了文章 2022-04-25 14:38:04

    基于 Hotspot 的 Java 线程源码分析(下)

    Java 线程其实是映射到操作系统的内核线程上的,所以 Java 线程基本上也就是操作系统在进行管理。在 Linux系统中,线程和进程用的是同一个结构体进行描述的,只不过进程拥有自己独立的地址空间,而同一个进程的多个线程之间是共享资源的。
  • 04.25 14:34:33
    发表了文章 2022-04-25 14:34:33

    基于 Hotspot 的 Java 线程源码分析(上)

    Java 线程其实是映射到操作系统的内核线程上的,所以 Java 线程基本上也就是操作系统在进行管理。在 Linux系统中,线程和进程用的是同一个结构体进行描述的,只不过进程拥有自己独立的地址空间,而同一个进程的多个线程之间是共享资源的。
  • 04.25 14:30:36
    发表了文章 2022-04-25 14:30:36

    CountDownLatch 闭锁源码分析

    闭锁是一种同步工具类,可以延迟线程的进度直到其到达终止状态【CPJ 3.4.2】。闭锁的作用相当于一扇门∶ 在闭锁到达结束状态之前,这扇门一直是关闭的,并且没有任何线程能通过,当到达结束状态时,这扇门会打开并允许所有的线程通过。
  • 04.25 14:26:38
    发表了文章 2022-04-25 14:26:38

    Java 随机数生成原理与 ThreadLocalRandom 详解

    在 JDK7 中,java.util.concurrent 包含了一个相当便利的类随机数生成类 ThreadLocalRandom,当应用程序期望在多个线程或 ForkJoinTasks 中使用随机数时。 对于并发访问,使用 TheadLocalRandom 代替 Math.random() 可以减少竞争,从而获得更好的性能。 使用中只需调用 ThreadLocalRandom.current(), 然后调用它的其中一个方法去获取一个随机数即可。
  • 04.25 14:24:15
    发表了文章 2022-04-25 14:24:15

    Semaphore 信号量源码分析

    Semaphore 信号量, 信号量维护了一组许可。如果有必要每个采集模块都回阻塞,直到有许可可用。然后获取许可证。每次发布都会添加一个许可证,可能会释放一个阻塞资源。但是,没有使用实际的许可对象;信号量可用数量的计数,并且进行操作。 信号量通常可以用于限制访问某些(物理或者逻辑)资源的线程数。例如下面是一个使用信号量控制对线程池访问。
  • 04.25 14:19:14
    发表了文章 2022-04-25 14:19:14

    LockSupport 以及 park、unpark 方法源码分析(下)

    LockSupport 是 jsr 166 中新增的 juc 工具类。 LockSupport 类主要用于创建锁和其他同步类来实现线程阻塞。 这个类与他使用的每个线程进行关联, 如果可用就立即 park , 我们可以通过 unpack 方法进行唤醒。
  • 04.25 14:17:25
    发表了文章 2022-04-25 14:17:25

    LockSupport 以及 park、unpark 方法源码分析(上)

    LockSupport 是 jsr 166 中新增的 juc 工具类。 LockSupport 类主要用于创建锁和其他同步类来实现线程阻塞。 这个类与他使用的每个线程进行关联, 如果可用就立即 park , 我们可以通过 unpack 方法进行唤醒。
  • 04.25 14:15:18
    发表了文章 2022-04-25 14:15:18

    学了 JMM 指令重排序,让我明白该如何写单例模式了

    JMM 是 Java Memory Model 的缩写, Java 内存模型来屏蔽各种硬件和操作系统的内存访问差异,以实现让 Java 程序在各种平台下能够达到一致的内存访问效果。
  • 04.25 14:11:16
    发表了文章 2022-04-25 14:11:16

    Unsafe 和 Atomic 详解(下)

    在JDK 5之后,Java类库中才开始使用CAS操作,该操作由sun.misc.Unsafe类里面的 compareAndSwapInt()和compareAndSwapLong()等几个方法包装提供。HotSpot虚拟机在内部对这些方法做了特殊处理,即时编译出来的结果就是一条平台相关的处理器CAS指令,没有方法调用的过程, 或者可以认为是无条件内联进去了。
  • 04.25 14:09:57
    发表了文章 2022-04-25 14:09:57

    Unsafe 和 Atomic 详解(上)

    在JDK 5之后,Java类库中才开始使用CAS操作,该操作由sun.misc.Unsafe类里面的 compareAndSwapInt()和compareAndSwapLong()等几个方法包装提供。HotSpot虚拟机在内部对这些方法做了特殊处理,即时编译出来的结果就是一条平台相关的处理器CAS指令,没有方法调用的过程, 或者可以认为是无条件内联进去了。
  • 04.25 14:08:12
    发表了文章 2022-04-25 14:08:12

    优先级队列和二叉堆详解(下)

    PriorityBlockingQueue 是一个支持优先级的无界阻塞队列,直到系统资源耗尽。默认情况下元素采用自然顺序升序排列。
  • 04.25 14:06:33
    发表了文章 2022-04-25 14:06:33

    优先级队列和二叉堆详解(上)

    PriorityBlockingQueue 是一个支持优先级的无界阻塞队列,直到系统资源耗尽。默认情况下元素采用自然顺序升序排列。
  • 04.25 14:02:54
    发表了文章 2022-04-25 14:02:54

    数据结构与算法 |分支限界法

    类似回溯算法,也是一种在问题的解空间树 T 上搜索问题解的算法,但在一般情况下,分支节点界定算法与回溯算法的求解目标不同。回溯法的求解是找出 T 中满足条件约束的所有解,而分支限界法的求解目标则是找出满足约束条件的一个解,或是满足约束条件的解中找出达到某一目标函数值达到极大或极小的解,即在某种意义下的最优解。 ​
  • 04.24 23:53:02
    发表了文章 2022-04-24 23:53:02

    BlockingQueue 阻塞队列详解(下)

    BlockingQueue 是一个 Queue , 它是一个线程安全的阻塞队列接口。 ​
  • 04.24 23:51:17
    发表了文章 2022-04-24 23:51:17

    BlockingQueue 阻塞队列详解(上)

    BlockingQueue 是一个 Queue , 它是一个线程安全的阻塞队列接口。 ​
  • 04.24 23:47:51
    发表了文章 2022-04-24 23:47:51

    如何根据不同的业务场景,来选择合适的锁?

    锁是有效的解决并发情况下保证临界资源操作原子性的有效手段之一。下面我就从我们几个开发使用的角度来说我们常用的锁。
  • 04.24 23:43:17
    发表了文章 2022-04-24 23:43:17

    TCP 粘包/拆包的原因及解决方法?

    TCP粘包、拆包属于网络底层问题,在数据链路层、网络层、传输层都有可能出现。日常的网络应用开发大多数在传输层出现,而UDP是由消息保护边界的,不会发生粘包、拆包问题,只发生在TCP协议中。假设客户端向服务端发送了两个连续的数据包Packet1、Packet2;
  • 04.24 23:39:59
    发表了文章 2022-04-24 23:39:59

    JDK 动态代理与 CGLIB 有哪些区别?

    Jdk 动态代理利用拦截器(必须实现InvocationHandler)加上反射机制生成一个代理接口的匿名类,在调用具体方法前调用。InvokeHandler来处理。
  • 04.24 23:34:13
    发表了文章 2022-04-24 23:34:13

    什么样的代码是可读性强的代码?

    什么样的代码是可读性强的代码?者不仅仅是一个新手开发者焦虑的问题,也是多年开发经验的老鸟也会焦虑的问题。下面我就从代码命名 、代码注释、设计文档等几个方面说说我的理解。
  • 04.24 23:25:33
    发表了文章 2022-04-24 23:25:33

    Redis 缓存有哪些淘汰策略?

    Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
  • 04.24 23:21:33
    发表了文章 2022-04-24 23:21:33

    HashMap 的设计与优化(下)

    hashmap 是一个 key-value 形式的键值对集合。(本文内容基于 JDK1.8)下面是一个简单的 hashmap 的结构。 本文主要是通过源码的方式分析 HashMap 的实现和优化。主要是围绕源码本身展开,以添加注释的方式进行记录和分析
  • 04.24 23:19:00
    发表了文章 2022-04-24 23:19:00

    HashMap 的设计与优化(中)

    hashmap 是一个 key-value 形式的键值对集合。(本文内容基于 JDK1.8)下面是一个简单的 hashmap 的结构。 本文主要是通过源码的方式分析 HashMap 的实现和优化。主要是围绕源码本身展开,以添加注释的方式进行记录和分析
  • 04.24 23:16:07
    发表了文章 2022-04-24 23:16:07

    HashMap 的设计与优化(上)

    hashmap 是一个 key-value 形式的键值对集合。(本文内容基于 JDK1.8)下面是一个简单的 hashmap 的结构。 本文主要是通过源码的方式分析 HashMap 的实现和优化。主要是围绕源码本身展开,以添加注释的方式进行记录和分析
  • 04.24 23:12:35
    发表了文章 2022-04-24 23:12:35

    JVM 中四种引用类型

    JVM 中四种引用类型
  • 04.24 23:10:47
    发表了文章 2022-04-24 23:10:47

    JVM 三色标记法与读写屏障(下)

    GC 垃圾回收器其主要的目的是为了实现内存的回收,在这个过程中主要的两个步骤就是:内存标记,内存回收。
  • 04.24 23:07:20
    发表了文章 2022-04-24 23:07:20

    JVM 三色标记法与读写屏障(上)

    GC 垃圾回收器其主要的目的是为了实现内存的回收,在这个过程中主要的两个步骤就是:内存标记,内存回收。
  • 04.24 23:02:05
    发表了文章 2022-04-24 23:02:05

    JVM 实战 OutOfMemoryError 异常(下)

    在《Java虚拟机规范》的规定里,除了程序计数器外,虚拟机内存的其他几个运行时区域都有发生OutOfMemoryError(下文称OOM)异常的可能。(本文主要是基于 jdk1.8 展开探讨)
  • 04.24 23:00:34
    发表了文章 2022-04-24 23:00:34

    JVM 实战 OutOfMemoryError 异常(上)

    在《Java虚拟机规范》的规定里,除了程序计数器外,虚拟机内存的其他几个运行时区域都有发生OutOfMemoryError(下文称OOM)异常的可能。(本文主要是基于 jdk1.8 展开探讨)
  • 04.24 22:57:12
    发表了文章 2022-04-24 22:57:12

    如何设置Java线程池大小?

    线程是调度 CPU 资源的最小单位, 线程模型粉丝 KLT 模型与 ULT 模型,JVM 使用的是 KLT 模型, Java线程与 OS线程保持 1:1 的映射关系,也就是说有一个 java 线程也会在操作系统中有一个对应的线程, Java 线程有多种生命状态
  • 04.24 22:54:09
    发表了文章 2022-04-24 22:54:09

    JVM 有哪些垃圾回收算法?(下)

    分代收集算法的设计原则:收集器应该将Java堆划分出不同的区域,然后将回收对象依据其年龄(年龄即对象经历垃圾收集过程的次数)分配到不同的区域之中存储。
  • 04.24 22:51:55
    发表了文章 2022-04-24 22:51:55

    JVM 有哪些垃圾回收算法?(中)

    分代收集算法的设计原则:收集器应该将Java堆划分出不同的区域,然后将回收对象依据其年龄(年龄即对象经历垃圾收集过程的次数)分配到不同的区域之中存储。
  • 04.24 22:49:18
    发表了文章 2022-04-24 22:49:18

    JVM 有哪些垃圾回收算法?(上)

    分代收集算法的设计原则:收集器应该将Java堆划分出不同的区域,然后将回收对象依据其年龄(年龄即对象经历垃圾收集过程的次数)分配到不同的区域之中存储。
  • 04.24 22:45:59
    发表了文章 2022-04-24 22:45:59

    JVM 运行时堆内存如何分代?

    对于Java应用程序来说,Java堆(Java Heap)是虚拟机所管理的内存中最大的一块。Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的就是存放对象实例,所有的对象实例都在这里分配内存。
  • 04.24 22:42:10
    发表了文章 2022-04-24 22:42:10

    Nacos 配置中心源码分析(下)

    本文主要和大家一起以源码的角度来分析 Nacos 配置中心的配置信息获取,以及配置信息动态同步的过程和原理。
  • 04.24 22:40:34
    发表了文章 2022-04-24 22:40:34

    Nacos 配置中心源码分析(中)

    本文主要和大家一起以源码的角度来分析 Nacos 配置中心的配置信息获取,以及配置信息动态同步的过程和原理。
  • 04.24 22:38:27
    发表了文章 2022-04-24 22:38:27

    Nacos 配置中心源码分析(上)

    本文主要和大家一起以源码的角度来分析 Nacos 配置中心的配置信息获取,以及配置信息动态同步的过程和原理。
  • 04.24 22:36:20
    发表了文章 2022-04-24 22:36:20

    通过 Ribbon 查询 Nacos 服务实例(下)

    Nacos 提供了开放 API 可通过 /nacos/v1/ns/instance/list 获取服务列表。如果我们采用 spring-cloud 方式去获取服务,最终会通过 Nacos Client + loadbalancer 的方式进行客户端负载均衡。
  • 04.24 22:34:22
    发表了文章 2022-04-24 22:34:22

    通过 Ribbon 查询 Nacos 服务实例(中)

    Nacos 提供了开放 API 可通过 /nacos/v1/ns/instance/list 获取服务列表。如果我们采用 spring-cloud 方式去获取服务,最终会通过 Nacos Client + loadbalancer 的方式进行客户端负载均衡。
  • 04.24 22:30:24
    发表了文章 2022-04-24 22:30:24

    通过 Ribbon 查询 Nacos 服务实例(上)

    Nacos  提供了开放 API 可通过 /nacos/v1/ns/instance/list 获取服务列表。如果我们采用 spring-cloud 方式去获取服务,最终会通过 Nacos Client + loadbalancer 的方式进行客户端负载均衡。
  • 发表了文章 2022-04-27

    LeetCode 第 61 题旋转链表

  • 发表了文章 2022-04-27

    LeetCode 第 60 题排列序列

  • 发表了文章 2022-04-27

    LeetCode 数据结构与算法之验证二叉搜索树

  • 发表了文章 2022-04-27

    Excel 高效解析工具 EasyExcel 实践

  • 发表了文章 2022-04-27

    MySQL 数据库范式设计理论概述

  • 发表了文章 2022-04-27

    LeetCode 数据结构与算法之有效的括号

  • 发表了文章 2022-04-27

    JVM 垃圾收集器之 ZGC 和 ZGC LOG 详解(下)

  • 发表了文章 2022-04-27

    JVM 垃圾收集器之 ZGC 和 ZGC LOG 详解(上)

  • 发表了文章 2022-04-27

    JVM 虚拟机之编译优化(下)

  • 发表了文章 2022-04-27

    JVM 虚拟机之编译优化(上)

  • 发表了文章 2022-04-27

    LeetCode 数据结构与算法之反转链表

  • 发表了文章 2022-04-27

    LeetCode 数据结构与算法之环形链表

  • 发表了文章 2022-04-27

    LeetCode 数据结构与算法之二叉树的锯齿形层序遍历

  • 发表了文章 2022-04-27

    LeetCode 数据结构与算法之矩阵置零

  • 发表了文章 2022-04-27

    JVM 调优之 CPU 高占用问题

  • 发表了文章 2022-04-27

    LeetCode 数据结构与算法之两个数组的交集 II

  • 发表了文章 2022-04-27

    LeetCode 数据结构与算法之无重复字符的最长子串

  • 发表了文章 2022-04-27

    LeetCode 数据结构之存在重复元素

  • 发表了文章 2022-04-27

    LeetCode 动态规划之零钱兑换 II

  • 发表了文章 2022-04-27

    LeetCode 动态规划之最长公共子序列

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息