Day01

1.基本数据类型各占几个字节

Byte 1 short2 int4 long8 float4 double6 char2 boolean1

  1. Byte b1=3,b2=4;

B=b1+b2; 错误 因为他们最终需要向上转型int类型

B2=3+4;正确 因为他们都是常亮 可以直接识别为byte

  1. 算数运算符 + 用于字符串拼接 或者数字相加
  2. 赋值运算符+= = *= %=

         Day03 Day21

1.Break 和continue 的区别

Break可以使用一些关键字直接跳出正在执行的代码,去执行后边或者指定位置的代码,

这些关键字一旦出现就可以跳转语句执行顺序

Continue 提前结束本次循环,继续进行下次循环

  1. Throw 和throws 的区别

Throw定义在方法中,后边跟的是异常对象.

同时只能抛出一个异常对象

Throws 是在方法的声明上,后面跟的是异常的类型,后边同事可以跟多个数据类型

  1. finally 返回路径面试题

//返回路径:每次碰到return就会在返回路径中临时存储这个被返回的值,无论方法内有任何的改变,返回路径中的这个值一致不变。

在IO流操作和数据库操作中会见到

  

  1. 异常和错误的区别

异常:指程序在编译和运行期间发生了某种异常,,我们可以对异常进行具体的处理.

错误:指程序在运行期间发生了某种错误,Error错误通常没有具体的处理方式,程序将会结束运行.Error错误的发生一般都是系统级别的问题,都是jvm所在系统发生的,并反馈给jvm的.

  1. 异常处理流程:a:由于没找到索引,导致运行发生异常. 这个异常jvm认识ArrayIndexOutOfBoundException java将异常信息直接封装到异常对象中,  b:throw new ArrayIndexOutOfBoundException(4);产生异常对象, jvm将产生的异常抛给调用者main()方法

C:main()方法接收到了数组索引越界异常对象  由于main()方法并没有进行异常处理,main()方法就会继续把异常抛给调用者jvm   当jvm 收到异常后,将异常对象中的名称`异常内容`位置都显示在控制台上.同时让程序立刻停止.

3.* B:运行时期异常的特点

* a:方法中抛出运行时期异常,方法定义中无需throws声明,调用者也无需处理此异常。

* b:运行时期异常一旦发生,需要程序人员修改源代码。

  1. Throwable类方法

printStackTrace()方法

在控制台输出该异常的名称与详细信息字符串、异常出现的代码位置

Day 03--04 day16

基本数据类: 比较的是内容(值)

引用数据类型:比较的是内存地址值

String 的equals比较的是内容

* Calendar类写了静态方法 getInstance() 直接返回了子类的对象

