[Java八股文]

说一下Java的特点?

  1. 跨平台:Java编译器将源代码运行成字节码,字节码可以在任何安装了Java虚拟机的系统上运行。(JVM:Java虚拟机,使Java可以一次编写到处运行。)
  2. 面向对象:Java除了8种基本数据类型外,其余都是对象。包括类、封装、继承、多态、抽象。(OOP)
  3. 强大的生态:有丰富的框架、库、工具、活跃的社区、企业级支持。
  4. 内存管理:Java自动管理内存和回收不再使用的对象,不需要开发者手动管理,减少内存泄露。
1.跨平台

Java编译器将源代码运行成字节码,字节码可以在任何安装了Java虚拟机的系统上运行。(JVM:Java虚拟机,使Java可以一次编写到处运行。)

2.面向对象

Java除了8种基本数据类型外,其余都是对象。包括类、封装、继承、多态、抽象。(OOP)

  • 非对象(Primitive Types):8种基本数据类型直接存储在栈内存中,按值传递

基本类型

大小

默认值

包装类

(对象形式)

byte

1字节

0

Byte

short

2字节

0

Short

int

4字节

0

Integer

long

8字节

0L

Long

float

4字节

0.0f

Float

double

8字节

0.0d

Double

char

2字节

'\u0000'

Character

boolean

-

false

Boolean

  • 对象(Object):包含属性和方法,是类Class的具体实例。存储在堆内存中,通过引用访问。(类是蓝图,对象是根据蓝图建造的房子)
    • 所有引用类型:
      • 类实例(new MyClass()
      • 数组(int[] arr = new int[5],数组也是对象)
      • 字符串(String s = "Hello",本质是char[]的封装)
      • 集合(ArrayListHashMap等)
    • 一切继承自Object
      Java中所有类隐式或显式继承Object,因此对象可调用toString()equals()等方法。

现实世界

面向对象编程

一辆具体的汽车

对象

汽车的设计图

汽车的颜色/型号

属性

汽车的启动/刹车

方法

3.强大的生态:

有丰富的框架、库、工具、活跃的社区、企业级支持。

1. 丰富的框架:
    1. Spring框架:是Java生态的基石,提供全面的企业级开发支持。
      • Spring Core:IoC(控制反转)和 DI(依赖注入)容器,管理对象生命周期。
      • Spring MVC:基于 Servlet 的 Web 框架,支持 RESTful API 开发。
      • Spring Boot:“约定优于配置”,快速搭建独立运行的微服务应用(内嵌 Tomcat/Jetty)。
      • Spring Data:简化数据库访问(支持 JPA、MongoDB、Redis 等)。
      • Spring Security:认证(OAuth2/JWT)和授权(RBAC)解决方案。
      • Spring Cloud:微服务架构支持(服务发现、负载均衡、配置中心等)。
    1. 有标准的ORM规范:JPA,和它的实现Hibernate
      • ORM:对象关系映射
      • JPA:Java Persistence API,标准的ORM规范
      • Hibernate:最流行的 ORM(对象关系映射)框架,将 Java 对象映射到数据库表。

避免手写 SQL,提高开发效率。

2. 数据库

(1) 关系型数据库

    • JDBC:标准数据库连接接口。
    • MyBatis:半 ORM 框架,灵活编写 SQL。
    • Liquibase/Flyway:数据库迁移工具(版本控制)。

(2) NoSQL键值型数据库

    • MongoDB(文档数据库,Spring Data MongoDB)
    • Redis(内存缓存,Redisson/Jedis 客户端)
    • Elasticsearch(全文搜索引擎)

(3) 大数据

    • Hadoop(分布式存储与计算)
    • Spark(内存计算,Java/Scala API)
    • Flink(流处理框架)
3. 工具

(1) 构建工具

    • Maven:基于 XML 的依赖管理(pom.xml),支持项目生命周期管理。
    • Gradle:基于 Groovy/Kotlin DSL,比 Maven 更灵活(Android 官方构建工具)。
    • Ant:较老,但仍有遗留项目使用。

(2) IDE(集成开发环境)

    • IntelliJ IDEA(最智能,社区版免费)
    • Eclipse(插件丰富,免费开源)
    • VS Code + Java 扩展(轻量级选择)

(3) 测试工具

    • JUnit:单元测试框架(@Test 注解)。
    • Mockito:模拟对象(Mocking),用于隔离测试。
    • TestNG:更灵活的测试框架(支持参数化测试)。

(4) 持续集成/部署(CI/CD)

    • Jenkins:自动化构建、测试、部署。
    • GitLab CI/CD:集成 Git 仓库的流水线。
    • SonarQube:代码质量分析(检测 Bug、代码异味)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值