Gary_Tam
码龄4年
关注
提问 私信
  • 博客:24,148
    社区:2
    24,150
    总访问量
  • 40
    原创
  • 35,760
    排名
  • 268
    粉丝
  • 0
    铁粉

个人简介:专注于分享Java各类学习笔记、面试题,赋能每一位Java学习者的知识探索之旅。

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:中国
  • 加入CSDN时间: 2021-04-20
博客简介:

Gary_Tam的博客

查看详细资料
  • 原力等级
    当前等级
    3
    当前总分
    384
    当月
    35
个人成就
  • 获得381次点赞
  • 内容获得19次评论
  • 获得266次收藏
  • 代码片获得653次分享
创作历程
  • 4篇
    2025年
  • 36篇
    2024年
成就勋章
TA的专栏
  • 实战操作教程
    7篇
  • Docker
    1篇
  • Java基础面试专栏
    11篇
  • 计算机网络
    1篇
  • 学习路线
    1篇
  • 分布式系统
    5篇
  • 实战
    1篇
  • 设计模式
    3篇
  • MySQL面试专栏
    1篇
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

虚拟机Vmware无法连接网络

检查宿主机VM8网卡设置,打开控制面板->网络和共享中心->更改适配器设置。将BOOTPROTO设置为静态static,ONBOOT设置为yes。1.查看网络和共享中心,判断虚拟机服务(VMnet8)是否开启。在虚拟机终端,先su root进入root权限进行操作,在输入。关闭NetworkManager,在重启network。查看Vmware是否启动,若为启动则右键启动运行。3.查看NAT模式是否开启。win+R打开终端,输入。6.查看网卡是否能启动。2.查看服务是否启动。4.查看ip是否一致。
原创
发布博客 2025.03.26 ·
254 阅读 ·
3 点赞 ·
0 评论 ·
1 收藏

RocketMQ可视化工具使用 - Dashboard(保姆级教程)

本地快速启动RocketMQ的dashboard工程,无需远程服务器
原创
发布博客 2025.03.26 ·
269 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

本地IDEA打包Maven工程,缺包问题。启动正常,但是打包报错

工程运行maven命令:mvn clean install。再运行打包命令: mvn package。
原创
发布博客 2025.03.21 ·
89 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

2025版,Centos更换Docker国内镜像源,亲测试验成功

一般在输出结果的最下面,会显示出当前使用的镜像源地址。随便拉一个镜像,测试速度(可选操作)查看当前Docker的配置信息。成功拉取,说明镜像配置成功。
原创
发布博客 2025.02.17 ·
426 阅读 ·
3 点赞 ·
0 评论 ·
1 收藏

Spotify登录失败解决方案(所在地区与个人信息不匹配)

1、在官网登录:2、修改个人信息。
原创
发布博客 2024.12.14 ·
2720 阅读 ·
3 点赞 ·
2 评论 ·
0 收藏

linux 中快速卸载 MySQL

在 Linux 上完全卸载 MySQL 并重新安装通常涉及几个步骤。这里是一个通用的步骤指南,但请注意,具体的命令可能会根据你的 Linux 发行版和你的具体安装方式有所不同。完全卸载 MySQL。
原创
发布博客 2024.10.09 ·
1018 阅读 ·
3 点赞 ·
1 评论 ·
0 收藏

SpringBoot工程中测试Groovy代码

测试没有参数的方法(无返回值)测试带入参的方法(无返回值)测试带入参的方法,有返回值。
原创
发布博客 2024.07.02 ·
364 阅读 ·
3 点赞 ·
1 评论 ·
0 收藏

原来这个东西叫 Docker

2013年,dotCloud 做出重大决策,将 Docker 开源,这一举动迅速吸引了全球工程师的目光,他们被 Docker 的高效与便捷所吸引,使其一跃成为最热门的开源项目之一。:借助Docker容器技术,开发者在同一硬件基础设施上能建立多个独立的运行环境,便于并行进行新应用的测试与开发,同时确保现有应用不受干扰,促进了开发和测试的高效协同。简而言之,Docker通过其高效的构建、运输、运行模型,以及轻量级的容器化方案,彻底改变了软件开发和部署的格局,使得开发者能够更加灵活、高效地在不同环境中部署应用。
原创
发布博客 2024.06.21 ·
665 阅读 ·
19 点赞 ·
0 评论 ·
6 收藏

