自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 mac安装jdk

而不是你手动安装的 JDK 8 或 JDK 21。这是 macOS 的一个特殊设计,它会默认指向。,但实际上这是一个提示工具,用于引导用户安装官方 JDK。现在你的 M1 Mac 应该正确运行 JDK 8 了!是 macOS 的 Java 存根,它会自动调用。,说明它没有正确安装,你可能需要重新安装。没有正确生效,检查环境变量是否设置正确。工具来管理 JDK 版本。如果仍然显示 JDK 21,说明。返回的默认 JDK。说明当前系统使用的是。确保只剩下 JDK 8。

2025-03-27 12:42:53 427

原创 2.1 信息存储

计算机的表示法是用有限数量的位来对一个数字编码,因此,当结果太大以至不能表示时,某些运算就会溢出。

2023-06-24 19:37:00 168

原创 创建多少线程才是合适的?

很多人都知道线程数不是越多越好,但是设置多少是合适的,却又拿不定主意。其实只要把握住一条原则就可以了,这条原则就是将硬件的性能发挥到极致。上面我们针对 CPU 密集型和 I/O 密集型计算场景都给出了理论上的最佳公式,这些公式背后的目标其实就是将硬件的性能发挥到极致。对于 I/O 密集型计算场景,I/O 耗时和 CPU 耗时的比值是一个关键参数,不幸的是这个参数是未知的,而且是动态变化的,所以工程上,我们要估算这个参数,然后做各种不同场景下的压测来验证我们的估计。

2023-06-04 23:31:20 221 2

原创 《深入理解计算机系统》各章节概述

本书由 12 章组成,旨在阐述计算机系统的核心概念。

2023-06-04 22:13:42 296

转载 Java线程的生命周期

理解 Java 线程的各种状态以及生命周期对于诊断多线程 Bug 非常有帮助,多线程程序很难调试,出了 Bug 基本上都是靠日志,靠线程 dump 来跟踪问题,分析线程 dump 的一个基本功就是分析线程状态,大部分的死锁、饥饿、活锁问题都需要跟踪分析线程的状态。同时,本文介绍的线程生命周期具备很强的通用性,对于学习其他语言的多线程编程也有很大的帮助。

2023-06-04 13:47:31 119

转载 管程:并发编程的万能钥匙

不知道你是否曾思考过这个问题:为什么 Java 在 1.5 之前仅仅提供了 synchronized 关键字及 wait()、notify()、notifyAll() 这三个看似从天而降的方法?在刚接触 Java 的时候,我以为它会提供信号量这种编程原语,因为操作系统原理课程告诉我,用信号量能解决所有并发问题,结果我发现不是。后来我找到了原因:Java 采用的是管程技术,synchronized 关键字及 wait()、notify()、notifyAll() 这三个方法都是管程的组成部分。

2023-06-03 16:30:09 90

转载 安全性、活跃性以及性能问题

并发编程是一个复杂的技术领域,微观上涉及到原子性问题、可见性问题和有序性问题,宏观则表现为安全性、活跃性以及性能问题。我们在设计并发程序的时候,主要是从宏观出发,也就是要重点关注它的安全性、活跃性以及性能。安全性方面要注意数据竞争和竞态条件,活跃性方面需要注意死锁、活锁、饥饿等问题,性能方面我们虽然介绍了两个方案,但是遇到具体问题,你还是要具体分析,根据特定的场景选择合适的数据结构和算法。

2023-06-01 00:20:21 81

转载 转账该如何加锁?

以下内容只是学习参考,不适用于分布式场景银行业务里面的转账操作,账户 A 减少 100 元,账户 B 增加 100 元。这两个账户就是有关联关系的。那对于像转账这种有关联关系的操作,我们应该怎么去解决呢?我们声明了个账户类:Account,该类有一个成员变量余额:balance,还有一个用于转账的方法:transfer(),然后怎么保证转账操作 transfer() 没有并发问题呢?

2023-05-28 22:50:31 487 6

原创 跳台阶问题

一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个 n 级的台阶总共有多少种跳法(先后次序不同算不同的结果)。

2022-11-01 23:56:23 97

原创 2.2 整数表示

整数表示

2022-09-06 00:59:16 383

原创 Spring——Core

Spring

2022-07-22 00:49:55 1035

原创 Spring——Spring 框架概览

Spring 框架分为几个模块。应用程序可以选择它们需要的模块。

2022-07-17 21:32:47 232

原创 数据结构与算法分析——求最大公因数的算法

除了对数时间复杂度的算法中提到的欧几里得算法,还有几种求最大公因数的算法。例如,更相减损术和Stein算法。

2022-07-15 00:01:11 370

原创 数据结构与算法分析——对数时间复杂度的算法

折半查找、欧几里得、幂运算

2022-07-12 00:18:36 1809

原创 数据结构与算法分析——最大子序列和问题

最大子序列和问题

2022-07-10 22:04:24 397

原创 数据结构与算法分析——数学基础

目的是要在函数间建立一种相对的级别

2022-07-06 00:09:25 231

原创 数据结构与算法分析——递归简论

当一个函数用在这里插入代码片它自己来定义时就称为是递归的。Java 允许函数是递归的。

2022-07-04 23:33:56 224

原创 《数据结构与算法分析——Java语言描述》和《深入理解计算机系统》学习计划

数据结构与算法、计算机系统学习计划

2022-07-03 22:33:47 188

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除