自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (2)
  • 收藏
  • 关注

原创 通过Java类对象获取字段或方法相关信息

本文主要就是通过实例介绍如何通过Java类对象获取字段或方法相关信息,以及不同方式的对比,因为自己写了实例,想着就用个博文记录下吧!一、字段(1)getFields()获得某个类的所有的公共(public)的字段,包括父类中的字段。(2)getDeclaredFields()获得某个类的所有声明的字段,即包括public、private和proteced,但是不包括父类的申明字段。二、方法(1)getMethods()获取自身能用所有的公共方法。1.类本身的public2.继承父类的pu

2021-04-28 00:57:39 2763

原创 Java对象的创建和结构(深入JVM理解)

初学Java时,也就知道new对象这种创建对象的方式,随着学习深入和经验积累,也知道了一些其他的创建对象的方式,但还是没有深入去理解学习Java虚拟机是如何创建对象的,这篇文化主要内容就是深入虚拟机去理解学习Java对象的创建。本文的内容都是以HotSpot虚拟机为主。一、背景:Java创建对象的方式有哪些?这个问题可能你会在面试的时候遇到,我就曾经遇到过,答案主要是四种创建对象的方式。(1)关键字new  最常见也是最简单的创建对象的方式,可以调用任意的构造函数。Demo demo = new

2021-04-23 17:27:15 456

原创 String创建几个对象等一系列问题解析

