大家好,又见面了,我是你们的朋友全栈君。...我们先从定义上区分重载和重写: 1、重载(overload)是发生在同个类中的具有相同的方法名,不同的参数类型(不同的参数类型包括:参数的个数和参数的类型和顺序不同),返回值相同或者不同的一种多态的体现...例如:下类Animal中的getFun方法构成了方法的重载 public class Animal{ public void getFun(){ System.out.println(“####...age,String name){ System.out.println(“######name age#######”); return “”; } } 2、重写(override)发生在子父类中,...A的方法doSomething public class A{ public String doSomething(Stirng name){ System.out.println(“我是父类的方法
大家好,又见面了,我是全栈君 引用的概念 如果一个变量的类型是 类类型,而非基本类型,那么该变量又叫做引用。其实GC时主要看这个对象是否有引用指向该对象。
车是汽车的基类,超类,或说父类。到底什么是继承?马克-to-win,子类把父类的方法和属性当成自己的一样随便用的这种现象叫继承。...继承是一种“是”的关系,比如汽车是一种车,奔驰是一种汽车。
抽象Abstract:【新手可忽略不影响继续学习】 很多java 的书中都谈到了抽象abstract的概念,到底什么是抽象?...上例中我们只抽象出了title属性和close方法就可以满足用户需求。...【新手可忽略不影响继续学习】参见以上例子,width就是对象的属性,close就是对象的方法,简单来讲,所有对象的方法都一样,就写在类中,只写一份。对象属性的值,每个对象和每个对象都不一样。
马克-to-win:很多老司机还搞不清什么是I什么是O。很简单,我有个土办法。以内存为单位,数据进内存叫In,出内存叫Out。读文件,是数据从硬盘进到内存,所以用in类型流来处理。
Compare-and-Swap Java 中的无锁编程本质上就是一个 CAS(compare-and-swap)机制。...这个特性是由 CPU 硬件通过相应的指令所保证的,处理器可以通过总线锁,或者是缓存锁来实现原子操作。所以说原子操作在修改一个内存对象时,是不会被干扰的,所以不会有并发的问题。...Java 中的无锁类 Java.util.concurrent 中提供了一些实现的原子操作的类,包括:AtomicBoolean、AtomicInteger、AtomicIntegerArray、AtomicLong...CAS 的 ABA 问题 虽然 CAS 操作是原子性的,但是 CAS 操作时,需要提供某时刻内存中的数据用于比较,这个操作和 CAS 操作之间并不是原子的,有一段时间差,这中间可能导致 ABA 问题,即数据从...线程 1 进行 CAS 操作,发现位置 V 中仍然是 A,操作成功。 尽管线程 1 的 CAS 操作成功,但不代表这个过程没有问题——对于线程 1 ,线程 2 的修改已经丢失。
不过 Java 本身就是为了屏蔽底层的差异,对于一般的开发而言也很少会有这样的需求。...当然这需要有一定的 C/C++ 基础,对内存分配有一定的了解,这也是为什么我一直认为 C/C++ 开发者转行做 Java 会有优势的原因。...CAS 有三个操作数:内存值 V、旧的预期值 A、要修改的值 B,当且仅当预期值 A 和内存值 V 相同时,将内存值修改为 B 并返回 true,否则什么都不做并返回 false。...2、valueOffset 表示的是变量值在内存中的偏移地址,因为 Unsafe 就是根据内存偏移地址获取数据的原值的。 3、value 是用 volatile 修饰的,这是非常关键的。...发现当前获取的 value 是 4,内存中的 value 也是 4,说明线程 2 对于 value 的修改已经完毕并且线程 1 可以尝试去修改它。
大家好,又见面了,我是全栈君。...Java程序中的各个Java类属于同一类事物,描写叙述这类事物的Java类名就是Class. public class ReflectTest { public static void main(String...true,我们能够看到三种方式获取到的Class类的实例是同样的。...类中的各种成分映射成对应的Java类。...比如,一个Java类用一个Class类的对象来表示,一个类中的组成部分:成员变量,方法,构造方法,包等等信息也用一个个的Java类来表示,就像汽车是一个类。汽车中的发动机,变速箱也是一个个的类。
所谓魔法值,是指在代码中直接出现的数值,只有在这个数值记述的那部分代码中才能明确了解其含义。...总结 魔法值的问题对于代码逻辑来说,并不是什么要命的事情,即使不修改也基本不影响代码的正常运行,我以前没有安装阿里代码检查规范时,一样这么使用,也没出现过啥问题。好吧,应该说但是了。
大家好,又见面了,我是你们的朋友全栈君。 构造函数是面向对象中的一员,构造函数可以叫做构造器,它的函数名与类名相同,不用定义返回值类型,也没有具体的返回值。...构造函数是在构建创造时对象时调用函数,作用是可以给对象进行初始化,创建对象都必须要通过构造函数初始化。一个类中如果没有定义过构造函数,那么该类会有一个默认的空参数构造函数。...那么我们在java里面怎么在对象一旦创建就赋值呢? 1.构造方法的作用: 构造方法作用:对对象进行初始化。 如图: 2.构造函数与普通函数的区别: (1)一般函数是用于定义对象应该具备的功能。...3.构造函数要注意的细节: (1)当类中没有定义构造函数时,系统会指定给该类加上一个空参数的构造函数。这个是类中默认的构造函数。当类中如果自定义了构造函数,这时默认的构造函数就没有了。...2:与构造函数区别 (1)构造代码块和构造函数的区别,构造代码块是给所有对象进行统一初始化, 构造函数给对应的对象初始化。 (2)构造代码块的作用:它的作用就是将所有构造方法中公共的信息进行抽取。
(一)什么是蜜罐? 蜜罐这个词,最早是被猎人使用的,对,就是进山打猎的人。猎人把罐子装上蜂蜜,然后放个陷阱,专门用来捕捉喜欢甜食的熊。后来在网络安全领域里,人们就把欺骗攻击者的诱饵称为“蜜罐”。...而且,蜜罐里的业务并不是真实的,攻击者将在蜜罐中白忙活一场,什么都得不到。 (二)什么是蜜饵? 蜜饵一般是一个文件,工作原理和蜜罐类似,也是诱使攻击者打开或下载。...(三)什么是蜜标?...这种带有URL地址的蜜饵就是蜜标。 (四)什么是蜜网(Honeynet)? 我们在使用蜜罐的时候,往往会在一个网络里放很多罐,以增加攻击者踩中蜜罐几率。...但在蜜场中,攻击者踩中的是虚拟的蜜罐,经过重定向以后,由真实的蜜罐进行响应,再把响应行为传到虚拟蜜罐。 这样做的好处显而易见。
Java异常处理 1....了解异常: 异常 继承/实现 关系: Java.lang.Throwable ①Error ②Exception —— 异常顶层父类 RuntimeException 其他异常(编译时异常) Error...:代表系统级别错误(属严重问题),系统一旦出现问题,sun公司就会把这些错误封装成Error对象,Error是给sun公司自己使用,不是提供给开发者使用。...try中捕获到异常就直接跳转到catch块,try中后续代码不会执行。...的结果,出现异常时,还会记录catch{}中return的结果,最后记录finallu{}块中的结果,最终返回的是finallu{}块中的结果
目录 1、为什么使用JWT? 2、JWT 的 格式 3、使用 JWT 就绝对安全 吗?...此特性便于可伸缩性, 同时保证应用程序的安全 1、为什么使用JWT?...这就引出了在微服务架构中如何进行服务鉴权的方案,这个方案就是 JWT. 2、JWT 的 格式 JWT就是一个字符串,经过加密处理与校验处理的字符串,形式为:A.B.C 三段,每一段中间通过 ....大家可以发现,数据原封不动的还原了,所以在这里提醒大家对于敏感数据,比如用户的密码,账户的金额登录信息不应该存到JWT 字符串中,因为可以被解密。...5、JWT 入门案例 接下来就带大家如何在JAVA 中使用JWT。
前言 多态是java学习的重难点,因为其高度抽象性,直接从理论上去理解往往是比较困难的。本篇文章将从贴近生活的案例,来解释什么是多态。...多态 (阅读以下内容,需要提前了解java继承和接口的知识) 再结合案例前,得先知道多态的代码怎么写,以及一些相关规则.具有继承关系的父子类(或者是接口及其实现类),才能用多态....重点:对象B是一个子类对象 3.通过多态new一个对象C 只能访问父类中的成员变量和成员方法,重点:此时对象C是一个父类对象,但可以通过向下转型变为子类对象,去访问子类对象的成员属性和方法....重点(多态的特点): 多态对象在创建时是一个父类对象,可以在有需要的时候变成子类对象。也就是说对象C可以在父类对象和子类对象中切换,它拥有多个形态,这就是多态. 这样做有什么用呢?或者说有什么好处呢?...用java来模拟上述的事物. 笔记本类LapTop,拥有一个usb接口方法usbIterface,无成员变量. usbIterface方法需要传入usb设备,如果是你,如何区别不同的usb设备呢?
大家好,又见面了,我是你们的朋友全栈君。每创建一个类的实例都去初始化它的所有变量是乏味的。如果一个对象在被创建时就完成了所有的初始工作,将是简单的和简洁的。...因此,Java在类里提供了一个特殊的成员函数,叫做构造函数(Constructor)。 一个构造函数是对象被创建时初始对象的成员函数。它具有和它所在的类完全一样的名字。...构造函数没有返回类型,即使是void类型也没有。这是因为一个类的构造函数的返回值的类型就是这个类本身。...构造函数的任务是初始化一个对象的内部状态,所以用new操作符创建一个实例后,立刻就会得到一个清楚、可用的对象。 构造方法是一种特殊的方法,具有以下特点。...java 构造函数的执行过程 类初始化时构造函数调用顺序: (1)初始化对象的存储空间为零或null值; (2)调用父类构造函数; (3)按顺序分别调用类成员变量和实例成员变量的初始化表达式;
前言 Sdkman它究竟是做什么的?小编刚开始也不是很清楚,但是在浏览了CSDN上的一些博客后,我总结了以下有关于Sdkman的内容,来帮助我们明白它到底是什么,我们为什么要用它?...Sdkman介绍 Sdkman是一种软件开发工具的管理器.它主要用于unix或者linux操作系统中的多个版本,不同开发环境的管理。它可以通过命令行的方式来进行对开发环境的安装、切换、删除等操作。...为什么要使用Sdkman Java经过了20几年的长久发展,jdk也已经拥有了众多的版本,版本的不断地更新,越来越多的特性也不断的加入,许多的开发框架工具如spring,mybatis,maven等都跟随...例如想用sdk来安装常用的spring boot框架举例 安装sprint boot: sdk install springboot 从上面也可以发现它的使用方法与我们常用的pip—python的包管理工具是十分的相似...在unix或者linux操作系统中的安装和使用,它不能在windows下安装。
对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法。 继承是为了重用父类代码。两个类若存在IS-A的关系就可以使用继承。,同时继承也为实现多态做了铺垫。 那么,什么是多态呢?...通俗一点的说法:所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法...,该方法对于子类是隐藏的,因此其子类无法访问该方法,也无法重写 父类静态方法,子类也必须通过静态方法进行覆盖,即静态只能覆盖静态 子类重写父类方法时,最好声明得一模一样 如果子类中定义了一个与父类...方式二:接口实现 生活中的接口最具代表性的就是插座,例如一个三接头的插头都能接在三孔插座中,因为这个是每个国家都有各自规定的接口规则,有可能到国外就不行,那是因为国外自己定义的接口类型。...java中的接口类似于生活中的接口,就是一些方法特征的集合,但没有方法的实现。 方式三:抽象类和抽象方法 需要注意的问题 一是子类与父类的关系,二是重载方法的调用问题。
反射机制介绍 JAVA 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为...Java 语言的反射机制。...当我们new一个新对象或者引用静态成员变量时,Java虚拟机(JVM)中的类加载器系统会将对应Class对象加载到JVM中,然后JVM再根据这个类型信息相关的Class对象创建我们需要实例对象或者提供静态变量的引用值...这就是反射能够实现的原因,可以说Class是反射操作的基础。 需要特别注意的是,每个class(注意class是小写,代表普通类)类,无论创建多少个实例对象,在JVM中都对应同一个Class对象。...反射的应用场景 反射是框架设计的灵魂。
大家好,又见面了,我是你们的朋友全栈君。 什么是java算法 算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,java算法就是采用Java语言来实现解决某一问题的清晰指令。...算法的特征: 输入性:有零个或多个外部量作为算法的输入 输出性:算法产生至少一个量作为输出 确定性:算法中每条指令清晰,无歧义 有穷性:算法中每条指令的执行次数有限,执行每条指令是时间也有限 可行性:算法原则上能够精确的运行...效率:算法执行时所需计算机资源的多少,包括运行时间和存储空间 算法的描述形式:1、自然语言 2、算法框图法 3、伪代码语言 4、高级程序设计语言 算法设计的一般过程: 1、理解问题 2、预测所有可能是输入...3、在精确解和近似解间做选择 4、确定适当的数据结构 5、算法设计技术 6、描述算法 7、跟踪算法 8、分析算法的效率 9、根据算法编写代码 下面是Java实现的一个算法:冒泡排序/** * 冒泡排序
什么是内部类?马克-to-win:一句话:类中还有类。里边的叫内部类, 外边的叫外层类。有什么用? 1)像文件夹一样,文件放文件夹里更清晰,内部类放外层类中, 清晰。主要从编程序的逻辑角度出发,有用。
领取专属 10元无门槛券
手把手带您无忧上云