JAVA基础学习笔记-day01

博文主要是自己学习JAVA基础中的笔记,供自己以后复习使用,参考的主要教程是B站的
尚硅谷宋红康2023大数据教程

1.java基础学习路线

在这里插入图片描述

2.计算机常识

2.1 硬件+软件
在这里插入图片描述
2.2 软件:特定顺序组织的计算机数据指令`的集合,分为系统软件和应用软件
2.3 常用的DOS命令:
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

3. 计算机语言

3.1 计算机语言发展史:
机器语言—>汇编语言—>高级语言(面向过程的语言,面向对象的语言)
JAVA之父:詹姆斯·高斯林(James Gosling)
在这里插入图片描述
3.2 Java技术体系平台
Java SE(Java Standard Edition)标准版:桌面级应用
Java EE(Java Enterprise Edition)企业版:在服务器端的Web应用开发
Java ME(Java Micro Edition)小型版:移动终端

4.JAVA开发环境搭建

JDK (Java Development Kit):JRE + 开发工具集(例如Javac编译工具等)
是Java程序开发工具包,包含JRE 和开发人员使用的工具
**JRE ** (Java Runtime Environment) :JVM + Java SE标准类库
是Java程序的运行时环境,包含JVM和运行时所需要的核心类库。
在这里插入图片描述

5. Hello World

/*
1.如果这个类不是public,那么源文件名可以和类名不一致。
	如果这个类是public,那么要求源文件名必须与类名一致。否则编译报错。
2.一个源文件中可以有多个类,编译后会生成多个.class字节码文件。
	但是一个源文件只能有一个public的类。
*/
class HelloWorld{
	// Java程序的入口是main方法,其中String[] args可以变为 String args[],String[] a(后者换了个名字)
	public static void main(String[] args){
		
		System.out.pritln(HelloWorld!!);
	}
}

Java程序开发的三个步骤:编写、编译、运行
在这里插入图片描述
问题:字符编码报错
在这里插入图片描述
解决:Notepad++
在这里插入图片描述

javac -encoding utf-8 Review01.java

6.注释

// 单行注释
/*
多行注释
*/
文档注释(Java特有)
/**
  @author  指定java程序的作者
  @version  指定源文件的版本
*/

文档注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档。

javadoc -d mydoc -author -version HelloWolrd.java

7.Java API文档

API (Application Programming Interface,应用程序编程接口)是 Java 提供的基本编程接口
下载API文档:

  • 在线看:https://docs.oracle.com/en/java/javase/17/docs/api/index.html
  • 离线下载:https://www.oracle.com/java/technologies/javase-jdk17-doc-downloads.html
    Java优点:
    1.跨平台性:Java语言编写的应用程序在不同的系统平台上都可以运行,依靠JVM
    在这里插入图片描述
    2.面向对象性:让程序更好达到高内聚,低耦合的标准
    3.健壮性:吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制。
    4.安全性高:
    Java适合于网络/分布式环境,需要提供一个安全机制以防恶意代码的攻击。如:安全防范机制(ClassLoader类加载器),可以分配不同的命名空间以防替代本地的同名类、字节代码检查。
  1. 简单性
    Java就是C++语法的简化版,我们也可以将Java称之为“C++--”。比如:头文件,指针运算,结构,联合,操作符重载,虚基类等。
    6.高性能:
    Java最初发展阶段,总是被人诟病性能低;客观上,高级语言运行效率总是低于低级语言的,这个无法避免。Java语言本身发展中通过虚拟机的优化提升了几十倍运行效率。比如,通过JIT(JUST IN TIME)即时编译技术提高运行效率。Java低性能的短腿,已经被完全解决了。
    Java缺点:
    1.语法复杂
    2.一般适用于大型网站开发,整个架构会比较重,对于初创公司开发和维护人员的成本比较高。
    3.并非适用于所有领域。:

8.Java核心机制:JVM

JVM功能说明
JVM(Java虚拟机):是一个虚拟的计算机,是Java程序的运行环境。JVM具有指令集并使用不同的存储区域,负责执行指令,管理数据、内存、寄存器。
在这里插入图片描述
8.1 实现Java程序的跨平台性
在这里插入图片描述
在这里插入图片描述
8.2 自动内存管理(内存分配、内存回收)
1.Java程序在运行过程中,涉及到运算的数据的分配存储等都由JVM来完成
2.Java消除了程序员回收无用内存空间的职责。提供了一种系统级线程跟踪存储空间的分配情况,在内存空间达到相应阈值时,检查并释放可被释放的存储器空间。
3.GC的自动回收,提高了内存空间的利用效率,也提高了编程人员的效率,很大程度上减少了因为没有释放空间而导致的内存泄漏

注意:Java程序还会出现内存溢出和内存泄漏问题吗? Yes!
内存溢出(Out Of Memory) :就是申请内存时,JVM没有足够的内存空间。通俗说法就是去蹲坑发现坑位满了。
内存泄露(Memory Leak) :就是申请了内存,但是没有释放,导致内存空间浪费。通俗说法就是有人占着茅坑不拉屎。
JVM内存结构:https://pdai.tech/md/java/jvm/java-jvm-struct.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Python中,异常处理是非常重要的一部分。当程序运行时如果出现错误,如果没有异常处理,程序就会崩溃。为了避免这种情况,Python提供了异常处理机制。 在Python中,异常处理语句使用 `try` 和 `except` 关键字来实现。`try` 语句块中包含可能会发生异常的代码,如果这段代码出现了异常,则会跳转到 `except` 语句块中执行异常处理代码。 下面是一个简单的例子: ```python try: num = int(input("请输入一个整数:")) print(10/num) except ZeroDivisionError: print("除数不能为0") except ValueError: print("输入的不是整数") ``` 在上面的代码中,我们尝试将用户输入的字符串转换为整数,并将其用作除数计算 10/num。如果用户输入的是 0,则会触发 ZeroDivisionError 异常。如果用户输入的不是整数,则会触发 ValueError 异常。如果发生异常,则会跳转到对应的 except 语句块中执行处理代码。 除了可以指定具体的异常类型,也可以使用 `except Exception` 来捕获所有异常。例如: ```python try: num = int(input("请输入一个整数:")) print(10/num) except Exception as e: print("发生异常:", e) ``` 在上面的代码中,如果发生任何异常,都会跳转到 `except` 语句块中执行处理代码,并将异常信息打印出来。 除了 `try` 和 `except`,还有 `finally` 关键字,它指定的代码块无论是否发生异常都会执行。例如: ```python try: num = int(input("请输入一个整数:")) print(10/num) except Exception as e: print("发生异常:", e) finally: print("程序执行完毕") ``` 在上面的代码中,无论是否发生异常,都会执行 `finally` 中的代码,即输出“程序执行完毕”。 总之,在Python中,异常处理是非常重要的一部分,它可以有效避免程序崩溃,提高程序的健壮性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值