自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java中注解(Annotation)

文章目录一、注解 (Annotation) 概述二、常见的Annotation示例三、自定义 Annotation四、JDK 中的元注解五、利用反射获取注解信息六、JDK8中注解的新特性一、注解 (Annotation) 概述1)从 JDK 5.0 开始, Java 增加了对元数据(MetaData) 的支持, 也就是Annotation(注解)2)Annotation 其实就是代码里的特殊标记, 这些标记可以在编译, 类加载, 运行时被读取, 并执行相应的处理。通过使用 Annotation,

2022-04-24 11:59:45 547

原创 枚举类的使用

文章目录前言一、自定义枚举类二、使用enum定义枚举类1.Enum类的主要方法2.实现接口的枚举类前言1) 类的对象只有有限个,确定的。举例如下:星期:Monday(星期一)、…、Sunday(星期天)性别:Man(男)、Woman(女)季节:Spring(春节)…Winter(冬天)支付方式:Cash(现金)、WeChatPay(微信)、Alipay(支付宝)、BankCard(银行卡)、CreditCard(信用卡)就职状态:Busy、Free、Vocation、Dimission订单

2022-04-24 10:34:25 2321

原创 JDK8中新日期时间API

文章目录新日期时间API出现的背景一、新时间日期API二、瞬时:Instant三、格式化与解析日期或时间四、其它API五、参考:与传统日期处理的转换新日期时间API出现的背景如果我们可以跟别人说:“我们在1502643933071见面,别晚了!”那么就再简单不过了。但是我们希望时间与昼夜和四季有关,于是事情就变复杂了。JDK 1.0中包含了一个java.util.Date类,但是它的大多数方法已经在JDK 1.1引入Calendar类之后被弃用了。而Calendar并不比Date好多少。它们面临的问题

2022-04-22 20:03:52 292

原创 JDK8之前日期时间API

文章目录前言一、java.lang.System类二、java.util.Date类三、java.text.SimpleDateFormat类四、java.util.Calendar(日历)类前言一、java.lang.System类System类提供的public static long currentTimeMillis()用来返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差。此方法适于计算时间差。计算世界时间的主要标准有:UTC(Coordinated Univ

2022-04-22 19:35:37 238

原创 StringBuffer类与StringBuilder类

文章目录一、StringBuffer类二、StringBuffer类的常用方法三、StringBuilder类一、StringBuffer类1) java.lang.StringBuffer代表可变的字符序列,JDK1.0中声明,可以对字符串内容进行增删,此时不会产生新的对象。2) 很多方法与String相同。3) 作为参数传递时,方法内部可以改变值。1)StringBuffer类不同于String,其对象必须使用构造器生成。有三个构造器:① StringBuffer():初始容量为16的字

2022-04-22 18:55:32 128

原创 String类

文章目录一、String的特性二、String对象的创建三、String使用陷阱四、String与基本数据类型转换一、String的特性1) String类:代表字符串。Java 程序中的所有字符串字面值(如 “abc” )都作为此类的实例实现。2) String是一个final类,代表不可变的字符序列。3) 字符串是常量,用双引号引起来表示。它们的值在创建之后不能更改。4) String对象的字符内容是存储在一个字符数组value[]中的。public final class String

2022-04-22 18:39:14 89

原创 Java比较器

文章目录Java比较器一、方式一:自然排序:java.lang.Comparable二、方式二:定制排序:java.util.ComparatorJava比较器1)在Java中经常会涉及到对象数组的排序问题,那么就涉及到对象之间的比较问题。2)Java实现对象排序的方式有两种:自然排序:java.lang.Comparable定制排序:java.util.Comparator一、方式一:自然排序:java.lang.Comparable1)Comparable接口强行对实现它的每个类的对

2022-04-22 16:40:21 735

原创 String常用方法

文章目录一、常用方法一二、常用方法二三、常用方法三一、常用方法一1) int length():返回字符串的长度: return value.length2) char charAt(int index): 返回某索引处的字符return value[index]3) boolean isEmpty():判断是否是空字符串:return value.length == 04) String toLowerCase():使用默认语言环境,将 String 中的所有字符转换为小写5) String

2022-04-20 19:43:49 60

原创 同步和异步有何异同,在什么情况下分别使用他们?

同步和异步有何异同,在什么情况下分别使用他们?答:如果数据将在线程间共享。例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。...

2022-04-18 20:40:21 215

原创 sleep() 和 wait() 有什么区别?

