小题 错题总结

简介: 小题 错题总结
  • 要是对象具有序列化,应该实现的接口是 Java.IO.Serializable
  • 在 JVM 内存划分中 ,方法通常存储在 方法区
  • 多态的3种表现形式: 继承重写  重载  向上转型
  • Java 中继承可以间接继承,即便中间跨过一个类,栗子:所有的类都是Object的子类
  • 静态 (static) 的含义是 一个成员数据/方法属于它所在的类,而一般的成员数据或方法属于他的对象
  • static 修饰变量不能再方法中定义 ; 静态方法里的变量默认就是静态,不能加static  。否则会编译失败(语法错误)
  • 抽象类中,可以有普通方法和抽象方法。
  • 抽象方法不能被 static  final  private 修饰,抽象方法不能有方法体(也就是不能写大括号)
  • 类在声明成员变量的区域不能进行 计算,计算要在方法体内
  • HashSet 和 HashSet 的键 / 值都可以为 null
  • Volatile指令关键字  只是确保本条指令不会因编译器的优化而省略,且要求每次直接读值。
  • ArrayList 和 LinkedList 的区别 :
  • ① ArrayList 的实现基于数组,LinkedList的实现基于双向链表
  • ② ArrayList 基于数组实现,是线性表数据结构,内存空间是连续的。LinkedList 是链表的数据结构,内存空间并不连续,而是通过指向建立连接。
  • ③ LinkedList 的插入删除效率比较高,只需要切断链条再重新连接即可。而数组则在操作时候需要进行重排。
  • ④相比于ArrayList ,LinkedList更占内存,因为每个节点还需要存储两个引用。
  • 基类 == 父类    派生类 == 子类
  • 创建派生对象的时候,构造函数执行顺序:、
  • ① 初始化父类中静态成员变量和静态代码块
  • ② 初始化子类中的静态成员变量和静态代码块
  • ③ 初始化父类的普通成员变量和代码块,再执行父类构造方法
  • ④ 初始化子类的普通成员变量和代码块,再执行子类构造方法
  • 接口的特征:
  • ① 每一个方法都是 public abstract 修饰 (其他修饰就会报错)
  • ② 可以有成员变量,但会被隐式的指定为 public static final 变量
  • ③ 接口的方法不能在接口中实现,只能由实现接口的类重写实现
  • ④ 类必须实现接口的所有功能(抽象类不一样,可以不实现完)
  • 装箱、拆箱 操作就是数据类型和包装类的转换  值类型==基本数据类型  包装类==引用数据类型。栗子 装箱: int ---> Integer   拆箱: Double ---> double
  • finally 能确保是否有异常都能执行到这一段代码 。如果 已经return 则 finally里的代码不会改变return 的结果,会先保存return的值,待finally里的代码执行结束,再执行return。如果finally里有return,则会覆盖掉其他return语句。
  • throw:在方法内使用,抛出某种异常对象
  • throws:在方法的定义上使用,表示这个方法可能会抛出哪些异常
  • public 哪里都能使用   protected 不同包中同一子类使用   deafult 同一个包中(默认)
  • 一个字节八个比特位  byte类型的范围是 -128 -----  127
  • 一个int四个字节         int类型范围是 -2的31次方   -----   2的31次方 - 1  (-20亿 到 20亿没问题)
  • Java 可以使用二进制(0b开头),八进制(0开头),10进制,16进制(0X开头)进行赋值。

bf09faaf1827400ba79db7d50a70737d.png


  • 把字符串转换成整数 要注意的事情: ① 数据上下溢出 ② 空字符串 ③ 只有正负号 ④ 有无正负号⑤ 错误标志输出
  • super :① 引用直接父类的实例变量 ② 调用直接父类方法:档子类和父类具有相同方法名时,可使用super访问父类方法 ③ 调用直接父类构造方法(不能夸父):必须写在子类方法的第一行
  • super 调用父类构造方法  this 调用自己的构造方法,但他俩不能同时出现在一个构造方法中,原因是 this 调用的本类的构造方法中可能存在 super,而导致重复调用super的问题。

