自定义博客皮肤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)
  • 资源 (5)
  • 收藏
  • 关注

原创 大厂Java初级开发工程师!!!面试必问项之Set实现类:TreeSet

一、TreeSet 概述1、TreeSet是 SortedSet 接口的实现类, TreeSet 可以确保集合元素处于排序状态。2、TreeSet顾名思义他内部维护的是一个TreeMap,底层是红黑二叉树,他使得集合内都是有序的序列。3、Tree可以按照添加对象的指定属性,进行排序,所以向TreeSet中添加的数据,要求是相同类的对象。4、两种排序方式:自然排序(实现Comparable接口) 和 定制排序(Comparator);5、自然排序中,比较两个对象是否相同的标准为.

2021-07-10 15:53:47 4492 10

原创 世道变了,面试初级Java开发会问到Arrays!!!你不会还不知道吧!

一、基本定义Arrays类,全路径java.util.Arrays,主要功能为操作数组,Arrays类的所有方法均为静态方法,所以调用方式全部为Arrays.方法名二、常用方法1. <T> List<T> asList(T... a)可以将数组转化为相应的list集合,但是也只能转化为list,asList方法内部构建了一个内部静态类ArrayList,这个ArrayList也继承自AbstractList,但并不是我们集合中常用的ArrayList,这两者是有区别.

2021-07-09 22:32:17 2645 11

原创 【每日分享】我做程序员那些年犯下的罪,此时此刻我自己的笑出猪叫~

以前我刚入行,总是会犯这样几个常见错误,后面想起来是真的SB。当然每个程序员会犯错,重要的是从中吸取教训,得到成长。那么这些错误到底是什么呢?我来给大家盘点一下!!!当我感觉我测试的代码一点很棒棒,然而现实却是…我设计的接口和别人调用的接口甚至穿着NIKE鞋的测试在一旁外表紧张,内心有点点愉快咱们总得拥抱变化,可惜这个道理我懂得太晚了”躺在医院的的病床上,我才追悔莫及。明明是个小bug,但就是死活修不好终极 Bug 的 4 个走向多年的测试经验中,经常发现有这么一种现象:总有些提了的 bu

2021-07-07 14:35:55 4717 42

原创 面试问外观模式???这不就是设计模式里面的吗?我给你上一课吧,面试官

面试问外观模式???这不就是设计模式里面的吗?我给你上一课吧,面试官外观模式介绍实现步骤 1Shape.java步骤 2Rectangle.javaSquare.javaCircle.java步骤 3ShapeMaker.java步骤 4FacadePatternDemo.java步骤 5外观模式外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。这种模式涉及到一个单一

2021-07-30 21:15:49 381 31

原创 项目经理问我Java内存区域模型!急急急

也就这么点吧Java内存区域主要分为:堆,栈,方法区三大部分1、堆:是内存区域中最大的部分,所有线程共享,其中存放创建的对象和数组。由于堆是垃圾收集器管理的主要区域,因此也叫GC堆。2、栈:线程私有,与线程共生死。也就是每个线程JVM都会给它创建一片栈内存。栈内存又分为:虚拟机栈,本地方法栈,和程序计数器虚拟机栈用来描述Java方法的执行过程。每个方法的执行对应一个栈帧的入栈,方法的返回对应栈帧的出栈。本地方法栈与虚拟机栈类似,区别是本地方法栈尾Native方法服务。Native方法也就是非Ja

2021-07-23 20:58:18 327 1

原创 掌握JVM 运行时数据区,其实不是很难,加薪也是要技巧可言的!!!

一、概念Java 内存区域和内存模型是不一样的东西,内存区域是指 Jvm 运行时将数据分区域存储,强调对内存空间的划分。而内存模型(Java Memory Model,简称 JMM )是定义了线程和主内存之间的抽象关系,即 JMM 定义了 JVM 在计算机内存(RAM)中的工作方式,如果我们要想深入了解Java并发编程,就要先理解好Java内存模型。二、JVM 运行时数据区结构图1、java虚拟机规范中的结构图2、java1.8 虚拟机(HotSpot)中的数据区域三、各个区域简介1、