sleep() 和 wait() 有什么区别?sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。...

2022-04-18 20:36:25 58

原创 线程的通信

文章目录一、线程通信方法1.wait方法2.notify()/notifyAll()二、代码示例三、经典例题:生产者/消费者问题一、线程通信方法1)wait() 与 notify() 和 notifyAll()①wait():令当前线程挂起并放弃CPU、同步资源并等待,使别的线程可访问并修改共享资源,而当前线程排队等候其他线程调用notify()或notifyAll()方法唤醒,唤醒后等待重新获得对监视器的所有权后才能继续执行。②notify():唤醒正在排队等待同步资源的线程中优先级最高者结束等

2022-04-18 19:35:10 531

原创 线程的同步

文章目录一.问题的提出二、问题的原因三、解决办法Synchronized的使用方法同步机制中的锁同步的范围释放锁的操作不会释放锁的操作一.问题的提出1)多个线程执行的不确定性引起执行结果的不稳定。2)多个线程对共享数据的访问,会造成操作的不完整性,会破坏数据。二、问题的原因当多条语句在操作同一个线程共享数据时,一个线程对多条语句只执行了一部分,还没有执行完,另一个线程参与进来执行。导致共享数据的错误。三、解决办法对多条操作共享数据的语句,只能让一个线程都执行完,在执行过程中,其他线程不可以

2022-04-18 18:12:20 54

转载 线程的生命周期

JDK中用Thread.State类定义了线程的几种状态要想实现多线程,必须在主线程中创建新的线程对象。Java语言使用Thread类及其子类的对象来表示线程,在它的一个完整的生命周期中通常要经历如下的五种状态:新建: 当一个Thread类或其子类的对象被声明并创建时,新生的线程对象处于新建状态就绪:处于新建状态的线程被start()后,将进入线程队列等待CPU时间片,此时它已具备了运行的条件,只是没分配到CPU资源运行:当就绪的线程被调度并获得CPU资源时,便进入运行状态, run()方法定义了.

2022-04-18 17:34:20 66

原创 工厂设计模式

文章目录接口的应用:工厂模式一、工厂模式的分类二、代码示例1.无工厂模式2.简单工厂模式3.工厂方法模式4.抽象工厂模式接口的应用:工厂模式工厂模式:实现了创建者与调用者的分离,即将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。其实设计模式和面向对象设计原则都是为了使得开发项目更加容易扩展和维护,解决方式就是一个“分工”。一、工厂模式的分类简单工厂模式:用来生产同一等级结构中的任意产品。(对于增加新的产品,需要修改已有代码)工厂方法模式:用来生产同一等级结构中的固定产品。(支持增加

2022-04-16 19:12:37 133

原创 Java中线程的创建与使用

文章目录前言一、Thread类1.构造器二、API创建线程的两种方式1.方式一:继承Thread类2.方式二:实现Runnable接口三、继承方式和实现方式的联系与区别1.区别2.实现方式的好处四、Thread类的有关方法1.常用方法2.其他方法五、线程的调度1.调度策略2.线程的优先级六、线程的调度前言1)Java语言的JVM允许程序运行多个线程,它通过java.lang.Thread类来体现。2)Thread类的特性①每个线程都是通过某个特定Thread对象的run()方法来完成操作的,经常

2022-04-16 17:59:25 258

原创 程序、进程与线程间关系

文章目录一、基本概念二、单核CPU与多核CPU的理解三、并行与并发四、多线程优点五、何时需要多线程一、基本概念程序(program)是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。进程(process)是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有它自身的产生、存在和消亡的过程。——生命周期1)如:运行中的QQ,运行中的MP3播放器2)程序是静态的,进程是动态的3)进程作为资源分配的基本单位,系统在运行时会为每个进程分配不同的内存区域线

2022-04-16 16:20:25 1984

原创 Java中的内部类

文章目录一、内部类是什么?二、内部类的分类1.成员内部类作为类的成员的角色:2.成员内部类作为类的角色:三、内部类程序示例四、局部内部类1.如何声明局部内部类2.如何使用局部内部类3.局部内部类的特点五、匿名内部类1.匿名内部类的定义2.格式3.匿名内部类的特点3.匿名内部类的代码示例总结提示:以下是本篇文章正文内容,下面案例可供参考一、内部类是什么?1)当一个事物的内部,还有一个部分需要一个完整的结构进行描述,而这个内部的完整的结构又只为外部事物提供服务,那么整个内部的完整结构最好使用内部类。2

2022-04-10 12:47:05 441

