Java进阶营_梦塔
码龄3年
关注
提问 私信
  • 博客:9,024
    9,024
    总访问量
  • 27
    原创
  • 1,245,587
    排名
  • 0
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2022-04-23
博客简介:

hong1008611的博客

查看详细资料
个人成就
  • 获得2次点赞
  • 内容获得0次评论
  • 获得9次收藏
创作历程
  • 27篇
    2022年
成就勋章
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

182人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

【Java进阶营】Java 堆外内存回收原理

堆外内存简介DirectByteBuffer 这个类是 JDK 提供使用堆外内存的一种途径,当然常见的业务开发一般不会接触到,即使涉及到也可能是框架(如 Netty、RPC 等)使用的,对框架使用者来说也是透明的。堆外内存优势堆外内存优势在 IO 操作上,对于网络 IO,使用 Socket 发送数据时,能够节省堆内存到堆外内存的数据拷贝,所以性能更高。看过 Netty 源码的同学应该了解,Netty 使用堆外内存来实现零拷贝技术。对于磁盘 IO 时,也可以使用内存映射,来提升性能。另外,更重要的几乎不
原创
发布博客 2022.05.02 ·
263 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【Java进阶营】Java集合与泛型中的几个陷阱,你掉进了几个?

下面我总结了集合、泛型、数组转集合等一些常见的陷进,认真看完,相信你绝对有所收获。一、List ,List<?> 与 List 有区别吗?说实话,我敢保证很多人是不知道 List, List<?> 与 List 之间的区别的。1、我们先来看看 List 与 List很多可能觉得 List的用法与 List 是一样的,例如很多人认为List<Object> list;与List list;这两种定义方法是一模一样的,然而他们是不一样的。看下面一段代码
原创
发布博客 2022.05.02 ·
193 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

【Java进阶营】Java 面试:投行的 15 个多线程和并发面试题

