<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Interview on Orangex-position0的技术博客</title><link>https://Orangex-position0.github.io/tags/interview/</link><description>Recent content in Interview on Orangex-position0的技术博客</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Mon, 16 Mar 2026 14:00:00 +0800</lastBuildDate><atom:link href="https://Orangex-position0.github.io/tags/interview/index.xml" rel="self" type="application/rss+xml"/><item><title>操作系统基础：进程与线程</title><link>https://Orangex-position0.github.io/posts/computer-fundamentals/os-basics/</link><pubDate>Mon, 16 Mar 2026 14:00:00 +0800</pubDate><guid>https://Orangex-position0.github.io/posts/computer-fundamentals/os-basics/</guid><description>&lt;h2 id="进程-process"&gt;&lt;a href="#%e8%bf%9b%e7%a8%8b-process" class="header-anchor"&gt;&lt;/a&gt;进程 (Process)
&lt;/h2&gt;&lt;p&gt;进程是操作系统分配资源的基本单位。&lt;/p&gt;
&lt;h3 id="进程特征"&gt;&lt;a href="#%e8%bf%9b%e7%a8%8b%e7%89%b9%e5%be%81" class="header-anchor"&gt;&lt;/a&gt;进程特征
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;独立性：拥有独立的内存空间&lt;/li&gt;
&lt;li&gt;动态性：动态创建、运行、消亡&lt;/li&gt;
&lt;li&gt;并发性：多个进程可以并发执行&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="进程状态转换"&gt;&lt;a href="#%e8%bf%9b%e7%a8%8b%e7%8a%b6%e6%80%81%e8%bd%ac%e6%8d%a2" class="header-anchor"&gt;&lt;/a&gt;进程状态转换
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;就绪 → 运行 → 阻塞
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↑ ↓
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ←———————←——————
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="线程-thread"&gt;&lt;a href="#%e7%ba%bf%e7%a8%8b-thread" class="header-anchor"&gt;&lt;/a&gt;线程 (Thread)
&lt;/h2&gt;&lt;p&gt;线程是 CPU 调度的基本单位，轻量级进程（LWP）。&lt;/p&gt;
&lt;h3 id="线程特点"&gt;&lt;a href="#%e7%ba%bf%e7%a8%8b%e7%89%b9%e7%82%b9" class="header-anchor"&gt;&lt;/a&gt;线程特点
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;共享进程资源（内存、文件等）&lt;/li&gt;
&lt;li&gt;独立的执行流（寄存器、栈）&lt;/li&gt;
&lt;li&gt;创建和切换开销小&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="进程-vs-线程"&gt;&lt;a href="#%e8%bf%9b%e7%a8%8b-vs-%e7%ba%bf%e7%a8%8b" class="header-anchor"&gt;&lt;/a&gt;进程 vs 线程
&lt;/h2&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;特性&lt;/th&gt;
					&lt;th&gt;进程&lt;/th&gt;
					&lt;th&gt;线程&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;资源共享&lt;/td&gt;
					&lt;td&gt;独立&lt;/td&gt;
					&lt;td&gt;共享&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;通信方式&lt;/td&gt;
					&lt;td&gt;IPC（管道、消息队列等）&lt;/td&gt;
					&lt;td&gt;共享内存&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;开销&lt;/td&gt;
					&lt;td&gt;大&lt;/td&gt;
					&lt;td&gt;小&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;安全性&lt;/td&gt;
					&lt;td&gt;高（隔离）&lt;/td&gt;
					&lt;td&gt;低（需同步）&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="总结"&gt;&lt;a href="#%e6%80%bb%e7%bb%93" class="header-anchor"&gt;&lt;/a&gt;总结
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;进程是资源分配单位&lt;/li&gt;
&lt;li&gt;线程是调度执行单位&lt;/li&gt;
&lt;li&gt;现代应用通常采用多线程模型提高并发性能&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>ConcurrentHashMap 原理分析</title><link>https://Orangex-position0.github.io/posts/java/concurrent-hashmap/</link><pubDate>Mon, 16 Mar 2026 11:05:04 +0800</pubDate><guid>https://Orangex-position0.github.io/posts/java/concurrent-hashmap/</guid><description>&lt;h2 id="概述"&gt;&lt;a href="#%e6%a6%82%e8%bf%b0" class="header-anchor"&gt;&lt;/a&gt;概述
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;ConcurrentHashMap&lt;/code&gt; 是 Java 并发包中最重要的并发容器之一，本文将深入分析其实现原理。&lt;/p&gt;
&lt;h2 id="核心特点"&gt;&lt;a href="#%e6%a0%b8%e5%bf%83%e7%89%b9%e7%82%b9" class="header-anchor"&gt;&lt;/a&gt;核心特点
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;线程安全&lt;/strong&gt;：无需额外同步措施即可在多线程环境下使用&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;高性能&lt;/strong&gt;：采用分段锁/ CAS 机制，减少锁竞争&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;弱一致性&lt;/strong&gt;：迭代器不保证强一致性，但不会抛出 &lt;code&gt;ConcurrentModificationException&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="jdk-17-实现分段锁"&gt;&lt;a href="#jdk-17-%e5%ae%9e%e7%8e%b0%e5%88%86%e6%ae%b5%e9%94%81" class="header-anchor"&gt;&lt;/a&gt;JDK 1.7 实现：分段锁
&lt;/h2&gt;&lt;h3 id="segment-结构"&gt;&lt;a href="#segment-%e7%bb%93%e6%9e%84" class="header-anchor"&gt;&lt;/a&gt;Segment 结构
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-java" data-lang="java"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;final&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Segment&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;K&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;V&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;extends&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ReentrantLock&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;transient&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kd"&gt;volatile&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;HashEntry&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;K&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;V&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;[]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;table&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// ...&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="jdk-18-实现cas--synchronized"&gt;&lt;a href="#jdk-18-%e5%ae%9e%e7%8e%b0cas--synchronized" class="header-anchor"&gt;&lt;/a&gt;JDK 1.8 实现：CAS + synchronized
&lt;/h2&gt;&lt;h3 id="核心改进"&gt;&lt;a href="#%e6%a0%b8%e5%bf%83%e6%94%b9%e8%bf%9b" class="header-anchor"&gt;&lt;/a&gt;核心改进
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;取消 Segment 分段，直接使用 Node 数组&lt;/li&gt;
&lt;li&gt;使用 CAS + synchronized 实现更细粒度的锁&lt;/li&gt;
&lt;li&gt;红黑树优化链表过长问题&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="总结"&gt;&lt;a href="#%e6%80%bb%e7%bb%93" class="header-anchor"&gt;&lt;/a&gt;总结
&lt;/h2&gt;&lt;p&gt;ConcurrentHashMap 的演进体现了 Java 在并发领域的持续优化。&lt;/p&gt;</description></item></channel></rss>