2021-07-23 14:50:37 1431 9

原创 因为我把JMM原理讲解了一遍,这给足了我涨薪的底气!

一、什么是JMM?JMM指的是Java内存模型,即 Java Memory ModelJava内存模型并不是一种实际存在的东西,而是一种人为形成的约定,是一种概念。关于JMM,我们需要了解一些相关的同步约定 :线程在解锁前,必须将线程中的工作内存中存储的值即时刷新到主内存中的共享变量!线程在加锁前,必须读取主存中的最新值到工作内存中!加锁和解锁是同一把锁!线程中操作的数据要从主内存中读取,并备份到线程自己的工作内存中,作为副本,主存并不会主动向线程更新数据。线程的八种内存交互.

2021-07-22 21:51:03 485 3

原创 什么?面试官问我Java内存模型!这不得给我加薪?

内存模型的基础通信  线程之间以何种机制来交换信息共享内存  隐式通信消息传递  显示通信同步  程序中用于控制不同线程间操作,发生的相对顺序的机制共享内存  显式同步消息传递  隐式同步Java线程线程之间是通过共享内存的方式实现通信的.内存模型的抽象结构共享变量共享变量手内存模型影响,线程会去主内存里去加载共享变量,当线程需要改变共享变量时,会将本地内存已更改的副本提交到主内存.局部变量局部变量不会受内存模型的影响线程之间通信指令重排编译器优.

2021-07-22 21:37:11 317 1

原创 面试官问:怎么保证线程安全在对象内存分配过程中不出问题?emmmm 让我想想

Java一门面向对象的语言,在Java中使用的对象都需要被创建出来,在Java中创建一个对象的方法有很多种,但对象在创建过程中都需要进行内存分配。Java对象内存分配过程保证线程安全,对象的内存分配过程就必须进行同步控制。对象的内存分配过程中,主要是对象的引用指向这个内存区域进行【初始化操作】。但因为堆是全局共享,在同一时间可能有多个线程在堆上申请空间,在并发场景中如果两个线程先后把对象引用指向了同一个内存区域怎么办为了解决这个并发问题,对象的内存分配过程就必须进行同步控制。但是我们都知道,无论是使

2021-07-22 20:46:01 349 1

原创 面试阿里被问到JVM,不逼逼赖赖,直接盘给面试官看!!!

面试阿里被问到JVM,不逼逼赖赖,直接盘给面试官看!!!概述JVM体系结构类加载机制类加载器类加载过程双亲委派机制全盘负责委托机制打破双亲委派机制自定义类加载器实现JVM运行时数据区程序计数器虚拟机栈本地方法栈堆方法区(元空间)运行时常量池直接内存垃圾回收机制GC对象判定方法垃圾收集算法垃圾收集器JVM调优参数概述JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。J.

2021-07-21 20:04:47 3281 6

原创 初级Java开发面试必问项!!! 标识符、字面值、变量、数据类型,该学学了!

最近事情太多,没太时间写博客。今天抽空再整理整理面试中的那点事吧,帮助那些正在找工作或想跳槽找工作的学弟学妹们。前面我己写过多篇推文,相信看过我文章的伙伴们已经了解掌握了不少。从目前流行的开发技术、常见的面试问题以及问题的答案都已经写的特别清楚了,今天我给写一篇初级Java开发面试必问项!供大家阅读参考。标识符关于java语言当中的标识符1、什么是标识符在java源程序当中凡是程序员有权利自己命名的单词都是标识符标识符在EditPlus编辑器当中以黑色字体高亮显示标识符可以标识什么元素呢?

2021-07-21 14:29:50 1652 16

原创 入职第一天,我接手了号称【屎山】的祖传代码,这还能卷吗???

