基本数据类型 异常 数组排序 JVM区域划分
Day01
1.基本数据类型各占几个字节
Byte 1 short2 int4 long8 float4 double6 char2 boolean1
- Byte b1=3,b2=4;
B=b1+b2; 错误 因为他们最终需要向上转型int类型
B2=3+4;正确 因为他们都是常亮 可以直接识别为byte
- 算数运算符 + 用于字符串拼接 或者数字相加
- 赋值运算符+= = *= %=
Day03 Day21
1.Break 和continue 的区别
Break可以使用一些关键字直接跳出正在执行的代码,去执行后边或者指定位置的代码,
这些关键字一旦出现就可以跳转语句执行顺序
Continue 提前结束本次循环,继续进行下次循环
- Throw 和throws 的区别
Throw定义在方法中,后边跟的是异常对象.
同时只能抛出一个异常对象
Throws 是在方法的声明上,后面跟的是异常的类型,后边同事可以跟多个数据类型
- finally 返回路径面试题
//返回路径:每次碰到return就会在返回路径中临时存储这个被返回的值,无论方法内有任何的改变,返回路径中的这个值一致不变。
在IO流操作和数据库操作中会见到
- 异常和错误的区别
异常:指程序在编译和运行期间发生了某种异常,,我们可以对异常进行具体的处理.
错误:指程序在运行期间发生了某种错误,Error错误通常没有具体的处理方式,程序将会结束运行.Error错误的发生一般都是系统级别的问题,都是jvm所在系统发生的,并反馈给jvm的.
- 异常处理流程:a:由于没找到索引,导致运行发生异常. 这个异常jvm认识ArrayIndexOutOfBoundException java将异常信息直接封装到异常对象中, b:throw new ArrayIndexOutOfBoundException(4);产生异常对象, jvm将产生的异常抛给调用者main()方法
C:main()方法接收到了数组索引越界异常对象 由于main()方法并没有进行异常处理,main()方法就会继续把异常抛给调用者jvm 当jvm 收到异常后,将异常对象中的名称`异常内容`位置都显示在控制台上.同时让程序立刻停止.
3.* B:运行时期异常的特点
* a:方法中抛出运行时期异常,方法定义中无需throws声明,调用者也无需处理此异常。
* b:运行时期异常一旦发生,需要程序人员修改源代码。
- Throwable类方法
printStackTrace()方法
在控制台输出该异常的名称与详细信息字符串、异常出现的代码位置
Day 03--04 day16
基本数据类: 比较的是内容(值)
引用数据类型:比较的是内存地址值
String 的equals比较的是内容
* Calendar类写了静态方法 getInstance() 直接返回了子类的对象
* 不需要直接new子类的对象,通过静态方法直接获取
- 其中需要注意int对应的是Integer,char对应的Character
JVM内存划分
* A:内存划分
* JVM对自己的内存划分为5个区域
* a: 寄存器:内存和CUP之间
* b: 本地方法栈: JVM调用了系统中的功能
* c: 方法和数据共享: 运行时期class文件进入的地方
* d: 方法栈:所有的方法运行的时候进入内存
* e: 堆:存储的是容器和对象
3.5:数组的概念?有什么特点?
数组是储存相同类型数据的容器
长度不可变
元素类型相同
4.数组最大值
class Demo5 {
public static void main(String[] args) {
int arr[] = { 2, 4, 6, 7, 8, 9, 5, 7 };
for (int a = 0; a < arr.length; a++) {
for (int b = 0; b < arr.length; b++) {
if (arr[a] < arr[b]) {
int temp = arr[a];
arr[a] = arr[b];
arr[b] = temp;
}
}
}
System.out.println("max = "+arr[arr.length-1]);
}
}
5. 数组元素逆序 (就是把元素对调)
代码:
class Demo5 {
public static void main(String[] args) {
// 数组元素逆序 (就是把元素对调)
int arr[] = { 1, 2, 4, 5, 6, 7, 8 };
for(int a = arr.length-1 ; a >= 0 ; a--){
System.out.print(arr[a]+" ");
}
}
}
基本数据类型 异常 数组排序 JVM区域划分的更多相关文章
- JVM知识总结-运行时区域划分
区域简介 JVM运行时区域有些随着虚拟机进程的启动而存在,有些依赖于用户线程的启动和结束而建立和销毁,大致分为以下几类:方法区,虚拟机栈,本地方法栈,堆,程序计数器,概念图如下(源于<深入理解J ...
- JVM探秘1--JVM内存运行时区域划分
Java程序员一般不需要太关注内存,因为操作内存的权力都交给了Java虚拟机,但是Java程序员必须需要了解JVM是如何使用内存的,否则一旦内存出现泄漏或事溢出的话,就会一筹莫展不知道从哪去入手排查问 ...
- JVM 运行时数据区域划分
目录 前言 什么是JVM JRE/JDK/JVM是什么关系 JVM执行程序的过程 JVM的生命周期 JVM垃圾回收 JVM的内存区域划分 一.运行时数据区包括哪几部分? 二.运行时数据区的每部分到底存 ...
- JVM笔记-运行时内存区域划分
1. 概述 Java 虚拟机在执行 Java 程序的过程中会把它管理的内存划分为若干个不同的数据区域.它们各有用途,有些随着虚拟机进程的启动一直存在(堆.方法区),有些则随着用户线程的启动和结束而建立 ...
- JVM的内存区域划分
JVM的内存区域划分 学过C语言的朋友都知道C编译器在划分内存区域的时候经常将管理的区域划分为数据段和代码段,数据段包括堆.栈以及静态数据区.那么在Java语言当中,内存又是如何划分的 ...
- JVM内存区域划分
前言 Java程序的运行是通过Java虚拟机来实现的.通过类加载器将class字节码文件加载进JVM,然后根据预定的规则执行.Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同 ...
- JVM内存区域划分(JDK6/7/8中的变化)
前言 Java程序的运行是通过Java虚拟机来实现的.通过类加载器将class字节码文件加载进JVM,然后根据预定的规则执行.Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同 ...
- JVM的内存区域划分(转)
原文链接:JVM的内存区域划分 JVM的内存区域划分 学过C语言的朋友都知道C编译器在划分内存区域的时候经常将管理的区域划分为数据段和代码段,数据段包括堆.栈以及静态数据区.那么在Java语言当中,内 ...
- 【java】JVM的内存区域划分
学过C语言的朋友都知道C编译器在划分内存区域的时候经常将管理的区域划分为数据段和代码段,数据段包括堆.栈以及静态数据区.那么在Java语言当中,内存又是如何划分的呢? 由于Java程序是交由JVM执行 ...
随机推荐
- Echarts 中国地图(包括china.js文件)
用Echarts写中国地图需要导入china.js(现在官方不提供下载,个人找的在最下面有),根据需要的效果如下.位置可以自己在option里面修改 <!DOCTYPE html> < ...
- HashMap就是这么简单【源码剖析】
前言 声明,本文用得是jdk1.8 前面已经讲了Collection的总览和剖析List集合以及散列表.Map集合.红黑树的基础了: Collection总览 List集合就这么简单[源码剖析] Ma ...
- 使用TortoiseSVN打Tag
参考了 https://blog.csdn.net/liuzx32/article/details/9123401. 值得注意的点是: 选择路径的时候,不要先点进去自己建好叶子节点路径再选择该路径,会 ...
- 关于HTML
我的PHP学习之旅 学习PHP已经有一段时间了,今天才想好好的总结一下这一路走来的点点滴滴,也想把我的学习方法及经验分享给大家,希望能对你有所帮助. 首先学习的是PHP前端部分,这里需要学习的知识有H ...
- TSQL:A表字段与B表中的关联,关联条件中一列是随机关联的实现方式
A表字段与B表中的关联,关联条件中一列是随机关联的实现方式 create table test( rsrp string, rsrq string, tkey string, distan strin ...
- POJ-1861 Network---最小生成树
题目链接: https://vjudge.net/problem/POJ-1861 题目大意: 有一些公司,公司之间需要连接起来.给出了哪些公司可以连接以及连接边的长度.求最小生成树中最大的边,以及最 ...
- pandas(七)数据规整化:清理、转换、合并、重塑之合并数据集
pandas对象中的数据可以通过一些内置的方式进行合并: pandas.merge 可根据一个或多个键将不同的DataFrame中的行连接起来. pandas.concat可以沿着一条轴将多个对象堆叠 ...
- phantomjs 开发爬虫框架
函数 page.childframescount page.childframesname page.close page.currentframename page.deletelater page ...
- python3全栈开发-socket编程
一. 客户端/服务器架构 1.硬件C/S架构(打印机) 2.软件C/S架构 互联网中处处是C/S架构 如黄色网站是服务端,你的浏览器是客户端(B/S架构也是C/S架构的一种) 腾讯作为服务端为你提供视 ...
- Flask博客开发——Tinymce编辑器
之前Flask博客的文本编辑器比较简陋,这里为博客添加个优雅易用的Tinymce文本编辑器. 1.项目中添加Tinymce 下载好Tinymce包以及语言包,并添加到项目中.添加到项目的方法,参考了这 ...