Centos远程服务器,使用 Docker部署 Nacos

我用的是阿里云,在控制台安全组添加一个8848端口,然后去添加防火墙放行端口,记得重启一下防火墙才能生效。最后,访问服务器 ip:8848/nacos,即可访问到 nacos。首先确保 Docker 已经成功安装,并且正在运行。拉取最新版本的 nacos 镜像。第一步,配置国内的镜像仓库。重启 Docker 服务。单机状态运行 nacos。安全组放行,防火墙放行。
原创
发布博客 2024.06.21 ·
359 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

自学Java到找工作,最强学习路线,2024年最新版

第一次学,了解是这么一回事,知道前后端是如何交互的,遇到问题,能够通过百度解决,基于解决问题来学习,而不是总想把他们都记住。可以跟着B站的代码随想录,课程是免费的,而且手写代码,可以一路跟下去,到后面有点难度,如果实在感觉学不下去,可以先放一放,学路线后面的部分。我自己用的是一个小程序,里面都是大佬自己手写的答案,题目的命中率超高,可以省下非常多的时间,一下子解决自己找答案的痛苦。本人是2024届的毕业生,自学Java的路上,也踩了不少的坑,希望在这里给小伙伴一些帮助,避免无效学习,一起进大厂!
原创
发布博客 2024.06.14 ·
1311 阅读 ·
18 点赞 ·
4 评论 ·
31 收藏

以为自己已经很快了 —— 聊聊AtomicLong

大家好,我是徒手敲代码。之前在聊过,多线程环境下对共享变量进行修改操作,如果不想加锁,可以用 CAS,采用自旋的方式来避免加锁带来严重的性能损耗。Java 当中针对 CAS 的思想,设计了几个原子类,其中就包括AtomicLong这个类最常见的应用场景,包括计数器、序列生成器,以及需要在高并发环境下进行原子性更新长整型变量的场景。例如,在分布式系统中,它常被用来实现全局唯一ID的生成,或是统计服务的请求数量、成功响应次数等指标,确保在多线程或多进程访问时数据的准确性和一致性。
原创
发布博客 2024.06.06 ·
390 阅读 ·
5 点赞 ·
0 评论 ·
6 收藏

计算机网络五层模型,看不懂请你去吃宵夜

想象城市中的邮局系统,传输层就像是邮递服务,它不仅负责将信件(数据)从一个城市(主机)的邮局准确投递到另一个城市(主机)的邮局,还进一步确保信件能精确送达收件人的家中(特定应用程序)。应用层就是处理这些“阅读指南”的,它定义了各种数据的格式和规则,比如 HTTP 定义网页数据格式,SMTP 管理电子邮件的发送,让最终用户能够理解和使用接收到的信息。计算机网络的五层模型自底向上分别为物理层、数据链路层、网络层、传输层和应用层,每一层都承担着特定的职责,共同确保数据在网络中的传输和最终呈现。
原创
发布博客 2024.06.06 ·
404 阅读 ·
6 点赞 ·
0 评论 ·
6 收藏

原来这叫读写锁 —— ReentrantReadWriteLock

大家好,我是徒手敲代码。今天来介绍一下包下的顾名思义,它是读写锁的一种,同一时间,读操作可以有多个线程,但是写操作只能有一个线程,并且读和写不能同时进行;读锁被占用,那么写锁就不能获取,反过来也一样。之前学过的互斥锁,比如,在任何时候都只允许一个线程访问共享资源,这在读操作远多于写操作的场景下,显得效率很低,因为即使多个读操作之间并不冲突,它们也必须排队等待。的诞生,正好可以解决这个问题。它通过分离读锁和写锁,使得并发读成为可能。下面通过阅读源码的方式,来看看大佬是如何设计这个读写锁的。
原创
发布博客 2024.06.01 ·
314 阅读 ·
3 点赞 ·
0 评论 ·
6 收藏