原创 设计模式:代理模式(Proxy)

文章目录一、应用场景二、分类二、代码示例一、应用场景1)安全代理:屏蔽对真实角色的直接访问。2)远程代理:通过代理类处理远程方法调用(RMI)3)延迟加载:先加载轻量级的代理对象,真正需要再加载真实对象比如你要开发一个大文档查看软件,大文档中有大的图片,有可能一个图片有100MB,在打开文件时,不可能将所有的图片都显示出来,这样就可以使用代理模式,当需要查看图片时,用proxy来进行大图片的打开。二、分类1)静态代理(静态定义代理类)2)动态代理(动态生成代理类)JDK自带的动态代理二

2022-04-10 10:14:27 146

原创 Java中的接口(interface)

文章目录一、接口(interface)是什么?二、接口的定义三、接口的特点四、接口程序示例1.省略关键字2.默认关键字3.示例三4.示例四5.示例五总结一、接口(interface)是什么?1)一方面,有时必须从几个类中派生出一个子类,继承它们所有的属性和方法。但是,Java不支持多重继承。有了接口,就可以得到多重继承的效果。2)另一方面,有时必须从几个类中抽取出一些共同的行为特征,而它们之间又没有is-a的关系,仅仅是具有相同的行为特征而已。例如:鼠标、键盘、打印机、扫描仪、摄像头、充电器、MP3

2022-04-10 09:42:37 7924

原创 设计模式:模板方法(TemplateMethod)

文章目录一、模板方法(TemplateMethod)是什么二、解决的问题二、代码示例总结一、模板方法(TemplateMethod)是什么模板方法设计模式是多态的应用,抽象类体现的就是一种模板模式的设计,抽象类作为多个子类的通用模板,子类在抽象类的基础上进行扩展、改造,但子类总体上会保留抽象类的行为方式二、解决的问题1)当功能内部一部分实现是确定的,一部分实现是不确定的。这时可以把不确定的部分暴露出去,让子类去实现。2)换句话说,在软件开发中实现一个算法时,整体步骤很固定、通用,这些步骤已

2022-04-10 09:11:46 83

原创 抽象类与抽象方法

文章目录一、抽象类是什么?二、如何使用三、抽象类举例总结一、抽象类是什么?随着继承层次中一个个新子类的定义,类变得越来越具体,而父类则更一般,更通用。类的设计应该保证父类和子类能够共享特征。有时将一个父类设计得非常抽象,以至于它没有具体的实例,这样的类叫做抽象类二、如何使用1)用abstract关键字来修饰一个类,这个类叫做抽象类。2)用abstract来修饰一个方法,该方法叫做抽象方法。抽象方法:只有方法的声明,没有方法的实现。以分号结束:比如:public abstract void

2022-04-09 20:32:46 5201

原创 Java中final关键字

文章目录一、final的定义二、final的使用方法1.final标记的类不能被继承2.final标记的方法不能被子类重写3.final标记的变量(成员变量或局部变量)即称为常量。名称大写,且只能被赋值一次三、final的代码示例1.final修饰类2.final修饰方法3.final修饰变量--常量4.关键字final应用举例一、final的定义在Java中声明类、变量和方法时,可使用关键字final来修饰,表示“最终的”。二、final的使用方法1.final标记的类不能被继承提高安全性,提

2022-04-09 20:05:44 360

原创 Java中代码块的使用

