Java equals
equals作用equals()的作用是用来判断两个对象是否相等
源码来源于 JDK 11.0.10
// 定义于 Object 类public boolean equals(Object obj) { return (this == obj);}
因为equals()定义于 Object 类中,所以所有的 Java 类都会实现该方法。即所有的类都可以通过equals()对两个对象进行比较。在上述源码中可以看到,默认的equals()方法就是实现的 ==操作,即比较两个对象地址是否相同。
由此可将所有的 Java 类分为两类:
覆盖equals()方法:用自定义的方法来判断两个对象是否相等。通常覆盖的选择为,判断两个对象的内容是否相等,如果相同返回 true ,否则,返回 false;
public class Test01 { public static void main(String[] args) { Student s1 = new Student("Tom", 10); ...
Java Annotation
Java 注解从 JDK5 开始支持加入源代码的特殊语法元数据
1. 内置注解
@Override
检查该方法是否是重写方法,如果父类 / 实现的接口中不存在该方法时,会提示编译错误
@Deprecated
标记过时的方法,如果使用被标记为此注解的方法,会提示便衣警告。
@SuppressWarnings
镇压警告,使编译器忽略注解声明中的警告
public class Test01 extends Object{ // 重写 @Override public String toString() { return super.toString(); } // 方法弃用 @Deprecated public static void test(){ System.out.println("Deprecated"); } // 镇压所有警告 @SuppressWarnings("all") ...
Swagger 学习笔记
Swagger 特点
世界上最流行的Api框架
RestFul Api 文档在线自动生成工具 -> Api文档与API定义同步更新
支持多种语言(Java,PHP…)
官网:https://swagger.io
在项目中使用Swagger需要springbox;
swagger2
ui
SpringBoot 集成 Swagger
新建 SpringBoot-web 项目
导入相关依赖
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>3.0.0</version></dependency><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</art ...
ElasticSearch 学习笔记
ElasticSearch基本概念
Node: ES 集群的基本服务单元,每个 ElasticSearch 实例则为一个节点。
Cluster: 具有相同 cluster.name 的一组节点构成一个集群 (Cluster)。ps: 同一集群内节点名不能重复,但集群名一定相同。
Index: ES 会索引所有字段,处理过后写入反向索引 (Inverted Index)。ps: ES 数据管理顶层单位为 Index 索引,查找数据时直接查找该反向索引。 (可以类比为数据库,Index 名字必须小写)。
Document: Index 里面的单条记录称为文档(Document)。ps:ps: Index 内的结构尽可能保证相同,有利于提高搜索效率。
Type: 在 Index 里面用来虚拟逻辑分组,用于过滤 Document。比如weather的 Index 按城市(北京/上海)进行分组。ps: 不同的 Type 应该具有相似的结构,id字段中不能一个 Type 中为数值型,另一个为字符串型;两个性质不同的数据,应该存放为两个 Index 而不是存放成一个 Index 中的两个 ...
HTTP 请求头/响应头详解
0. HTTP 请求头
AcceptAccept:text/html 浏览器可以接受服务器回发的类型为 text/htmlAccept: */* 代表浏览器可以处理所有类型,(一般浏览器发给服务器都是发这个)
Accept-Encoding Accept-Encoding: gzip, deflate 浏览器声明可以接收的编码方法,通常指定压缩方法,是否支持压缩,支持什么压缩方法(gzip, deflate, br),(注意:这不是只字符编码)
Accept-Language Accept-Language:zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6 浏览器声明可以接收的语言。3.Connection Connection: keep-alive 当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接。 Connection: close 代表一个Request完成后,客户端和服务器之间用于传输HTTP数据的TCP连接会关闭, 当客户 ...
HashMap源码_构造函数
源码来源于JDK-11.0.8/*** Constructs an empty {@code HashMap} with the specified initial* capacity and load factor.** @param initialCapacity the initial capacity* @param loadFactor the load factor* @throws IllegalArgumentException if the initial capacity is negative* or the load factor is nonpositive*/public HashMap(int initialCapacity, float loadFactor) { if (initialCapacity < 0) throw new IllegalArgumentException("Illegal initial capacity: " + init ...
HashMap源码_构造函数
源码来源于JDK-11.0.8/*** Constructs an empty {@code HashMap} with the specified initial* capacity and load factor.** @param initialCapacity the initial capacity* @param loadFactor the load factor* @throws IllegalArgumentException if the initial capacity is negative* or the load factor is nonpositive*/public HashMap(int initialCapacity, float loadFactor) { if (initialCapacity < 0) throw new IllegalArgumentException("Illegal initial capacity: " + init ...
多模态机器学习
多模态学习的分类1.多模态表示学习单模态的表示学习负责将信息表示为计算机可以处理的数值向量或者进一步抽象为更高层的特征向量,而多模态表示学习是指通过利用多模态之间的互补性,剔除模态间的冗余性,从而学习到更好的特征表示。
主要包括两大研究方向:联合表示(Joint Representations)和协同表示(Coordinated Representations)
联合表示:将多个模态的信息一起映射到一个统一的多模态向量空间;
协同表示:负责将多模态中的每个模态分别映射到各自的表示空间,但映射后的向量之间满足一定的相关性约束(例如线性相关)。
2.转化 Translation / 映射 Mapping转化也称为映射,负责将一个模态的信息转换为另一个模态的信息。
常见的应用包括:
机器翻译(Machine Translation):将输入的语言A(即时)翻译为另一种语言B。类似的还有唇读(Lip Reading)和语音翻译 (Speech Translation),分别将唇部视觉和语音信息转换为文本信息。
图片描述(Image captioning) 或者视频描述(Vide ...
BinaryTree Travel
二叉树结点定义public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; }}
前序遍历// Recursiveclass Solution { public List<Integer> preorderTraversal(TreeNode root) { List<Integer> res = new ArrayList<>(); helper(root, res); return res; } private void helper(TreeNode root, List<Integer> res) { if (root != null) { res.add(root.val); ...
CentOS7下安装MySQL(RPM)
0.查看当前系统版本#查看当前操作系统版本(base) ➜ ~ cat /etc/redhat-release CentOS Linux release 7.8.2003 (Core)#查看系统内核版本(base) ➜ ~ uname -srLinux 3.10.0-1062.18.1.el7.x86_64
1.下载MySQL安装文件下载主页https://dev.mysql.com/downloads/mysql/根据前一步获取的系统版本选择进行下载,这里则是RH7 x86_64的版本进行下载
![image-20200609175530016](/Users/0x4154304d/Library/Application Support/typora-user-images/image-20200609175530016.png)
下载RPM Bundle版本这里直接下载捆绑包,将所有的MySQL组件全部下载下来。然后解压文件包
tar -xvf xxxx.tar
2. 卸载系统附带的MySQL (不是每个用户都需 ...