Java相关知识点

变量的生命周期:位于内层中的变量可以访问并修改外层变量的值

注意:子类中方法的访问权限 >= 父类

ReultSet不是一个集合,而是在使用jdbc(java database connectivity) 返回的一个结果集

enty中提供有参构造时, 未提供空参构造方法时,通过new空参未报错(java1.8)

mehod.invoke返回的是一个Obeject类型

Object类常用方法:
1.hashcode方法
2.clone
3.toString
4.equals
5.finalize(对象被回收时进行调用)

不可变分为引用不可变和对象不可变,被finall修饰的对象为引用不可变,可以被重新赋值,但不可以被重新new

super()
调用父类的构造方法,从而完成对子类的初始化工作

在Java的多重继承中,孙子类可以访问并且使用爷爷的成员方法

输入和输出是相对于外部输入设备而言的(磁盘)

阻塞是相对于调用方,同步是相对于被调用方

阻塞:调用方发布调用命令后,在数据复制好之前,自身需处于等待状态

非阻塞:调用方发布调用命令后,在数据复制好之前,可以去做其它事。

同步:接到调用命令后,立即去做

异步:承诺会做,不承诺立即去做

阻塞IO模型:在进程发布调用命令后,内核在数据的准备状态,直到数据成功复制,进程在此过程一直在等,什么也不干。

非阻塞IO模型:在进程发布调用命令后,数据没准备好之间,不会一直等,会做其它事,期间通过轮询的方式去询问内核数据是否准备好,返回成功指示后,再进行数据报的处理。

信号驱动IO模型:一遍一遍查看过于麻烦,当数据准备好时,直接提醒即可,进程预先向内核注册一个信号处理函数,当进程收到相应的信号后,处理函数会进行后续的处理,最后进程再进行数据报的处理。弊端:信号处理程序实现复杂,并且只有在数据准备阶段才可以近似为异步的。

IO复用模型:将多个IO注册到一个SELECT上,IO需要的数据都没准备好,SELECT 调用进程会阻塞

异步IO:进程先询问,无数据准备好时,直接返回,内核准备好时,不再返回成功指示,发送信号即可

BIO:Blocking I/O 同步阻塞IO模型,这种IO模型是最笨的

NIO:New I/O 支持阻塞与非阻塞。弊端:实现较为复杂

AIO:异步非阻塞

反射是众多高级特性的基础:如注解、动态代理,包括框架中也有很多地方使用

new 对象的开销很小(可以尝试下new 10000个对象)

try()会进行资源释放,前提是资源类实现了Closeable或AutoCloseable接口 jdk7新增

放在try - catch中的代码发生异常时,程序仍会运行

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

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

相关文章

MyBatis操作数据库

1.MyBatis是什么? MyBatis 是⼀款优秀的持久层框架,它⽀持⾃定义 SQL、存储过程以及⾼级映射。MyBatis 去除了⼏乎所有的 JDBC 代码以及设置参数和获取结果集的⼯作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接⼝和 Java POJO&#xf…

【机器学习】吃瓜教程 | 西瓜书 + 南瓜书 (1)

文章目录 一、绪论1、什么是机器学习?2、基本术语3、假设空间4、归纳偏好5、发展历程 二、模型评估与选择A、一种训练集一种算法2.1 经验误差 与 过拟合2.2 评估方法a) 留出法b) 交叉验证法c) 自助法d) 调参与最终模型 2.3 性能度量a) 错误率与精度b) 查准率、查全率…

matlab dot()函数求矩阵内积,三维 ,多维 详解

