5.28学习总结

java复习总结

hashcode()和equals()

hashcode():在Object里这个方法是通过返回地址的整数值来生成哈希值。

equals():在Object里这个方法是通过比较他们的内存地址来确定两个对象是否相同。

运行效率:hashcode的时间复杂度为O(1)(因为只要计算一次哈希值就行了),equals的时间复杂度为O(n)(因为要比较每一个值),所以在比较是否相同时要优先使用hashcode方法获取的值是否相同。

当输入样本量足够大时,不相同的对象调用hashcode是会产生相同输出的,也就是形成哈希冲突。这时equals的好处就体现出来了,他不会出现判断错误的情况,所以我们只要在hashcode相同的时候使用equals进行进一步的判断,这样就可以保证不会出现误判的情况了。

hashcode和equals的默认方法并不好用,所以如果要查看对象之间是否相同最好要重写hashcode和equals方法。如果只重写一个方法就会出现一个方法相同但另一个方法不同的情况。

(没搞懂)

default关键字

当使用default关键字在接口中修饰方法时,该方法被允许拥有方法体。(方法的默认实现)

接口的多继承

虽然在java中类是单继承的,但是接口和接口之间是允许多继承的,一个接口可以有多个接口作为父类,这样只要实现一个接口就算是实现了多个接口。

public class Main {public static void main(String[] args) {My my=new My();my.methodA();my.methodB();my.methodCommon();my.method();my.methodDefault();}
}
interface MyInterfaceB {public abstract void methodB();public abstract void methodCommon();public default void methodDefault() {System.out.println("BBB");}
}
interface MyInterfaceA {public abstract void methodA();public abstract void methodCommon();public default void methodDefault() {System.out.println("AAA");}
}
interface MyInterface extends MyInterfaceA, MyInterfaceB {public abstract void method();@Overridepublic default void methodDefault() {System.out.println("CCC");}
}
class My implements MyInterface{@Overridepublic void methodB() {System.out.println("b");}@Overridepublic void methodA() {System.out.println("a");}@Overridepublic void methodCommon() {System.out.println("c");}@Overridepublic void method() {System.out.println("d");}@Overridepublic void methodDefault() {MyInterface.super.methodDefault();}
}

运行结果:

同步和异步

同步:发出一个调用时,在没有得到结果之前,该调用就不返回。

异步:在调用发出后,被调用者返回结果之后会通知调用者,或通过回调函数处理这个调用。

阻塞和非阻塞

阻塞:在进行一个调用之后,在调用结果放回之前该线程会被挂起,直到调用结果返回才会开始运行。

非阻塞:在进行一个调用之后,线程不会被挂起,可以运行其他的代码。

Mysql必知必会笔记

基本概念

数据库:用于保存数据的容器;

表:用于保存拥有着一样特性的数据的容器;

列:表中的一个字段(数据的特性),每一个表由一个或多个列组成;

数据类型:用于规范数据的格式和长度,每一个列都有对应的数据范围;

行:表中记录的数据,每一行都是一个数据;

主键:其值用于区分每一个数据,每一个数据都有不同的主键;

进入数据库

连接到数据库需要:主机名(本地为localhost)、端口(如果使用默认端口3306之外的端口)、合法的用户名、用户口令(如果需要)。

打开命令提示符窗口输入以下命令

mysql -u root -p;

提示输入密码,输入正确后成功进入数据库。

进入数据库之后还不能使用,要先指定使用那一个数据库.输入以下命令查看数据库列表

show databases;

使用数据库:

use 数据库名; 例:use chat;

显示

代表指定成功;

显示指定数据库的表的列表:

show tables;

显示表的列数据:

show columns from 表名;

例:show columns from topic;

describe 表名;

例:describe topic;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/334853.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

养老院管理系统基于springboot的养老院管理系统java项目

文章目录 养老院管理系统一、项目演示二、项目介绍三、系统部分功能截图四、部分代码展示五、底部获取项目源码(9.9¥带走) 养老院管理系统 一、项目演示 养老院管理系统 二、项目介绍 基于springboot的养老院管理系统 角色:超级…

Python-3.12.0文档解读-内置函数ord()详细说明+记忆策略+常用场景+巧妙用法+综合技巧

一个认为一切根源都是“自己不够强”的INTJ 个人主页:用哲学编程-CSDN博客专栏:每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 详细说明 概述 语法 参数 返回值 示例 注意事项 应用场景 记忆策略 常用场景…

网易面试:手撕定时器

概述: 本文使用STL容器-set以及Linux提供的timerfd来实现定时器组件 所谓定时器就是管理大量定时任务,使其能按照超时时间有序地被执行 需求分析: 1.数据结构的选择:存储定时任务 2.驱动方式:如何选择一个任务并执…

微火问答:全域外卖和本地生活服务是同个项目吗?

当前,本地生活赛道火爆程度不断升级,作为其主要板块之一的团购外卖也持续迸发出新的活力。而全域运营的出现无疑是给团购外卖这把正在熊熊燃烧的烈火,又添了一把新柴! 所谓全域运营,简单来说,就是指所有领…

xjar加密springboot的jar包,并编译为执行程序

场景:当前项目需要进行jar包部署在windows环境和linux环境,并要求使用xjar加密。 1. xjar加密 源码程序自行搜索,这里只介绍加密及运行,运行加密程序,指定jar包,输入密码 2. 加密后的目录 3. go程序编译 …

