<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Goluck98的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Goluck98</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Goluck98]]></copyright><item><title><![CDATA[Java 高频面试知识点完整版（更新至 JDK21 LTS｜2026 最新优化版）]]></title><link>https://blog.youkuaiyun.com/Goluck98/article/details/162191621</link><guid>https://blog.youkuaiyun.com/Goluck98/article/details/162191621</guid><author>Goluck98</author><pubDate>Mon, 22 Jun 2026 10:18:17 +0800</pubDate><description><![CDATA[重写 equals () 与 hashCode ()对象参与 hash 计算的字段不可修改（否则扩容后找不到 key）JDK17 record 天然满足规范，适合做 key。]]></description><category></category></item><item><title><![CDATA[JVM虚拟机面试题（二）]]></title><link>https://blog.youkuaiyun.com/Goluck98/article/details/103755265</link><guid>https://blog.youkuaiyun.com/Goluck98/article/details/103755265</guid><author>Goluck98</author><pubDate>Sun, 29 Dec 2019 17:01:22 +0800</pubDate><description><![CDATA[11.JVM内存分哪几个区，每个区的作用是什么?
java虚拟机主要分为以下一个区:

方法区：
1. 有时候也成为永久代，在该区内很少发生垃圾回收，但是并不代表不发生GC，在这里进行的GC主要是对方法区里的常量池和对类型的卸载
2. 方法区主要用来存储已被虚拟机加载的类的信息、常量、静态变量和即时编译器编译后的代码等数据。
3. 该区域是被线程共享的。
4. 方法区里有一个运行时常量池，用于存放...]]></description><category></category></item><item><title><![CDATA[JVM虚拟机面试题（一）]]></title><link>https://blog.youkuaiyun.com/Goluck98/article/details/103753737</link><guid>https://blog.youkuaiyun.com/Goluck98/article/details/103753737</guid><author>Goluck98</author><pubDate>Sun, 29 Dec 2019 16:08:19 +0800</pubDate><description><![CDATA[1 简述JDK，JRE，JVM之间的关系？



一、JDK(Java Development Kit)

JDK(Java Development Kit)，即Java开发工具包，是一个编写Java应用程序的开发环境。

JDK是整个Java的核心，包括了JRE（Java运行环境）与一些Java开发工具（例如：jconsole、javac、java、javadoc、native2ascii、ja...]]></description><category></category></item><item><title><![CDATA[IntelliJ IDEA使用技巧（三）——Debug 篇]]></title><link>https://blog.youkuaiyun.com/Goluck98/article/details/89341344</link><guid>https://blog.youkuaiyun.com/Goluck98/article/details/89341344</guid><author>Goluck98</author><pubDate>Tue, 16 Apr 2019 20:30:51 +0800</pubDate><description><![CDATA[如上图所示：从“Server”开始，往后图标依次为：

Show Execution Point ：显示执行端点（Alt + F10）
	Step Over ：跳到下一步 （F8）
	Step Into ：进入代码或者说进入到方法内部（F7）
	Force Step Into ：强制进入代码或者说进入到方法内部（Alt + Shift + F7）
	Step Out ：跳到下一个断点或者跳出方...]]></description><category></category></item><item><title><![CDATA[IntelliJ IDEA使用技巧（二）——添加jar包]]></title><link>https://blog.youkuaiyun.com/Goluck98/article/details/89341318</link><guid>https://blog.youkuaiyun.com/Goluck98/article/details/89341318</guid><author>Goluck98</author><pubDate>Tue, 16 Apr 2019 20:29:45 +0800</pubDate><description><![CDATA[应用IntelliJ IDEA编程，知道如何添加 jar 是最基本的技能。在这里，作者将带着大家一起过一遍添加 jar 包的流程：

首先，通过菜单栏中的“File”进入到“Project Structure”，



然后，选择左侧的“Modules”,



再选择右侧对应的“Dependencies”,



