珠海JAVA培训怎么收费
Java还剔除了C++的操作符过载(overload)和多继承特征,并且不使用主文件,免去了预处理程序
学习内容
适合学员:应届毕业生,转行,提升, 有—定IT编程基础。
使用教材:JAVA企业级应用
课程简介:达内的Java 课程为你提供更贴近企业需求的技术方案,并在整个学习过程中,让你掌握所有相关的技术,成为那个更符合企业技术需求的 Java 工程师。
课程特色:
1. 夯实 Java 基础
2. 熟悉 Linux 操作系统
3. 深入学习数据库技术
4. 系统的 Web 前端技术
5. 手写 Tomcat
6. 企业级框架
7. 专门的企业开发及部署环境
8. 规范的企业开发流程及文档
9. 云计算与互联网架构技术
课程详情:
1、Java语言基础:
l 计算机概述、Linux Eclipse开发环境搭建
l 变量、基本数据类型、运算符、流程控制、数组
l 对象、类、属性、方法、构造器、重载、继承、重写、封装、多态、抽象类和接口
2.Java SE核心:
项目需求文档
l Object、String、StringBuilder、正则表达式、集合框架、包装类、二进制
l 文件、IO,线程,网络,XML、Lambda、流、反射API、日期、并发包
l HTTP协议解析、TCP并发编程、线程池、POST、GET、数据库原型实战
3、WEB全栈及数据库技术
l HTML5、CSS3、JavaScript、ES6
l JQuery、Bootstrap、VUE
l Smart Blog界面开发
l MysQL.sQLDDL、DML、DQL、DCL、JDBC、数据库连接池、Druid、数据库设计
l Tomcat、Servlet、Request、Response、Cookies、Session、过滤器、监听器、Thymeleaf模版引擎
l Ajax、Smart Blog
4. 微服务及互联网架构
l 项目需求文档、IDEA开发工具使用
l Spring-..Spring MC、MyBatis、MyBatisPlus、SpringBoot、shiro认证框架、AdminLTE
l Eureka、Ribbon、Feign、Hystrix、Zuul、Config+Git
l 学子商城项目实战,项目搭建、RESTful、文件上载、AOP.拦截器
l Nginx、Redis、MySQL读写分离、Kafka
5. 全栈进阶(工作冲刺)
l Smart MVC 框架
l 索引、视图、存储过程、MySQL函数、存储过程
l CMS、旅游、电信、社交、找房
l Java 内存管理、GC原理、JVM参数调整、排序、二分查找、双向循环链表、二叉树、散列表
什么是装箱?什么是拆箱?
Java为每种基本数据类型都提供了对应的包装器类型,至于为什么会为每种基本数据类型提供包装器类型在此不进行阐述,有兴趣的朋友可以查阅相关资料。在Java SE5之前,如果要生成一个数值为10的Integer对象,*须这样进行:
Integer i = new Integer(10);
而在从Java SE5开始就提供了自动装箱的特性,如果要生成一个数值为10的Integer对象,只需要这样就可以了:
Integer i = 10;
这个过程中会自动根据数值创建对应的Integer对象,这就是装箱。
那什么是拆箱呢?顾名思义,跟装箱对应,就是自动将包装器类型转换为基本数据类型:
Integer i = 10; //装箱
int n = i; //拆箱
简单一点说,装箱就是 自动将基本数据类型转换为包装器类型;拆箱就是 自动将包装器类型转换为基本数据类型。
下表是基本数据类型对应的包装器类型:
装箱和拆箱是如何实现?
如下代码理解一下:
public class Main {
public static void main(String[] args) {
Integer total = 99; //自动装箱
int totalprim = total; //自定拆箱
}
}
反编译class文件之后得到如下内容:
Integer total=99;执行上面那句代码的时候,系统为我们执行了:Integer total=Integer、valueOf(99);
int totalprim=total;执行上面那句代码的时候,系统为我们执行了:int totalprim=total、intValue();
也就是在装箱的时候自动调用的是Integer的valueOf(int)方法。而在拆箱的时候自动调用的是Integer的intValue方法。
其他的也类似,比如Double、Character。
因此可以用一句话总结装箱和拆箱的实现过程:
装箱过程是通过调用包装器的valueOf方法实现的,而拆箱过程是通过调用包装器的xxxValue方法实现的。(xxx代表对应的基本数据类型)。
Java 语句 Integer i = 1; i += 1; 做了哪些事情?
首先Integer i=1;做了自动装箱(使用valueOf()方法将int装箱为Integer类型),接着i+=1;先将Integer类型的i自动拆箱成int(使用intValue()方法将Integer拆箱为int),完成加法运行之后的i再装箱成Integer类型。
下面程序的运行结果是什么?
答:答案如上注释所述,通过查看Integer的源码可以发现,针对-128到127之间的数据做了一个数据缓冲池,如果数据是该范围内的,每次并不创建新的对象,所以就有了上面的结果。
下面语句能正常执行吗?
Integer test1 = (Integer) null;
Double test2 = (Double) null;Boolean test3 = (Boolean) null;
答:上面语句可以正常执行。因为在 Java 中 null 既不是对象也不是一种类型,它仅是一种特殊的值,我们可以将其赋予任何引用类型,也可以将 ull 转化成任何类型。
下面这段代码的输出结果是什么?
public class Main {
public static void main(String[] args) {
Double i1 = 100、0;
Double i2 = 100、0;
Double i3 = 200、0;
Double i4 = 200、0;
System、out、println(i1==i2);
System、out、println(i3==i4);
}
}
实际输出结果为:
false
false
具体为什么,大家可以去查看Double类的valueOf的实现。
在这里只解释一下为什么Double类的valueOf方法会采用与Integer类的valueOf方法不同的实现。很简单:在某个范围内的整型数值的个数是有限的,而浮点数却不是。
注意,Integer、Short、Byte、Character、Long这几个类的valueOf方法的实现是类似的。
Double、Float的valueOf方法的实现是类似的。
更多培训课程,学习资讯,课程优惠等学校信息,请进入 珠海达内教育珠海C语言培训珠海PHP培训 网站详细了解,免费咨询电话:400-998-6158