自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java学习笔记10

与sleep方法不同的是wait方法调用完成后,线程将被暂停,但wait方法将会释放当前持有的监视器锁(monitor),直到有线程调用notify/notifyAll方法后方能继续执行,而sleep方法只让线程休眠并不释放锁。(Circular Wait):存在一种等待循环,即线程1等待线程2持有的资源,线程2等待线程3持有的资源,...,线程N等待线程1持有的资源。通过线程池,可以将任务提交给线程池,线程池会自动管理线程的生命周期,使得线程可以被重复利用,避免频繁地创建和销毁线程的开销。

2024-07-30 22:20:42 538

原创 java学习笔记9

普通的变量在多线程环境下可能存在数据不一致的问题,因为线程A修改了变量的值,但是线程B在此之前已经缓存了该变量的旧值,导致线程B读取的是一个过期的值。当一个线程尝试获取一个同步代码块的锁时,如果当前锁处于偏向状态且偏向线程是当前线程,则可以直接获取锁而无需进入阻塞状态。如果相等,则将共享资源的值更新为新值,如果不相等,则表示有其他线程已经修改了该值,此时需要重新读取共享资源的值并重试。,使用锁对象来实现线程同步。在同步代码块中,遇到相同的锁对象的同步代码块,不需要再次获取锁对象的权限,而是直接进入执行。

2024-07-29 22:24:06 749

原创 java学习笔记8

(1).检查型异常(编译异常):在编译时就会抛出的异常(代码上会报错),需要在代码中编写处理方式 (和程序之外的资源访问) 直接继承Exception。7. 如果catch块抛出了异常, 没有finally就会中断程序,如果有finally,会运行finally会运行 并且正常返回,此方法正常运行结束。(2).运行时异常: 在代码运行阶段可能会出现的异常,可以不用明文处理可以通过代码避免异常的发生 继承RunTimeException。catch(要捕获的异常对象){捕捉到异常后要处理的代码}

2024-07-25 22:45:51 745

原创 Java学习笔记7

泛型类的语法格式:第一种:class 泛型类名称 {// 这里可以使用类型参数第二种: class 泛型类名称 extends 继承类/* 这里可以使用类型参数 */ {// 这里可以使用类型参数在返回值类型前面定义注:泛型只能接受类,所有的基本数据类型必须使用包装类!T可以代表任何数据类型,方便我们指定类型传参。注:类名后的 代表占位符,表示当前类是一个泛型类。

2024-07-23 20:48:23 864

原创 java学习笔记6

并可通过内部类的实例访问内部类的成员变量和方法,即使是私有的。静态内部类(类中定义)、成员(对象)内部类(类中定义)、局部内部类(方法中定义),匿名内部类(方法中定义)。4、当内部类与外部类有同名成员变量和方法时,内部类可通过Outer.this方式来引用外部类成员。一个类的定义放在另一个类的定义内部,这个类这就是内部类。6、局部内部类可随意访问外部类的成员变量和方法,即使是私有的。2、外部类可通过内部类的对象调用内部类的私有成员变量或方法。3、外部类可通过内部类的对象调用内部类的私有成员变量或方法;

2024-07-19 22:20:10 769

原创 java学习笔记5

方法往StringBuilder数组中追加字符,没有产生新的字符串对象。生成一个[0,1)的随机数。如果不存在就复制一份存入常量池中,然后返回常量池中的副本对象,intern 返回 str对象在字符串常量池中的副本对象。destPos:‌目标数组中要复制到的元素的起始位置。srcPos:‌源数组中要复制的元素的起始位置。过程:检查str是否在字符串常量池中存在副本,如果已经存在副本对象,直接返回副本对象。那么两个字符串的intern方法 ==length:‌要复制的元素数量。

2024-07-18 22:39:24 1759

原创 java学习笔记4

封装类型之间不能够互相转换,封装类型只要类型不同不可比较,基本数据类型和对应的封装类型比较,封装类型拆箱后比较。整数类型缓存大小为一个byte -128~127 只有Integer类型的缓存可以调整。装箱:基本数据类型转换成对应的封装类型的过程叫做装箱。拆箱:将封装类型转换成对应基本数据类型的过程。java为基本数据类型的封装类型提供了缓存。character类型的缓存为0~127。

2024-07-17 21:49:20 1546

原创 java学习笔记3

向上转型并非是将B自动向上转型为A的对象,相反它是从另一种角度去理解向上两字的:它是对A的对象的方法的扩充,即A的对象可访问B从A中继承来的和B复写A的方法,B中的其它的方法都不能访问。1.子类的构造方法中首行必须调用父类的构造方法,默认调用无参构造方法,父类中没有无参构造方法,子类构造方法中,必须明文声明调用父类哪一个构造方法。向上转型是对A的对象的方法的扩充,即A的对象可访问B从A中继承来的和B“重写”A的方法。动态多态:重写造成,只有在执行到该行代码,才能确定执行的是哪个类的方法。

2024-07-16 22:33:06 1927

原创 java学习笔记2

&是按位与运算符,&&是逻辑运算符,两者运算方式不同,但是可以得到相同结果,&没有短路现象,&&有短路现象。在循环中使用break退出所在的循环体,continue语句则是不再执行此语句下面的语句,继续下一次循环。将A和B转为二进制,右侧对齐上下比较,两者有一个1结果即为1,两者都为0结果才为0.将A和B转成二进制 右侧对齐上下比较,两者都为1,结果为1,否则为0.写多个if语句时,尽量让条件严格的放在上面,减少重复判断造成的资源浪费。将A和B转为二进制,右侧对齐上下比较,两者不同则为1,相同则为0.

2024-07-15 22:42:21 757

原创 Java学习笔记1

强制类型转换,可将范围大的类型的值转为范围小的类型的值,但是需要注意,如果截断的二进制位为有效位则会造成数据错误,如。标识符尽量使用驼峰命名法(单词首字母大写),所有标识符尽量见名知意,标识符可以缩写,如果影响见名知意,就不要缩写。标识符只能有字母,数字,$,_组成,不能是关键字,首字符不能是数字(中文语法上是通过的,但不允许)。3.程序运行过程:源码---javac---字节码---Java---系统指令。隐式转换系统自动完成,取值范围小的类型的值可自动转化为取值范围大的类型的值。

2024-07-14 21:34:27 775

空空如也

空空如也

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

TA关注的人

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