自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 关键词final的用法

上面的例子中,先来看main()方法中的几个final修饰的数据,在给value1赋初始值之后,就无法再对value1的值进行修改,final关键字起到了常量的作用。value3是一个引用变量,当final修饰引用变量时,只是限定了引用变量的引用不可改变,即不能将value3再次引用另一个Value对象,但是引用的对象的值是可以改变的。我们知道引用变量的值实际上是它所引用的对象的地址,也就是说该地址的值是不可改变的,从而说明为什么引用变量不可以改变引用对象。使用final关键字修饰的类是无法被继承的。

2023-06-18 22:45:10 63

原创 线程同步与互斥

但当两个线程同时访问这段代时,如果某种商品只有1件库存了,则第一个线程将该商品卖出,第二个线程也已经执行完判断是否有库存的操作,于是也出售,这样商品就重复出售了,这就是丢失修改的情况。synchronized 方法,则这个线程必须等待,直到已启动线程执行完毕,再释放这个synchronized 方法。当同步代码块或同步方法执行完毕后,同步对象上的锁就被解除在锁池等待的线程就有机会获取该对象的锁。注意:锁不属于线程,而是属于对象,一个线程可以拥有多个对象的锁,而只有同一个对象的锁之间才会存在互斥。

2023-06-16 22:56:32 53

原创 关键词super的使用

由于子类不能继承父类的构造方法,因此,要显式调用父类的构造方法,必须在子类的构造方法体的第一行使用super()方法。②如果父类中只有有参数构造方法,那么子类继承父类时会报错,因为子类的构造方法在默认调用父类无参数构造方法时,找不到父类的无参数构造方法。③使用this()的方式在构造方法的第一行表示调用本类的构造方法,使用super()的方式在构造方法的第一行表示调用父类的构造方法。①子类继承父类,子类的构造方法的第一行,系统会默认加上super(),在调用子类的构造方法时,先调用父类的无参数构造方法。

2023-06-15 21:16:03 137 1

原创 线程类Thread

每个线程都会有一个线程组,如果没指定一个线程组,那么该线程将会被加入到父线程(创建该线程的线程)所在的线程组。线程组表示一个线程的集合。新进人可运行池的线程如果优先级比池中任意线程及当前运行的线程的优先级更高,则发生抢占,被选择运行,被抢占线程返回到nummable 状态:当运行池中线程具有相同优先级,或者当前运行线程与运行池中线程具有。线程,则这个被中断的线程继续。如果优先级高的线程进入就绪状态,它会抢占正在执行的优先级低的线程的CPU,优先级高的线程会进入运行状态,优先级低的线程会回到就绪状态。

2023-06-15 00:17:03 49 1

原创 多线程2.用实现Runnable接口对象构建Thread

因为Runnable接口和Thread类之间没有继承关系,所以不能直接赋值,为了使run()方法中的代码在单独的线程中运行,还需要一个Thread的实例实现对Runnable对象的包装。为此,线程中需要包括两部分内容:Thread提供线程的支持;构造线程的另外一种方法是实现Runnable接口。通常一个类已经扩展了Frame或Applet,由于Java语言的单继承性,这样就不能再继承Thread类。①将需要实现多线程的类声明为实现Runnable接口的类,实现run()方法,并将线程体放在该方法中。

2023-06-13 20:51:30 79 1

原创 多线程1.构建Thread子类

Java中实现线程的方法有两种,第一种是生成Thread类的子类,并定义该子类自己的run()方法,县城要完成的任务在run()方法中实现。这种方法比较简单,但是如果定义的类已经是其他类的子类,而Java不允许多重继承,我们可以采取第二种方法实现Runnable接口,通过实现Runnable接口中的Run()方法来完成线程的任务。Java的多线程是一个类,这个类可以对它的线程进行控制,可以确定哪个线程的优先提高,哪个线程应该执行等等。多线程程序是指一个程序中包含多个执行流,它是实现并发机制的有效手段。

