Java基础
文章平均质量分 87
StriveCode
一个有梦想且努力的程序员
展开
-
ReentrantLock的使用场景
前言这些使用场景都是围绕着ReentrantLock的特性来的,便于理解和使用。一、如果发现该任务已经获得锁并在执行中则不再执行(有状态执行)因为lock锁是可以知道锁状态的。(1)用在定时任务时,如果任务执行时间可能超过下次计划执行时间,确保该有状态任务只有一个正在执行,忽略重复触发。(2)用在界面交互时点击执行较长时间请求操作时,防止多次点击导致后台重复执行(忽略重复触发)。以上两种情况多用于进行非重要任务防止重复执行,(如:清除无用临时文件,检查某些资源的可用性,数据备份操作等)比如:原创 2021-04-04 16:24:36 · 1574 阅读 · 1 评论 -
Java泛型
一、泛型基础说明泛型是JDK1.5的一种新特性,它的本质是参数化类型的应用,也就是说操作的数据类型被指定为一个参数,在用到的时候再指定具体的类型。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类,泛型接口和泛型方法。Java语言中的泛型,它只在程序源码中存在,在编译后的字节码文件中,就已经被替换为原来的原始类型(Raw Type,也称为裸类型)了,并且在相应的地方插入了强制转型代码,因此对于运行期的Java语言来说,ArrayList与ArrayList就是同一个类。所以说泛型技术实际上是Ja原创 2021-03-27 22:26:00 · 75 阅读 · 0 评论 -
死锁精讲
一、死锁的定义及原因1.定义多个进程因竞争资源形成的一种僵局(互相等待),若无外力作用,这些进程将无法向前推进。2.原因不可剥夺资源的竞争通常系统中拥有的不可剥夺资源,其数量不足以满足多个进程运行的需要,使得进程在 运行过程中,会因争夺资源而陷入僵局,如磁带机、打印机等。只有对不可剥夺资源的竞争 才可能产生死锁,对可剥夺资源的竞争是不会引起死锁的。进程推进顺序非法进程在运行过程中,请求和释放资源的顺序不当,也同样会导致死锁。例如,并发进程 P1、P2分别保持了资源R1、R2,而进程P1申请资原创 2021-03-18 20:16:41 · 92 阅读 · 3 评论 -
程序 进程 线程的区别、联系及通信方式
一、程序是什么?程序(Program)告诉计算机应如何完成一个计算任务,这里的计算可以是数学运算,比如解方程,也可以是符号运算,比如查找和替换文档中的某个单词。从根本上说,计算机是由数字电路组成的运算机器,只能对数字做运算,程序之所以能做符号运算,是因为符号在计算机内部也是用数字表示的。此外,程序还可以处理声音和图像,声音和图像在计算机内部必然也是用数字表示的,这些数字经过专门的硬件设备转换成人可以听到、看到的声音和图像。(做基本了解)二、进程1.概念进程是一个具有一定独立功能的程序在一个数据集上的原创 2021-03-18 12:30:11 · 235 阅读 · 0 评论 -
JDK1.8的新特性详解
前言现在开发用的最多的就是jdk1.8;因为它具备很多优点:1、速度更快由于底层结构和JVM的改变,使得JDK1.8的速度提高。2、代码更少(增加了新的语法 Lambda 表达式)增加新特性Lambda表达式的内部类改造,使得代码在书写上变得更加简洁3、强大的 Stream API增加了核心功能,使得代码调用方式变得更加简洁4、便于并行5、最大化减少空指针异常 Optional下面说一下它的新特性:一、Lambda 表达式Lambda表达式是jdk1.8里面的一个重要的更新,这意味着原创 2021-03-13 23:27:27 · 2806 阅读 · 2 评论 -
面向对象的理解及相关概念(封装,继承,多态)
前言面向对象程序设计(OOP)是当今主流的程序设计范性,它取代了结构化或过程式编程技术。一、面向对象是什么?1、定义:面向对象就是:把数据及对数据的操作方法放在一起,作为一个相互依存的整体——对象。对同类对象抽象出其共性,形成类。类中的大多数数据,只能用本类的方法进行处理。类通过一个简单的外部接口与外界发生关系,对象与对象之间通过消息进行通信。程序流程由用户在使用中决定。对象即为人对各种具体物体抽象后的一个概念,人们每天都要接触各种各样的对象,如手机就是一个对象。java中有一个概念就是万物皆可对原创 2021-03-13 10:43:34 · 3403 阅读 · 2 评论 -
String StringBuilder StringBuffer详解
一、String1、基础知识:String不是8种基本类型之一,String是一个对象,因为对象默认值为null,则String默认值也为空,同时也是一个特殊的对象,具备一些特性;(String s=new String()创建的是空串而不是null)。String 类代表字符串。Java 程序中的所有字符串字面值(如 “abc” )都作为此类的实例实现。字符串是常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为 String 对象是不可变的(被finall修饰),所以可以共享。2原创 2021-03-09 17:13:56 · 587 阅读 · 0 评论