Java基础教程【第一章:Java概述】

简介: Java基础教程【第一章:Java概述】

1. JAVA 的发展史

创始人:詹姆斯·高斯林 (James Gosling)- Java之父


起源:oak (橡树) ,物联网、小型移动设备。


在爪洼岛几个大牛在喝咖啡: 起名就叫做java

image.png


1996:Jdk1.0版本


1998:jdk1.2 J2EE 一次编译 到处运行


2009 年 04 月 20 日,甲骨文 74 亿美元收购 Sun,取得 java 的版权 。


2. JAVA 面向对象

java是世界上最美丽的语言。


面向对象是相对于面向过程而言。


面向对象:做事情的方式请人帮忙。


面向过程:做事情的方式亲历亲为。


例子:


需求:需要一台电脑,玩游戏。


面向过程:通过购买电脑配件来自己组装。


面向对象:找个卖电脑的,告诉他我的需求(配置信息),卖家根据我的要求帮我去配置一台电脑。


Java的应用: 用于应服务器(主语言)


Python:胶水语言,人生苦短、我用python。


3. JAVA 语言介绍、语言特性

指令 - 汇编 - 高级语言


中文:


指令:吃(0001)、睡(0002)、打 (0003)


汇编:吃(0001)饭(0010)


高级:流程


跨平台


java的源程序: .java 文件 ,程序员可读,程序员编写的程序的时候在 .java文件中编写。


java的可执行程序: .class文件,虚拟机可读,在不同的操作系统上面安装虚拟机。

image.png




4. JVM 虚拟机

1、“一次编译,到处运行”的原理

image.png


JDK就是java 开发工具包,由以下图形可以看出:JDK 包含了 JRE(java 程序文件的可运行环境),JRE(Java SE Runtime Environment)包含了 JVM(Java Virtual Machine),JVM 包含了客户机和主机,而我们的 java 程序是运行在 JVM 中的。

image.png


3、提供的运行时环境

JVM 虚拟机的三大任务: 1、加载代码(.class)、 2 校验代码(头信息、版本)、 3 执行代码

image.png


5. JAVA 开发环境的搭建

1、JAVA的开发平台

J2EE(Java 2 Platform Enterprise Edition ) 分布式开发 例如:网络电子商务等


J2SE( Java 2 Platform Stand Edition) 嵌入式开发 例如:手机等小型电子设备的软件


J2ME(Java 2 Platform Micro Edition ) 桌面应用软件 例如: 单机软件


2、JDK 的安装环境变量的配置

解压到指定路径(路径中不要有中文和特殊字符、空格)

配置环境变量:


JAVA_HOME: 你的java路径

path 变量在系统变量中已存在,要修改 path 变量只需要选中 path 变量,点击编辑即可。在变量值中加入如下内容:%JAVA_HOME%\bin;


如果有同学之前配置了 classpath请删除,jdk8是不需要的。


输入java -version回车查看java是否安装成功

image.png

where java ————查出java.exe可执行文件的路径

image.png

set java_home————查看JAVA_HOME环境变量

image.png

set path——————查看path环境变量

image.png


6. 编写第一个 JAVA 程序

1、编写helloworld

/**
 多行注释:
 public: 访问修饰符,表示任何作用域都可以访问,了解一下
 class:类修饰
 HelloWorld:类名,如果前面有public修饰那么类的名称必须和文件名同名
*/
public class HelloWorld{
  // 单行注释: 类中的声明
  // main : 主函数,程序的开始和结束
  public static void main(String[] args) {
    // 程序中的代码 按行的顺序执行
    // pl : 在控制台输出 hello world
    System.out.println("hello world");  // 分号表示一行代码的结束
  }
}

2、编译执行

javac : 将源程序编译成可执行程序


java:运行.class可执行程序


执行过程:

# 编译文件
C:\Users\jack\Desktop\XZ_264_JAVA_01\code\01>javac -encoding utf-8 HelloWorld.java
# 执行java程序 .class 文件
C:\Users\jack\Desktop\XZ_264_JAVA_01\code\01>java HelloWorld
hello world

7. 开发工具

目前最好用的Java开发工具当属IDEA了,安装教程的链接如下:idea安装教程