2023-06-12 14:34:46 89

原创 构造方法及其重载

当使用new运算符实例化一个对象时,系统为对象创建内存区域,并自动调用构造方法初始化成员变量。(7).一个类中可以定义多个构造方法,但各构造方法的参数表不能相同,即各构造方法的参数个数不同或参数类型不同。(6).每个类都有构造方法。类中有一种特殊的成员方法,其方法名与类名相同,称为构造方法。(3).在创建一个对象的时候,至少要调用一个构造方法。(5).构造方法的主要作用是对对象初始化。(4).构造方法不能显式的直接调用。(1).构造方法名与类名相同。(2).构造方法没有返回值。2.构造方法和对象的初始化。

2023-06-10 11:28:27 31

原创 序列化和反序列化

如果需要让某个对象支持序列化机制,则必须让对象所属的类及其属性是可序列化的。为了要某个类似可序化的,该类可以通过实现Serializable接口,接口内无具体方法,只需要声明实现该接口,该接口只具有标识性的意义,我代表该对象是可以序列化的。序列化指把内存中的Java对象转换成与平台无关的二进制字节序列,以便永久保存在性盘上或通过网络进行传输,是Java提供的一种将对象写人到输出流并在之后将其读回的机制。把Java对象转化为字节序列的过程称为对象的序列化,把字节序列恢复为Java对象的过程称为反序列化。

2023-06-08 12:35:38 36

原创 ArrayList

ArrayList继承自AbstractList,实现了List。它是一个可以处理变长数组的类型,它是一个泛型类,可以存放任意类型的对象。顾名思义,ArrayList是一个数组列表,因此其内部是使用一个数组来存放对象的。ArrayList类常用的方法有add(),claer(),get(),indexOf(),sort(),toArray(),toString()等。注意:在插入元素,修改元素,删除元素时,位置应该从零算起。1.ArrayList遍历。

2023-05-30 21:07:04 54 1

原创 FileInputSteam与FileOutputSteam

FileInputSteam与FileOutputSteam分别继承自InputSteam和OutputSteam,以字节为单位广泛用与文件操作的节点流。FileInputSteam类用于从文件读取数据,FileOutputSteam类用于将数据写入文件。3.关闭流时两个流不能在同一个try里面,这样会导致如果第一个在关闭时出现了异常会导致第二个关闭不了。2.关闭流时要注意关闭顺序,先打开的后关闭,后打开的先关闭。1.在输入文件文件位置时要输入文件位置加文件名。该文件不仅可以复制文件还可以复制图片等。

2023-05-29 16:30:08 51 1

原创 简易购买商品系统

System.out.println("1.香蕉(3元/斤) 2.西瓜(3元/斤) 3.苹果(4元/斤)");System.out.println("4.梨(3元/斤) 5.橘子(2元/斤) 6.李子(5元/斤)");else{System.out.println("你要支付的费用是:"+s+"元");System.out.println("你要支付的费用是:"+s+"元");System.out.println("请输入你要购买的商品的序号:");System.out.println("欢迎光临!

2023-03-26 21:37:49 92

原创 JDK的安装与配置

在Windows系统中测试JDK环境需要选择“开始/运行”命令(没有“运行”命令可以按Windows+R组合键),然后在“运行”对话框中输入“cmd”并单击“确定”按钮启动控制台。同样是在“系统变量”中,我们可以看到Path变量已经存在,那么我们只需要点击“编辑”,进入Path变量编辑即可,变量值设置为“%JAVA_HOME%\bin;1.在“计算机”图标上单击鼠标右键,在弹出的快捷菜单中选择“属性”命令,在弹出的“属性”对话框左侧单击“高级系统设置”超链接,将打开如下图所示的“系统属性”对话框。

2023-03-12 22:08:07 113 1

空空如也

空空如也

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

TA关注的人

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