学习Java

Java的发展史

Java发展历史

Java 的历史要追溯到 1991 年, 由 Sun 公司带领的开发小组, 想设计一种小型的计算机语言,主要用于有线电视转换盒这类的消费设备。 由于这类设备的处理能力和内存都非常有限,所以语言就必须设计的非常小且能够生成紧凑的代码。 另外,由于不同的厂商会选择不同的 CPU, 因此很重要的一点就是这种语言不应该与任何特定的体系结构绑定。这个项目被命名为 “Green”。

Sun 公司的人都有 Unix 的应用背景, 所以开发的语言用了 C++ 为基础。并把这种语言称为 “Oak”, 后来, Sun 公司的人后来发现, Oak 是一种已经有的计算机语言的名字, 于是, 将其改名为 “Java”。

- 引入的新特性包括:
- 引入集合(Collection)框架;
- 对字符串常量做内存映射;
- 引入JIT(Just In Time)编译器;
- 引入对打包的Java文件进行数字签名;
- 引入控制授权访问系统资源的策略工具;
- 引入JFC(Java Foundation Classes),包括Swing 1.0、拖放和Java 2D类库;
- 引入Java 插件;
- 在JDBC中引入可滚动结果集、BLOB、CLOB、批量更新和用户自定义类型;
- 在Applet中添加声音支持。

Java的三大平台

(1)Java SE 标准版
        Java Standard Edition

        开发普通桌面和商务应用程序,包括Java最核心的类库(集合、数据库连接、网络编程等等)。

        1995年5月Java语言诞生,2019年9月发布Java SE 13.

        Java语言中常用的包:

                java.util  包含Java中大量工具类、集合类等,如Arrays、List、Set等

                 java.net  包含Java网络编程相关的类和接口。

                 java.io  包含Java输入、输出有关的类和接口。

                 java.awt  包含用于构建GUI的相关类和接口。

                说明:GUI, Graphical User Interface 图形用户界面

(2)Java EE 企业版
        Java Enterprise Edition

        开发企业级应用程序,包括Servlet、JSP、JavaBean、JDBC、Web Service等技术

(3)Java ME 微型版
        Java Micro Edition

        开发电子消费产品和嵌入式设备。该版本还提供HTTP等高级Internet协议,使移动电话能以客户端/服务器(Client/Server, C/S)方式直接访问Internet的全部信息,提供高效率的无线交流。

        

        使用import关键字导入某个包中的某个类:import 包名.类名

        如果需要用到一个包中的多个类,可使用:import 包名.*,从而导入该包下所有的类
————————————————
版权声明:本文为CSDN博主「卢奕冰2017」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/luyibing2017/article/details/124019033

JDK,JRE,JVM是什么

  1. JDK(java Development Kit) Java 开发工具包
  1. 编译器
  2. 解释器
  3. 源代码
  4. JRE
  1. JRE(java Runtime Environment)Java 运行环境
  1. 源代码
  2. JVM
  3. JVM(Java Virtual Machine)Java虚拟机

JDK与JRE,JVM的关系

 安装jdk后为什么要配置环境变量

这是因为我们执行java命令需要开发工具集,而这些工具文件在jdk目录下的bin目录里面,所以我们在bin目录下可以成功执行java命令,其他目录不行。去配置环境变量!!!我们配置环境变量的目的就是让java命令在任何目录下都可以执行,或者说让它执行时跳转到jdk的bin目录下。

Java的语言跨平台的原理

首先我们来说一下Java代码的运行过程:

1、首先将java文件编译成字节码(.class)文件;

2、使用Java虚拟机(JVM–Java Virtual Machine)运行运行字节码文件。

上面的步骤中,第一步中,在所有的平台上生成的字节码文件都是相同的。

上面的步骤中,第二步中,在不同的平台上运行字节码文件的Java虚拟机是不同的。

Java的开发团队针对不同的平台开发出了对应版本的java虚拟机,这使得同一个java代码文件可以再不同的平台上运行。

所以,java能实现跨平台运行是因为有各种平台对应版本的java虚拟机的支持
 

Java程序执行的过程

javac和Java的区别

java编译器名称是javac,是将源文件编译为字节码文件的程序,而java是java解释器的名称,也就是解释和执行字节码文件的程序。

注意:::

java源文件必须是具有   .java  扩展名

java字节码文件必须具有   .class  扩展名

Java文件和class文件的区别

.java文件,就是当前编写的代码文件
.class文件,就是编译过后的文件(jvm只识别.class文件)
比如myeclipse,我们在点run的时候,都是将.java文件先编译成.class文件 然后才能运行的

Java的基本数据类型

byte,和short,int,long四种类型的区别

一、byte

byte的表示位数为-128~127

当我们byte num01 = 128时,数字超过的byte的表示范围,会报错,因为128默认为int型;

所以我们要遵从:当表示范围大的数据类型转换成表示范围小的数据类型时,要强制转换

byte num01 = (byte)128得到-128(这里可以理解成127+1得到-128,回到最小,也表示-0)

注意:byte num01 = 1,num02 = 2;byte num03= num01+num02;也会报错

原因:int类型进行了算术运算不能直接转换为byte和short,需要进行强制类型转换。

二、short

short的表示位数是为-32768~32767

同理当我们short num04 = 32768时也需要强制类型转换:

short num04 = (short)32768得到-32768。

三、int

int的表示位数为-2147483648~2147483647

当我们用 int num05 = 2147483648来初始化变量时,也会报错:

这儿直接报的是超过表示范围而导致的错误,由于数字2147483648本身就为int类型,属于同级,所以不能进行强制类型转换来得到结果,那么:

我们可以通过int num05 = 2147483647+1 来得到-2147483648的结果(int类型进行运算,最大数+1=最小的)

 四、long

long的表示位数为-9223372036854775808~9223372036854775807

当我们long num06 = 2147483648时,会报错
 

因为int超过了自己的范围;

我们可以通过long num06 = 2147483648L转换成long来修改,也可以long num06 = 2147483647+1来修改,会得到-2147483648(int类型<long类型,小转大直接转换,int自己内部运算得到-2147483648)
 

float和double的区别

ouble 和 float 的区别是double精度高,有效数字16位,float精度7位。但double消耗内存是float的两倍,double的运算速度比float慢得多,C语言中数学函数名称double 和 float不同,不要写错,能用单精度时不要用双精度(以省内存,加快运算速度)。
 

计算机最小的存储单位,最小的空间单位

内存

硬盘

最小的单位:比特一个bit只能存储一个0或1

每8个比特是一个最小的存储空间称为byte(字节

bit,B,KB,MB,GB,TB,PB分别是什么单位,换算是什么

1.B是Byte的缩写,B就是Byte,也就是字节(Byte)

2.b是bit的缩写,b就是bit,也就是比特位(bit)

3.B与b不同,注意区分,KB是千字节,Kb是千比特位

1MB(兆字节) = 1024KB(千字节)= 1024*1024B(字节) = 1048576B(字节)
8bit(比特位)= 1Byte(字节)
1024Byte(字节)= 1KB(千字节)
1024KB(千字节)= 1MB(兆字节)
1024MB = 1GB
1024GB = 1TB
1024TB = 1PB
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值