接下来，点击最右侧“绿色的加号”，选择“1 JARs or directori...]]></description><category></category></item><item><title><![CDATA[Linux常用命令]]></title><link>https://blog.youkuaiyun.com/Goluck98/article/details/89296971</link><guid>https://blog.youkuaiyun.com/Goluck98/article/details/89296971</guid><author>Goluck98</author><pubDate>Sun, 14 Apr 2019 15:27:36 +0800</pubDate><description><![CDATA[基础命令
目录和文件命令
cd /home 进入 /home目录
cd .. 返回上一级目录
cd ../.. 返回上两级目录
cd 进入个人主目录
cd ~user1 进入个人的主目录
cd - 返回上次所在的目录
pwd 显示工作路径
ls ...]]></description><category></category></item><item><title><![CDATA[一个 NIO 框架的启动]]></title><link>https://blog.youkuaiyun.com/Goluck98/article/details/89296880</link><guid>https://blog.youkuaiyun.com/Goluck98/article/details/89296880</guid><author>Goluck98</author><pubDate>Sun, 14 Apr 2019 15:22:55 +0800</pubDate><description><![CDATA[一个 NIO 服务端启动需要哪些要素

一个典型的 NIO 服务端应该有哪些东西来支撑他的服务呢？

ServerSocketChannel

首先要有一个 ServerSocketChannel，就像流操作都要基于 Stream 对象一样， NIO 中的所有 I/O 操作都基于 Channel 对象。

一个 Channel 代表着和某一实体的连接，这个实体可以是硬件设备、文件或者是网络套接字，...]]></description><category></category></item><item><title><![CDATA[Java 中的synchronized]]></title><link>https://blog.youkuaiyun.com/Goluck98/article/details/89296812</link><guid>https://blog.youkuaiyun.com/Goluck98/article/details/89296812</guid><author>Goluck98</author><pubDate>Sun, 14 Apr 2019 15:18:36 +0800</pubDate><description><![CDATA[Java语言为了解决并发编程中存在的原子性、可见性和有序性问题，提供了一系列和并发处理相关的关键字，比如synchronized、volatile、final、concurren包等。

在《深入理解Java虚拟机》中，有这样一段话：


synchronized关键字在需要原子性、可见性和有序性这三种特性的时候都可以作为其中一种解决方案，看起来是“万能”的。的确，大部分并发控制操作都能使用syn...]]></description><category></category></item><item><title><![CDATA[经典面试题|讲一讲JVM的组成]]></title><link>https://blog.youkuaiyun.com/Goluck98/article/details/89296733</link><guid>https://blog.youkuaiyun.com/Goluck98/article/details/89296733</guid><author>Goluck98</author><pubDate>Sun, 14 Apr 2019 15:14:04 +0800</pubDate><description><![CDATA[JVM（Java 虚拟机）算是面试必问的问题的了，而但凡问 JVM 一定会问的第一个问题就是：讲一讲 JVM 的组成？那本文就注重讲一下 JVM 的组成。

首先来说 JVM 的组成分为，整体组成部分和运行时数据区组成部分，一般开发者关注的和面试官问的都是后者，但本文会详细讲解以上两个组成部分。

一、JVM 整体组成

