JAVA初级工程师——基础知识及框架复习

5 篇文章 1 订阅
2 篇文章 0 订阅


说明:微服务单独另写)

JAVA基础进阶复习(一阶段)

001.关于安装JDK时,额外弹出一个JRE安装问题?

在安装JDK1.8时候,安装完毕之后,会额外弹出一个单独的JRE安装,其实安装好的JDK里面已经涵盖了JRE,实际上是用Eclipse开发工具时候,需要对JRE进行单独扫描,一般在目录里面创建一个jre目录,单独把它下载放进去。安装JDK记得末尾最好把版本添加上1.8/

002.JAVA的API文档

API是java提供的基本编程接口,java语言提供了大量的基础类,因此甲骨文公司为这些基础类提供了相应的API文档,用于告诉开发者如何使用这些类,以及这些类里包含的方法。图标为黄色问号!

003.JDK,JER,JVM三者之间的关系?

JDK=JRE+JAVA的开发工具(javac,exe编译,java.exe运行,Javadoc.exe生成网页版文档)
JRE=JVM+JAVA核心类库

004.JDK为什么要配置path环境变量?

因为想在任何文件的路径下CMD都可以执行java的开发工具(指令),所以才会配path!

005.变量按照数据类型来分?

基本数据类型:
整型 (byte/short/int/long) 浮点型(float/double) 字符型(char) 布尔型(boolean)

引用数据类型:
类(class)
接口(interface)
数组(array)

006.线程的生命周期?

1.新建状态(New)
当线程对象创建后就进入了新建状态.如:Thread t = new MyThread()
2.就绪状态(Runnable)
当调用线程对象的start()方法,线程即为进入就绪状态
3.运行状态(Running)
当CPU调度了处于就绪状态的线程时,此线程才是真正的执行,即进入到运行状态
4.阻塞状态(Block)
处于运状态中的线程由于某种原因,暂时放弃对CPU的使用权,停止执行,此时进入阻塞状态,直到其进入就绪状态才有机会被CPU选中再次执行
5.死亡状态(Dead)
线程执行完了或者因异常退出了run()方法,该线程结束生命周期
在这里插入图片描述
在这里插入图片描述

006.String的特性?

1.string类代表字符串,比如java程序中的所有字符串字面值(“abc”)都作为此类的实例实现。
2.string字符串是常量,它的值在创建之后不能更改,查看string的源码。
3.string实现了serializable接口,表示字符串是支持序列化(通过字节流传输)。实现了comparble接口,标志是string可以比较大小。
4.string对象的字符内容是存储在一个字符数组value[]中的。
在这里插入图片描述
举例子创建对象方式:
String str = “abc”; =>char[] str1={‘a’,‘b’,‘c’};

string对象的创建 (比较特殊)
第一种 string str=“hello”
第二种 string str2=new string();

面试相关:string创建对象问题
以下是string的实例化方式
string str1=“abc" 与 string str2=new string(“abc”)的区别?

前者是是字面量定义的方式,此方式str1的数据是在javaEE(java企业版)声明在方法区中的字符常量池中。

后者是数据在堆空间中开辟空间以后对应的地址值给到str1。
如果比较地址值是str1==str2。

问题:String s=new String(“abc”);在内存中创建几个对象?
答:创建了两个对象,一个是利用new关键字在堆空间中创建了一个对象,另一个是创建了char[ ]对应的常量池的数据。
在这里插入图片描述
String里面的StringBuffer和StringBuilder问题?
StringBuilder与StringBuffer都继承自AbstractStringBuilder类。AbstractStringBuilder中也是使用字符数组保存字符串char[ ]value,但是没有final关键字修饰,所以这两个可变。
在这里插入图片描述

线程安全
String 中的对象是不可变的**(底层final修饰)**,也就可以理解为常量,线程安全。
AbstractStringBuilder 是 StringBuilder 与 StringBuffer 的公共⽗类,定义了⼀些字符串的基本操作,如 expandCapacity、 append、insert、indexOf 等公共⽅法。StringBuffer 对⽅法加了同步锁或者对调⽤的⽅法加了同步 锁,所以是线程安全的。StringBuilder 并没有对⽅法进⾏加同步锁,所以是⾮线程安全的。
性能
每次对 String 类型进⾏改变的时候,都会⽣成⼀个新的 String 对象,然后将指针指向新的 String 对象。StringBuffer 每次都会对 StringBuffer 对象本身进⾏操作,⽽不是⽣成新的对象并改变对象 引⽤。相同情况下使⽤ StringBuilder 相⽐使⽤ StringBuffer 仅能获得 10%~15% 左右的性能提升, 但却要冒多线程不安全的⻛险。
使用建议
操作少量的数据: 适⽤ String
单线程操作字符串缓冲区下操作⼤量数据: 适⽤ StringBuilder
多线程操作字符串缓冲区下操作⼤量数据: 适⽤ StringBuffer
在执行效率上,StringBuilder > StringBuffer > String

007.理解枚举类

类的对象只有有限个,确定的我们就叫做枚举类。
当需要定义一组常量时,强烈建议使用枚举类

008.理解注解

在这里插入图片描述

009.集合collection剖析

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述

集合主要是解决数组储存数据的弊端,二者都是容器。
在这里插入图片描述

010.泛型使用剖析

011.反射技术使用

在这里插入图片描述

012.IO流使用指南

JAVA框架复习(二阶段)

001:Spring、SpingMVC、SpringBoot详解

先看Spring框架是什么?
Spring 框架的核心特性是可以用于开发任何 Java 应用程序,但是在 Java EE 平台上构建 web 应用程序是需要扩展的。
Spring 框架的目标是使 J2EE 开发变得更容易使用。
Spring框架体系结构:

什么是Spring MVC?

Spring MVC是Spring的一个模块,是一个web框架。通过Dispatcher Servlet, ModelAndView 和 View Resolver,开发web应用变得很容易。解决的问题领域是网站应用程序或者服务开发——URL路由、Session、模板引擎、静态Web资源等等。

什么是Spring Boot?
Spring Boot实现了自动配置,降低了项目搭建的复杂度。因为Spring框架需要进行大量的配置,Spring Boot可以自动配置,让项目设置变得很容易。实现了开箱即用的原则,开发者只需要引入自己需要的第三方库即可,有的库也许需要一些小的配置,但是大部分的库都不用配置。

SpringBoot并不会替代Spring框架,相反Spring Boot紧紧依赖Spring框架,Sping Boot的出现是为了使开发者更注重业务的逻辑,简化了对开发环境的配置。对开发者来说,最明显的区别就是配置文件少了,把各个用户额外定义的配置文件合成一个配置文件(xml)了。

Spring Boot与Spring MVC的比较:
Spring Boot 简化了Spring MVC配置,Spring MVC的作用就是开发web应用,就像游戏里的ADC打输出一样,Spring Boot的功能就是简化Spring的配置,像是辅助。

二级目录

三级目录

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值