当前位置: 首页 > news >正文

java小记 2023-05-05

public class Test {/*** 谓类的方法就是指类中用static 修饰的方法(非static 为实例方法),比如main 方法,那么可以以main* 方法为例,可直接调用其他类方法,必须通过实例调用实例方法,this 关键字不是这么用的*** Java数据库连接库JDBC用到哪种设计模式?* 桥接模式**下面关于静态方法说明正确的是 在静态方法中调用本类的静态方法时可直接调用*静态方法中没有this关键词,因为静态方法是和类同时被加载的,而this是随着对象的创建存在的,静态比对象优先存在**下面哪些类可以被继承? Java.lang.Thread、java.lang.Number、java.lang.Double、java.lang.Math、 java.lang.ClassLoader* Thread可以被继承,用于创建新的线程* B,Number类可以被继承,* Integer,Float,Double等都继承自Number类* C,Double类的声明为* public final class Doubleextends Numberimplements Comparable<Double>* final生明的类不能被继承* D,Math类的声明为 public final class Mathextends Object* 不能被继承* E,ClassLoader可以被继承,用户可以自定义类加载器*****   java.lang包中不能被继承的类:**   public final class Byte**   public final class Character**   public static final class Character.UnicodeBlock**   public final class Class<T>**   public final class Compile**   public final class Double**   public final class Float**   public final class Integer**   public final class Long**   public final class Math**   public final class ProcessBuilder**   public final class RuntimePermission**   public final class Short**   public final class StackTraceElement**   public final class StrictMath**   public final class String**   public final class StringBuffer**   public final class StringBuilder**   public final class System**   public final class Void* @param args*/public static void main(String[] args) {String a = new String("A");String b = new String("B");System.out.println("a"+System.identityHashCode(a));//地址System.out.println("b"+System.identityHashCode(b));//地址
//        System.out.println(b+"");oper(a,b);//x,y是a,b的副本,x.append(y)使得AB在一起,// 而y=x后,y指向AB,方法结束后x,y消亡,故a-AB,b-B;System.out.println("a"+System.identityHashCode(a));//地址System.out.println("b"+System.identityHashCode(b));//地址System.out.println(a+","+b);}public static void oper(String x,String y){System.out.println("x"+System.identityHashCode(x));//地址System.out.println("y"+System.identityHashCode(y));//地址
//        x.append(y);x = x+y;y = x;System.out.println("x"+System.identityHashCode(x));//地址System.out.println("y"+System.identityHashCode(y));//地址}
}

在这里插入图片描述

HashMap和Hashtable都实现了Map接口,但决定用哪一个之前先要弄清楚它们之间的分别。主要的区别有:线程安全性,同步(synchronization),以及速度。
HashMap几乎可以等价于Hashtable,除了HashMap是非synchronized的,并可以接受null(HashMap可以接受为null的键值(key)和值(value),而Hashtable则不行)。
HashMap是非synchronized,而Hashtable是synchronized,这意味着Hashtable是线程安全的,多个线程可以共享一个Hashtable;而如果没有正确的同步的话,多个线程是不能共享HashMap的。Java 5提供了ConcurrentHashMap,它是HashTable的替代,比HashTable的扩展性更好。

另一个区别是HashMap的迭代器(Iterator)是fail-fast迭代器,而Hashtable的enumerator迭代器不是fail-fast的。所以当有其它线程改变了HashMap的结构(增加或者移除元素),将会抛出ConcurrentModificationException,但迭代器本身的remove()方法移除元素则不会抛出ConcurrentModificationException异常。但这并不是一个一定发生的行为,要看JVM。这条同样也是Enumeration和Iterator的区别。
由于Hashtable是线程安全的也是synchronized,所以在单线程环境下它比HashMap要慢。如果你不需要同步,只需要单一线程,那么使用HashMap性能要好过Hashtable。
HashMap不能保证随着时间的推移Map中的元素次序是不变的
hash采用拉链法解决冲突,hashmap ,Hashtable采用拉链法解决冲突


在这里插入图片描述

public A foo(B b){return b;}
重写 要求两同两小一大原则, 方法名相同,参数类型相同,子类返回类型小于等于父类方法返回类型, 子类抛出异常小于等于父类方法抛出异常, 子类访问权限大于等于父类方法访问权限。[注意:这里的返回类型必须要在有继承关系的前提下比较]

重载 方法名必须相同,参数类型必须不同,包括但不限于一项,参数数目,参数类型,参数顺序
再来说说这道题 A B 都是方法名和参数相同,是重写,但是返回类型没与父类返回类型有继承关系,错误 D 返回一个类错误 c的参数类型与父类不同,所以不是重写,可以理解为广义上的重载访问权限小于父类,都会显示错误
虽然题目没点明一定要重载或者重写,但是当你的方法名与参数类型与父类相同时,已经是重写了,这时候如果返回类型或者异常类型比父类大,或者访问权限比父类小都会编译错误

在这里插入图片描述
中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机
服务器的操作系统之上,管理计算机资源和网络通讯。是连接两个独立应用程序或独立系统的软件。相连接的系统,即使它们具有不同的接口,但通过中间件相互之间仍能交换信息。执行中间件的一个关键途径是信息传递。通过中间件,应用程序可以工作于多平台或OS环境。
在这里插入图片描述
1.new
2.对象克隆clone()方法
3.反射Constructor类的newInstance()方法
4.反射的Class类的newInstance()方法
5.反序列化的readObject()方法

在这里插入图片描述
ArrayList的实现是基于数组,LinkedList的实现是基于双向链表。对于随机访问ArrayList要优于LinkedList,ArrayList可以根据下标以O(1)时间复杂度对元素进行随机访问,而LinkedList的每一个元素都依靠地址指针和它后一个元素连接在一起,查找某个元素的时间复杂度是O(N)。对于插入和删除操作,LinkedList要优于ArrayList因为当元素被添加到LinkedList任意位置的时候,不需要像ArrayList那样重新计算大小或者是更新索引。因此选项C错误。

