自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (4)
  • 收藏
  • 关注

原创 对AQS的简单理解

对于AQS的理解AQS全称AbstractQueueSyvchronizer 抽象队列同步器,内有volatile修饰的int型state变量来记录锁的状态,还有一个变量记录占有锁的线程,以及FIFO的队列。是并发的核心组件。比如JUC.Locks.ReentrantLock的加锁与释放锁就是基于AQS实现的。ReetrantLock默认是非公平的当有一线程到达,尝试CAS获取锁,获取成功则将state由0置为1,并记录当前线程占有锁。若失败,则判断占有锁的是否是当前线程,如果是则将state+1

2021-09-21 19:49:18 98

原创 2021-08-19

关于多线程 为什么调用start()方法会自动执行run()方法,而不是直接调用run()方法new一个Thread,线程进入新建状态,调用start()方法后,会启动一个线程并进入就绪状态,当分配到时间片后就可以运行了,start会执行线程的相应准备工作,然后执行run方法,是真正的多线程。而直接调用run()方法的话,会被当做main线程下的一个普通方法,不会在某一个线程内执行它,并不是多线程工作。...

2021-08-19 09:47:39 76

原创 2021-08-18

java 堆(Heap)java中堆是被线程共享的一块区域。用来存放 数组与对象。是垃圾回收GC的重要区域。因为现代VM采用分代收集算法,因此从垃圾收集的角度,堆中分为新生代与老年代。新生代又分为Eden区 from survivor区 to survivor区...

2021-08-18 21:12:51 85

原创 2021-08-18

抽象类与接口抽象类可以存在普通方法可以有各种类型的变量抽象类只能继承一个抽象类是对类本质的抽象,表达的是is a的关系,比如猫是动物接口jdk8及之后可以存在public方法以及public static方法变量默认为public static final 修饰接口可以实现多个接口的目的是对类的行为进行约束,规定了类必须做什么。可以强制不同的类拥有相同的行为。只约束了行为的有无,而不管行为的实现。是like a的关系,比如可以像鸟一样飞。...

2021-08-18 15:16:27 64

原创 2021-08-18

static 关键字总结用于类方法与类成员变量被static修饰的方法不单属于某个对象,而是被类中的所有对象公有,可以通过类名.方法或对象.方法调用。被static声明的成员变量属于静态变量,在jvm中的方法区存放。可以通过类名.变量或对象.变量调用用于静态代码块static修饰的代码块定义在类的方法外,先于非静态代码块执行,执行顺序:静态代码块->实例代码块->构造方法。注意:不管创建多少对象,静态代码块只加载一次。静态内部类static只能用于内部类,静态内部类实例的创建不依

2021-08-18 07:55:49 77

原创 2021-07-29