72d111619f6344a68d6a5f3ee03c3721.png


  • 比int类型小的类型  进行基本运算的时候 会默认转换成int类型进行运算,这样的计算效率相对较高
  • 数据库中 DATEADD(datepatt,number,date) 函数是在日期中添加或减去指定的时间间隔。http://t.csdn.cn/ZwZBV
  • 数据定义语言:负责数据的模式定义与数据的物理存储构建
  • 数据操纵语言:负责数据的操纵,包括 增 删 查 改 等操作
  • 数据控制语言:负责数据完整性、安全性的定义检查以及并发控制、故障恢复等功能
  • 关系数据库是以“二维表”的形式组织和存放数据的。关系数据库的表采用二维表格来存储数据,是一种按行与列排列的具有相关信息的逻辑组,它类似于Excel工作表;一个数据库可以包含任意多个数据表。
  • Mysql 数据库使用的是TCP/IP协议,而不是 UDP
  • alter 翻译:改变修改
  • 删除 S 表 中的 Age 属性 : ALTER TABLE S DROP Age  
  • 增加 S 表中 一个 属性 :     ALTER TABLE S ADD Name Type
  • 从表TABLE_NAME中提取前10条记录:  select TOP 10 * from TABLE_NAME
  • 为用户A分配数据库user表info的查询和插入数据权限:“ grant select,insert on user.info to'A'@'localhost'  ”
  • 什么是数据库索引 :
  • 是对数据库表中一个或多个列(例如,employee 表的姓名 (name) 列)的值进行排序的结构。            例如这样一个查询:select * from table1 where id=10000。如果没有索引,必须遍历整个表,直到ID等于10000的这一行被找到为止;有了 索引 之后(必须是在ID这一列上建立的索引),即可在索引中查找。由于索引是经过某种算法优化过的,因而查找次数要少的多。可见,索引是用来定位的。


  • where 和 having 的区别:都是条件限制语句,对分组结果进行过滤的时候要使用having,必须与 group by配合使用和where类似,区别是分组前用where 分组后用having


like

模糊匹配,&表示多个任意字符 ,_表示一个字符


  • 查找 student表中所有电话号码(列名:telephone)的第一位为8或6,第三位为0的电话号码:SELECT telephone FROM student WHERE telephone LIKE ‘[8,6]_0%’


  • 数据库事务的 4 个特性是:原子性、一致性、持续性、隔离性


  • 对于顺序存储的线性表,访问结点和增加结点的时间复杂度分别为 0(1)  0(n),注意顺序存储的线性表,其实就是数组。
  • 最适合 对基本有序的 对象进行排序的方法是 冒泡排序。
  • 循环队列是队列的一种顺序的存储结构。循环链表是用不连续的存储单元 存储数据。二叉链表是树的二叉链表实现方式。栈是一种特殊存取方式的线 性表。
  • 堆是一种特殊的 完全二叉树,从任一结点出发到根的路径上所经过的结点序列按其关键字有序。二叉排序树 是左边小 右边大,中序遍历是有序的。堆是每个结点的值都大于或等于其左右孩子结点的值(这里的讨论以大根堆为例,小根堆相反)。
  • 具有 记忆功能 的数据结构是 栈 ,很简单的场景 进入A网页 再跳转到B网页 再跳转到C网页,就相当于  栈里有 ABC,然后我们还可以通过返回键,从C网页返回到B网页,也就相当于出栈,这种功能就叫做记忆功能。
  • 对递归程序的优化的一般的手段为  尾递归优化。
  • 尾递归是指,在函数返回的时候,调用自身本身,并且,return语句不能包含表达式。这样,编译器或者解释器就可以把尾递归做优化,使递归本身无论调用多少次,都只占用一个栈帧,不会出现栈溢出的情况。 尾递归调用时,如果做了优化,栈不会增长,因此,无论多少次调用也不会导致栈溢出。
