多态 多态 多态允许不同类的对象对同一消息做出不同的响应,即同一操作作用于不同的对象上会产生不同的行为。 多态通过抽象和接口来实现,它提高了代码的灵活性和可扩展性。 多态使得代码更具有通用性和可复用性,因为一个方法可以接受多种不同类型的参数。 概念:是指同一行为,具有多个不同表现形式。 代码当中体现多态性,其实就是一句话:父类引用指向子类对象。 封装继承多态的关系 封装是指封装成抽象的类,并且对于可 2023-05-13 Java > Java基础 #Java
封装 封装 封装是将数据(变量)和操作(方法或函数)捆绑在一起的机制,使得对象的内部细节对外部是隐藏的,只有通过公共接口才能访问。 封装提供了访问控制,可以限制对对象内部数据的直接访问,从而保护数据的完整性和安全性。 通过封装,可以隐藏实现的细节,使得代码更易于理解和维护,并且提高了代码的可重用性。 类:类中定义对象的属性数据(成员变量),方法(成员方法) 类第一次使用时会加载到方法区 Java 内存 2023-05-13 Java > Java基础 #Java
数据类型,包装类 数据类型常量12345678910//输出整数常量System.out.println(123);//输出小数常量System.out.println(0.125);//输出字符常量System.out.println('A');//输出布尔常量System.out.println(true);//输出字符串常量System.out.println("你好Java&q 2023-05-13 Java > Java基础 #Java
方法 方法调用方法:就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能。 当我们需要这个功能的时候,就可以去调用。这样即实现了代码的复用性,也解决了代码冗余的现象。 定义格式: 1234修饰符 返回值类型 方法名 (参数列表){ 代码... return ;} 定义格式解释: 修饰符:目前固定写法 public static 。 返回值类型:目前固定写法 void , 2023-05-13 Java > Java基础 #Java
继承 继承 继承允许一个类(子类)基于另一个类(父类)来构建,子类可以继承父类的属性和方法。 继承促进了代码的重用,因为子类可以直接使用父类已经定义的方法和属性,而不需要重新实现。 通过继承,可以建立类之间的层次关系,使得代码结构更清晰,易于扩展和维护。 定义: 就是子类继承父类的属性和行为,使得子类对象具有与父类相同的属性、相同的行为。 子类可以直接访问父类中的非私有的属性和行为。 Java只支持 2023-05-13 Java > Java基础 #Java
Atomic原子类 Atomic原子类Atomic 翻译成中文是原子的意思。在化学上,我们知道原子是构成一般物质的最小单位,在化学反应中是不可分割的。在我们这里 Atomic 是指一个操作是不可中断的。即使是在多个线程一起执行的时候,一个操作一旦开始,就不会被其他线程干扰。所以,所谓原子类说简单点就是具有原子/原子操作特征的类。 原子类分类根据操作的数据类型,可以将 JUC 包中的原子类分为 4 类 基本类 2023-05-13 Java > Java多并发 #Java
ThreadLocal ThreadLocalThreadLocal 是 Java 中的一个类,用于创建线程局部变量。每个线程都有自己的变量副本,互不干扰。ThreadLocal 可以用于在多线程环境下保持线程间独立的数据,常见的使用场景包括: 线程安全的数据共享: ThreadLocal 可以用于在多线程环境下安全地共享数据,每个线程拥有自己的数据副本,互不影响。 上下文传递: 可以使用 ThreadLocal 传递 2023-05-13 Java > Java多并发 #Java
Future FutureFuture 类是异步思想的典型运用,主要用在一些需要执行耗时任务的场景,避免程序一直原地等待耗时任务执行完成,执行效率太低。具体来说是这样的:当我们执行某一耗时的任务时,可以将这个耗时任务交给一个子线程去异步执行,同时我们可以干点其他事情,不用傻傻等待耗时任务执行完成。等我们的事情干完后,我们再通过 Future 类获取到耗时任务的执行结果。这样一来,程序的执行效率就明显提高了。 这 2023-05-13 Java > Java多并发 #Java
多线程 多线程Java 线程和操作系统的线程有啥区别?JDK 1.2 之前,Java 线程是基于绿色线程(Green Threads)实现的,这是一种用户级线程(用户线程),也就是说 JVM 自己模拟了多线程的运行,而不依赖于操作系统。由于绿色线程和原生线程比起来在使用时有一些限制(比如绿色线程不能直接使用操作系统提供的功能如异步 I/O、只能在一个内核线程上运行无法利用多核),在 JDK 1. 2023-05-13 Java > Java多并发 #Java
锁 锁volatile 关键字在 Java 中,volatile 关键字可以保证变量的可见性,如果我们将变量声明为 volatile ,这就指示 JVM,这个变量是共享且不稳定的,每次使用它都到主存中进行读取。 如何保证内存可见性的? Java的内存模型中,每个线程会有一个私有本地内存的抽象概念,正常情况下线程操作普通共享变量时都会在本地内存修改和读取,那就导致别的线程感知不到,出现可见性问题。而当一 2023-05-13 Java > Java多并发 #Java