matlab dot()函数求矩阵内积,三维 ,多维 详解 Cdot(A,b,X),这个参数X 只能取1,或者2。1 表示按列,2表示按行,如果没有参数。默认按列。 1)按列优先计算 Cdot(A,B)dot(A,B,1)[a1*b1a4*b4 ,a2*b2a5*b5 ,a…

视频拼接得AI三维生成方案-开端(一)

想使用二维得图像生成三维得空间图像,英伟达有完整得方案,开源,但是三维拼接不一样,只需要二维,并且要实时,如何生成是我每天都在思考得东西。 cnn 提取特征器和自编码 在训练细胞神经网络时,问…

linux shell比较命令

1 比较运算 num1-eq num2 等于 [ 3 -eq $mynum ] num1-ne num2 不等于 [ 3 -ne $mynum ] num1-lt num2 小于 [ 3 -lt $mynum ] num1-le num2 小于或等于 [ 3 -le $mynum ] num1-gt num2 大于 [ 3 -gt $mynum ] num1-ge num2 大于或等于 [ 3 -ge $mynum ]。 filename1-nt filen…

linux上面修改u盘的名称

首先df-h显示文件系统磁盘空间使用情况 df -hFilesystem Size Used Avail Use% Mounted on /dev/sda1 39G 24G 13G 66% / tmpfs 990M 4.5M 986M 1% /dev/shm /dev/sda2 77G 62G 12G 85% /broncho /dev/s…

C++ PCL点云圆柱结构提取/立杆结构提取

目录 一、算法实现二、结果展示适用于圆柱体提取、立杆提取。 一、算法实现 #include <iostream> #include <pcl/io/pcd_io.h> #include <pcl/point_types.h> #in

大数据分析案例-基于LightGBM算法构建乳腺癌分类预测模型

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

jmeter软件测试实验(附源码以及配置)

jmeter介绍 JMeter是一个开源的性能测试工具&#xff0c;由Apache软件基金会开发和维护。它主要用于对Web应用程序、Web服务、数据库和其他类型的服务进行性能测试。JMeter最初是为测试Web应用程序而设计的&#xff0c;但现在已经扩展到支持更广泛的应用场景。 JMeter 可对服务…

AcWing 244. 谜一样的牛—树状数组、二分

题目链接 AcWing 244. 谜一样的牛 题目描述 分析 这道题挺巧妙的&#xff0c;感觉树状数组方面的题就是比较难想&#xff0c;先分析一下样例&#xff0c;样例中每头牛前面比自己低的牛的数量分别为 0 1 2 1 0牛的高度是1~n的排列&#xff0c;如何分析出每头牛的高度呢&…

MySQL-多表查询-小结1

目录 内连接 外连接 子查询&#xff08;嵌套查询&#xff09; 内连接 内连接查询的是表之间交集的部分隐式内连接 select 字段列表 from 表1&#xff0c;表2 where 条件....&#xff1b;显示内连接 select 字段列表 from 表1 [inner] join 表2 on 条件....&#xff1b; 外连…

API Testing 一个基于 YAML 文件的开源接口测试工具

目录 前言&#xff1a; 如何使用&#xff1f; 本地模式 服务端模式 文件格式 后续计划 前言&#xff1a; API Testing 是一个基于 YAML 文件的开源接口测试工具&#xff0c;它可以帮助开发者快速地进行接口测试。 在选择工具时&#xff0c;可以从很多方面进行考量、对比…

【历史上的今天】7 月 20 日:人类登上月球;数据仓库之父诞生;Mac OS X Lion 发布

整理 | 王启隆 透过「历史上的今天」&#xff0c;从过去看未来&#xff0c;从现在亦可以改变未来。 今天是 2023 年 7 月 20 日&#xff0c;在 2005 年的今天&#xff0c;时任微软全球副总裁的李开复加盟谷歌担任谷歌全球副总裁及中国区总裁。谷歌公司在发布聘请李开复消息的同…

Debezium系列之:Debezium实现对中文版SQLServer数据库数据采集的支持

Debezium系列之:Debezium实现对中文版SQLServer数据库数据采集的支持 一、背景二、Debezium实现采集SQLSever数据库数据三、验证SQL Server Agent的状态四、中文版SQLServer数据库的支持五、完整配置一、背景 Debezium2.X版本对中文版SQLServer数据库数据库的支持存在一定问题…

LiveNVR监控流媒体Onvif/RTSP功能-拉转Onvif/RTSP/RTMP/FLV/HLS直播流流媒体服务视频广场页面集成视频播放集成说明

LiveNVR拉转Onvif/RTSP/RTMP/FLV/HLS直播流流媒体服务视频广场页面集成视频播放集成说明 1、视频页面集成1.1、关闭接口鉴权1.2、视频广场页面集成1.2.1、隐藏菜单栏1.2.2、隐藏播放页面分享连接 1.3、其它页面集成 2、播放分享页面集成2.1、获取 iframe 代码2.2、html 集成ifr…

Hive 中 sort by 和 order by 的区别

order by会对输入做全局排序&#xff0c;因此只有1个reducer&#xff08;多个reducer无法保证全局有序&#xff09;&#xff0c;会导致当输入规模较大时&#xff0c;需要较长的计算时间。 sort by不是全局排序&#xff0c;其在数据进入 reducer 前完成排序。 因此&#xff0c;…

Java反射的使用

反射是Java框架的核心&#xff0c;无论是Tomcat&#xff0c;SpringMVC&#xff0c;SpringIOC&#xff0c;SpringAOP&#xff0c;动态代理&#xff0c;都使用了反射 那么什么是反射&#xff1f;-------------反射就是获取类信息的能力 Java有两种创建对象的方式&#xff1a;①…

Linux内核的块设备抽象层

Linux内核的块设备抽象层是指块设备框架的核心组件&#xff0c;它负责处理块设备I/O请求&#xff0c;向上层提交完成请求的通知&#xff0c;并提供一些与块设备相关的函数&#xff0c;包括对块设备进行初始化、打开、关闭等操作。 在块设备抽象层中&#xff0c;最基本的结构体…

ffmpeg剪切视频的一些优化(或者说是一些坑)

问题描述 最近我们在做一个项目&#xff0c;这个项目需要使用到ffmpeg这个工具来对视频进行剪切&#xff0c;也就是剪出一个视频中的某一段&#xff0c;在实际测试中&#xff0c;我们发现&#xff0c;ffmpeg剪切速度很慢&#xff0c;而且这个速度还与剪切点开始时间&#xff0…

ThreadPoolExecutor自定义线程池|拒绝策略|线程工厂|统一捕获异常

线程池的7大参数含义介绍 corePoolSize&#xff1a;池中一直保持的线程的数量。 maximumPoolSize&#xff1a;池中允许的最大的线程数。 keepAliveTime&#xff1a;当线程数大于核心线程数的时候&#xff0c;线程在最大多长时间没有接到新任务就会终止释放&#xff0c; 最终…