JVM 整体组成可分为以下四个部分：


	类加载器（ClassLoader...]]></description><category></category></item><item><title><![CDATA[Spring IOC中三种依赖注入方式]]></title><link>https://blog.youkuaiyun.com/Goluck98/article/details/80338806</link><guid>https://blog.youkuaiyun.com/Goluck98/article/details/80338806</guid><author>Goluck98</author><pubDate>Wed, 16 May 2018 16:22:06 +0800</pubDate><description><![CDATA[spring的核心思想是IOC和AOP，IOC-控制反转，是一个重要的面向对象编程的法则来消减计算机程序的耦合问题，控制反转一般分为两种类型，依赖注入和依赖查找，依赖什么？为什么需要依赖？注入什么？控制什么？依赖注入和控制反转是一样的概念吗？接触新的知识，小编的脑袋中全是大大的问号，不过没有关系，今天这篇博文，小编主要来简单的介绍一下在spring IOC中依赖注入的方法。依赖注入和控制反转，目的...]]></description><category></category></item><item><title><![CDATA[Spring IOC的理解]]></title><link>https://blog.youkuaiyun.com/Goluck98/article/details/80338761</link><guid>https://blog.youkuaiyun.com/Goluck98/article/details/80338761</guid><author>Goluck98</author><pubDate>Wed, 16 May 2018 16:20:04 +0800</pubDate><description><![CDATA[学习过Spring框架的人一定都会听过Spring的IoC(控制反转) 、DI(依赖注入)这两个概念，对于初学Spring的人来说，总觉得IoC 、DI这两个概念是模糊不清的，是很难理解的，今天和大家分享网上的一些技术大牛们对Spring框架的IOC的理解以及谈谈我对Spring Ioc的理解。一、分享Iteye的开涛对Ioc的精彩讲解　　首先要分享的是Iteye的开涛这位技术牛人对Spring框...]]></description><category></category></item><item><title><![CDATA[Spring的JDK和CGLIB两种代理的区别]]></title><link>https://blog.youkuaiyun.com/Goluck98/article/details/80334489</link><guid>https://blog.youkuaiyun.com/Goluck98/article/details/80334489</guid><author>Goluck98</author><pubDate>Wed, 16 May 2018 11:25:07 +0800</pubDate><description><![CDATA[一、原理区别：java动态代理是利用反射机制生成一个实现代理接口的匿名类，在调用具体方法前调用InvokeHandler来处理。而cglib动态代理是利用asm开源包，对代理对象类的class文件加载进来，通过修改其字节码生成子类来处理。1、如果目标对象实现了接口，默认情况下会采用JDK的动态代理实现AOP 2、如果目标对象实现了接口，可以强制使用CGLIB实现AOP 3、如果目标对象没有实现了接...]]></description><category></category></item><item><title><![CDATA[Spring AOP 代理原理及实践]]></title><link>https://blog.youkuaiyun.com/Goluck98/article/details/80333311</link><guid>https://blog.youkuaiyun.com/Goluck98/article/details/80333311</guid><author>Goluck98</author><pubDate>Wed, 16 May 2018 10:25:07 +0800</pubDate><description><![CDATA[由浅入深手把手带你搞定Spring AOP。为什么会有面向切面编程（AOP）？我们知道Java是一个面向对象(OOP)的语言，但它有一些弊端,比如当我们需要为多个不具有继承关系的对象引入一个公共行为，例如日志,权限验证,事务等功能时，只能在在每个对象里引用公共行为，这样做不便于维护，而且有大量重复代码。AOP的出现弥补了OOP的这点不足。为了阐述清楚Spring AOP，我们从将以下方面进行讨论：...]]></description><category></category></item><item><title><![CDATA[Java中String详解]]></title><link>https://blog.youkuaiyun.com/Goluck98/article/details/80329491</link><guid>https://blog.youkuaiyun.com/Goluck98/article/details/80329491</guid><author>Goluck98</author><pubDate>Tue, 15 May 2018 21:21:16 +0800</pubDate><description><![CDATA[一、String 使用 private final char value[]来实现字符串存储所以String对象创建之后就不能再修改此对象中存储的字符串内容，所以说String本质是字符数组char[]，且其类型是不可变的！相对应String，StringBuffer与String功能大致相同，但实现方法不同，StringBuffer是可变的，而且是线程安全的。二、Java中String的创建方法...]]></description><category></category></item><item><title><![CDATA[Java 8系列之重新认识HashMap]]></title><link>https://blog.youkuaiyun.com/Goluck98/article/details/80315450</link><guid>https://blog.youkuaiyun.com/Goluck98/article/details/80315450</guid><author>Goluck98</author><pubDate>Mon, 14 May 2018 21:27:15 +0800</pubDate><description><![CDATA[摘要HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK（Java Developmet Kit）版本的更新，JDK1.8对HashMap底层的实现进行了优化，例如引入红黑树的数据结构和扩容的优化等。本文结合JDK1.7和JDK1.8的区别，深入探讨HashMap的结构实现和功能原理。简介Java为数据结构中的映射定义了一个接口java.util.Map，此接口...]]></description><category></category></item><item><title><![CDATA[Javascript垃圾回收浅析]]></title><link>https://blog.youkuaiyun.com/Goluck98/article/details/80255215</link><guid>https://blog.youkuaiyun.com/Goluck98/article/details/80255215</guid><author>Goluck98</author><pubDate>Wed, 09 May 2018 16:13:12 +0800</pubDate><description><![CDATA[接上篇《JS特性性能缺陷及JIT的解决方案》，这里总结下的Javascript垃圾回收机制。一. 枚举Javascript引擎分配内存的场景：1. Objectnew Object();
