网站首页 > java教程 正文
1.什么是java
java是一种面向对象的编程语言。
摒弃了c++语言的多继承和指针等难以理解的概念。
同时增加了垃圾回收机制(GC),
释放了不被使用的内存空间,
解决了管理内存空间的烦恼。
2.java的特点
面向对象
(封装 继承 多态 抽象(数据抽象(成员属性) 过程抽象(成员方法) ))
平台无关性("一次编译,到处运行",原因:jvm虚拟机,字节码只面向jvm)
简单性
解释执行
(((jdk)-> jre)-> jvm)
(源代码 ->((java编译器)(词法分析器 语法分析器 语法抽象语法树 语义分析器 注解抽象语法树 字节码分析器)编译)->字节码文件.class ->(类加载器 字节码校验器(jvm)解释)-> 机器可执行的二进制机器码 ->((操作系统)执行) )
多线程(Thread类,Runnable()方法)
分布式(RIM 机制)
健壮性(提供了异常处理机制、强类型机制、垃圾回收机制(GC))
高性能(JIT(即时编译)))
安全性(提供安全机制,分配不同的名字空间以防止替代本地的同名类)
3.Oracle JDK 和 Open JDK
Oracle JDK:版本每三年发布一次,是Open JDK的一个实现,不完全开源,比Open JDK更稳定,根据二进制代码许可协议获得许可,响应性和jvm性能方面比Open JDK更好,不会为即将发布的版本提供长期支持(LTS)
Open JDK:版本每三月发布一次,根据GPL v2许可获得许可
4.java的几种基本数据类型(拆箱)(将变量值存放在栈中)
内存空间大的数据类型转换为小的会发生精度丢失
1byte(字节) = 8bit(位)(下面自己换算)
byte(1byte)(default_value:0)
short(2byte)(default_value:0)
int(4byte)(default_value:0)
long(8byte)(default_value:0L)
float(4byte)(default_value:0.0f)
double(8byte)(default_value:0.0d)
char(2byte)
boolean(1byte) (default_value:false)
它们的包装类(装箱)(初始值为null)(将对象存放在堆中):
Byte Short Integer Long Float Double Character Boolean
5.引用数据类型:类 接口 数组
6.基本数据类型和引用数据类型的区别
基本数据类型的变量名指向具体数值;数值存放于栈内存中;用==和!=判断数据是否相等
引用数据类型的变量名指向存数据的内存地址,也就是hash值;数值(hash值)的引用存放于栈内存中,对象地址存放于堆内存中,然后由栈内存中的引用指向堆内存中的对象地址;用equals()方法比较内存地址
7.a=a+b与a+=b区别
a+=b:右边表达式会进行隐式自动类型转换为左边的数据类型
8.final在java中的作用
final修饰类:该类比可以被继承
final修饰方法:该方法不可以被重写
final修饰变量:该变量只能被赋值一次且不可被修改
final修饰常量:在编译阶段会存入常量池中
9.static在java中的作用
static修饰类:可以直接通过类进行调用
static修饰变量:分配在内存堆中,引用都会指向这个地址而不会重新分配内存
static修饰方法块:虚拟机优先加载
10.什么是序列化(可序列化)(可串行化)
将对象的状态信息转换为可以存储或传输的形式的过程
序列化:将java对象转换成某种格式的字节流进行传输或者存储到硬盘(持久化)
反序列化:将某种格式的字节流转换成java对象
目的:为了网络进行传输(流)和持久化(存储)
序列化方式:
Serializable接口序列化(常用)(mini接口,没有要实现的方法,只是为了标注此对象是可被序列化的)
Json序列化
FastJson序列化
ProtoBuff序列化
有误之处望指点!【Email:3147310397@qq.com】
猜你喜欢
- 2024-10-07 Java基本知识点概念(java基本知识点概念图片)
- 2024-10-07 Java知识点(含PDF)(java必学知识点)
- 2024-10-07 java基础知识点(java基础知识点面试题)
- 2024-10-07 2022最新Java核心知识点汇总,从入门到精通一步到位
- 2024-10-07 纯干货:Java学习过程中的21个知识点和技术点
- 2024-10-07 Java基础(java基础案例教程第二版答案)
- 2024-10-07 Java基础知识点有哪些 如何快速步入Java行业
- 2024-10-07 JAVA编程基础知识点(java编程基础知识点总结)
- 2024-10-07 java核心知识点最全整理(java核心知识pdf)
- 2024-10-07 初学者怎么学Java编程 Java哪些知识点最重要
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)