既然选择了吞吐量,谈何公平 —— ReentrantLock

大家好,我是徒手敲代码。今天来介绍一下 ReentrantLock它属于包下的一个类,是一种可重入的互斥锁,允许同一个线程多次获取同一把锁而不会导致死锁。与相比,ReentrantLock 允许尝试非阻塞地获取锁、支持锁的超时获取以及在等待锁时可被中断。另外,ReentrantLock 可以通过构造函数参数指定锁的获取是否公平,而总是采用非公平策略。需要注意,Reentrantlock 不会像那样,在出现异常或者线程结束时自动释放锁,所以我们需要在finaly块中手动 释放锁,以避免发生死锁。
原创
发布博客 2024.05.31 ·
378 阅读 ·
4 点赞 ·
0 评论 ·
4 收藏

区区死锁,何足挂齿

在程序执行的过程中,两个或以上的线程,因争夺有限资源而彼此陷入等待,没有人愿意先作出让步,进而导致所有相关线程都无法继续推进。举个例子,教室里的两个人,A 和 B,A 手上拿着两支笔,B 手上拿着两张试卷。每个人都必须同时拥有笔和试卷,才能写作业。但是双方都不肯先让步,A 要求 B 先给出试卷,而 B 要求 A 先给出笔,那么最后的结果,只能是两个人一直互相消耗。
原创
发布博客 2024.05.30 ·
312 阅读 ·
4 点赞 ·
0 评论 ·
6 收藏

小小字符串竟然如此嚣张 —— 聊聊 Java 的 String

大家好,我是徒手敲代码。今天来分享几个 String 在面试当中,比较常见的问题。这个东西用得最多,而且底层的原理,面试也经常问。
原创
发布博客 2024.05.25 ·
487 阅读 ·
4 点赞 ·
0 评论 ·
9 收藏

双非本科,逆袭中大厂的 Java 学习路线

最强Java学习路线
原创
发布博客 2024.05.24 ·
931 阅读 ·
16 点赞 ·
0 评论 ·
9 收藏

私人地方,禁止闯入!—— ThreadLocal

通俗一点,假设商场的客人就是一个个的线程,那么放在储物柜的东西,就是每个线程各自的资源。它允许每个线程拥有各自独立的变量副本,即使变量名相同,不同线程之间的变量值也不会相互影响。多线程环境下,帮助每个线程维持独有的任务执行环境,或者上下文信息,比如用户会话、事务 id 等等。既然是每个线程都保存一份,那么如果线程数一旦多了起来,或者保存的数据占用空间很大,而且用完之后没有及时释放,肯定会造成严重的。内存泄漏主要是因为用完的对象没有被及时地进行垃圾回收,那么我们在使用它的过程中,一旦这个。
原创
发布博客 2024.05.21 ·
169 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

加锁过于残暴?不妨试试CAS

大家好,我是徒手敲代码。今天来介绍一下CAS。这个东西的全名是 Compare and Swap,比较并交换。在修改数据之前,先比较指定内存位置上的值,看是否相等,如果相等,就用新的值替换旧值,如果不相等,那么就直接返回。
原创
发布博客 2024.05.20 ·
320 阅读 ·
5 点赞 ·
0 评论 ·
7 收藏

腾讯后端一面:说说你对两阶段提交的理解

大家好,我是徒手敲代码。在分布式系统当中,确保数据的一致性是一项至关重要的任务。作为分布式事务处理的核心机制之一,它主要用于解决分布式环境中多个节点间的数据同步和一致性问题,确保事务的原子性——即事务中的所有操作要么全部成功,要么全部失败。这个机制的两个阶段,指的是准备阶段和提交/回滚阶段。准备阶段在这个阶段,系统中的一个协调者组件,会扮演着指挥官的角色,它向所有涉及事务的参与者发送请求。每个参与者接收到请求后,会进行一系列的检查,比如确保本地资源能够满足事务提交的需求。
原创
发布博客 2024.05.18 ·
318 阅读 ·
4 点赞 ·
0 评论 ·
6 收藏
加载更多