new MyConstructor();
{ a: 4, b: 5 }
Object.create();2. 数组new Array();
[ 1, 2, 3, 4 ];3. 字符串new String(“hel...]]></description><category></category></item><item><title><![CDATA[JS特性性能缺陷及JIT的解决方案]]></title><link>https://blog.youkuaiyun.com/Goluck98/article/details/80254944</link><guid>https://blog.youkuaiyun.com/Goluck98/article/details/80254944</guid><author>Goluck98</author><pubDate>Wed, 09 May 2018 16:02:42 +0800</pubDate><description><![CDATA[拜读了David的《Know Your Engines: How to Make Your JavaScript Fast》，David是Mozilla的JS引擎工程师，文章主要介绍了JIT与GC原理，以及如何根据某些基本原理，优化js代码的执行效率，虽然是老文了，但对我来说仍受益匪浅。这里，我根据上文整理了本文，同时，大家也可以从侧面了解下JIT。        近5年来，在主流浏览器上，Jav...]]></description><category></category></item><item><title><![CDATA[浅谈HTTP中Get与Post的区别]]></title><link>https://blog.youkuaiyun.com/Goluck98/article/details/80254511</link><guid>https://blog.youkuaiyun.com/Goluck98/article/details/80254511</guid><author>Goluck98</author><pubDate>Wed, 09 May 2018 15:39:30 +0800</pubDate><description><![CDATA[Http定义了与服务器交互的不同方法，最基本的方法有4种，分别是GET，POST，PUT，DELETE。URL全称是资源描述符，我们可以这样认为：一个URL地址，它用于描述一个网络上的资源，而HTTP中的GET，POST，PUT，DELETE就对应着对这个资源的查，改，增，删4个操作。到这里，大家应该有个大概的了解了，GET一般用于获取/查询资源信息，而POST一般用于更新资源信息。　　1.根据H...]]></description><category></category></item><item><title><![CDATA[【Java并发编程】之十七：深入Java内存模型—内存操作规则总结]]></title><link>https://blog.youkuaiyun.com/Goluck98/article/details/45787313</link><guid>https://blog.youkuaiyun.com/Goluck98/article/details/45787313</guid><author>Goluck98</author><pubDate>Sun, 17 May 2015 10:53:22 +0800</pubDate><description><![CDATA[深入Java内存模型—内存操作规则总结]]></description><category></category></item><item><title><![CDATA[【Java并发编程】之十六：深入Java内存模型——happen-before规则及其对DCL的分析（含代码）]]></title><link>https://blog.youkuaiyun.com/Goluck98/article/details/45787237</link><guid>https://blog.youkuaiyun.com/Goluck98/article/details/45787237</guid><author>Goluck98</author><pubDate>Sun, 17 May 2015 10:45:19 +0800</pubDate><description><![CDATA[深入Java内存模型——happen-before规则及其对DCL的分析]]></description><category></category></item></channel></rss>