自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java锁的四种状态(无锁、偏向级锁、轻量级锁、重量级锁)

首先,我们需要明确一点:偏向级锁、轻量级锁、重量级锁这四种锁状态分别代表什么,为什么会有锁升级?其实在 JDK 1.6之前,,是一个效率比较低下的锁,但是在JDK 1.6后,Jvm为了提高锁的获取与释放效率对进行了优化,引入了,从此以后锁的状态就有了四种(无锁、偏向锁、轻量级锁、重量级锁),这种锁升级却不能降级的策略,目的是为了提高获得锁和释放锁的效率。

2024-06-07 16:53:24 763

原创 Java并发核心问题以及并发三特性原子性、可见性、有序性

即一个操作或者多个操作,要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。一个很经典的例子就是银行账户转账问题:比如从账户A向账户B转1000元,那么必然包括2个操作:从账户A减去1000元,往账户B加上1000元。试想一下,如果这2个操作不具备原子性,会造成什么样的后果。假如从账户A减去1000元之后,操作突然中止。然后又从B取出了500元,取出500元之后,再执行 往账户B加上1000元 的操作。这样就会导致账户A虽然减去了1000元,但是账户B没有收到这个转过来的1000元。

2024-06-05 14:20:03 885 2

原创 JVM详解以及JVM内存区域分类

JVM是Java Virtual Machine的缩写,即咱们经常提到的Java虚拟机。想要运行java的源文件,必须要经过javac编译器编译成.class文件,也就是字节码文件。然后通过jvm中的解释器,解释成特定机器上的机器码。每种机器上的解释器是不一样的,我们经常用的也就是windows和linux系统,这也是为什么java能够跨平台的原因。拓展。

2024-06-04 15:34:17 1125

原创 java的集合

因为此文章用于博主的复习,所以就不介绍集合是什么,什么时候用到以及为什么要用。直接进入干又硬的知识点。

2024-06-03 14:08:56 1053

原创 17.java的接口以及接口和抽象类的区别与理解

请看博主的16.java的抽象类。

2024-05-29 13:41:10 360

原创 16.java的抽象类

关键字实例化的话,编译器会报错,提示“类是抽象的,不能实例化”。抽象类中既可以定义抽象方法,也可以定义普通方法。抽象类派生的子类必须实现父类中定义的抽象方法。抽象类是不能实例化的,尝试通过。abstract是关键字。

2024-05-29 10:20:37 91

原创 15.java的包装类

Java是一个面向对象的编程语言,但是Java中的八种基本数据类型却是不面向对象的,为了使用方便和解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八种基本数据类型对应的类统称为包装类(Wrapper Class),包装类均位于java.lang包。

2024-03-21 09:40:30 395 1

原创 14.java的异常详解

指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。

2024-03-19 09:50:30 748 1

原创 13.java的重载和重写

当子类继承父类时,如果子类中有与父类中相同名称、参数类型和返回值的方法,那么可以使用@Override注解来表示该方法是重写了父类的方法。这样,在编译时,编译器会检查子类方法的签名是否与父类方法的签名一致,如果不一致,则会报错。简单理解:重写就是在子类中把父类本身有的方法重新写一遍。子类继承了父类原有的方法,但有时子类并不想原封不动的继承父类中的某个方法,所以在方法名,参数列表,返回类型都相同的情况下, 对方法体进行修改。注:方法名,参数列表,返回类型必须相同;

2024-03-14 10:00:07 330

原创 12.java的final关键字

用final修饰一个类时,表明这个类不能被继承。final类中的成员变量可以根据需要设为final,但是要注意final类中的所有成员方法都会被隐式地指定为final方法。

2024-03-13 09:24:33 463

原创 11.java的static关键字

在类中,用static声明的成员变量称为静态成员变量,也可以叫做类变量。(普通变量和方法从属于对象,static修饰的成员变量和方法从属于类)

2024-03-12 10:23:52 1464 1

原创 10.java的值传递和引用传递

Java中其实还是值传递的,只不过对于对象参数,值的内容是对象的引用。

2024-03-11 15:18:14 1747 1

原创 9.java的实参和形参

形参是在定义函数或方法时声明的函数,是一个虚拟的参数,用于接收实参值的变量。

2024-03-01 17:40:54 467

原创 8.&和&&区别

对于:&& -- > 只有当符号"&&"左边程序为真(true)后,才会执行符号"&&"右边的程序。如果左边位false,就不会执行右边的程序。对于:& -- > 不管怎样,都会执行"&"符号左右两边的程序。

2024-02-28 15:48:47 343

原创 7.java的基本数据类型转换

接下来引入一些经典的面试题错误。s1是short类型,1是int型,s1会自动转换为int型的1,与1相加后,得到int型的2,要向左侧的short类型的s1看齐,即需要通过强制类型转换。正确写法:s1 = (short) (s1 + 1);s1 += 1;正确。由于 += 是java语言规定的运算符,java编译器会对它进行特殊处理。因此执行s1+=1;其实执行的是s1 = (short) (s1 + 1);其中会有一个强制转换的过程。错误。

2024-02-26 17:50:31 409 1

原创 6.java的this,super

this一般出现在方法里面,当方法还没调用的时候,this指的是谁并不知道。实际当中,new了一个对象,this指的就是当前这个对象。对哪个对象调用方法,this指的就是调用方法的这个对象。初始化年龄:20。

2024-02-26 17:17:02 417

原创 5.java中public,private,protected,default的详解

具有最大的访问权限,可以访问任何一个在classpath下的类、接口、异常等。它往往用于对外的情况,也就是对象或类对外的一种接口的形式。

2024-02-26 16:00:26 347

原创 4.Java中equals与“==”详解

看之前请先掌握java数据类型,如若未了解或需要复习,请看博主的3.java的数据类型。

2024-02-26 15:48:54 446

原创 3.java的数据类型

整型、浮点型、字符型、布尔型(共八种)整数类型 —— byte、short、int、long,浮点类型 —— float、double字符类型 —— char布尔类型 —— boolean建立在八大基本数据类型基础之上,包括数组([ ])、接口(interface)、类(class)。引用数据类型是由用户自定义,用来限制其他数据类型。简单的说,除八大基本类型之外的所有数据类型,都为引用数据类型。

2024-02-26 14:42:43 374

原创 2.Java基础 JDK,JRE,JVM

(Java Development Kit)针对Java开发人员发布的免费软件开发工具包。 java 开发工具集 : JRE + 一些开发工具 、(Java Runtime Environment)Java运行环境,运行Java所必须的环境的集合,包含JVM标准实现及Java核心类库。(Java Virtual Machine)Java 虚拟机。JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

2024-02-26 14:15:05 311

原创 1.java面向对象

public void putIn(大象){} //放进冰箱。类class,对象object,类是对象的抽象,对象是类的具体实例。System.out.println("汪汪汪");System.out.println("喵喵喵");System.out.println("汪汪汪");public void open(大象){} //开门。public void close(大象){} //关门。public void eat(){} //吃。public String name="小白";

2024-02-26 13:53:55 336

空空如也

空空如也

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

TA关注的人

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