【Java 2 Platform Enterprise Edition】基础
问题1:为什么java是无关平台? |
你之前用C或者C++写的源代码,编译好后,换一种操作系统,可能就执行不了了。因为新的操作系统不识别,你需要修改你的源码,并在新的操作系统上重新编译才能运行,比如Windows,它只识别exe,它能将EXE直接翻译成01代码,却无法将java编译器产生的东西翻译成01代码。 但java有一个虚拟机的机制,用java写的源代码先经过java编译器的翻译,产生class文件,这个class文件只能在java的操作系统上识别,但如果是别的平台,java虚拟机作为一个统一的接口,屏蔽了不同机器之前的区别,java虚拟机根据底层对应不同的平台有不同的虚拟机,屏蔽底层运行平台,实现了一次编译,随处执行 。java虚拟机是字节码为机器指令的CPU,这样对于java来说,它看不见操作系统底层,只是在自己的虚拟环境中执行,就实现了java语言的平台无关性。
问题:java中整数的范围? |
答: 以1byte为例 ,它用二进制码表示的范围----映射----整数
类似的其他
类型 | 占用存储空间 | 表示数的范围 | 表示 |
---|---|---|---|
byte | 1字节 | -128~127 | -27~27-1 |
short | 2字节 | -32768~32767 | -215~215-1 |
int | 4字节 | -2147483648~2147483647 | -231~231-1 |
long | 8 字节 | -9223372036854775808~9223372036854775807 | -263~263-1 |
不论在什么平台上都一样
问题:java中浮点数的表示? |
答:
1. 十进制表示 :3.14 或 314.0 或 0.314
2. 科学计数法表示:
科学计数法的表示 | 真实值 |
---|---|
3.14e2 | 3.14×102 |
3.14E2 | 3.14×102 |
100E-2 | 100×10-2 |
3. java中的浮点数:
类型 | 占用存储空间 | 表示数的范围 |
---|---|---|
float | 4字节 | -3.403E38~3.403E38 |
double | 8字节 | -1.798E308~1.798E308 |
浮点数,在科学计算中用到,在普通的开发中运用较少,可以先忽略
问题:引用数据类型? |
答:
1.java中有4种8类基本数据类型(basic type)
类型 | 类别 |
---|---|
逻辑型 | boolean |
文本型 | char |
整数型 | byte short int long |
浮点数型 | float double |
2.java中除了基本类型,其他类型都属于引用类型(reference type) 例如:实例化类产生的对象就是引用类型
问题:引用类型传递的是对对象的引用,而不是对象本身? |
答:
1.java中值传递就是将元数据拷贝一份,将拷贝数据进行运算,拷贝数据的运算不会影响元数据
2.java中引用传递就是将元数据的地址赋值给变量,若指向这个地址的变量改变,该地址里的元数据也就会跟着改变
3.值传递类似C语言中的传值调用,将实参的值赋给形参
4.引用传递类似C语言中的传址调用,将实参的地址赋给形参
引用类型传递的是地址(对象的引用),而不是对象本身的值
问题:值传递 引用传递? |
答:
1.在java中只有基本数据类型和 这种方式定义的string 【string str ="Java" 】 是按值传递的
2.其它都是按引用传递的
问题:堆内存 栈内存 调用过程?? |
答:
从main函数调用进去后。实例化基础类型时,只在栈内存开辟一个内存空间,用来存放这个值。
实例化引用类型,如类时,构造函数在堆内存中构造出对象后
在栈内存中开辟空间用来给为构造方法的局部变量
在类的成员变量通过构造函数赋值结束后,将栈内存中为构造方法分配的局部变量释放
此时 类的栈内存会在开辟的空间存放该对象堆内存所在的地址。
在程序运行结束后,为构造方法分配的局部变量消失。
堆内存中对象,垃圾回收机制发现没有指向它的引用,就自动将它回收。
【Java 2 Platform Enterprise Edition】基础相关推荐
- java api iphone版_Java Platform, Enterprise Edition 5/6/7 API Specification
支持中文.英语.日语.韩语.法语.德语.俄语.西班牙语.葡萄牙语.藏语.西语等109种语言翻译.实景AR翻译.拍照翻译.语音翻译.对话翻译.在线翻译.离线翻译更顺畅.[权威词典]完整收录学习型牛津词典 ...
- java doubke类型转换为String_Java基础知识面试题大集合
本文整理自作者:ThinkWon 链接: blog.csdn.net/ThinkWon/article/details/104390612 本文知识点目录 Java概述 何为编程 什么是Java j ...
- java第一周_从计算机基础到流程控制语句(if_else)
一.计算机基础 裸机 没有安装任何软件的计算机(无操作系统.无应用软件) 计算机的应用 1.科学计算 科学计算也称数值计算.计算机最开始是为解决科学研究和工程设计中遇到的大量数学问题的数值计算而研制的 ...
- java 新手入门电子书_java基础知识(适合新手入门).pdf
Java 基础知识 本文中主要分为三个部分,第一个部分介绍java 的基本概念,第二部分介绍了java 的 基础知识,第三部分讲解了java 的语法以及实现代码,适合java 初学者学习. 一 Jav ...
- Oracle:推迟了的Java Enterprise Edition 8将会在“今年之内”发布
Oracle一直致力于"在今年年内"推出迟到了的Java Enterprise Edition 8. Oracle:推迟了的Java Enterprise Edition 8将会在 ...
- 服务器3个w目录文件夹,第 4 章 目录服务器条目 (Sun Java System Directory Server Enterprise Edition 6.2 管理指南)...
第 4 章 目录服务器条目 本章讨论如何管理目录中的数据条目.此外,还介绍如何设置引用以及如何加密属性值. 除非定义了相应的访问控制指令 (Access Control Instruction, AC ...
- Java Platform Standard Edition 8 Documentation
下面这个图挺有用的,收藏一下. Oracle has two products that implement Java Platform Standard Edition (Java SE) 8: J ...
- 服务器禁止修改目录,目录服务器限制 (Sun Java System Directory Server Enterprise Edition 6.2 发行说明)...
不要手动更改文件权限. 在某些情况下,对已安装的 Directory Server Enterprise Edition 产品文件的权限进行更改可能会导致软件无法正常运行.只能按照产品文档中的说明或 ...
- Java综合知识总结_基础篇
Java 一.JDK常用的包 java.lang: 这个是系统的基础类,比如String.Math.Integer.System和Thread, 提供常用功能. java.io: 这里面是所有输入输出 ...
最新文章
- 第一个 mac 程序 Create-JSON-Model
- 抛物线交点式公式_2020“九校联考”中点公式解决平四存在性问题
- sql server 2008学习8 sql server存储和索引结构
- 如何删除eclipse多余的工作空间
- python scrapy框架基如何实现多线程_Python实现在线程里运行scrapy的方法
- android 通过浏览器下的apk无法安装_安卓手机必备,文件管理利器!ES文件浏览器特别版安卓软件...
- 开启82571EB/82572EI Multiple transmit queues
- SAP ABAP 培训测试 试卷 答案
- Apollo canbus模块学习笔记
- 华为安全 HCIP 723题库+知识点
- 一个华为人在华为工作十年的感悟
- react中Suspense,EventEmitter的使用
- 同步异步+阻塞非阻塞-三述
- python前端学习之js
- 罗永浩做直播一年能挣多少钱?
- Android Notification通知详细解释
- 北航计算机科学与技术课表,北航计算机科学与技术五年课程参考
- ARM系统下使用Vdbench测试存储性能
- 传统虚拟化的技术实现
- Python3.7 下安装pyqt5