* 不需要直接new子类的对象,通过静态方法直接获取

  1. 其中需要注意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区域划分的更多相关文章

  1. JVM知识总结-运行时区域划分

    区域简介 JVM运行时区域有些随着虚拟机进程的启动而存在,有些依赖于用户线程的启动和结束而建立和销毁,大致分为以下几类:方法区,虚拟机栈,本地方法栈,堆,程序计数器,概念图如下(源于<深入理解J ...

  2. JVM探秘1--JVM内存运行时区域划分

    Java程序员一般不需要太关注内存,因为操作内存的权力都交给了Java虚拟机,但是Java程序员必须需要了解JVM是如何使用内存的,否则一旦内存出现泄漏或事溢出的话,就会一筹莫展不知道从哪去入手排查问 ...

  3. JVM 运行时数据区域划分

    目录 前言 什么是JVM JRE/JDK/JVM是什么关系 JVM执行程序的过程 JVM的生命周期 JVM垃圾回收 JVM的内存区域划分 一.运行时数据区包括哪几部分? 二.运行时数据区的每部分到底存 ...

  4. JVM笔记-运行时内存区域划分

    1. 概述 Java 虚拟机在执行 Java 程序的过程中会把它管理的内存划分为若干个不同的数据区域.它们各有用途,有些随着虚拟机进程的启动一直存在(堆.方法区),有些则随着用户线程的启动和结束而建立 ...

  5. JVM的内存区域划分

            JVM的内存区域划分 学过C语言的朋友都知道C编译器在划分内存区域的时候经常将管理的区域划分为数据段和代码段,数据段包括堆.栈以及静态数据区.那么在Java语言当中,内存又是如何划分的 ...

  6. JVM内存区域划分

    前言 Java程序的运行是通过Java虚拟机来实现的.通过类加载器将class字节码文件加载进JVM,然后根据预定的规则执行.Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同 ...

  7. JVM内存区域划分(JDK6/7/8中的变化)

    前言 Java程序的运行是通过Java虚拟机来实现的.通过类加载器将class字节码文件加载进JVM,然后根据预定的规则执行.Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同 ...

  8. JVM的内存区域划分(转)

    原文链接:JVM的内存区域划分 JVM的内存区域划分 学过C语言的朋友都知道C编译器在划分内存区域的时候经常将管理的区域划分为数据段和代码段,数据段包括堆.栈以及静态数据区.那么在Java语言当中,内 ...

  9. 【java】JVM的内存区域划分

    学过C语言的朋友都知道C编译器在划分内存区域的时候经常将管理的区域划分为数据段和代码段,数据段包括堆.栈以及静态数据区.那么在Java语言当中,内存又是如何划分的呢? 由于Java程序是交由JVM执行 ...

随机推荐

  1. Python 生成随机验证码

    Python生成随机验证码  Python生成随机验证码,需要使用PIL模块. 安装: 1 pip3 install pillow 基本使用 1. 创建图片 1 2 3 4 5 6 7 8 9 fro ...

  2. 使用MFC创建C++程序

    编译环境:VS2017 MFC简介: MFC(MicrosoftFoundationClasses)是微软基础类库的简称,是微软公司实现的一个c++类库,主要封装了大部分的windows API函数. ...

  3. Java面试题——中级(上)

    List和Set比较,各自的子类比较 对比一:Arraylist与LinkedList的比较 1.ArrayList是实现了基于动态数组的数据结构,因为地址连续,一旦数据存储好了,查询操作效率会比较高 ...

  4. SpringBoot: 配置加载顺序

    在应用程序中各种配置是不可避免的,Spring中对配置的抽象(Environment)可以说是达到了极致,其中有一项尤为突出:PropertySource(配置来源),配置来源通常包括命令行参数,系统 ...

  5. java之设计模式工厂三兄弟之抽象工厂模式

    [学习难度:★★★★☆,使用频率:★★★★★]  工厂方法模式通过引入工厂等级结构,解决了简单工厂模式中工厂类职责太重的问题,但由于工厂方法模式中的每个工厂只生产一类产品,可能会导致系统中存在大量的工 ...

  6. ·c#之Thread实现暂停继续(转)

    暂停与继续实现,可以使用Thread.Suspend和Thread.Resume而这两个方法,在VS2010里提示已经过时,不建议使用,在网上查阅了一些资料,发现有个事件通知的方法很好,事件通知的大致 ...

  7. PostgreSQL的insert注入

    写这篇文是在昨夜的ctf中遇到的. ctf地址:bloody-feedback.quals.2017.volgactf.ru email存在注入,在ctf中发现注入就很好办了,只要找到能绕过的方法就行 ...

  8. 再深刻理解下web3.js中estimateGas如何计算智能合约消耗的gas量

    我们可使用web3.js框架的estimateGas函数获得一个以太坊智能合约的Gas估计值 ,通过执行一个消息调用或交易,该消息调用或交易直接在节点的VM中执行,并未在区块链中确认,函数会返回估算使 ...

  9. [SHOI 2011]双倍回文

    Description 题库链接 记一个字符串为 \(X\) ,它的倒置为 \(X^R\) .现在给你一个长度为 \(n\) 的字符串 \(S\) ,询问其最长的形同 \(XX^RXX^R\) 的子串 ...

  10. [NOI 2014]起床困难综合症

    Description 21 世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳.作为一名青春阳光好少年,atm 一直坚持与起床困难综合症作斗争.通过研究相关文献,他找 ...