自定义博客皮肤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)
  • 收藏
  • 关注

原创 线程池详解

线程池全面总结

2022-05-06 12:34:18 7925

原创 Semaphore原理&读写锁原理&Countdownlatch

Semaphore原理&读写锁原理&Countdownlatch文章目录Semaphore原理&读写锁原理&Countdownlatch一、Semaphore原理二、读写锁原理1.图解流程2.读入数据三、CountDownLatch四 CyclicBarrier一、Semaphore原理Semaphore 有点像一个停车场,permits 就好像停车位数量,当线程获得了 permits 就像是获得了停车位,然后停车场显示空余车位减一刚开始,permits(state)为

2022-04-13 16:44:50 407

原创 Java集合

一、Java集合概述1、集合整体框架单例集合双列集合2、Collection接口和常用方法二、List1、迭代器遍历迭代器(Iterator)  迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。  Java中的Iterator功能比较简单,并且只能单向移动:  (1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时

2022-03-26 11:03:02 896

原创 AQS原理

AQS原理文章目录AQS原理一、AQS简介1、AQS内部的方法属性2、获取同步的状态3.释放同步的状态二、reentrantLock源码分析1.非公平锁实现原理(1)加锁解锁流程(2)可重入原理2、公平锁实现原理一、AQS简介AQS是一个抽象队列同步器,是一个抽象类,他定义了一个模板,具体是由各个子类实现的,像ReentrantLock、ReentrantReadWriteLock、CountDownLatch、Semaphore这些常用的实现类都是基于AQS实现的。AQS的实现依赖于内部的同步队列,

2022-03-24 14:35:56 531

原创 13.IO流

一、file类1.文件、目录文件:内存中存放的数据爱计算机关机后就会消失,要长久地保存数据,就要使用硬盘光盘,U盘等设备,为了便于数据的管理和索引,引入了“文件”的概念,操作系统已文件为单位管理磁盘中的数据。文件夹(目录):成千上万个文件夹为了方便使用和索引,引入了树形目录的机制,可以吧文件放在不同的文件夹中。2.在Java程序中操纵文件/目录盘符上的文件目录将各种信息进行了封装,封装成了一个对象,对象属于File类的对象,就可以对这个对象获取各种信息,还可以对文件进行创建,删除。3.File类

2020-12-06 19:02:33 102

原创 12.枚举

一、枚举法特点:有限确定类的对象是有限的、确定的,这个类可以定义为枚举类自定义枚举类public class Season { //属性 private final String seasonName; private final String seasonDesc; //利用构造器对属性赋值 //构造器私有化,外界不能调用这个构造器,只能内部调用 private Season(String seasonName,String seasonDesc)

2020-12-06 19:02:04 111

原创 11.Junit、注解

一、junit使用1.测试和业务分为放在俩个包中起名:公司域名倒着写+Test测试都放在到哪都的包下测试类的名字:****Test测试类的定义:方法独立运行,不依托与main方法建议:名字:testAdd() testSub()2.测试方法定义以后,不能直接独立运行,必须要在方法前加入一个注解:@Test...

2020-12-06 19:01:14 142

原创 10.String\Builder类

一、math类1.直接使用,无需导包2.final修饰,不能被继承3.构造器私有化,不能创建math类的对象4math内部所有属性都被static修饰,调用:类名.方法名 System.out.println(Math.PI); System.out.println("随机数"+Math.random());//[0.0.,1.0) System.out.println("绝对数"+Math.abs(-12)); System.out.

2020-11-19 20:21:40 125

原创 9.日期、日历相关类

一.java.util.Datepublic static void main(String[] args) { Date d=new Date(); System.out.println(d);//Sun Nov 01 13:24:39 CST 2020 System.out.println(d.toString());//Sun Nov 01 13:24:39 CST 2020 System.out.println(d.toGMTStri

2020-11-19 20:21:18 71

原创 8.异常

一、引入 public static void main(String[] args) { //键盘录入俩个数,求商 Scanner sc=new Scanner(System.in); System.out.println("请录入第一个数"); int num1=sc.nextInt(); System.out.println("请录入第二个数"); int num2=sc.nextInt();

2020-11-19 20:20:54 127

原创 7.面向对象(三)抽象类、接口

一、Final关键字(1)修饰变量a.final修饰变量,变量值不可以改变,首字母大写 //final修饰一个变量,变量值不可以改变,这个变量就变成了一个字符常量,首字母大写 final int A=10; Dog d=new Dog();//final修饰引用数据类型,地址将不会在改变 //d=new Dog();//地址值不改变;b.对象的属性依旧可以改变//对象的属性依然可以改变 d.age=19; d.wei

2020-11-19 20:20:10 102

原创 6.面向对象(二)封装、继承、多态

一、封装1.概念将某些东西进行隐藏,通过相应的方式进行获取封装 (encapsulation)隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别。封装途径封装就是将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,以特定的访问权限来使用类的成员。public class Girl

2020-11-19 20:19:43 309 1

原创 5.面向对象(一)

一、面向对象和面向过程的区别二、类和对象对象:具体的事物,具体的实体,模板下的产品类:对对象向上抽取的公共部分,形成类,类是抽象的是一个模板三、面向对象的三个阶段1.面向对象分析对象抽取一个类类中含有:动词---->动态特性—>方法名词---->静态属性—>属性2.面向对象设计创建类:创建对象:3.面向对象编程三、局部变量与成员变量1.位置:局部变量:方法中定义的变量成员变量:类中方法外定义的变量2、作用范围局部变量:只在当前方法中只用成员变

2020-11-19 20:19:16 149

原创 4.数组常见问题分析及流程图

一、最值问题int arr[]={2,23,1,89,45,35}; int num=getMax(arr); System.out.println("数组最大的的数为:"+num); } public static int getMax(int arr[]){//括号里为形参 int maxNum=arr[0]; for(int i=0;i<arr.length;i++){ if(arr[i]>maxNum){ maxNum=arr[i]; return

2020-11-19 20:18:21 2340

原创 3.方法调用及重载

一、方法的定义调用1.方法的定义方法(Method)就是用一段代码完成特定功能的代码片段,类似于函数方法和方法是并列的关系,定义的方法不能写入main方法里2.方法声明格式修饰符 方法返回值类型 方法名 (形参列表){方法体;return 方法返回值;}(1)方法名:见名知意驼峰原则(2)形参列表:方法定义时需要的形式参数---->需要传入几个参数及参数的类型;;(3)实际参数:方法调用时传入的具体参数---->更具形式参数的需要传入的(4)方法体:具体的业务逻辑代码(

2020-11-19 20:16:57 242

原创 2.运算符

算数运算符1、除法运算符表示俩个数相乘2、取余运算符表示俩个数相乘的余数

2020-11-19 20:16:00 329

原创 1.数据类型

一、整数类型1、整数类型常量进制转换(1)进制表示 *二进制:O* *八进制:B* *十进制:D* *十六进制:H*(2)进制转换【1】二进制转十进制例:二进制:1101方法:从右至左 依次乘以20、21、22、23然后相加十进制:13【2】十进制转八进制例:十进制:22方法:22除以8,所得余数依次从上到下排列,最后从下向上写八进制:26【3】十六进制转八进制先将十六进制转为十进制再将七转为八进制2、整数类型变量(1)定义整数类型变量int num1 =

2020-11-19 20:13:07 225

空空如也

空空如也

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

TA关注的人

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