自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 关于线程同步

​ 举个例子,现在你银行卡里有100元,然后一个线程去执行消费,一个线程去执行充值,如果不加以干预,则可能出现这样的情况:消费的线程读取到你的卡里有100元,然后由于线程切换保存了当前的状态就去执行充值线程,充值线程完成充值后你的卡里实际上应该是10000元,然后切换到消费进程,消费进程由于已经读取过卡里的钱所以会直接进行之后的操作,完成后计算得到卡里的钱应该改为50,这便会将你真实的卡里的钱改成50,这当然是我们不希望看到的!例如,多个线程同时访问同一个全局变量,如果都是读取操作,则不会出现问题。

2023-06-26 13:03:17 38 1

原创 java多线程

这里定义和线程相关的另一个术语 - 进程:一个进程包括由操作系统分配的内存空间,包含一个或多个线程。一个线程不能独立的存在,它必须是进程的一部分。一个进程一直运行,直到所有的非守护线程都结束运行后才能结束。Java 给多线程编程提供了内置的支持。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。多线程能满足程序员编写高效率的程序来达到充分利用 CPU 的目的。多线程是多任务的一种特别的形式,但多线程使用了更小的资源开销。

2023-06-14 20:56:09 31

原创 stream

短路(Short-circuiting)操作:指遇到某些符合条件的元素就可以得到最终结果。非短路(Unshort-circuiting)操作:指必须处理完所有元素才能得到最终结果。有状态(Stateful)操作:指该操作只有拿到所有元素之后才能继续下去。无状态(Stateless)操作:指元素的处理不受之前元素的影响。Stream的操作可以分为两大类:中间操作、终结操作。Stream操作分类。

2023-06-05 22:26:00 36

原创 java IO流

这种流是为了方便读取 普通文本文件 而存在的,这种流不能读取:图片、声音、视频等文件。纯文本文件,不单单是.txt文件,还包括 .java、.ini、.py。流是一个管道,这个是内存和硬盘之间的通道,用完之后一定要关闭,不然会耗费(占用)很多资源。这种流是万能的,什么类型的文件都可以读取。java.io.Closeable接口,都是可关闭的,都有 close() 方法。java.io.Flushable接口,都是可刷新的,都有 flush() 方法。java.io.FileInputStream(掌握)

2023-05-28 22:39:15 48

原创 关于异常处理

/1、如果异常发生了,则try代码块中发生异常位置后面的代码不会执行,直接进入到catch块。//1、当异常发生时,系统将异常封装成Exception对象e传递给catch。throws:将发生的异常抛出,交给调用者(方法)来处理,最顶级的处理者就是JVM。//2、如果没有异常,则顺序执行try的代码块,不会进入catch。//1、不管try代码块是否有异常发生,始终要执行finally。//3、注意,如果没有发生异常,catch代码块不执行。异常处理就是当异常发生时,对异常处理的方式。

2023-05-21 10:32:05 17

原创 java异常

譬如:调用null对象的实例方法、访问null对象的属性、计算null对象的长度、使用throw语句抛出null等等。当应用试图根据字符串形式的类名构造类,而在遍历CLASSPAH之后找不到对应名称的class文件时,抛出该异常。1 java.lang.ArrayIndexOutOfBoundsException 数组索引越界异常。当对数组的索引值为负数或大于等于数组大小时抛出。5 java.lang.ArrayStoreException 数组中包含不兼容的值抛出的异常。

2023-05-14 22:25:09 38

原创 JAVA接口

接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。

2023-05-07 21:46:55 52

原创 Java多态

图中超类Shape规定了两个实现多态的接口方法,computeArea()以及computeVolume()。增加新的子类不影响已存在类的多态性、继承性,以及其他特性的运行和操作。例如,在实现了圆锥、半圆锥以及半球体的多态基础上,很容易增添球体类的多态性。实现多态的技术称为:动态绑定(dynamic binding),是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。多态简化对应用软件的代码编写和修改过程,尤其在处理大量对象的运算和操作时,这个特点尤为突出和重要。

2023-04-23 21:33:03 31

原创 java多态

现实事物经常会体现出多种形态,如学生,学生是人的一种,则一个具体的同学张三既是学生也是人,即出现两种形态。Java作为面向对象的语言,同样可以描述一个事物的多种形态。如Student类继承了Person类,一个Student的对象便既是Student,又是Person。多态是同一个行为具有多个不同表现形式或形态的能力。多态就是同一个接口,使用不同的实例而执行不同操作。注意:在使用多态后的父类引用变量调用方法时,会调用子类重写后的方法。多态是继封装、继承之后,面向对象的第三大特性。5.多态的定义与使用格式。

2023-04-16 21:41:46 98

原创 java方法入栈

另外一种是方法内部发生异常,并且这个异常没有在方法体内得到处理,无论你是java虚拟机内部产生的异常,还是代码中使用了throw字节码指令产生的异常,只要本方法的异常表中,没有搜索到匹配的异常处理器,就会导致方法退出,这种退出方法的方式成为异常完成出口。方法出栈可能执行的操作:恢复上层方法的局部变量表和操作数栈,把返回值(如果有的话)压入调用者栈帧的操作数栈中,调整PC计数器的值以指向方法调用指令后面的一条指令等。方法执行就是栈帧入栈和出栈过程。栈帧包含四部分:局部变量表,操作数栈,动态链接,返回值。

2023-04-09 21:11:13 150

原创 Java类型转化

格式:(类型)数据,此时可能会有数据精度的丢失。如int kc=(int )66.66,结果kc=6。把一个数据范围大的强制转化为数据范围小的(高字节强制转化为低字节),需要手动添加,如 int dd='a',a是字符会转成a所对的ascll码值,所以dd是97。左值和右值类型不同且左值范围大于右值,或者是右值存在类型不同的数据进行算术运算。一个数据范围小的,转化为数据范围的大的(低字节可以自动向高字节转化)

2023-04-02 22:08:57 69

原创 面向对象-方法

比如队友残血正在逃跑,你过去把路给别人挡住了,导致他被杀掉。这就是坑队友每个英雄。。。。都可以坑所以可以为Hero这个类,设计一个方法: kengclass Hero{//英雄类//姓名double hp;//血量//能量(蓝量)//护甲//移速int kill;//杀敌数int die;//死亡数int assist;//助攻int money;//金钱//补刀数//攻速//杀人后说的话//被杀后说的话。

2023-03-26 20:58:48 40

原创 【无标题】java运算符

下面是Java语言支持的赋值运算符:

2023-03-19 21:59:55 54

原创 java基础

修饰符:public、private、不写、protected、static、final、abstract、synchronized ,volatile。数据类型:1)基本数据类型8种:byte、short、int、long、float、double、char、boolean;基础概念/语法:面向对象(继承、封装、多态)基础、包、类、接口、方法、对象、属性、第一个 Java 程序。1)算术运算符:+、-、*、/、%、++、--;4)赋值运算符:=、+=、-=、*=、/=;

2023-03-12 22:28:07 74 1

原创 如何用java写hello world

使用语言:java使用的编译器:idea。

2023-03-12 14:05:21 128

空空如也

空空如也

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

TA关注的人

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