公司各种各样的祖传代码都是令新人虎躯一震的代码,因为有时候你根本不知道它是干嘛的,甚至觉得它毫无用处,关键是 还绝对不能动,碰一段改半年,别问我怎么知道的。最讽刺的是,你可能为了修改代码,也在里面拉了几次犯了罪恶…真的是绝绝子, 自此以后,遇到一些看着很奇怪的代码压根儿碰都不敢碰。有些祖传代码,你一动, 我们就再也回不去了有时候心血来潮改点东西……代码从头错到尾……//动都不要动,我试过了有时候当你只删了一行代码时,可能会发生下面这种情况说一个朋友经历的一座「屎山」,曾入职一家成立15.

2021-07-16 15:29:02 2597 13

原创 涨薪关键之反射机制,引得项目经理对你的看重,加薪触手可及!!!!

前言就比如我前几天被面试官问什么是反射???而我的回答是!!!反射是动态语言的关键,反射允许程序在执行期间借助Reflection API取得任何类的内部信息,并能直接操作任曦对象的内部属性及方法。1.Java反射提供的功能在运行时判断任意一个对象所属的类在运行时构造任意一个类的对象在运行时判断任意一个类具有的成员变量和方法在运行时调用任意一个对象的成员变量和方法2.放射常用的APIjava.lang.Class : 代表一个类java.lang.reflect.Method:.

2021-07-13 16:51:48 878 11

原创 一个问题让我直接闭门思过!!!拼多多面试必问项之List实现类:LinkedList

一、LinkedList概述1、对于频繁的插入或删除元素的操作,建议使用LinkedList类,效率较高。2、LinkedList是一个实现了List接口和Deque接口的双端链表。3、LinkedList底层的链表结构使它支持高效的插入和删除操作,另外它实现了Deque接口,使得LinkedList类也具有 List 的操作以及双端队列和栈的性质。4、LinkedList不是线程安全的,如果想使LinkedList变成线程安全的,可以调用静态类Collections类中的synchronized

2021-07-11 15:41:44 802 5

原创 Java面试会问的——数组、声明、初始化、冒泡、多维数组、稀疏数组

数组数组时相同类型数据的有序集合数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成其中,每一个数据称作一个数组元素,每一个数组元素可以通过一个下标来访问它们。数组声明创建首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法。da taType[] arrayRefVar //首选方法dateType arrayRefVar[] //效果相同,但不是首选方法java语言使用new操作符来创建数组,语法如下:dateType[] arrayRef

2021-07-10 21:41:51 1184 11

原创 秋招面试我去了拼多多,直接被问JVM&GC底层原理和算法,我吊打面试官

JVM 常用参数设置积累# 堆的初始值,默认物理内存的1/64-Xms:# 堆的最大值,默认物理内存的1/4-Xmx:# 年轻代大小「在整个堆内存大小确定的情况下,增大年轻代将会减小年老代,反之亦然。此值关系到JVM垃圾回收,对系统性能影响较大,官方推荐配置为整个堆大小的3/8」-Xmn:# 设置年轻代初始值为 1024 M-XX:NewSize=1024# 设置年轻代最大值为 1024 M-XX:MaxNewSize=1024m# 设置线程栈大小,设置越小,说明一个线程栈里面能分配.

2021-07-07 15:57:16 640 3

原创 TDengine和DolphinDB哪个更好,哈哈哈哈,闲来无聊分析了一下。