HCIP-Datacom-ARST自选题库__BGP/MPLS IP VPN简答【3道题】

1.在BGP/MPLSIPVPN场景中,如果PE设备收到到达同一目的网络的多条路由时,将按照定的顺序选择最优路由。请将以下内容按照比较顺序进行排序。 2.在如图所示的BGP/MPLSIP VPN网络中,管理员准备通过Hub-Spoke组网实现H站点对VPM流量的集中管控&am…

HNU-人工智能-作业3

人工智能-作业3 计科210X 甘晴void 202108010XXX 1.贝叶斯网络 根据图所给出的贝叶斯网络,其中:P(A)0.5,P(B|A)1, P(B|A)0.5, P(C|A)1, P(C|A)0.5,P(D|BC)1,P(D|B, C)0.5&#xff…

如何将天猫内容保存为PDF格式?详细步骤与实战解析

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、引言:保存天猫内容的重要性 二、环境准备与工具安装 1. 安装必要的Python包…

宝塔部署Java+Vue前后端分离项目

1. 服务器 服务器选择Linux的CentOS7的版本 2. 宝塔Linux面板 2.1 百度搜索宝塔 2.2 进去之后点击立即免费安装 2.3 选择Linux在线安装,输入服务器信息进行安装(也可以选择其他方式) 安装完成之后会弹一个宝塔的应用面板,并附带有登录名称和密码&…

Linux快速定位日志 排查bug技巧和常用命令

1. 快速根据关键字定位错误信息 grep 在 Linux 系统中,可以使用 grep 命令来查找日志文件中包含特定关键字的行。假设你的日志文件路径为 /var/log/myapp.log,你想要查找包含关键字 "abc" 的日志内容,可以按照以下步骤操作&#…

【机器学习聚类算法实战-5】机器学习聚类算法之DBSCAN聚类、K均值聚类算法、分层聚类和不同度量的聚集聚类实例分析

🎩 欢迎来到技术探索的奇幻世界👨‍💻 📜 个人主页:一伦明悦-CSDN博客 ✍🏻 作者简介: C软件开发、Python机器学习爱好者 🗣️ 互动与支持:💬评论 &…

【微服务】安装docker以及可视化界面

1.配置yum下载源为aliyun源 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo2.下载docker不加版本号默认为最新版本 yum install -y docker-ce3.启动以及开机自启 #启动docker命令 systemctl start docker #设置开机自启命令…

软件功能测试的类型和流程分享

在现代社会,软件已经成为人们生活中不可或缺的一部分,而在软件的开发过程中,功能测试是不可或缺的环节。软件功能测试指的是对软件系统的功能进行检查和验证,以确保软件在各种情况下能够正常运行,并且能够按照用户需求…

【CTF Web】CTFShow web5 Writeup(SQL注入+PHP+位运算)

web5 1 阿呆被老板狂骂一通&#xff0c;决定改掉自己大意的毛病&#xff0c;痛下杀手&#xff0c;修补漏洞。 解法 注意到&#xff1a; <!-- flag in id 1000 -->拦截很多种字符&#xff0c;连 select 也不给用了。 if(preg_match("/\|\"|or|\||\-|\\\|\/|\…

【电路笔记】-状态可变滤波器

状态可变滤波器 文章目录 状态可变滤波器1、概述2、**状态可变滤波器电路**3、状态可变滤波器示例4、陷波滤波器设计5、总结状态可变滤波器是一种多反馈滤波器电路,可以从同一单个有源滤波器设计中同时产生所有三种滤波器响应:低通、高通和带通。 1、概述 状态可变滤波器使用…

Vue中使用Vue-scroll做表格使得在x轴滑动

页面效果 首先 npm i vuescroll 在main.js中挂载到全局 页面代码 <template><div class"app-container"><Header :titletitle gobackgoBack><template v-slot:icon><van-icon clickgoHome classicon namewap-home-o /></templat…

HackTheBox-Machines--Beep

Beep测试过程 1 信息收集 nmap端口扫描 gryphonwsdl ~ % nmap -sC -sV 10.129.137.179 Starting Nmap 7.94 ( https://nmap.org ) at 2024-05-28 14:39 CST Nmap scan report for 10.129.229.183 Host is up (0.28s latency). Not shown: 988 closed tcp ports (conn-refused…

DSP6657 GPIO中断学习

1 简介 使用创龙板卡的KEY2按键通过中断的方式控制LED3的亮灭 2 中断学习 在C665x设备上&#xff0c;CPU中断是通过C66x CorePac中断控制器进行配置的。该中断控制器允许最多128个系统事件被编程到任意12个CPU可屏蔽中断输入&#xff08;CPUINT4至CPUINT15&#xff09;、CPU…

如何成为一名合格的JAVA程序员?

如何成为一名称职的Java编程人员&#xff1f;你一定不能错过的两本书。 第一本《Java核心技术速学版&#xff08;第3版&#xff09;》&#xff01; 1.经典Java作品《Java核心技术》的速学版本&#xff0c;降低学习门槛&#xff0c;帮助读者更容易学习Java&#xff0c;更快地把…

HTML+CSS TAB导航栏

效果演示 这段代码实现了一个名为"Tab导航栏"的效果,它是一个基于CSS的导航栏,包含五个选项卡,每个选项卡都有一个带有渐变背景色的滑块,当用户点击选项卡时,滑块会滑动到相应的位置。同时,选中的选项卡会变为白色,未选中的选项卡会变为灰色。 Code <!DOC…