自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 简单的符号,不简单的对象

Java基础面试题中"=="和"equals"的区别是什么?出现的频率还是蛮高的(听别人说的)。知道他们的作用,也就知道他们有什么区别了(这怕不是废话)。但是在使用中出现的结果有时候不是你以为的结果。主要原因是在比较的对象身上。简单的符号"=="和"equals"的作用是对两个对象进行比较。具体如下:对于==,如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等;如果作用于引用类型的变量,则比较的是所指向的对象的地址。对于equals,如果没有对equals方法进行重写,则比较的是引用

2022-01-26 13:03:51 394

原创 消息队列(一)为什么需要消息队列

为什么需要消息队列在说明什么是消息队列前,先来了解一下为什么需要使用消息队列,它解决了什么问题,不能为了用而用。MQ 的应用场景有很多,耳熟能详的是的是:系统解耦、异步处理和流量削峰。除此之外,还有延迟通知、分布式事务、顺序消息、流式处理等等。解耦消息队列可以实现系统应用之间的解耦,那什么是解耦呢,先来看一个场景。有一个系统A需要发送数据到BCD三个系统中,通过接口调用的方式,如下图在平常开发中,我们会在A系统代码中调用BCD系统所提供的接口,当某日需求需要增加或者删除一个接口,那么我们需要增

2021-07-05 09:03:35 354

原创 JVM如何回收对象--初识

​ 垃圾收集器回收的是什么?当然是"垃圾"。那什么是"垃圾"呢?在生活中当一个东西对我们来说已经没有使用价值,无法利用时,便会作为"垃圾"被我们丢弃掉。同理在JVM中当一个对象不会再被使用时,就成为垃圾回收器回收的对象—“垃圾”。为什么要回收"垃圾"呢?生活中,我们的房间空间是一定的,如果不清理"垃圾",会使得我们可利用的空间会越来越小,JVM中如果没有垃圾回收,也就是所占据的空间将不可回收,这就会造成了内存泄露。​ 读过上文的应该知道,Java中几乎所有的对象实例都在Java堆中分配内存,方法区用于存储

2021-01-03 21:48:31 542 1

原创 要不要来了解一下JVM

什么是JVMjava虚拟机(java virtual machine,JVM),是在原有计算机的基础上虚拟出来的抽象计算机,提供Java程序的运行环境。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需要生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。JVM是Java平台无关的基础,使Java程序能够做到 “Write Once, Run Anywhere”。作为一种编程语言的虚拟机,实际上不只是专用于Java语言,只要生成的编译文件与JVM对加载编译文件的

2020-12-26 19:19:39 111

原创 Java IO流初相识

流是一种抽象概念,它代表了数据的无结构化传递。按照流的方式进行输入输出,数据被当成无结构的字节序或字符序列。从流中取得数据的操作称为提取操作,而向流中添加数据的操作称为插入操作。用来进行输入输出操作的流就称为IO流。换句话说,IO流就是以流的方式进行输入输出 。—百度百科Java中IO流的分类按照流的流向:分为输入流和输出流通常我们说的输入输出是从内存的角度来划分的,例如下图数据从服务端到客户端,客户端的内容负责从网络里读取数据,所以客户端的程序应该使用输入流。按照操作单元:分为字节流.

2020-12-13 12:04:52 180

原创 Java反射初相识