TDengine是专为时序数据设计的,针对的是物联网、工业互联网、IT运维场景。这些场景是不需要特殊的查询函数的,更关心的是写入速度、查询速度。而且这些场景下,也需要一些其他数据库不具备的功能,比如插值、时间聚合等等如果要问TDengine和DolphinDB最大的特色,存储引擎可能是TDengine最大的特色,性能也非常好;DolphinDB的最大特色毫无疑问是它的计算引擎。可以毫不夸张的说,DolphinDB的计算引擎是所有类别的国内外数据库中最有特色的之一。这跟DolphinDB从金融起步有关(金融

2021-07-07 13:51:45 3516 11

原创 超详细图解!【MySQL进阶篇】存储过程,视图,索引,函数,触发器

超详细图解!【MySQL进阶篇】存储过程,视图,索引,函数,触发器1.1 下载Linux 安装包1.2 安装MySQL1.3 启动 MySQL 服务1.4 登录MySQL2\. 索引2.1 索引概述2.2 索引优势劣势2.3 索引结构2.3.1 BTREE 结构2.3.3 B+TREE 结构2.3.3 MySQL中的B+Tree2.4 索引分类2.5 索引语法2.5.1 创建索引2.5.2 查看索引2.5.3 删除索引2.5.4 ALTER命令2.6 索引设计原则3\. 视图3.1 视图概述3.2 创建或者

2021-07-04 16:51:18 1752 53

原创 超详细图解!【MySQL进阶篇】SQL优化-索引-存储引擎

1. Mysql的体系结构概览整个MySQL Server由以下组成Connection Pool : 连接池组件Management Services & Utilities : 管理服务和工具组件SQL Interface : SQL接口组件Parser : 查询分析器组件Optimizer : 优化器组件Caches & Buffers : 缓冲池组件Pluggable Storage Engines : 存储引擎File System : 文件系统【白嫖资料】

2021-07-04 15:43:52 845 6

原创 超详细图解!【MySQL进阶篇】MySQL索引原理

索引类型索引可以提升查询速度,会影响where查询,以及order by排序。MySQL索引类型如下:从索引存储结构划分:B Tree索引、Hash索引、FULLTEXT全文索引、R Tree索引从应用层次划分:普通索引、唯一索引、主键索引、复合索引从索引键值类型划分:主键索引、辅助索引(二级索引)从数据存储和索引键值逻辑关系划分:聚集索引(聚簇索引)、非聚集索引(非聚簇索引)普通索引这是最基本的索引类型,基于普通字段建立的索引,没有任何限制。创建普通索引的方法如下:

2021-07-04 15:10:14 1054 2

原创 超详细图解!【MySQL进阶篇】MySQL架构原理

MySQL体系架构MySQL Server架构自顶向下大致可以分网络连接层、服务层、存储引擎层和系统文件层。一、网络连接层客户端连接器(Client Connectors):提供与MySQL服务器建立的支持。目前几乎支持所有主流的服务端编程技术,例如常见的 Java、C、Python、.NET等,它们通过各自API技术与MySQL建立连接。二、服务层(MySQL Server)服务层是MySQL Server的核心,主要包含系统管理和控制工具、连接池、SQL接口、解析器、查询优****化器

2021-07-04 15:00:35 2656 9

原创 超详细图解!【MySQL进阶篇】MySQL事务和锁

ACID 特性在关系型数据库管理系统中,一个逻辑工作单元要成为事务,必须满足这 4 个特性,即所谓的 ACID:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。原子性原子性:事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全都不执行。修改—》Buffer Pool修改—》刷盘。可能会有下面两种情况:【白嫖资料】事务提交了,如果此时Buffer Pool的脏页没有刷盘,如何保证修改的数据生效? Redo如果

2021-07-04 14:36:58 878 3

运营人的全套物料工具.xlsx

新媒体运营手册

2021-08-09

我们必须明白JDK,JRE和JVM之间的差异.mp4

我们必须明白JDK,JRE和JVM之间的差异.mp4

2021-05-28

Spring面试题与答案.doc

阿里Spring面试题与答案

2021-05-28

世界读书日读书会分享首图.zip

世界读书日读书会分享首图.zip

2021-05-28

DX0308-Java版OA管理系统源码带APP源码.zip

DX0308-Java版OA管理系统源码带APP源码

2021-05-28

空空如也

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

TA关注的人

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