一开始这个问题并没有想专门写一篇文章,但最近看到boss上的一个提问,让我有专门针对这个知识点写一篇文章的打算。下面会给出各种代码,随之会给出创建了几个对象的答案,然后便是相应的解释。问题一:String s = "a";创建0个或1个对象。  若常量池中已经存在"a",那么就不会再创建对象,直接将引用赋值给s,这样就创建了0个对象;  若常量池中没有"a",就会在常量池中创建一个对象"a",并将引用赋值给s,这样就创建了1个对象。问题二:String s = new String("a"

2021-04-22 23:54:25 690

翻译 JVM指令手册

本文内容在网上随处可见,为方便我个人学习使用,遂也整理成为我自己的一份手册。为节约时间,本文并未整理成表格形式,观赏性较差,但不影响查阅。一、栈和局部变量操作(1)将常量压入栈的指令aconst_null 将null对象引用压入栈iconst_m1 将int类型常量-1压入栈iconst_0 将int类型常量0压入栈iconst_1 将int类型常量1压入栈iconst_2 将int类型常量2压入栈iconst_3 将int类型常量3压入栈iconst_4 将int类型常量4压入栈ico

2021-04-21 15:00:15 549

原创 Java类加载器

我们都知道Java程序的执行流程中,class字节码文件会类加载器加载,然后再被JVM执行引擎执行,这里的Java类加载器起到了至关重要的作用。

2021-04-21 13:35:09 142

原创 JVM中的疑问解答

JVM是Java的核心,为更好的学习这方面的内容,专门用这篇文章来记录JVM相关的疑问解答,即方便记录,同样也方便学习,有需要后期再将各种问题进行归档整理。

2021-04-20 21:35:17 101

原创 疑问收录(操作系统篇)

这篇文章主要目的是记录日常我在学习工作中,使用操作系统是遇到以及思考的相关问题,特此记录!1.CPU的内核和逻辑处理器的关系我们有时候会看到CPU的内核与逻辑处理器呈现1:2或一对多的关系,这是怎么回事呢?例如,6核CPU,12个逻辑处理器。  一颗内核在一个时间片内只能执行一个内核线程;当物理CPU使用了超线程技术后,在CPU的一颗内核中,利用就是利用其中空闲的执行单元,模拟出另外一个核心(并不是真正的物理运算核心),使得CPU的这颗内核有两个逻辑核心,也就是所谓的逻辑CPU,此时物理CPU的一颗内

2021-04-20 09:41:17 345

原创 Java虚拟机的内存结构(详解与学习思考)

本来内存结构这篇文章我是没准备写的,但考虑到这个确实很重要,理解号Java内存结构 对Java的学习有极大的好处并且能一定的提升代码质量,所以还是开始了这篇文章,刚开始我不会在这里堆很多文字,重点还是说清楚主要架构,详细内容跟后续有时间再进行补充。...

2021-04-19 23:59:25 399 2

原创 Spring系列框架的各种面试点(持续更新)

1.Spring框架的单例和多例

2021-04-19 12:09:08 122

原创 JDK目录结构以及自带的工具解析

学习Java的小伙伴都应该很熟悉JDK,当然这个熟悉也是有层度的,很多人往往只会用,知道装了JDK后就可以运行Java代码。但对于想深入学习Java的小伙伴来说这是不够的,这篇文章就作为我进阶JDK的一篇学习笔记。一、基础概念(1)JDK(Java Development ToolKit)Java开发工具包,包括JRE,Java工具(javac,javap,javadoc等)和Java基础类库(Java API包括rt.jar)等。(2)JRE(Java Runtime Environment)J

2021-04-18 00:24:59 828

原创 数据结构中的十万个为什么?

1.各种系统中存储单元的大小?(1)在计算机中磁盘存储数据最小单元是扇区,一个扇区的大小是512 字节(bit);(2)文件系统(例如XFS/EXT4)他的最小单元是块,一个块的大小是4k;(3)InnoDB 存储引擎也有自己的最小储存单元是页(Page),一个页的大小是16K(源码中默认的值,可通过参数设置);2.为什么树的深度越深,IO次数越多?树往往是用来存储数据的,树的一个节点往往对应着一个磁盘块,节点中可以存放数据,也可以存放指针(指针的指向就是节点对应的数据在磁盘中的位置),往往遍历

2021-04-14 13:38:04 468

原创 B树系列解析(B树、B+树以及B-树)

我们知道MySQL中InnoDB存储引擎的索引结构默认采用的就是B+Tree(多路平衡查询树),多路平衡查询树顾名思义,与二叉查询树的区别就是多路平衡查询树每个节点可以对应多个子节点,也就是说一个节点对应多个分支,这样简单想来最起码一颗树上存的数据就比二叉查询树能多很多对吧!这也是InnoDB考虑到的一个因素吧!下面开始本文的正式内容:一、B TreeB树是一种多叉搜索树,需要注意的是并不是所有多叉搜索树就都是B树。详细定义如下:B Tree的索引结构图:B树的特点:(1)所有键值(key

2021-04-13 17:37:31 1156

原创 SpringMVC的执行流程

SpringMVC也算是耳熟能详了,但难免有时候会忘记吧!我就忘记过,而且还是面试的时候,被问到这个都没答出来,当时就十分懊恼,日常还是忽略了这些,只能说自己还不是烂熟于心吧!不然怎么会忘呢?于是有了这篇文章,就为了复习吧!主要也是参考网上的博文,图片上有博主的水印,这里就没贴链接(被我忘了,我当时觉得写的挺好就将部分内容摘录了下来!)。流程图:具体流程:1)用户发送请求至前端控制器 DispatcherServlet。2)DispatcherServlet 收到请求调用 HandlerMappi

2021-04-12 23:44:13 131

原创 Java线程池中的七个参数

Java线程池中的七个参数

2021-04-10 12:50:14 534

原创 Dubbo的学习理解

我现阶段接触的分布式微服务的架构主要就是Zookeeper+Dubbo的框架模式,前面已经有一篇文章关于Zookeeper的文章《Zookeeper的学习理解》,那么这篇文章就主要介绍Dubbo吧!

2021-04-08 02:04:06 211 1

原创 fastjson和jackson

作为以为搬砖人,JSON一直是我们绕不开的话题,这里篇文章就主要介绍下我们常见的Java处理JSON的类库fastjson和jackson。一、JSON1.概念JSON: JavaScript Object Notation(JavaScript 对象表示法)。JSON 是存储和交换文本信息的语法,类似 XML。JSON 比 XML 更小、更快,更易解析。2.什么是 JSON ?JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)JSON 是