关于this与super关键字this可用于实例方法,构造方法在实例方法中使用this关键字调用其他的实例方法或类方法以及属性。public class employee{ Employees[] employees; void manageEmployees() { int totalEmp = this.employees.length; System.out.println("Total employees: " + totalEmp);

2021-08-17 08:13:30 62

原创 Java Scanner对象

next()方法 会去除空格,所以不能作为内部有空格的字符串的输入。读取到有效字符时才可以结束输入 nextLine() 可以输入带空格的字符串 以Enter作为结束。 jin'liang 用完Scanner记得scanner.close();关闭输入。 hasNexInt(); 判断是否输入整数 nextInt 输入整数 hasNextFloat();同理 ...

2021-07-30 16:59:57 96

原创 Java 命名规范

所有变量,方法,类名:见名知意 类成员变量:首字母小写与驼峰原则 局部变量:首字母小写与驼峰原则 常量:大写字母和下划线:MAX_VALUE 类名:首字母大写和驼峰原则 方法名:首字母小写和驼峰原则 ...

2021-07-30 16:58:45 54

原创 Java 小技巧

JDK7的新特性,数字之间可以用下划线表示int money=10_0000_0000; //10亿

2021-07-30 16:58:11 85

原创 Java 基本数据类型转换

注意点 不能对布尔值进行转换 不能把对象类型转换为不相干的类型 把高容量转换到低容量时,强制转换 强制转换时可能存在内存溢出或者是精度问题 精度问题 int money=10_0000_0000;int years=20;int total=money*years;//-147836480,计算的时候溢出了int total=((long)money)*years;//先把任意一个数转换为long就可以了 ...

2021-07-30 16:57:06 70

原创 位、字节和字符

位 (bit):是计算机内部存储的最小单位,11001010是一个八位二级制书 字节(byte): 是计算机数据处理的基本单位,习惯用大写B来表示 字符: 是指计算机中使用的字母,数字和符号。

2021-07-30 16:55:18 214

转载 Java中this和super的用法总结

private static String test() { String str = "start"; try { return str = "try ruturn"; //这里定义为正常return } catch (Exception e) { return str = "catch ruturn"; //这里定义为异常return }finally { return str = "finally ruturn"; //这里定义为最终return } return ".

2021-07-30 16:26:26 148 2

原创 StringBuffer.capacity(); 获取容量池

StringBuffer.capacity(); 获取容量池 容量池默认大小16,如果容量池大小不够会进行扩容, newCapacity=value.length*2+2; //将旧的容量 * 2 + 2 如果新的还不够,则用现有的容量,如果大于则用新扩容的容量。 ...

2021-07-30 16:23:03 183 1

原创 线程池的概念

线程池就是一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创建线程对象的操作,无需反复创建线程而消耗过多资源。

2021-07-30 11:50:27 50

原创 子类实例化过程

首先:父类无参构造方法子类构造方法

2021-07-29 14:03:44 55

原创 关于Java抽象类与接口的区别

首先要明白接口不是类而是抽象方法的集合区别抽象类中可以写普通的方法 对于接口:JDK1.8以后可以写static以及default的方法 抽象类中存在构造器,而接口不是类,所以不存在构造器 抽象类被继承extends 接口被实现implement,接口可以同时被实现多个 抽象类不能被new出来,接口可以...

2021-07-29 07:24:26 64

原创 二分查找,滑动窗口,HashSet

二分查找二分查找应设置左右区间,以及mid=left+(right-left)/2.当目标值大于mid时,将left设置为mid+1。反之,right=mid-1。滑动窗口滑动窗口适用于一些求合适值的数组类题目,一般设置为左闭右开区间。开始时i=j,窗口大小为0。HashSet哈希表是key-value形式的。key值不可以重复,value值可以重复。当求一个数重复出现时,哈希表比较适用。...

2021-07-20 21:23:44 83

JavaArrayList实现学生档案管理系统

* 1-13-1学生档案管理 1.通过system. out提示信息,采田scanner录入学生信息,保存至集合。 2.查看全部学生信息。 3.按学生姓名查询该学生信息。 4.创建学生类,记录保存至集合。 5添加专业,按专业查询学生信息

2021-07-29

JavaTreeSet实现摊位销售管理系统

* 摊位销售管理 1.有一个水果销售摊位,销售3种水果,重量和单价各不相同,实现多次的销售业务 2.销售时如果为顾客为女性销售金额打8折 3.显示当前各种水果的库存数 4.查询全部销售记录信息 5.加入其它水果品种 6.添加进货单 7.查询指定日期间隔的销售纯利润 8.每日17::00之后为5折特价 9.按销售数量排序显示前三名 10.示当前各种水果的库存数,成本单价,单价,累计销售数量/金额,累计进货数量/金额

2021-07-29

JavaTreeSet停车场管理系统

停车场管理 1.一个停车场,内有多个车位,可停入各种车辆 2.只有具备车牌并高度低于3米的车辆可停入 3.停入时开始计费,按每小时2元 4.查询全部停车位的状态 5.按车牌及停车位号取车,取车时收停车费 6.查询统计全部的收费记录

2021-07-29

javaTreeSet实现图书管理系统

图书馆管理 1.描述一个图书馆 2.进书,借书卡办理 3.借书,还书 4.查询某书的借出记录 5.查询借书卡的借出记录 6.显示图书列表(按借出次数排序)

2021-07-29

空空如也

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

TA关注的人

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