文章目录一、代码块(或初始化块)的作用?二、代码块(或初始化块)的分类:1.静态代码块2.非静态代码块三、程序示例1.静态代码块总结:程序中成员变量赋值的执行顺序一、代码块(或初始化块)的作用?对Java类或对象进行初始化二、代码块(或初始化块)的分类:一个类中代码块若有修饰符,则只能被static修饰,称为静态代码块(static block),没有使用static修饰的,为非静态代码块。static代码块通常用于初始化static的属性class Person { public sta

2022-04-09 17:46:25 377

原创 设计模式:单例(Singleton)模式

文章目录一、设计模式二、单例设计模式二、代码实现1.饿汉式2.懒汉式二、单例模式优点1.优点2.举例 java.lang.Runtime三、单例模式应用场景一、设计模式设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。设计模免去我们自己再思考和摸索。就像是经典的棋谱,不同的棋局,我们用不同的棋谱。”套路”二、单例设计模式所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。

2022-04-09 17:08:31 650

原创 Java中包装类的使用

文章目录一、包装类是什么?二、包装类的使用1.基本数据类型包装成包装类的实例 ---装箱2.获得包装类对象中包装的基本类型变量3.字符串转换成基本数据类型3.字符串转换成基本数据类型二、包装类的使用1.用法举例总结一、包装类是什么?针对八种基本数据类型定义相应的引用类型—包装类(封装类)有了类的特点,就可以调用类中的方法,Java才是真正的面向对象二、包装类的使用1.基本数据类型包装成包装类的实例 —装箱通过包装类的构造器实现:int i = 500; Integer t = new Int

2022-04-09 16:38:05 532

原创 ==操作符与equals方法的区别

文章目录一、==操作符二、equals方法三、重写equals方法的原则四、==和equals方法的区别1.代码示例一、==操作符基本类型比较值:只要两个变量的值相等,即为true。int a=5; if(a==6){…}引用类型比较引用(是否指向同一个对象):只有指向同一个对象时,==才返回true。Person p1=new Person();Person p2=new Person();if (p1==p2){…}用“==”进行比较时,符号两边的数据类型必须兼容(可自动转换的基

2022-04-09 11:49:20 294

原创 Java面向对象特征之多态性

文章目录一、多态性是什么?二、使用注意事项三、多态性应用举例三、虚拟方法调用总结一、多态性是什么?多态性,是面向对象中最重要的概念,在Java中的体现:对象的多态性:父类的引用指向子类的对象。可以直接应用在抽象类和接口上二、使用注意事项Java引用变量有两个类型:编译时类型和运行时类型。编译时类型由声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定。简称:编译时,看左边;运行时,看右边。若编译时类型和运行时类型不一致,就出现了对象的多态性(Polymorphism)多态情况

2022-04-09 10:54:53 371

原创 Java中关键字super

文章目录一、super的作用?二、使用步骤1.super关键字示例2.调用父类的构造器三、this和super区别一、super的作用?在Java类中使用super来调用父类中的指定操作:1)super可用于访问父类中定义的属性2)super可用于调用父类中定义的成员方法3)super可用于在子类构造器中调用父类的构造器注意:1)尤其当子父类出现同名成员时,可以用super表明调用的是父类中的成员2)super的追溯不仅限于直接父类3)super和this的用法相像,this代表本类对象

2022-04-09 10:08:55 229

原创 Java中四种访问权限修饰符

四种访问权限修饰符Java权限修饰符public、protected、 (缺省)、 private置于类的成员定义前,用来限定对象对该类成员的访问权限。对于class的权限修饰只可以用public和default(缺省)。1)public类可以在任意地方被访问。2)default类只可以被同一个包内部的类访问。...

2022-04-09 09:52:09 417

原创 Java中面向对象中的继承性

文章目录一、为什么要有继承性?二、继承的作用三、继承的注意事项一、为什么要有继承性?多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。此处的多个类称为子类(派生类),单独的这个类称为父类(基类或超类)。可以理解为:“子类 is a 父类”类继承语法规则:class Subclass extends SuperClass{ }二、继承的作用1)继承的出现减少了代码冗余,提高了代码的复用性。2)继承的出现,更有利于功能的扩展。

2022-04-09 09:31:11 166

原创 Java中方法的重写与重载

文章目录前言一、重写的定义二、重写的应用三、重写的规定1.方法的声明2.具体规定前言在Java编程中,方法的重载与重写通过作为面试时的高频考点,并且在实际应用中非常常见,本文章简要介绍方法的重写与重载具体注意事项。一、重写的定义重写:子类继承父类以后,可以对父类中同名同参数的方法,进行覆盖操作。二、重写的应用应用:重写以后,当创建子类对象以后,通过子类对象调用子父类中的同名同参数的方法时,实际执行的是子类重写父类的方法。三、重写的规定1.方法的声明方法的声明: 权限修饰符 返回值类型

2022-04-02 20:31:40 152

原创 Java编程入门:使用Eclipse快捷键

文章目录一、使用Eclipse编写Java快捷键二、代码示例总结一、使用Eclipse编写Java快捷键Eclipse中的快捷键:1.补全代码的声明:alt + /2.快速修复: ctrl + 13.批量导包:ctrl + shift + o4.使用单行注释:ctrl + /5.使用多行注释: ctrl + shift + /6.取消多行注释:ctrl + shift + \7.复制指定行的代码:ctrl + alt + down 或 ctrl + alt + up8.删除指定行的代

2022-03-30 21:58:39 1995

空空如也

空空如也

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

TA关注的人

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