相关文章
|
SQL 存储 大数据
某互联网大厂亿级大数据服务平台的建设和实践
某互联网大厂亿级大数据服务平台的建设和实践
742 0
|
NoSQL Redis
Redis事务:保证数据操作的一致性和可靠性
Redis事务:保证数据操作的一致性和可靠性
271 0
|
SQL 关系型数据库 MySQL
MySQL基础:事务
本文详细介绍了数据库事务的概念及操作,包括事务的定义、开启、提交与回滚。事务作为一组不可分割的操作集合,确保了数据的一致性和完整性。文章还探讨了事务的四大特性(原子性、一致性、隔离性、持久性),并分析了并发事务可能引发的问题及其解决方案,如脏读、不可重复读和幻读。最后,详细讲解了不同事务隔离级别的特点和应用场景。
512 4
MySQL基础:事务
|
9月前
|
机器学习/深度学习 人工智能 测试技术
扩散模型版CS: GO!世界模型+强化学习:2小时训练登顶Atari 100K
《Diffusion for World Modeling: Visual Details Matter in Atari》提出了一种名为DIAMOND的方法,将扩散模型应用于世界模型构建。该方法在Atari 100K基准测试中仅用2小时训练时间就达到了前所未有的性能水平,平均人类归一化分数达1.46,超过人类水平。DIAMOND通过条件生成、网络预条件和高效采样等设计,提升了视觉细节捕捉、模型稳定性和计算效率。未来研究方向包括连续控制领域应用和更长记忆机制的整合。
229 10
|
9月前
|
传感器 存储 程序员
一文彻底搞明白51单片机的发展历程
51单片机自1980年Intel推出MCS-51系列以来,历经40余年发展,从最初的工业控制逐步扩展到家电、通信、智能家居等多领域。其哈佛架构和丰富的指令集奠定了技术基础,并通过持续创新保持竞争力。面对ARM等新架构的挑战,51单片机通过工艺革新和功能扩展,如集成ADC、USB、蓝牙等,仍占据电动工具、智能传感器等成本敏感领域的70%以上市场份额。如今,它不仅是嵌入式技术的活化石,更是中国电子产业崛起的见证者,全球90%的51单片机产自长三角地区。坚持学习,每天一个小知识点,是不是有了新收获,加油哈!
930 0
|
存储 人工智能 缓存
AI 提示词模板相关的架构设计
现在很多企业纷纷研发大语言模型以解决业务问题。提示词在与模型交互中起到关键作用。为优化提示词模板的修改、提高渲染效率及确保安全性,架构设计注重可修改性、安全性、可靠性和性能。设计包括:将提示词存储在OSS以方便修改和版本控制;使用本地缓存提升读取性能;模板引擎增强灵活性;秘钥安全存储在加密系统中;并通过配置中心动态调整。此设计旨在提供高效、安全且可靠的AI交互体验等。
1175 78
AI 提示词模板相关的架构设计
|
XML 存储 数据处理
Python XML处理初级篇:入门lxml库
在数据处理过程中,XML(可扩展标记语言)常常被用作数据存储和传输。Python的lxml库是一个强大的库,用于解析XML和HTML文档。本文将向您介绍如何使用lxml库来解析和处理XML文档。
|
数据采集 资源调度 JavaScript
Node.js 适合做高并发、I/O密集型项目、轻量级实时应用、前端构建工具、命令行工具以及网络爬虫和数据处理等项目
【8月更文挑战第4天】Node.js 适合做高并发、I/O密集型项目、轻量级实时应用、前端构建工具、命令行工具以及网络爬虫和数据处理等项目
275 5
|
监控 C# C++
Baumer工业相机堡盟相机如何使用HDR高动态范围功能( HDR功能的优点和行业典型应用)(C++)(C#)
Baumer工业相机堡盟相机如何使用HDR高动态范围功能( HDR功能的优点和行业典型应用)(C++)(C#)
466 0

热门文章

最新文章