多线程和并发问题已成为各种 Java 面试中必不可少的一部分。如果你准备参加投行的 Java 开发岗位面试,比如巴克莱银行(Barclays)、花旗银行(Citibank)、摩根史坦利投资公司(Morgan Stanley),你会遇到很多有关多线程的面试题。多线程和并发是投行面试的热门知识点,尤其是在面试有关电子交易开发工作时,他们喜欢用棘手的 Java 线程面试题轰炸面试者。他们希望确保面试者对 Java 多线程和并发有扎实的知识基础,因为他们大多数关注高性能带来的竞争优势。举个例子,直接市场准入模式(
原创
发布博客 2022.05.02 ·
163 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【Java进阶营】谈谈我们为什么要前后端分离

随着不同终端的兴起,对开发人员的要求越来越高,纯浏览器端的响应式已经不能满足用户体验的高要求,我们往往需要针对不同的终端开发定制的版本,为了提升开发效率,前后端分离的需求越来越被重视,前端主要负责页面的展现和交互逻辑,后端主要负责业务和数据接口,同一份数据接口,我们可以定制开发多个版本。前后端不分离:在之前的开发方法,php代码写在HTML中,不存在纯粹的PHP文件和HTML文件,这就是前后端的不分离,也就是php和HTML你中有我我中有你,而在前后端不分离的应用模式中,前端页面看到的都是由后端控制,由
原创
发布博客 2022.05.02 ·
180 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【Java进阶营】【精】使用各种场景彻底明白mysql的MVCC原理

1. 多个undo log形成的链表InnoDB存储引擎中,它的聚簇索引记录中都包含两个必要的隐藏列,分别是:trx_id:事务Id,每次一个事务对某条聚簇索引记录进行改动时,都会把该事务的事务id赋值给trx_id隐藏列。roll_pointer:回滚指针,每次对某条聚簇索引记录进行改动时,都会把旧的版本写入到undo log中,然后这个隐藏列就相当于一个指针,可以通过它来找到该记录修改前的信息。每个事务都会修改一组Undo Record,这些Undo Record首位相连就组成了这个事
原创
发布博客 2022.05.01 ·
1139 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【Java进阶营】Java项目开发规范(1)—方法命名规范

编程5分钟,起名2小时。场景实战方法应该具有单一职责特效,通过一个比较好的命名来实现较高的可读性。即实现less is more。那么平时在开发中如何对一些常见的方法来进行命名?方法命名采用小驼峰的形式,首字小写,往后的每个单词首字母都要大写。和类名不同的是,方法命名一般为动词或动词短语,与参数或参数名共同组成动宾短语,即动词 + 名词。一个好的函数名一般能通过名字直接获知该函数实现什么样的功能。举几个常见的例子:例如checkXxx或者validateXx方法,给人的职责便是校验业务,不推荐
原创
发布博客 2022.05.01 ·
1955 阅读 ·
2 点赞 ·
0 评论 ·
6 收藏

【Java进阶营】Java并发工具AbstractQueuedSynchronizer实现详解

AbstractQueuedSynchronizer(以下简称AQS或AQS锁)是ReentrantLock的底层实现,它提供了自旋、FIFO线程等待队列和阻塞等功能。Java常见并发同步工具如Semaphore、CountDownLatch、ReentrantLock等都是基于AQS实现的。AQS的实现要点总结如下:1. 用一个原子int变量代表同步状态AQS内部有一个原子int变量(命名为state),它是AQS的核心状态,也是唯一跟同步有关的变量。例如,ReentrantLock中state≠0
原创
发布博客 2022.04.30 ·
117 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【Java进阶营】Java 中初始化 List 集合的 6 种方式

List 是 Java 开发中经常会使用的集合,你们知道有哪些方式可以初始化一个 List 吗?这其中不缺乏一些坑,今天栈长我给大家一一普及一下。1、常规方式List languages = new ArrayList<>();languages.add(“Java”);languages.add(“PHP”);languages.add(“Python”);System.out.println(languages);这种就是我们平常用的最多最平常的方式了,没什么好说的,后面缺失的
原创
发布博客 2022.04.30 ·
1909 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

【Java进阶营】一道有意思的面试题目

(一)背景介绍经常遇到产品同学更改需求的情况,在产品同学看来这是一个小小的改动而已,而且往往会理直气壮地说:这么小的改动,不会影响排期的。可需求的稍微改动,对于已经做好排期的开发同学来说,这不亚于一场恶梦。而开发同学比较木纳,往往难以为自己辩护,只能默默忍受开发量增大带来的压力。我在想,如何通过一个小小的例子来证明给产品同学呢?让产品同学心服口服的认识到:一个小小的改动,往往对于计算机来说,会产生很大的结果差异。所以,产生了下面的面试题目。这不仅仅是一道面试题目,也是开发过程中的陷阱,不知道有多少人
原创
发布博客 2022.04.30 ·
80 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【Java进阶营】进阶阿里架构师:设计模式+微服务+Spring源码+结构算法

阿里架构师必备技能一、设计模式结构型模式创建型模式行为模式等重用性高易维护二、微服务架构技能总汇随着业务的发展,代码量的膨胀和团队成员的增加,传统单体式架构的弊端越来越凸显,严重制约了业务的快速创新和敏捷交付。为了解决传统单体架构面临的挑战,先后演进出了SOA服务化架构、RPC框架、分布式服务框架,最后就是当今非常流行的微服务架构。微服务化架构并非银弹,它的实施本身就会面临很多陷阱和挑战,涉及到设计、开发、测试、部署、运行和运维等各个方面,一旦使用不当,则会导致整个微服务架构改造的效果大打折
原创
发布博客 2022.04.29 ·
580 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【Java进阶营】都说2022是Java程序员的危机年,却不断有人跳槽拿30K+,为什么

从 2018 年上旬开始触发的经济危机逐渐蔓延到普通人的生活中,裁员、倒闭、跑路俨然已成为刷爆朋友圈的高频热词。随之而来的是一系列因舆论所牵动的各种焦虑感弥漫在人群中,无论是大公司还是之前处于风口浪尖的明星创业公司,几乎无一幸免。聊天宝直接团队解散,京东将淘汰 10% 的员工,人人车经理以下的被“暴力”辞退,网易预计裁员 2000 人,阿里、滴滴、美团、知乎、新浪、58 到家等等叫得上名的大厂连隐瞒的心都没有了。斗鱼裁员事件即使我们早已习惯了不断升温的焦虑感,但这次因资本寒冬所带来的一波又一波的打击让
原创
发布博客 2022.04.29 ·
158 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【Java进阶营】都说2022是Java程序员的危机年,却不断有人跳槽拿30K+,为什么

从 2018 年上旬开始触发的经济危机逐渐蔓延到普通人的生活中,裁员、倒闭、跑路俨然已成为刷爆朋友圈的高频热词。随之而来的是一系列因舆论所牵动的各种焦虑感弥漫在人群中,无论是大公司还是之前处于风口浪尖的明星创业公司,几乎无一幸免。聊天宝直接团队解散,京东将淘汰 10% 的员工,人人车经理以下的被“暴力”辞退,网易预计裁员 2000 人,阿里、滴滴、美团、知乎、新浪、58 到家等等叫得上名的大厂连隐瞒的心都没有了。斗鱼裁员事件即使我们早已习惯了不断升温的焦虑感,但这次因资本寒冬所带来的一波又一波的打击让
原创
发布博客 2022.04.29 ·
197 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【Java进阶营】java的HashCode方法

有许多人学了很长时间的Java,但一直不明白hashCode方法的作用, 我来解释一下吧。首先,想要明白hashCode的作用,你必须要先知道Java中的集合。总的来说,Java中的集合(Collection)有两类,一类是List,再有一类是Set。你知道它们的区别吗?前者集合内的元素是有序的,元素可以重复;后者元素无序,但元素不可重复。那么这里就有一个比较严重的问题了:要想保证元素不重复,可两个元素是否重复应该依据什么来判断呢?这就是Object.equals方法了。但是,如果每增加一个元素就
原创
发布博客 2022.04.27 ·
133 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【Java进阶营】分布式系统理论概述

分布式系统是什么分布式系统:一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统这是分布式系统,在不同的硬件,不同的软件,不同的网络,不同的计算机上,仅仅通过消息来进行通讯与协调这是他的特点,更细致的看这些特点又可以有:分布性、对等性、并发性、缺乏全局时钟、故障随时会发生。分布性既然是分布式系统,最显著的特点肯定就是分布性,从简单来看,如果我们做的是个电商项目,整个项目会分成不同的功能,专业点就不同的微服务,比如用户微服务,产品微服务,订单微服务,这些服务部署
原创
发布博客 2022.04.27 ·
199 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java开发Spring常见面试题及答案分享

[Spring]是java企业级应用的开源开发框架,在企业中应用较多。作为轻量级的Java开发框架解决企业应用开发的复杂性而创建,【Java进阶营】为大家总结Spring常见面试题及答案,希望可以帮助正在面试的Java程序员。Spring常见面试题及答案分享:一、spring是什么?  Spring是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型
原创
发布博客 2022.04.26 ·
141 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java开发Spring常见面试题及答案分享

[Spring]是java企业级应用的开源开发框架,在企业中应用较多。作为轻量级的Java开发框架解决企业应用开发的复杂性而创建,【Java进阶营】为大家总结Spring常见面试题及答案,希望可以帮助正在面试的Java程序员。Spring常见面试题及答案分享:一、spring是什么?  Spring是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型
原创
发布博客 2022.04.26 ·
102 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【Java进阶营】阿里一面,说说你了解zookeeper的应用场景有哪些?

1、前言又到了金三银四的时候,大家都按耐不住内心的躁动,我在这里给大家分享下之前面试中遇到的一个知识点(zookeeper应用场景),希望对大家有些帮助。如有不足,欢迎大佬们指点指点。2、zookeeper简介ZooKeeper 是分布式应用程序的分布式开源协调服务。它公开了一组简单的api,分布式应用程序可以基于这些api实现更高级别的同步、配置维护、分组和命名服务。它被设计为易于编程,并使用一种数据模型,该模型以熟悉的文件系统目录树结构为风格。它在 Java 中运行,并具有 Java
原创
发布博客 2022.04.26 ·
130 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【Java进阶营】Redis技术专题系列之你彻底会使用“Redis中最陌生且最强大的集合”(ZSET)【前篇】

前言介绍很多小伙伴都跟我说,redis中,ZSet(有序集合)是他们最陌生的集合,同时也是觉得特别复杂的集合之一,在开发过程中经常会用到它,而且也是大家最不太有把握使用的集合,所以笔者就从ZSet集合开始去讲解Redis的集合的使用指南,希望可以帮助大家!有序集合ZSET(有序集合)的概念有序集合(ZSET):是像集合(SET)一样可以装很多东西,只不过集合装的是字符串而有序集合(ZSET)装的是键值对,从更严谨的角度讲,有序集合和散列更接近。只不过有序集合是有序的,有点像TreeSet。ZS
原创
发布博客 2022.04.26 ·
374 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【Java进阶营】Java技术专题「难点-核心-遗漏」Java线程状态流转及生命周期的技术指南(知识点串烧)

前提介绍本章主要介绍相关线程声明周期的转换机制以及声明周期的流转关系以及相关AQS的实现和相关的基本原理,配合这相关官方文档的中英文互译的介绍。线程状态流转及生命周期当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。在线程的生命周期中,它要经过新建(New)、就绪/可运行状态(Runnable)、阻塞(Blocked)和等待(Wait)、时间等待(Time_wait)、终止状态(Terminate)六种状态。尤其是当线程启动以后,它不能一直“霸占”着CPU独自运行,
原创
发布博客 2022.04.26 ·
110 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【Java进阶营】【SpringCloud技术专题】「Eureka源码分析」从源码层面让你认识Eureka工作流程和运作机制(上)

前言介绍了解到了SpringCloud,大家都应该知道注册中心,而对于我们从过去到现在,SpringCloud中用的最多的注册中心就是Eureka了,所以深入Eureka的原理和源码,接下来我们要进行讲解下eureka的源码分析,由此应运而产生的本章节的内容。基本原理Eureka Server提供服务注册服务,各个节点启动后,会在Eureka Server中进行注册,这样Eureka Server中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到。Eureka
原创
发布博客 2022.04.26 ·
246 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多