自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java线程安全

synchronized的三种应用方式synchronized关键字最主要有以下3种应用方式,修饰实例方法,作用于当前实例加锁,进入同步代码前要获得当前实例的锁\,修饰静态方法,作用于当前类对象加锁,进入同步代码前要获得当前类对象的锁\n\n修饰代码块,指定加锁对象,对给定对象加锁,进入同步代码库前要获得给定对象的锁。

2023-06-18 21:06:39 35

原创 JAVA方法

1.重载(overload)\n是指方法名相同,参数列表不同(无关返回值类型)的方法造成了方法的重载,通常发生在类的成员方法中,方法的重载提高了程序的强壮性\n\n1.1 重载规则:\n被重载的方法必须改变参数列表(参数个数或类型不一样);\n被重载的方法可以改变返回类型;\n被重载的方法可以改变访问修饰符;可变参数\n当参数的个数不定时,可以使用可变参数可变参数的写法:int…a 前面为参数类型,中间加三个点,后面为参数名\n使用规则:可变参数只能位于参数列表的最后一个\n可变参数有且只有一个。

2023-06-14 22:36:58 32

原创 JAVA线程2

Thread2类通过实现Runnable接口,使得该类有了多线程类的特征。run()方法是多线程程序的一个约定。Thread类实际上也是实现了Runnable接口的类。在启动的多线程的时候,需要先通过Thread类的构造方法Thread(Runnable target) 构造出对象,然后调用Thread对象的start()方法来运行多线程代码。实际上所有的多线程代码都是通过运行Thread的start()方法来运行的。因此,不管是扩展Thread类还是实现Runnable接口来实现多线程。

2023-06-13 22:35:15 32

原创 java线程

注意:start()方法的调用后并不是立即执行多线程代码,而是使得该线程变为可运行态(Runnable),什么时候运行是由操作系统决定的。Thread.sleep()方法调用目的是不让当前线程独自霸占该进程所获取的CPU资源,以留出一定时间给其他线程执行的机会。实际上所有的多线程代码执行顺序都是不确定的,每次执行的结果都是随机的。在java中要想实现多线程,有两种手段,一种是继续Thread类,另外一种是实现Runable接口扩展java.lang.Thread类。

2023-06-12 21:52:21 24

原创 java io

读取一个字节的数据到程序中,数据类型是int(0~255之间的一个数),如果没有读到数据会返回-1(输入完毕)。1、字节流IO抽象类:InputStream和OutputStream,数据单位为1字节(8Bit)O(输出Output):指的是Java程序向外部输出数据,即Java程序向外部发送数据。I(输入Input):指向Java程序中输入数据,即Java程序从外部获取数据。O是Input(输入)和Output(输出)的首字母缩写。源设备:Java程序使用Input(输入)获取数据的来源。

2023-06-01 22:24:18 31

原创 java异常处理

