自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java:HashMap内部探究

说明本章做一个HashMap的总结、是jdk1.8版本的。继承图它的继承体系还是比较简单的抛出问题内部数据结构是怎么样的?扩容机制是什么时候扩容的、扩容多少?key或value是否能为空。是否线程安全?HashMap集合说明创建一个HashMap集合对象Map<String,Integer> map = new HashMap<>();属性//默认初始容量、采用左位移计算、 1 = x; 4 = n; DEFAULT_INITIAL_C.

2021-08-25 16:43:08 264 1

原创 HashMap 的实现原理和扩容原理是怎样的?

HashMap 的实现原理和扩容原理是怎样的?一、实现原理1.1 哈希表1.1.1 概述1.1.2 哈希冲突1.2 存储分析1.3 hash 算法1.4 put 方法源码分析1.5 get 方法源码分析1.6 总结二、扩容机制2.1 什么时候发生扩容2.2 jdk1.8 中的扩容机制三、最后一、实现原理1.1 哈希表1.1.1 概述要学习 hashmap,就不得不提哈希表。维基百科定义如下:散列表(Hash table,也叫哈希表),是根据键(Key)而直接访问在内存储存位置的数据结构。也就是

2021-08-16 20:30:28 441

原创 HashMap之红黑树详解

Java 中的 HashMap 采用链表法来解决哈希冲突HashMap 原理,即具有相同桶下标的键值对使用一个链表储存。当链表变长时,查找和添加(需要确定 key 是否已经存在)都需要遍历这个链表,速度会变慢。JDK 1.8 后加入了链表转换为红黑树的机制,但是红黑树的转换并不是一个廉价的操作,只有当链表长度大于等于 TREEIFY_THRESHOLD 才会 treeify。 /** * The bin count threshold for using a tree rather tha

2021-08-14 19:34:38 6653 1

原创 JVM-对象已死?要七夕了你给我说这?你礼貌吗?

Java堆中几乎存放这所有的对象实例,对Java堆得垃圾回收前的第一步就是判断对象已经死亡,即不能再被任何途径使用的对象。引用计数法给对象中添加一个引用计数器,每当有一个地方引用它,计数器就加1;当引用失效,计数器就减1;任何时候计数器为0的对象就是不可能再被使用的。这个方法实现简单,效率高,但是目前主流的虚拟机中并没有选择这个算法来管理内存,其最主要的原因是它很难解决对象之间相互循环引用的问题。所谓对象之间的相互引用问题,如下面代码所示:除了对象objA和objB相互引用着对方之外,这两个对象之.

2021-08-12 19:30:40 198 1

原创 面试官:请你说说JVM运行时内存结构,你可别说我不会!

引言:java是在java虚拟机上运行,一般地大家讲到的Java运行时内存结构其实就是Jvm内存一、运行时内存结构Java代码是运行在Java虚拟机之上的,由Java虚拟机通过解释执行(解释器)或编译执行(即时编译器)来完成,故Java运行时内存结构,也就是指Java虚拟机的运行时内存结构。作为Java开发人员来说,并不需要像C/C++开发人员,需要时刻注意内存的释放,而是全权交给虚拟机去管理,那么有就必要了解虚拟机的运行时内存是如何构成的。运行时内存模型,分为线程私有和共享数据区两大类,其中.

2021-08-09 20:53:37 194 1

原创 详解Java中的静态、动态代理!

动静结合,宛如脱兔,详解Java中的静态、动态代理!代理是一种设计模式静态代理被代理类代理类代理类调用动态代理动态代理类的生成静态代理和动态代理最重要的四个知识点最后,感谢大家的观看,谢谢大家的支持,能三连最好啦!希望大家都早日升职加薪,飞黄腾达[**【领取资料】**](https://shimo.im/docs/xWPcG9rtj8gHXqdj)代理是一种设计模式在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。在代理模式中,我们创建具有现有对象

2021-08-07 21:41:26 261 1

原创 Java并发之任务执行,并发应用程序的构造!

任务执行大多数并发应用程序都是围绕‘任务执行’来构造的:通常是一个抽象且离散的工作单元,通过把应用程序的工作分解到多个任务中。在线程中执行任务当围绕‘任务执行’设计应用程序结构,第一步就是找出清晰的任务边界,理想情况下,各个任务是独立的:任务并不依赖其他任务的状态或结果。这些独立的任务都可以并发执行。大多数服务器应用都提供了一种自然的任务边界:以独立的客户请求为边界。串行的执行任务在应用程序中可以通过多种策略来调度任务,最简单的策略就是在单个线程中串行的执行各项任务SingleThreadW

2021-08-06 21:40:34 325

原创 我曾以为我彻底了解 “双 亲 委 派”,直到面试官把我问到哑口无言!

最近面试被问到双亲委派,对于双亲委派和破坏双亲委派的机制之前自己在《深入理解Java虚拟机》中了解过,当时觉得挺简单的一个概念,但是面试官仔细追问下去发现自己这块的只是还是存在一些误区,当时这一个问题可能聊了有20分钟,当然面试后自然就没有下文了????。故事要从这张双亲委派模型的类UML图说起:误区1:当时看了类加载器的模型图,以为启动类加载器、扩展类加载器、应用程序类加载器与自定义累加器之间是继承关系,其实“父加载器”与“子加载器”是组合关系,这点其实和父子加载器的命名给人带来的主观想法相悖;

2021-08-06 21:27:18 285 13

原创 JVM调优,快速定位服务CPU过高,有理论配合实战,还不快收藏?

JVM调优 | 快速定位服务CPU过高(理论)在生产环境中,有时会遇到一些CPU占用过高,一直下不去的场景。出现这种情况,可能会导致服务对外中断,服务器超负荷运行影响硬件寿命。这篇文章从实践出发,一步一步地分析如何使用top和jstack命令快速定位问题代码位置。一、top命令top (table of processes) is a task manager program, found in many Unix-like operating systems, that displays in

2021-08-06 21:12:15 216

原创 面试官:说一下你对性能优化的理解!

Java性能优化——性能优化概念概述Java性能优化个人觉得是Java进阶的必经之路。很多Java工程师对于执行代码后,底层运行的Java虚拟机可能一知半解。Java相比C/C++最大的区别是,少了内存管理。让工程师可以专注于应用主体逻辑,而不用去管理内存的使用,但这是一把双刃剑,如果让程序达到最佳的性能,是Java性能优化的初衷。性能调优关于Java性能调优或者是关于性能调优,有诸多的影响因素,JVM只占了整体性能的一小部分。不单单是Java虚拟机本身,还有数据库连接,网络开销等等。我们今天就专注

2021-08-06 19:55:59 375

原创 Redis的三大问题及解决方法!

前言在系统开发过程中,为了保护mysql,防止大量的请求导致mysql宕机等。基于内存的数据库redis,能够承担更大的并发量。所以在业务层与数据库层之间充当缓存层。即使如此,一旦出现以下问题,依然会造成数据库增压或宕机。正常访问顺序:业务层 ==》缓存 ==》数据库一、缓存穿透1.1 问题描述业务逻辑发送查询请求,首先从缓存中查询,由于缓存不存在,然后再前往数据库中查询。发现数据库中也没有该条记录,然后返回 null。这就是缓存穿透,根本原因是因为查询不存在的数据。 核心:查询缓存和数据库,

2021-08-06 19:24:45 839

原创 Java反射机制实际经验总结,直接上手淦!

前言我在实际项目当中有经常用到反射机制,故而将学会的反射用法做一些汇总笔记,当做以后复盘所用。请添加vx小助手:xiehuangbao1123 领取java全套学习资料存在这样一个类:package com.example.demo;import com.alibaba.fastjson.annotation.JSONField;public class User { private String name; @Value( value ="age_a") priv

2021-08-06 17:19:10 185

原创 Netty : 大纲及笔记(想看后续的小伙伴可以在评论区说一下)

Netty : 大纲及笔记一 . 前言文档目的 :大纲型文档 , 持续更新梳理 Netty 的主要概念梳理 Netty 的核心类对 Netty 主要结构有一个基础的认知后续会进行深入的源码分析 , 作为一个快查手册 ,将会逐步完善该文档1.1 概念Netty 是一个基于 JAVA NIO 类库的异步通信框架,用于创建异步非阻塞、基于事件驱动、高性能、高可靠性和高可定制性的网络客户端和服务器端下面依次对这些概念做一个解析 :// JAVA NIO 类库通过 Selector 实

2021-08-06 16:53:33 241

原创 动态代理总结,面试你要知道的都在这里,无废话!

动态代理总结,面试你要知道的都在这里,无废话!前言代理模式静态代理JDK动态代理CGLIBFastclass机制问题前言面试题:讲讲jdk动态代理,cglib区别,实现原理,优缺点,怎么实现方法的调用的代理模式代理模式是一种设计模式,提供了对目标对象额外的访问方式,即通过代理对象访问目标对象,这样可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能一个比方:在租房的时候,有的人会通过房东直租,有的人会通过中介租房。这两种情况哪种比较方便呢?当然是通过中介更加方便。这里的中

2021-08-06 16:22:54 388

原创 老生常谈NIO,我们再来聊一聊关于NIO的故事和一些用法!

一 . 前言二 . NIO 的概念2.1 NIO 是什么 ?2.2 NIO , AIO , BIO 的区别2.3 NIO 的组成部分2.4 Channel 的主要实现2.5 Buffer 的主要实现2.6 Select 的主要实现三 . Java NIO 使用3.1 一个 NIO 的简单案例3.2 scatter/gather 概念3.2 数据传输3.2.1 transferFrom 将数据从源通道传输到FileChannel中3.2.2 **transferTo()** 将数据从FileChannel传.

2021-08-06 15:57:03 295

原创 Java单例模式的8种写法,以及个人觉得推荐的写法,希望对你有所帮助!

单例模式是设计模式之一,同时也是Java面试中的高频考点,这一篇来总结一下Java单例模式的各种写法。单例模式介绍单例模式的作用:节省内存和计算,实例只创建一次,不必重复创建保证结果正确,比如单例计数器,用作多线程的数据统计方便管理,例如日期工具类,字符串工具类,不需要创建那么多的实例单例模式适用场景:无状态的工具类:比如日志工具类,不管是在哪里适用,我们需要的只是它帮我们记录日志信息,除此之外,并不需要在它的实例对象上存储任何状态,这时候我们就只需要一个实例对象即可。全局信息类:.

2021-08-06 15:44:21 245

原创 Redis挂了,流量把数据库也打挂了,怎么办?

如果线上 Redis 挂了。然后所有请求打到数据库导致数据库也挂了。这是啥?Redis 挂了,不就是缓存都没了吗?缓存都没了,不就是缓存雪崩了吗?缓存雪崩了,不就导致数据库挂了吗?一提到“缓存雪崩”这四个字,缓存穿透、缓存击穿这几兄弟,是不是就立马条件反射的出现在你的脑海里面了,还顺带着对应的几套解决方案。然后就像背书似的,什么缓存全没了,什么缓存没有数据库中有,什么缓存和数据库中都没有…张口就是几分钟不带停顿的。另外关于缓存击穿和缓存穿透,很多同学都会搞混。你换一个记法,缓存戳穿、.

2021-08-05 21:24:47 2174 5

原创 “Java中JVM该如何实现多线程呢?”我这样如是说到~

​ 并发不一定都要用到线程,比如PHP中用到的是多进程。但是在Java中并发基本上都是使用线程来实现的。我们先来看看线程在Java虚拟机中是如何实现的。线程的实现​ 主流的操作系统都提供了线程的实现,Java线程则提供了在不同硬件和操作系统下对线程的统一处理。每个已经start且并未结束的Thread类的实例对象都是一个线程。​ 我们查看Thread的JDK源码,发现所有的方法都被native修饰。也就是说,Thread是使用平台相关的手段来实现的。在不同的操作系统或者硬件平台都有不同的实现。因此,标

2021-08-05 19:58:49 211

原创 Java从入门到放弃 · ArrayList集合小练习

练习1(存储随机数字)题目:生成10个1~55之间的随机数,添加到集合中,并且遍历输出。先来解析一下这道题,给出思路1.需要存储10个整数,所以创建一个<Integer>的集合2.需要产生随机数,用到Random类3.产生10个随机数,使用循环,循环内调用Random.nextInt(int x),参数为55,生成0~54的整数,因此需要加一。4.把生成的随机数添加到集合中6.遍历集合,输出复制代码来看具体代码://创建集合ArrayList<Integer>

2021-08-04 21:44:47 231 1

原创 Java编程练习题,基础不牢地动山摇!看看着50道你会几道!

50道经典Java编程练习题,将数学思维运用到编程中来。50道Java基础编程练习题1.指数计算问题2.指定范围包含的素数3.水仙花数4.分解质因数6.公约数和公倍数7.统计字符串中类型个数8.求s=a+aa+aaa+aaaa+aa...a的值9.指定范围的完数10.反指数计算11.组合12.梯度计算13.求未知数14.日期计算15.排序16.冒泡排序17.反推计算18.数组计算20.数列求和21.求1+2!+3!+...+20!的和22.利用递归方法求5!。23.递归计算24.倒序打印25.回文数2.

2021-08-04 13:48:28 720 3

原创 TypeScript够用的一篇总结,献给那些在Java开发道路上一直前行的伙伴!

一、前言被那么多特性吓尿了,实际上写业务用的特性不多。五月底ts正式升级了4.3版本,4.4也已经在beta版本了。差不多先生,够用就行,这里更多的是,以自己的理解去总结一下常用的ts特性。有理解错误的,欢迎大哥指正????????知识这种东西,学了还是要总结下,梳理清楚自己对当前知识的掌握程度。偷懒了一段时间,接下来要好好发力了。二、ts的优缺点1、优点代码的可读性和可维护性:举个????看后端某个接口返回值,一般需要去network看or去看接口文档,才知道返回数据结构,而正确用了ts后,编

2021-08-03 20:00:50 559 1

原创 volatile在单例模式中的使用&双端检锁

单例模式单例模式常见的写法有懒汉模式,饿汉模式,双重检查模式等。懒汉模式就是用的时候再去创建对象。饿汉模式就是提前就已经加载好的静态static对象。双重检查模式就是在加锁前和加锁后共两次检查防止多线程创建多个对象。单例模式有以下特点:单例类只能有一个实例。单例类必须自己创建自己的唯一实例。单例类必须给所有其他对象提供这一实例。优点: 不会频繁的创建和销毁对象,浪费系统资源单线程情况下的单例模式class Singleton { private static Singl

2021-08-03 15:21:42 419 1

原创 学习笔记整理,JVM类加载机制——献给在Java学习道路上负重前行的人们!

JVM类加载机制前言类文件结构概念结构魔数和文件版本常量池访问标志类索引、父类索引与接口索引集合字段表集合方法表集合类加载过程类加载加载验证准备解析初始化类加载器双亲委派模型概念工作过程作用双亲委派原则破坏小结前言本文主要介绍java类加载的流程,以及类加载器(classloader)的原理和作用。结合《深入理解java虚拟机》以及网上的博客进行归纳整理。本文即是一篇博客,也是一份个人笔记。编写本文的目的是为了解决笔者的一个困惑,对于同一个类,不同的ClassLoader加载出来的对象是同一个吗?本

2021-08-03 13:54:42 236 8

原创 面试官问你 JVM,你知道加分项在哪吗?

引言在面试别人的过程中,JVM 内存模型几乎必问,虽然有人说问这些就是面试造航母,工作拧螺丝。如果你想当一名 CRUD 码农,你可以选择不用了解这些。在 JVM 内存模型的问答中,有些人能说出对象是在堆上分配的。但当我问对象一定是在堆上存储的嘛时,大部分人都回答是,或者犹豫了。其实能回答出对象是在堆上分配存储已算正确了。但随着 JIT 即时编译器的发展和逃逸分析技术的逐渐成熟,所有对象都分配到堆上也逐渐变得不那么绝对了。栈上分配,标量替换,锁消除等优化技术会发生一些微妙的变化。我们知道,我们编写的

2021-07-31 19:42:08 158

原创 超硬核!!每个华为架构师不愿意透露的10个设计原则。

目录做软件开发多年,CRUD仿佛已经形成一种惯性,深入骨髓,按照常规的结构拆分:表现层、业务逻辑层、数据持久层,一个功能只需要个把小时代码就撸完了。再结合CTRL+C和CTRL+V 绝世秘籍,一个个功能点便如同雨后春笋般被快速克隆实现。 是不是有种雄霸天下的感觉,管他什么业务场景,大爷我一梭到底,天下无敌!!!可现实真的是这样?答案不言而喻!!!初入软件行业,很多人都会经历这个阶段。时间久了,很多人便产生困惑,能力并没有随着工作年限得到同比提升,焦虑失眠,如何改变现状?悟性高的人,很快能从一堆

2021-07-30 13:04:40 421 20

原创 面试会问枚举类吗?“会问的”来自某讯面试官的分享!

概述定义枚举( enum 全称为enumeration)类型是 Java 5 新增的类型,存放在 java.lang 包中,允许用常量来表示特定的数据片断,而且全部都以类型安全的形式来表示。定义格式创建枚举类型要使用enum关键字,隐含了所创建的类型都是java.lang.Enum 类的子类( java.lang.Enum 是一个抽象类)。枚举类型符合通用模式Class Enum<E extends Enum> ,而 E 表示枚举类型的名称。枚举类型的每一个值都将映射到 protect

2021-07-29 22:02:21 187 1

原创 JVM的文章大家看的都很多,我只希望这篇能更通俗易懂!

导读学习过C/C++的同学都有过这样的体验,无论实现什么样的功能,用C/C++实现时,会存在下面两个问题:内存管理:使用C/C++编程,我们必须很好地管理系统内存,如果稍有不慎,可能就会有内存溢出的风险跨平台:比如,我们用C/C++实现聊天工具,为了让该工具可以在Windows、Mac OS、Linux等多个操作系统下使用,就光网络通讯部分,我们就不得不逐个调用这些操作系统自带的库函数来实现,这个代价是很高的于是,Sun公司的大佬们决定开发Java语言,该语言使用JVM运行其编写的程序,让JVM

2021-07-29 15:59:58 240 42

原创 秒懂 Java 的三种代理模式,拿来吧你!

前言代理(Proxy)模式是一种结构型设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象。这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需要修改,可以通过代理的方式来扩展该方法。代理模式大致有三种角色:Real Subject:真实类,也就是被代理类、委托类。用来真正完成业务服务功能;Proxy:代理类,将自身的请求用 Real Subject 对应的功能来实

2021-07-28 15:59:05 173

原创 高品质枚举如何在工作中使用?

什么是枚举枚举是JDK 1.5中引入的新特性,由一组固定的常量组成合法值的类型,例如一年中的季节、一周的星期数。枚举其实就是特殊的类,继承了java.lang.Enum类,并实现了java.lang.Seriablizable和 java.lang.Comparable两个接口。域成员均为常量,且构造方法被默认为私有。如何定义枚举先来看看枚举是如何定义的!我们定义四个值,分别为 春天、夏天、秋天、冬天。public enum SeasonEnum { //春天 SPRING, .

2021-07-28 13:24:02 244 26

原创 备战秋招!Mybatis常见核心面试题(看完不用在爆肝)!

这备战秋招!Mybatis常见核心面试题(看完不用在爆肝)!#{}和${}的区别是什么?当实体类中的属性名和表中的字段名不一样 ,怎么办 ?如何获取自动生成的(主)键值?在mapper中如何传递多个参数?Mybatis动态sql是做什么的?都有哪些动态sql?能简述一下动态sql的执行原理不?Mybatis的Xml映射文件中,不同的Xml映射文件,id是否可以重复?为什么说Mybatis是半自动ORM映射工具?它与全自动的区别在哪里?通常一个Xml映射文件,都会写一个Dao接口与之对应,请问,这个Dao接口

2021-07-27 14:11:11 220 17

原创 现在用Set集合邦邦两拳打面试官的脸吧!别用针扎了~~

请添加vx小助手:xiehuangbao1123 领取java全套学习资料Set集合Set集合概述和特点【应用】无序不可重复没有索引,不能使用普通for循环遍历。可以使用 迭代器 或者 增强foreach语句 遍历TreeSet集合TreeSet集合概述和特点【应用】无序不可重复没有索引可以将元素按照规则进行排序(特色)TreeSet():根据其元素的自然排序进行排序TreeSet(Comparator comparator) :根据指定的比较器进行排序TreeS..

2021-07-26 22:01:21 342 1

原创 面试官竟然和我死磕 Maven,这涨薪不就邦邦两拳拿下么!

面试官竟然和我死磕 Maven,这涨薪不就邦邦两拳拿下么!面试官竟然和我死磕 Maven引言依赖寻找顺序如何确认这个依赖的唯一表示scope 范围有哪些scope的依赖是如何传递的如何排除依赖依赖传递原则Maven 的生命周期在子项目中任意定义二方包版本号最后,感谢大家的观看,谢谢大家的支持,能三连关注收藏就最好啦,祝各位面试必过,升职加薪,早日人生巅峰!面试官竟然和我死磕 Maven引言Maven 是 Apache 软件基金会唯一维护的一款自动化构建工具,专注于服务Java平台的项目构建和依赖

2021-07-26 20:52:37 166

原创 final关键字 永远不变的勇士,它就是光!

这里写目录标题正文修饰变量修饰方法修饰类彩蛋finally1、try中有return时执行顺序2、return和异常获取语句的位置finalize总结最后,感谢大家的观看,谢谢大家的支持,能三连关注收藏就最好啦,祝各位面试必过,升职加薪,早日人生巅峰!对于Java中的 final 关键字,我们首先可以从字面意思上去理解,百度翻译显示如下:final 英文意思表示是最后的,不可更改的。那么对应在 Java 中也是表达这样的意思,可以用 final 关键字修饰变量、方法和类。不管是用来修饰什么,其本

2021-07-26 14:08:01 161

原创 为什么你的设计模式用的就是比别人垃圾?

先点赞再看,养成好习惯前言经常看到一些设计模式的文章,写了很多内容,也举了一些很“生动形象”的例子。​但是可能和《Head First 设计模式》会有一样的问题:看完了,我会了,但是好像用不上?或者是硬套设计模式。​举几个我见过的极端的例子:俩字段,也要来个 Builder3个 if,提个策略模式5行代码还很简单的初始化,也要弄个 Factory……至于为什么会出现这种问题……我聊聊我的看法原因大多数的研发人员,做的工作都是业务功能开发,也就是常说的 CRUD。只是不同的.

2021-07-26 13:18:12 225 19

原创 面试官: 你,有点东西!我不但有东西而且还很大!这不来看看问我的MySQL

一、MYSQL索引的底层数据结构及算法我们经常在涉及到SQL优化的时候,总是会想到加索引。那索引究竟是个什么玩意儿?索引是帮助MYSQL高效获取数据,并且排好序的数据结构。我们知道MYSQL可以采用的是B+树和hash来维护索引的,hash这个结构并不常用,它虽然能够通过hash算法很快的路由到对应的数据,但是对于排序,hash就显得很鸡肋了。树形结构在一定程度上,都是采用的二分查找,所以查询的时间复杂度都很低。但随之而来又面临一系列的问题,比如树的退化,以及随着数据的不断增加,树的高度越来越...

2021-07-23 14:40:55 252 1

原创 Java 线程映射,经理拿着薪水求我不要走!

请添加vx小助手:xiehuangbao1123 领取java全套学习资料前言之前看 JVM 内存结构时,看到了《深入理解 JVM》这本书说“每个线程都有一个程序计数器,记录了当前执行字节码的位置”。但是想起来 JVM 的线程是委托 OS 实现的,或者说,Java 线程映射到了 OS 线程,那这个 PC 记录的字节码指令位置到底是什么?OS 的线程那可是正儿八经的 C 线程,C 线程的 PC 保存二进制指令的位置(忽略乱序执行导致的不完整指令),他们是如何一一对应的?难道是每个字节码对应一个本地..

2021-07-23 13:42:52 196 2

原创 没错!是Java反射不是喷射!

本文详细介绍了Java中的反射的概念、原理以及反射操作的案例演示。1 反射JAVA反射机制是在程序运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象。反射主要应用在一些通用性比较高的代码当中。例如框架.

2021-07-22 20:48:59 169 2

原创 这些API你不知道,真别刷算法了反正是个垃圾!

这些API你不知道,真别刷算法了反正是个垃圾!集合数组Arrays列表基本方法size集合工具栈队列双向队列优先队列散列表Set字符串StringStringBuilder数学最大最小值Math最后,感谢大家的观看,谢谢大家的支持,能三连关注收藏就最好啦,祝各位面试必过,升职加薪,早日人生巅峰!集合在刷题中,各种数据结构是我们常常用到的,例如栈实现迭代、哈希存储键值对等等,我们来看看常用集合和相关api。类/接口描述方法String字符串charAt toCharArray

2021-07-22 19:35:53 251

原创 垃圾很大你忍一下!我看着代码这样说到!“JVM 垃 圾 回 收 算 法”

这里写目录标题JVM垃圾回收算法和垃圾回收器一、垃圾回收的区域二、怎么判断对象的存活1. 引用计数法2. 可达性分析3\. finalize三、各种引用(Reference)1\. 强引用2\. 软引用3\. 弱引用 WeakReference4\. 虚引用 PhantomReference四、GC1\. Minor GC2\. Full GC五、垃圾回收算法1\. 复制算法(Copying)2\. 标记-清除算法(Mark-Sweep)3\. 标记-整理算法(Mark-compact)六、垃圾回收器1\.

2021-07-22 14:23:14 203 9

原创 知道垃圾回收?你不懂Java运行时内存区域划分,你配称自己熟悉JVM?

Java运行时内存区域如何划分?概述运行时数据区域具体哪些区域会一直存在?哪些区域会“昙花一现”呢?那某个区域是线程私有还是共有又是依据什么来划分的?程序计数器这是为什么呢?Java 虚拟机栈说了这么多,那这个 Java虚拟机栈 到底是干嘛用的呢?本地方法栈堆为什么说是 几乎 呢?方法区前边我们也说了 JDK8 之后已经没有永久代这一概念了,取而代之的是元空间, 为什么要这样做呢?直接内存总结最后,感谢大家的观看,谢谢大家的支持,能三连关注收藏就最好啦,祝各位面试必过,升职加薪,早日升职加薪!概述对

2021-07-21 21:20:51 667 4

空空如也

空空如也

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

TA关注的人

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