重看Java教学视频时的查漏补缺
数据类型
1.基本数据类型:四类八种。
2.数据范围与字节数不一定相关。如float为4字节表示范围比long的8字节要大。
3.浮点数默认double类型,如要用float,需加F。
4.boolean类型不能进行数据类型转换。
5.对于基本类型来说,==
是进行数值比较;对于引用类型来说,==
是进行地址值比较。
算术运算符
1.对于String字符串类型来说,“+”代表字符串连接操作。
2.byte,short,char三种类型进行运算时,都会被首先提升为int类型,再进行计算。
方法
1.方法重载与方法的返回值无关。
2.当数组作为参数传递到方法中时,传递的是数组的地址值。
3.当方法的局部变量和成员变量重名时,根据就近原则,优先使用局部变量。
数组
1.数组的长度在运行期间不可被改变。
2.静态初始化时,数组先有个默认值,随后立即被赋值。
字符串
1.字符串中的内容永不可变。
2.字符串可以共享使用。
3.字符串效果相当于char[]字符数组,但底层原理是byte[]字节数组。
4.通过双引号""
定义的字符串在字符串常量池中,new
出来的字符串不在常量池中。
关键字
- static
1.静态变量属于类,被所有对象共享。
2.静态方法不能直接访问非静态变量,也不能使用this关键字。
继承
1.Java语言是单继承的(一个类的直接父类只能有一个)。
2.子类必须调用父类构造方法。
匿名
1.匿名内部类在创建对象时只能使用唯一一次。
2.匿名对象在调用方法时只能使用唯一一次。
集合
1.集合是一种容器,用来存储多个数据。
2.集合的长度可以改变。
3.集合存储的是对象,对象的类型可以不一致。
List接口
1.有序(存储和取出的顺序相同)。
2.允许存储重复元素。
3.有索引。Set接口
1.不允许存储重复元素。
2.没有索引。
内存划分
Java中的内存总共划分为五个部分。
栈(Stack):存放方法中的局部变量。(方法的运行在栈中)
局部变量:方法的参数或者方法{}内部的变量。
作用域:一旦超出作用域,立即从栈内存消失。堆(Heap):凡是
new
出来的东西都在堆当中。
堆内存里的东西都有一个地址值:16进制。
堆内存里面的数据都有默认值:数据类型 默认值 整数 0 浮点数 0.0 字符 '\u0000' 布尔 false 引用类型 null 方法区(Method Area):存储.class相关信息,包含方法的信息(只存储死信息)
本地方法栈(Native Method Stack):与操作系统相关。
寄存器(pc Register):与CPU相关,性能非常高。
其他注意
1.ArrayList集合不能直接存储整数,可以存储Integer包装类。
关于编译器
1.对于byte,short,char三种类型的数据来说,如果右侧数据没有超过左侧范围,则编译器补上强转;如果右侧数据超过左侧范围,则编译器报错。
2.如果等号右侧的表达式是一串常量,没有变量参与,则该表达式在编译时就进行了运算,而不是等到程序运行时再计算。“编译器的常量优化”.
3.字符串“重地”和字符串“通话”的哈希值是一样的。
ArrayList集合
- 底层原理是数组,所以查询快,增删慢。
LinkedList集合
- 底层原理是链表,所以查询慢,增删快。
Vector集合
- 底层原理也是数组,不过是单线程的,实现比较慢。(了解)
重看Java教学视频时的查漏补缺的更多相关文章
- Java查漏补缺(3)(面向对象相关)
Java查漏补缺(3) 继承·抽象类·接口·静态·权限 相关 this与super关键字 this的作用: 调用成员变量(可以用来区分局部变量和成员变量) 调用本类其他成员方法 调用构造方法(需要在方 ...
- Java基础查漏补缺(2)
Java基础查漏补缺(2) apache和spring都提供了BeanUtils的深度拷贝工具包 +=具有隐形的强制转换 object类的equals()方法容易抛出空指针异常 String a=nu ...
- Java基础查漏补缺(1)
Java基础查漏补缺 String str2 = "hello"; String str3 = "hello"; System.out.println(str3 ...
- 20165223 week1测试查漏补缺
week1查漏补缺 经过第一周的学习后,在蓝墨云班课上做了一套31道题的小测试,下面是对测试题中遇到的错误的分析和总结: 一.背记题 不属于Java后继技术的是? Ptyhon Java后继技术有? ...
- js基础查漏补缺(更新)
js基础查漏补缺: 1. NaN != NaN: 复制数组可以用slice: 数组的sort.reverse等方法都会改变自身: Map是一组键值对的结构,Set是key的集合: Array.Map. ...
- CSS基础面试题,快来查漏补缺
本文大部分问题来源:50道CSS基础面试题(附答案),外加一些面经. 我对问题进行了分类整理,并给了自己的回答.大部分知识点都有专题链接(来源于本博客相关文章),用于自己前端CSS部分的查漏补缺.虽作 ...
- 【Android面试查漏补缺】之事件分发机制详解
前言 查漏补缺,查漏补缺,你不知道哪里漏了,怎么补缺呢?本文属于[Android面试查漏补缺]系列文章第一篇,持续更新中,感兴趣的朋友可以[关注+收藏]哦~ 本系列文章是对自己的前段时间面试经历的总结 ...
- 今天開始慢下脚步,開始ios技术知识的查漏补缺。
从2014.6.30 開始工作算起. 如今已经是第416天了.不止不觉.时间过的真快. 通过对之前工作的总结.发现,你的知识面.会决定你面对问题时的态度.过程和结果. 简单来讲.知识面拓展了,你才干有 ...
- Mysql查漏补缺笔记
目录 查漏补缺笔记2019/05/19 文件格式后缀 丢失修改,脏读,不可重复读 超键,候选键,主键 构S(Stmcture)/完整性I(Integrity)/数据操纵M(Malippulation) ...
随机推荐
- synchronized真的很重么?
synchronized 是java中常见的保证多线程访问共享资源时的安全的一个关键字.很多人在讲到synchronized 时都说synchronized 是一把重量级的锁,那么synchroniz ...
- JAVA - 缓冲和缓存
JAVA - 缓冲和缓存 缓冲 Buffer 功能:协调上下层应用之间的性能差异.通过缓冲区的缓冲,当上层组件性能优于下层组件的时候,缓冲可以有效减少上层组件对下层组件的等待时间. 使用场景:IO流中 ...
- linux运维基础1
内容概要 运维简介 运维岗位职责 服务器 服务器硬件介绍 磁盘阵列 虚拟化软件及环境 虚拟化软件 安装操作系统 Vmware虚拟机安装及相关配置流程 内容详情 运维简介 运维岗位职责 核心:运行维护应 ...
- android系统常见问题类型
android系统中常见的异常问题,包括上层应用.框架.内核.驱动等,一般来说有如下一些异常问题类型: ANR,Answer No Response,应用无响应. FC,Force Close,强制退 ...
- Django从数据库导model迁移乱码
python manage.py inspectdb > [your app name]\models.py 执行后 model.py乱码,将models.py以 UTF-16LE打开.
- 第六章、PXE高效网络装机、Kickstart无人值守安装
目录 一.部署PXE远程安装服务 1PXE定义 2PXE服务优点 3搭建网络体系前提条件 4PXE实现过程讲解 二.搭建PXE远程安装服务器 三.Kickstart无人值守安装 一.部署PXE远程安装 ...
- salt stack安装与使用
SaltStack除了传统的C/S架构外,其实还有Masterless架构,如果采用Masterless架构,我不需要单独安装一台SaltStack Master机器,只需要在每台机器上安装Minio ...
- 利用MySQL中的乐观锁和悲观锁实现分布式锁
背景 对于一些并发量不是很高的场景,使用MySQL的乐观锁实现会比较精简且巧妙. 下面就一个小例子,针对不加锁.乐观锁以及悲观锁这三种方式来实现. 主要是一个用户表,它有一个年龄的字段,然后并发地对其 ...
- Unsupervised Person Re-identification by Soft Multilabel Learning
简介: 这是一篇19年CVPR的跨域无监督Re-ID论文,在Market1501和DukeMTMC-reID上分别达到了67.7%和67.1%的rank-1精度,算是一篇将准确度刷得比较高的论文了,在 ...
- nodejs - http.request是否有超时
默认没有.那么,req.setTimeout(msec, callback)是干什么用的. 它的意思是 socket msec 没有活动后执行callback,不帮你关闭连接. 就像一个秒表,每收到数 ...