目录
相关文章
|
4天前
|
消息中间件 Java 数据库
自研Java框架 Sunrays-Framework使用教程「博客之星」
### Sunrays-Framework:助力高效开发的Java微服务框架 **Sunrays-Framework** 是一款基于 Spring Boot 构建的高效微服务开发框架,深度融合了 Spring Cloud 生态中的核心技术组件。它旨在简化数据访问、缓存管理、消息队列、文件存储等常见开发任务,帮助开发者快速构建高质量的企业级应用。 #### 核心功能 - **MyBatis-Plus**:简化数据访问层开发,提供强大的 CRUD 操作和分页功能。 - **Redis**:实现高性能缓存和分布式锁,提升系统响应速度。 - **RabbitMQ**:可靠的消息队列支持,适用于异步
自研Java框架 Sunrays-Framework使用教程「博客之星」
|
6天前
|
Java 数据库连接 数据处理
探究Java异常处理【保姆级教程】
Java 异常处理是确保程序稳健运行的关键机制。它通过捕获和处理运行时错误,避免程序崩溃。Java 的异常体系以 `Throwable` 为基础,分为 `Error` 和 `Exception`。前者表示严重错误,后者可细分为受检和非受检异常。常见的异常处理方式包括 `try-catch-finally`、`throws` 和 `throw` 关键字。此外,还可以自定义异常类以满足特定需求。最佳实践包括捕获具体异常、合理使用 `finally` 块和谨慎抛出异常。掌握这些技巧能显著提升程序的健壮性和可靠性。
24 4
|
6天前
|
存储 移动开发 算法
【潜意识Java】Java基础教程:从零开始的学习之旅
本文介绍了 Java 编程语言的基础知识,涵盖从简介、程序结构到面向对象编程的核心概念。首先,Java 是一种高级、跨平台的面向对象语言,支持“一次编写,到处运行”。接着,文章详细讲解了 Java 程序的基本结构,包括包声明、导入语句、类声明和 main 方法。随后,深入探讨了基础语法,如数据类型、变量、控制结构、方法和数组。此外,还介绍了面向对象编程的关键概念,例如类与对象、继承和多态。最后,针对常见的编程错误提供了调试技巧,并总结了学习 Java 的重要性和方法。适合初学者逐步掌握 Java 编程。
18 1
|
6天前
|
前端开发 Java 开发工具
Git使用教程-将idea本地Java等文件配置到gitte上【保姆级教程】
本内容详细介绍了使用Git进行版本控制的全过程,涵盖从本地仓库创建到远程仓库配置,以及最终推送代码至远程仓库的步骤。
18 0
|
安全 Java 程序员
4月7日云栖精选夜读:给 Java 学习者的超全教程整理
作为Java程序员的我们,应该不仅对这门语言有所了解,而且我们在平常编程时也需要使用众多的库。比如小编知道的,如果要学习Java Web的话,SSH(Spring, Struts和Hibernate)肯定得会吧,或者至少了解基本的原理吧。
2770 0
|
20天前
|
监控 Java
java异步判断线程池所有任务是否执行完
通过上述步骤,您可以在Java中实现异步判断线程池所有任务是否执行完毕。这种方法使用了 `CompletionService`来监控任务的完成情况,并通过一个独立线程异步检查所有任务的执行状态。这种设计不仅简洁高效,还能确保在大量任务处理时程序的稳定性和可维护性。希望本文能为您的开发工作提供实用的指导和帮助。
82 17
|
30天前
|
Java
Java—多线程实现生产消费者
本文介绍了多线程实现生产消费者模式的三个版本。Version1包含四个类:`Producer`(生产者)、`Consumer`(消费者)、`Resource`(公共资源)和`TestMain`(测试类)。通过`synchronized`和`wait/notify`机制控制线程同步,但存在多个生产者或消费者时可能出现多次生产和消费的问题。 Version2将`if`改为`while`,解决了多次生产和消费的问题,但仍可能因`notify()`随机唤醒线程而导致死锁。因此,引入了`notifyAll()`来唤醒所有等待线程,但这会带来性能问题。
Java—多线程实现生产消费者
|
16天前
|
缓存 安全 算法
Java 多线程 面试题
Java 多线程 相关基础面试题
|
1月前
|
安全 Java Kotlin
Java多线程——synchronized、volatile 保障可见性
Java多线程中,`synchronized` 和 `volatile` 关键字用于保障可见性。`synchronized` 保证原子性、可见性和有序性,通过锁机制确保线程安全;`volatile` 仅保证可见性和有序性,不保证原子性。代码示例展示了如何使用 `synchronized` 和 `volatile` 解决主线程无法感知子线程修改共享变量的问题。总结:`volatile` 确保不同线程对共享变量操作的可见性,使一个线程修改后,其他线程能立即看到最新值。
|
1月前
|
消息中间件 缓存 安全
Java多线程是什么
Java多线程简介:本文介绍了Java中常见的线程池类型,包括`newCachedThreadPool`(适用于短期异步任务)、`newFixedThreadPool`(适用于固定数量的长期任务)、`newScheduledThreadPool`(支持定时和周期性任务)以及`newSingleThreadExecutor`(保证任务顺序执行)。同时,文章还讲解了Java中的锁机制,如`synchronized`关键字、CAS操作及其实现方式,并详细描述了可重入锁`ReentrantLock`和读写锁`ReadWriteLock`的工作原理与应用场景。