2021-04-06 15:13:01 843

原创 数据库连接池(基于Java)

一、概念官方:数据库连接池(Connection pooling)是程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由程序动态地对池中的连接进行申请,使用,释放。二、原理传统统链接:一般来说,Java应用程序访问数据库的过程是:(1)装载数据库驱动程序;(2)通过JDBC建立数据库连接;(3)访问数据库,执行SQL语句;(4)断开数据库连接。数据库连接池的机制:(1)程序初始化时创建连接池(2)使用时向连接池申请可用连接(3)使用完毕,将连接返还给连接池(4)程序退出时

2021-04-06 00:24:39 1591

原创 Redis学习记录(Redis、Jedis和JedisPool)

Redis是非关系型数据库,也就是我们常说的NoSQL。日常项目开发中,redis也可以说是必不可少的,毕竟缓存对于我们来说是提升系统效率的一种理想方式。这篇文章就是用于记录我对Redis的一些学习记录。Redis的主从架构,哨兵架构以及我们的集群架构可以搭建试试。一、Redis的五种数据类型下面也结合Java操作这五种数据类型提供实例,这里用的是Jedis,Jedis 只是简单的封装了 Redis 的API库,可以看作是Redis客户端,它的方法和Redis 的命令很类似,同时我们也可以用sprin

2021-04-06 00:23:01 336

原创 Java中常见的普通线程池与ForkJoinPool对比

线程池的介绍可以参考我的另一篇文章《Java中线程创建方式》中有提及,这里就不详细赘述,这里主要是对比普通线程与ForkJoinPool的对比。

2021-04-05 23:25:00 7866 5

转载 Redis中常见的问题(面试题)

以下问题大部分摘自:https://blog.csdn.net/weixin_41241676/article/details/1150519431.Redis 持久化机制Redis是一个支持持久化的内存数据库,通过持久化机制把内存中的数据同步到硬盘文件来保证数据持久化。当Redis重启后通过把硬盘文件重新加载到内存,就能达到恢复数据的目的。实现:单独创建fork()一个子进程,将当前父进程的数据库数据复制到子进程的内存中,然后由子进程写入到临时文件中,持久化的过程结束了,再用这个临时文件替换上次的

2021-04-05 22:47:43 237

原创 Lombok的学习理解

在项目中初次接触到Lombok,看到很多注解都是Lombok中的,可以说即强大又省事,顿时就很好奇,遂有了这篇关于Lombok的文章。一、什么是Lombok?首先贴上Lombok的官网:https://projectlombok.org/。  Lombok项目是一个Java库,它会自动插入您的编辑器和构建工具中,从而使您的Java更加生动有趣。永远不要再写另一个getter或equals方法,带有一个注释的您的类有一个功能全面的生成器,自动化您的日志记录变量等等。二、为什么要使用Lombok?(1

2021-04-03 16:19:11 122

原创 Java虚拟机参数配置

虚拟机优化是我们面试常被问到的知识点,也是Java开发运用的重要内容,虽然现在实践中我也尚未接触到足够的内容,并没有在生产环境中进行虚拟机优化的经验,但学习这方面的知识是必不可少的,有备无患对吧!下面首先提供关于虚拟机参数配置的官方文档:https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html有关虚拟机参数的配置上面的链接中应有尽有,值得学习。下面记录一些在我们Windows的cli中常用的命令解析,虽然现如今华为已经宣

2021-04-02 15:44:45 743

JVM指令手册.docx

简单整理出文档形式,官网也可下载,这里是我自行整理的一份,方便查阅。

2021-08-20

DB2错误码.xlsx

该资源是我将DB2错误码进行整合的一个excel,方便下载随时查阅

2021-07-13

空空如也

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

TA关注的人

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