什么是反射在了解反射之前先来看下面的Demo,首先定义了一个简单的学生类,其中有两个成员变量,分别是姓名:name 年龄:age 还有一个方法: void study(String val);然后通过两种方式进行调用.public class Student { public String name; private int age; public int getAge() { return age; } public void setAge(in

2020-12-05 16:30:11 95

原创 数据库初相识

数据库什么是数据库数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。—百度百科通俗的来说:数据库就是存储数据的仓库,其本质就是按照一定格式存储数据的文件夹.数据库优点数据库是按照特定的格式将数据存储在文件中,通过SQL语句可以方便的对大量数据进行增、删、改、查操作,数据库是对大量的信息进行管理的高效的解决方案。数据库管理系统(DBMS)数据库管理系统(DataBase Management System,DBMS

2020-11-24 21:32:22 160

原创 面向对象初相识

面向对象编程在介绍面向对象编程之前,我们先来了解两个非常重要、非常基础的概念,那就是类(class)和对象(object)。类就是拥有相等功能和相同的属性的对象的集合 – 抽象对象就是类的实例 – 具体/*** 女朋友类*/public class GirlFriend { /** * 姓名 */ private String name; /** * 年龄 */ private int age; /**

2020-11-23 12:34:09 145

原创 String初相识

StringString表示一个字符串,它的内部是一个字符数组,只用使用方法比较特殊例如: String str = “Hello World”;String类的重要特点:字符串是不变的; 它的值在创建后不能被更改。创建了几个对象String str = "Hello";str += "World";System.out.println(str);//"HelloWorld"//整个过程产生了3个String对象;相等吗String s1 = "Hello";String s2 =

2020-11-17 20:47:07 94

原创 队列初相识

什么是队列栈是先进者后出,后进者先出,而队列是先进者先出,对于在内存中如何存储并没有要求,如果通过数组来实现叫做顺序队列,如果通过链表实现,则叫做链式队列,可以看出上图就是顺序队列,就好比地铁过安检时,每个人排队,依次进入检查顺序队列队列的特点是先进者先出,所以需要两个指针,一个指针指向第一条数据,另一个指向最后一条数据因为数组创建时便已经指定大小,所以顺序队列的存储空间有限,为了提高空间的利用率,每当有出对操作时,我们可以进行数据搬移但是如果频繁的进行数据搬移,会使得性能降低,所以当没有

2020-11-16 09:09:00 76

原创 栈初相识

什么是栈数据结构中栈的特点是先进者后出,后进者先出,对于在内存中如何存储并没有要求,如果通过数组来实现叫做顺序栈,如果通过链表实现,则叫做链式栈,可以看出上图就是顺序栈.栈只支持两个基本操作:入栈 push()和出栈 pop()。顺序栈因为栈的特点是先进者后出,后进者先出,所以需要一个指针记录最后入栈的数据public class ArrayStack<E> { private E[] items; // 数组 private int count; // 栈中元素

2020-11-16 09:08:44 94

原创 ArrayList PK LinkedList

​ ArrayList和LinkedList,这两个集合大家都不陌生.尤其是ArrayList,可以说是日常开发中用的最多的容器了.而且这两个集合的知识点几乎可以说面试必问的.ArrayList​ ArrayList是List接口的一个实现类,底层是基于数组实现的存储结构,数据都是存放到一个数组中.所以ArrayList的优缺点与数组大致相同,区别是ArrayList可以动态扩容优点缺点随机访问性强插入和删除效率低查找效率高可能浪费内存支持动态扩展Arra

2020-11-16 09:08:22 74

原创 链表初相识

什么是链表​ 我们知道数组需要一块连续的内存空间来存储数据,而链表恰恰相反,它并不需要连续的内存空间,它通过"指针"将零散的内存块连接起来使用,通常将内存块称为链表的“结点”.常见的链表结构单链表通常我们将头部称为头结点,把尾部称为尾结点.头结点用来记录链表的基地址,通过它我们可以遍历整个链表,而尾结点没有指向下一结点,而是指向了一个空地址null既然是存储数据,那就少不了插入和删除操作,与数组不同,链表的插入和删除不需要搬移数据,插入删除从图中可以看出链表的插入和删除操作,只需要改

2020-11-15 09:26:46 181

原创 Data、Calendar要不要了解一下

Date在Java中,有一个类叫做Date(java.util.Date), 这个类叫做日期类,但是Java中的Date类表示的是特定的时间瞬间, 精确到了毫秒。构造方法:Date():使用空参构造方法创建的Date对象会以当前操作系统的时间构建一个Date。Date(long date):参数要传递一个long类型的毫秒值。 表示从1970年1月1日 0点0分0秒开始过了多少毫秒。中国使用的是北京时间,北京时间是东八区,比标准时间快八个小时。 时间是从1970年1月1日 8点0分0秒开始的。

2020-11-11 09:08:44 270

原创 File初相识

File类的介绍文件(file): 文件用来存储数据。路径(path): 表示计算机中的一个位置,这个位置可以是文件夹,也可以是文件。在Java中,有一个类叫做File,这个类可以表示【计算机中的文件或文件夹】注意,File这个单词本意是文件的意思,但是在Java中,不仅仅可以表示文件,还可以表示文件夹。我们可以通过File类的方法对文件或文件夹进行操作。相对路径和绝对路径绝对路径: 是一个非常详细的路径, 绝对路径是从盘符开始的。 比如: D:\demo\HelloWorld.java相对路

2020-11-10 09:04:17 201

原创 数组初相识

什么是数组​ 看到这个问题时,想必答案已经在你脑中了吧.通俗的来说: 数组是用一组连续的内存空间,来存储一组具有相同类型的数据。 也可以说数组的作用是将相同类型的数据,存储在一组连续的内存空间中.​ 连续的内存空间:关键字连续,为什么需要连续的内存空间呢,难道不连续不可以吗?​ 根据《Java虚拟机规范》的规定,Java堆可以处于物理上不连续的内存空间中,但在逻辑上它应该被视为连续的,这点就像我们用磁盘空间去存储文件一样,并不要求每个文件都连续存放。但对于大对象(典型的如数组对象),多数虚拟机实现出于

2020-11-08 18:31:32 123

原创 权限修饰符,方法及异常了解一下

权限修饰符private 修饰的函数或者成员变量,只能在类内部使用。default(默认权限) 修饰类,成员变量,成员方法,构造方法都能使用默认权限,即不写任何关键字protected 修饰成员变量,成员方法,构造方法,不能修饰类(外部类,内部类不考虑),可以在类及其子类内使用。public 修饰类,成员变量,成员方法,构造方法,可以被任意访问。修饰符同类中同一个包中(子类和无关类)不同包(子类)不同包(无关类)publicYYYYprotectedYY

2020-11-01 16:51:54 172

原创 流程控制

“流程控制”:程序可以根据用户数据的不同,执行不同的代码。Java为我们的流程控制提供了几种语句:​ 1).if语句:做判断的;​ 2).switch语句:做判断的;​ 3).for语句:循环语句​ 4).while语句:循环语句​ 5).do_while语句:循环语句if语句/***if语句有三种格式,分别如下*///格式一if(布尔表达式){ //如果布尔表达式的结果为:true,则执行这里。 }//格式二 if(布尔表达式){ //如果true,执行这里

2020-10-25 19:28:13 67

原创 Hello Word

​ Hello World一个最著名的程序。对每一位程序员来说,这个程序几乎是每一门编程语言中的第一个示例程序。现在我们即将进入Java中的世界,你准备好了吗?Hello WordJava 中有两种代码注释方式第一种是“// 注释…”双斜杠,表示后面的字符串都是注释,第二种是“/* 注释…*/”,表示中间的内容都是注释。/*hello world程序*/public class HelloWorld { public static void main(String []args

2020-10-23 06:01:36 276

空空如也

空空如也

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

TA关注的人

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