  1. List 是一个有序集合,可以存放重复的数据 (有序:存进是什么顺序,取出时还是什么顺序)
    (1).ArrayList 底层是数组适合查询,不适合增删元素。
    (2).LiskedList 底层是双向链表适合增删元素,不适合查询操作。
    (3).Vector 底层和ArrayList相同,但是Vector是线程安全的,效率较低很少使用

  2. Set 是一个无序集合,不允许放重复的数据 (无序不可重复,存进和取出的顺序不一样)
    (1).HashSet 底层是哈希表/散列表
    (2).TreeSet 继承sartedSet接口(无需不可重复,但存进去的元素可以按照元素的大小自动排序)

  3. Map 是一个无序集合,以键值对的方式存放数据,键对象不允许重复,值对象可以重复。

             (1).HashMap实现不同步,线程不安全。  HashTable线程安全 (2).HashMap中的key-value都是存储在Entry中的。 (3).HashMap可以存null键和null值,不保证元素的顺序恒久不变,它的底层使用的是数组和链表,通过hashCode()方法和equals方法保证键的唯一性
    

现在的jdk版本底层是数组➕红黑树

在这里插入图片描述

1、Java中,赋值是有返回值的
,赋什么值,就返回什么值。比如这题,x=y,返回y的值,所以括号里的值是1。

2、Java跟C的区别,C中赋值后会与0进行比较,如果大于0,就认为是true;而Java不会与0比较,而是直接把赋值后的结果放入括号。

在这里插入图片描述

main()函数即主函数,是一个前台线程,前台进程是程序中必须执行完成的,而后台线程则是java中所有前台结束后结束,不管有没有完成,后台线程主要用与内存分配等方面。

前台线程和后台线程的区别和联系:

1、后台线程不会阻止进程的终止。属于某个进程的所有前台线程都终止后,该进程就会被终止。所有剩余的后台线程都会停止且不会完成。

2、可以在任何时候将前台线程修改为后台线程,方式是设置Thread.IsBackground 属性。

3、不管是前台线程还是后台线程,如果线程内出现了异常,都会导致进程的终止。

4、托管线程池中的线程都是后台线程,使用new Thread方式创建的线程默认都是前台线程。

说明:

      应用程序的主线程以及使用Thread构造的线程都默认为前台线程                      

使用Thread建立的线程默认情况下是前台线程,在进程中,只要有一个前台线程未退出,进程就不会终止。主线程就是一个前台线程。而后台线程不管线程是否结束,只要所有的前台线程都退出(包括正常退出和异常退出)后,进程就会自动终止。一般后台线程用于处理时间较短的任务,如在一个Web服务器中可以利用后台线程来处理客户端发过来的请求信息。而前台线程一般用于处理需要长时间等待的任务,如在Web服务器中的监听客户端请求的程序,或是定时对某些系统资源进行扫描的程序

相关文章:

java小记 2023-05-05

public class Test {/*** 谓类的方法就是指类中用static 修饰的方法&#xff08;非static 为实例方法&#xff09;&#xff0c;比如main 方法&#xff0c;那么可以以main* 方法为例&#xff0c;可直接调用其他类方法&#xff0c;必须通过实例调用实例方法&#xff0c;this 关键…...

CentOS安装Nginx

准备工作 在安装Nginx之前&#xff0c;我们需要进行一些准备工作&#xff1a; 确认系统是否已经安装了Nginx。如果已经安装了&#xff0c;需要卸载掉旧版本。安装EPEL源&#xff0c;以获取Nginx的软件包。安装必要的依赖软件包。 卸载旧版Nginx 如果已经安装了旧版本的Ngin…...

CSS布局基础(CSS书写顺序 导航栏写法 常见问题)

CSS布局基础&#xff08;CSS书写顺序 & 导航栏写法&#xff09; CSS布局基础&#xff08;CSS书写顺序&#xff09;导航栏写法PC端网页开发一般步骤容易出问题的点 CSS布局基础&#xff08;CSS书写顺序&#xff09; 布局定位属性自身属性&#xff08;宽高&#xff0c;边框&…...

打造卓越 QML 层级设计:从入门到精通

目录标题 引言&#xff1a;QML 层级设计的重要性1.1 什么是 QML1.2 层级设计的核心理念1.3 实际应用案例 QML 基础知识2.1 语言概述2.2 基本元素2.3 属性和信号 设计原则与规范3.1 命名规范3.1.1 标识符命名3.1.2 文件命名3.1.3 文件夹命名 3.2 代码风格3.2.1 缩进与空格3.2.2 …...

shell流程控制之条件判断练习

1、判断当前磁盘剩余空间是否有20G&#xff0c;如果小于20G&#xff0c;则将报警邮件发送给管理员&#xff0c;每天检查一次磁盘剩余空间。​ 因为如果磁盘剩余空间小于20G需要报警发送邮件给管理员&#xff0c;所以需要对管理员的邮箱进行设置 &#xff08;1&#xff09;首先…...

linux中TF启动卡制作:磁盘分区文件同步

文章目录 前言&#xff1a;1. 连接TF卡2. 磁盘卸载载与分区2.1 磁盘卸载2.2 创建第一个分区2.3 创建第二个分区 3. 磁盘格式化4. 文件同步5. 检查与BOOT分区启动文件拷贝总结&#xff1a; 前言&#xff1a; TF卡在linux环境下配置好相关软件后&#xff0c;把配置好的系统以及软…...

【操作系统OS】学习笔记:第一章 操作系统基础【哈工大李治军老师】

基于本人观看学习 哈工大李治军老师主讲的操作系统课程 所做的笔记&#xff0c;仅进行交流分享。 特此鸣谢李治军老师&#xff0c;操作系统的神作&#xff01; 如果本篇笔记帮助到了你&#xff0c;还请点赞 关注 支持一下 ♡>&#x16966;<)!! 主页专栏有更多&#xff0…...

Linux C/C++ 网络编程中地址格式转换(inet_pton和inet_ntop函数)

网络编程中地址格式转换&#xff08;inet_pton和inet_ntop函数&#xff09; 地址格式转换 #include <sys/types.h> #include <sys/socket.h> #include <arpa/inet.h>int inet_pton(int af , const char * src ,void * dst);&#xff08;1&#xf…...

庖丁解牛函数知识---C语言《2》

目录 前言&#xff1a; 1.嵌套调用函数 2.链式访问 3.函数的声明与定义 4.*递归 5.递归与非递归 ❤博主CSDN:啊苏要学习 ▶专栏分类&#xff1a;C语言◀ C语言的学习&#xff0c;是为我们今后学习其它语言打好基础&#xff0c;C生万物&#xff01; 开始我们的C语言之旅吧…...

Git 使用教程:最详细、最正宗手把手教学(万字长文)

目录 一&#xff1a;Git二&#xff1a;SVN与Git的的区别三、安装Git四&#xff1a;常规操作五&#xff1a;远程仓库六&#xff1a;创建与合并分支七&#xff1a;bug分支八&#xff1a;多人协作九&#xff1a;git可视化工具 Git Git 是一种分布式版本控制系统&#xff0c;用于…...

【华为OD机试 2023最新 】最优资源分配/芯片资源占用(C语言题解 100%)

文章目录 题目描述输入描述输出描述备注用例题目解析代码思路C语言题目描述 某块业务芯片最小容量单位为1.25G,总容量为M*1.25G,对该芯片资源编号为1,2,…,M。该芯片支持3种不同的配置,分别为A、B、C。 配置A:占用容量为 1.25 * 1 = 1.25G配置B:占用容量为 1.25 * 2 =…...

markdown二元运算符

符号markdown名称 \pm \pm正负/加减 ∓ \mp ∓\mp负正/减加 \times \times乘号 ⋅ \cdot ⋅\cdot点乘号 \div \div除号 ∣ \mid ∣\mid整除 ∤ \nmid ∤\nmid不整除 ⊕ \oplus ⊕\oplus异或...

【华为/华三】PPP

NCP network阶段 用于协商网络层参数&#xff0c;IPCP静态协商IP地址&#xff08;即互推地址&#xff09;动态协商叫做获得地址 Q&#xff1a;为什么PPP两端&#xff0c;可以不在一个网段内&#xff0c;也能够通信&#xff1f; A&#xff1a;因为PPP中的NCP会通过IPCP协商IP…...

【Java笔试强训 9】

&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔&#x1f93a;&#x1f93a;&#x1f93a; 目录 一、选择题 二、编程题 &#x1f525;另类加法…...

【C++】STL标准库之list

STL标准库之list list类的简介常用的list类的接口构造迭代器容量访问修改 list和vector的区别 list类的简介 list是一种序列式容器&#xff0c;可以在任意位置插入和删除元素&#xff0c;并且其时间复杂度为O(1)&#xff0c;在底层&#xff0c;list是双向链表结构&#xff0c;…...

Nomogram | 盘点一下绘制列线图的几个R包!~(二)

1写在前面 不知道各位小伙伴的五一假期过的在怎么样&#xff0c;可怜的我感冒了。&#x1f637; 今天继续之前没有写完的列线图教程吧&#xff0c;再介绍几个制作列线图的R包。&#x1f920; 2用到的包 rm(list ls())library(tidyverse)library(survival)library(rms)library(…...

Django之定时任务django-crontab

Django之定时任务django-crontab crontab安装django-crontab注册应用定时时间格式定时时间示例设置定时任务符号方法解决crontab中文问题管理定时任务注意 crontab Django可以使用第三方库如django-crontab来实现定时任务的调度。该库允许使用类似于crontab文件格式的语法指定任…...

linux常见命令

ls&#xff1a;列出当前目录下的所有文件和子目录 cd&#xff1a;切换当前工作目录&#xff0c;例如 cd /home/user 进入 /home/user 目录 pwd&#xff1a;显示当前工作目录的路径 mkdir&#xff1a;创建一个新目录&#xff0c;例如 mkdir newdir 创建一个名为 newdir 的目录…...

【14.HTML-移动端适配】

移动端适配 1 布局视口和视觉视口1.1 设置移动端布局视口宽度 2 移动端适配方案2.1 rem单位动态html的font-size&#xff1b;2.2 vw单位2.3 rem和vw对比2.4 flex的弹性布局 1 布局视口和视觉视口 1.1 设置移动端布局视口宽度 避免布局视口宽度默认980px带了的缩放问题,并且禁止…...

平衡二叉树旋转机制

概念 平衡二叉树的旋转机制是一种通过对树进行旋转操作来保持其平衡的方法。 分类 平衡二叉树的旋转机制包括两种基本类型的旋转&#xff1a;左旋和右旋&#xff0c;以及它们的组合。 左旋 左旋是将一个节点的右子节点旋转到它的位置上&#xff0c;同时将该节点移到其左侧&…...

深入浅出C++ ——C++11

文章目录 一、C11简介二、列表初始化二、声明四、范围for循环五、STL中的变化六、右值引用和移动语义1. 什么是左值&#xff1f;什么是左值引用&#xff1f;2. 左值引用与右值引用比较3. 右值引用使用场景和意义4. 完美转发 新的类功能默认成员函数类成员变量初始化defaultdele…...

智能座舱3.0阶段,看全球巨头如何打造更具“价值”的第三空间

面向中国这一全球最大的汽车电动化与智能化单一市场&#xff0c;作为全球第七大汽车技术供应商的FORVIA佛瑞亚集团开始全面发力。 在2023年上海国际车展上&#xff0c;FORVIA佛瑞亚携旗下佛吉亚与海拉一系列突破性技术和互动体验亮相&#xff0c;展示了对电气化与能源管理、安…...

【Linux】入门介绍

&#x1f331;博客主页&#xff1a;大寄一场. &#x1f331;系列专栏&#xff1a;Linux &#x1f618;博客制作不易欢迎各位&#x1f44d;点赞⭐收藏➕关注​ 目录 前言 Linux背景介绍 1.发展史 UNIX发展的历史 Linux发展历史 2. 开源 3. 官网 4. 企业应用现状 5. 发行版…...

【Python】序列类型②-元组

文章目录 1.元组简介2.元组的定义2.1定义只有一个元素的元组 3.元组的下标访问4.元组的常用方法5.使用in判断是否存在元素6.多元赋值操作 1.元组简介 元组和列表一样可以存放多个,不同数据类型的元素 与列表最大的不同就是:列表是可变的,而元组不可变 2.元组的定义 元组的定义:…...

循环的数字

循环的数字 题目描述 你曾经因为看见一样的东西一遍又一遍地重复、循环而对电视节目感到厌烦么&#xff1f;好吧&#xff0c;虽然我并不关心电视节目的好坏&#xff0c;不过有时却也很像那样不断循环的数字。 让我们假定两个不同的正整数 ( n , m ) (n, m) (n,m) 是循环的&…...

MySQL查询之聚合函数查询

0. 数据源 student.sql文件。 /*Navicat Premium Data TransferSource Server : localhost_3306Source Server Type : MySQLSource Server Version : 80016Source Host : localhost:3306Source Schema : testdbTarget Server Type : MySQLTa…...

普通2本,去过字节外包,到现在年薪25W+的测试开发,我的2年转行心酸经历...

个人简介 我是一个普通二本大学机械专业毕业&#xff0c;17年毕业&#xff0c;19年转行&#xff0c;目前做IT行业的软件测试已经有3年多&#xff0c;职位是高级测试工程师&#xff0c;坐标上海… 我想现在我也有一点资格谈论关于转行这个话题&#xff1b;希望你在决定转行之前…...

util.callbackify

util.callbackify(original) 将 async 异步函数&#xff08;或者一个返回值为 Promise 的函数&#xff09;转换成遵循异常优先的回调风格的函数&#xff0c;例如将 (err, value) > ... 回调作为最后一个参数。 在回调函数中&#xff0c;第一个参数为拒绝的原因&#xff08;如…...

解决使用CLIP模型时TypeError: Cannot handle this data type: (1, 1, 224, 224), |u1

想提供Huggingface的transformer库实现多模态模型CLIP的推断&#xff0c;结果报错 (myenv) rootd27d1ff1836c:/home/model_test# python3 CLIP.py ftfy or spacy is not installed using BERT BasicTokenizer instead of ftfy. Traceback (most recent call last): File “/hom…...

Mysql第二章 多表查询的操作

这里写自定义目录标题 一 外连接与内连接的概念sql99语法实现 默认是内连接sql99语法实现左外连接&#xff0c;把没有部门的员工也查出来sql99语法实现右外连接&#xff0c;把没有人的部门查出来sql99语法实现满外连接&#xff0c;mysql不支持这样写mysql中如果要实现满外连接的…...

自己怎么建立公司网站/凡科建站手机版登录

MNIST数据集 MNIST数据集是一个手写体数据集&#xff0c;如图&#xff1a; 官网&#xff1a;Yann LeCuns website http://yann.lecun.com/exdb/mnist/ , 下载下来的数据集被分成两部分&#xff1a;60000行的训练数据集&#xff08;其中&#xff1a;60000 行的训练集分拆为 550…...

做暧小视频xo免费网站/营销技巧和话术

指数运算符 es6新特性将 ** 作为指数操作的中缀运算符&#xff1a; x ** y // 表示y个x相乘与以下表达式运算结果相同&#xff1a; Math.pow(x, y)指数运算又叫幂运算&#xff0c;在aⁿ(a≠0)中&#xff0c;a为底数&#xff0c;n为指数&#xff0c;指数位于底数的右上&#…...

深圳 高端 建站公司/模板建站的网站

我有一台部署在 AWS 上的 Ubuntu 系统&#xff0c;在它的里面有一个脚本&#xff0c;这个脚本的原有目的是以一定间隔&#xff08;准确来说是每隔 1 分钟&#xff09;去检查某个特定服务是否正在运行&#xff0c;如果这个服务因为某些原因停止了&#xff0c;就自动重启这个服务…...

苏州网站开发公司电话/有什么推广软件

mysql我们经常使用&#xff0c;但是我们对其中的知识也要了解和熟悉&#xff0c;我们需要做一下必要的总结&#xff0c;方便自己和同学们一起学习。接下来我们一起来看看平时我们需要了解和掌握的知识有哪些。1. myisam和innodb的区别&#xff1f;2. mysql的几种事务隔离级别。…...

域名不用了需要注销吗/企业网站排名优化

为了使reids配置更优&#xff0c;在使用redis的时候需要注意一些规范&#xff0c;首先要注意&#xff0c;redis和任何cache都不适合写操作比较多的场景&#xff0c;只时候读多写少的场景。 定义key的时候&#xff0c;加上前缀&#xff0c;防止不同业务的key冲突 trade:order:…...

淮北哪里做网站/关键词是网站seo的核心工作

具有密度函数 的分布叫做拉普拉斯分布&#xff1b;是位置参数&#xff0c; 是尺度参数。拉普拉斯分布的期望为 &#xff0c;方差为 &#xff0c;偏度为0&#xff0c;峰度为3。拉普拉斯分布的密度函数&#xff0c;可以看作是两个指数分布函数的概率密度“背靠背”拼接在一起。&a…...