Exception的直接子类:编译时异常(要求程在编写程序阶段必须预先对这些异常进行处理,如果不处理编译器报错,因此得名编译时异常。在方法声明的位置上使用 throws 关键字抛出,调用这个方法,就抛给谁。编译时异常和运行时异常的区别,编译时异常一般发生的概率 比较高。运行时异常一般发生的概率 比较低。RuntimeException:运行时异常。异常在java中以类的形式存在,每一个异常类都可以创建异常对象。这个异常不会上报,自己处理。异常抛到此处为止,不再上抛了。异常就是程序执行过程中的不正常情况。

2023-05-23 22:00:52 23

原创 java装箱拆箱

Integer的valueOf(int i)方法可以将一个基本数据类型转化为对应的包装类型,即装箱方法。而Integer的intValue()方法则可以将一个包装类型转化为对应的基本数据类型,即拆箱方法。前者会根据具体数值决定是否生成新对象,还是返回缓存对象的引用,后者直接生成新对象。很明显,空指针异常,自动拆箱,确保包装类的引用不为空。/*基本数据类型与包装类型的对应关系如下。装箱是基本数据类型转换为引用数据类型。拆箱是引用数据类型转换为基本数据类型。自动装箱相对于装箱效率更高。

2023-05-14 23:01:55 25

原创 lambda表达式

lambda表达式可以在⼀定程度上简化接口的实现。但是,并不是所有的接口都可以使用lambda表达式来简洁实现的。lambda表达式毕竟只是⼀个匿名方法。当实现的接口中的方法过多或者多少的时候,lambda表达式都是不适用的。lambda表达式,只能实现函数式接口。函数式接口就是一个接口中有且只有一个必须实现的抽象方法。这是一个很简单的lambda的代码,基础语法。方法体里只有一句话可以省略{}。有且只有一个参数可以省略()。

2023-05-08 16:21:38 21

原创 java匿名内部类

匿名内部类是一个没有类名的特殊内部类,适合创建只需要使用一次的类,创建匿名内部类需要继承一个已有的父类或实现一个接口。因为匿名内部类无名,所以不存在构造方法,且不能重复使用。使用匿名内部类时,我们必须是继承一个类或者实现一个接口,但是两者不可兼得,同时也只能继承一个类或者实现一个接口。匿名内部类不能是抽象的,它必须要实现继承的类或者实现的接口的所有抽象方法。匿名内部类为局部内部类,所以局部内部类的所有限制同样对匿名内部类生效。匿名内部类没构造方法,不包含静态成员。匿名内部类中是不能定义构造函数的。

2023-05-08 15:35:21 73

原创 关于java接口

就像一个类一样,一个接口也能够拥有方法和属性,但是在接口中声明的方法默认是抽象的。接口指明了一个类必须要做什么和不能做什么,如果一个类实现了一个接口中要求的所有的方法,然而没有提供方法体而仅仅只有方法标识,那么这个类一定是一个抽象类。(必须记住:抽象方法只能存在于抽象类或者接口中,但抽象类中却能存在非抽象方法,即有方法体的方法。Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。

2023-04-24 09:22:51 18

原创 关于java多态

多态是面向对象程序设计的一个重要特征,指同一个实体具有多种形式,即同一个对象,在不同时刻,代表的对象不一样,指的是对象的多种形态。例如小猫小狗都是动物,他们都需要吃东西等相同特征,但他们爱吃的东西不一样,这就是重写。多态对象只能调用父类中定义子类中重写的功能,但不能调用子类特有功能,实现代码统一。

2023-04-16 22:13:55 30

原创 java继承

如果父类构造器没有参数,则在子类的构造器中不需要使用 super 关键字调用父类构造器,系统会自动调用父类的无参构造器;继承就是子类继承父类的特征和行为,使子类对象具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。如果父类的构造器带有参数,则必须在子类的构造器中显式地通过 super 关键字调用父类的构造器并配以适当的参数列表;如果要初始化父类中的字段,可以在子类的构造方法中通过关键字super调用父类的构造方法;子类可以声明与父类同名的方法,隐藏父类的方法。

2023-04-08 16:54:02 29

原创 Java的类

类是描述某一对象的统称,对象是这个类的一个实例而已。有类之后就能根据这个类来产生具体的对象。一类对象所具备的共同属性和行为(方法)都在类中定义。一、类和对象的基本概念\n在Java中一切皆对象,一切都围绕对象进行,找对象、建对象,用对象等。类:把具有相同属性和行为的一类对象抽象为类。类是抽象概念,如人类、犬类等,无法具体到每个实体。对象:某个类的一个实体,当有了对象后,这些属性便有了属性值,行为也就有了相应的意义。类名称 引用名称 = new 类名称();2.类的定义的成员变量都有默认值,

2023-04-05 15:31:32 54 1

原创 变量作用域

1)类级变量又称全局级变量或静态变量,需要使用static关键字修饰,类级变量在类定义后就已经存在,占用内存空间,可以通过类名访问,不需要实例化。2:块内部能够访问类级,实例级变量,如果块被包含在方法内部,他还可以访问方法级的变量。在Java中,变量作用域分为四个类别,类级,对象实例级,方法级,块级。因为Y定义在块内,却在块外引用了它,所以会出现错误,那么改一下。:方法内部处理能访问方法级的变量,还可以访问类级和实例级的变量。3)方法级变量就是在方法内部定义的变量,就是局部变量。

2023-03-19 14:51:38 60

原创 Java数据类型

基本数据类型转换(1)自动类型转换:容量小的数据类型自动转换为容量大的数据类型。容量从小到大:char,byte,short->int->long->float->double.char,byte,short三种类型间做运算自动转化为int.(2)强制转换类型:容量大的数据类型转换为容量小的数据类型需要强制转换。使用()

2023-03-18 18:39:39 31 1

原创 新手jdk下载与安装

3:选择环境变量,点击新建,变量名为JAVA_HOME,变量值为bin所在路径,确定。4:找到Path,编辑,新建输入%JAVA—HOME%bin,确定。6:输入javac,若是出现以下画面则成功。1:找到Oracle官网下载jdk。1: 打开jdk安装目录并复制路径。5:win+R,输入cmd,确定。选择Java8并点击下载链接。点击下一步,并安装到D盘。## 二 配置环境变量。2:进入高级系统设置。

2023-03-13 00:05:20 53 2

空空如也

空空如也

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

TA关注的人

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