JavaSE-01【初识Java】

news2024/11/28 3:47:38

文章目录

  • JavaSE-01【初识Java】
  • 第一章 Java开发序言
    • 1.1 Java语言概述
    • 1.2 Java语言的发展史
    • 1.3 Java语言应用领域
    • 1.4 掌握Java可以从事的工作
  • 第二章 Java开发环境
    • 2.1 JDK、JRE、JVM
    • 2.2 Java虚拟机 (JVM)
    • 2.3 JDK JRE JVM三者的关系
    • 2.4 JDK的下载
    • 2.5 JDK的安装
    • 2.6 JDK环境变量的配置
  • 第三章 入门程序
    • 3.1 HelloWorld代码编写
    • 3.2 Java源代码编译
    • 3.3 Java程序运行
    • 3.4 Java注释用法
    • 3.5 Java关键字
    • 3.6 Java标识符
  • 第四章 常量
    • 4.1 常量概述
    • 4.2 常量分类
    • 4.3 常量练习
  • 第五章:变量&数据类型
    • 5.1 变量的概述
    • 5.2 数据类型
    • 5.3 变量的定义
    • 5.4 变量和数据类型练习
    • 5.5 变量注意事项

JavaSE-01【初识Java】

第一章 Java开发序言

1.1 Java语言概述

  • 什么是Java语言
Java是一种编程语言,被特意设计用于互联网的分布式环境。
Java具有类似于C++语言的“形式和感觉”,但它要比C++语言更易于使用,
	而且在编程时彻底采用了一种“以对象为导向”的方式。

Java是Sun微系统公司在1995年推出的,推出之后马上给互联网的交互式应用带来了新面貌。
	最常用的两种互联网浏览器软件中都包括一个Java虚拟机。
	几乎所有的操作系统中都增添了Java编译程序。

1.2 Java语言的发展史

Java语言之父---詹姆斯高斯林

在这里插入图片描述

    - 1995年5月23日,Java语言诞生
    - 1996年1月,第一个JDK-JDK1.0诞生
    - 1997年2月18日,JDK1.1发布
    - 1997年4月2日,JavaOne会议召开
    - 1998年12月8日,JAVA2企业平台J2EE发布
    - 1999年6月,SUN公司发布Java的三个版本:
			标准版(J2SE)、企业版(J2EE)和微型版(J2ME)
    - 2000年5月8日,JDK1.3发布
    - 2000年5月29日,JDK1.4发布
    - 2001年6月5日,NOKIA宣布,到2003年将出售1亿部支持Java的手机
    - 2001年9月24日,J2EE1.3发布
    - 2002年2月26日,J2SE1.4发布,自此Java的计算能力有了大幅提升 
    - 2004年9月30日,J2SE1.5发布 
    - 2005年6月,JavaOne大会召开,SUN公司公开Java SE 6 
    - 2006年12月,SUN公司发布JRE6.0 
    - 2009年12月,SUN公司发布Java EE 6
    - 2010年11月,由于Oracle公司对于Java社区的不友善,因此Apache扬言   将退出JCP
    - 2011年7月28日,Oracle公司发布Java SE 7
    - 2014年3月18日,Oracle公司发表Java SE 8 
    - 2017年7月,Oracle 公司将发布 JDK 9 
    - 2018年,从 2018 年开始, 每6个月就会发布一个 Java 版本 
    - 2019 年,2019 年 2 月 Java 12 发布2019 年 9 月 Java 13 发布。
    - 2020 年,2020 年 3 月 17 日,Java 14 发布。2020 年 9 月 15 日,Java 15 发布。
    - 2021 年,2021 年 3 月 16 日,Java SE 16 发布。
    - 2021 年 9 月 14 日,Java SE 17 LTS 发布。

1.3 Java语言应用领域

  • 1、手机应用
  • 2、网站应用
  • 3、交易系统
  • 4、软件工具的使用
  • 5、科学应用

1.4 掌握Java可以从事的工作

1、企业级应用开发。
	企业级应用开发大可以做全国联网的系统,小到中小企业的应用解决方案。
	多数没有前端开发的通常是从一个服务器接收数据,处理后发给另一个处理系统。
2、网站开发。
	比如说京东商城、淘宝。
3、软件开发。
	例如Eclipse,MyEclipse,IneteliJIdea和Netbans IDE等知名Java开发工具。
4、嵌入式领域。
	Java因其具有的诸多优点受到了嵌入式领域的青睐,并得到了大量的研究与开发应用。
5、大数据。
	Java大数据的应用领域非常的广泛,可以简单分为几类:基础大数据服务平台,
	大中型的商业应用包括我们常说的企业级应用、各种类型的网站等。
6、科学应用。
	Java的安全性、便携性让Java在科学应用、金融服务、空间巨大。 

第二章 Java开发环境

2.1 JDK、JRE、JVM

- JDK (Java Development Kit)
		是Java程序开发工具包,包含JRE和开发人员使用的工具
- JRE (Java Runtime Environment)
		是Java程序的运行时环境,包含JVM和运行时所需要的核心类库
- JVM(Java Viritual Machines)
		Java虚拟机,简称JVM,是运行所有Java程序的虚拟计算机

2.2 Java虚拟机 (JVM)

JVM(Java Viritual Machines)
	Java虚拟机,简称JVM,是运行所有Java程序的虚拟计算机,我们编写的Java代码都运行在JVM上。
特点:
	跨平台:任何软件的运行,都必须运行在操作系统上,而是用Java编写的代码可以运行在任何操作系统之上,
	这个特性就是Java语言的跨平台性。这个特性是JVM实现的,我们编写的程序运行在JVM上,JVM运行在操作系统上。
	Java的虚拟机本身不具备跨平台的功能,每个操作系统下都有不同版本的虚拟机

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8BdwfZFg-1686186805776)(photo/JavaSE01_初识Java.assest/1663598383289.png)]在这里插入图片描述

2.3 JDK JRE JVM三者的关系

1、JVM不能单独搞定class的执行,解释class的时候,JVM需要调用JRE的类库lib。
   在JRE目录里有两个文件夹bin和lib,可以认为bin里的就是jvm,
   lib里的则是jvm工作所需要的类库,而jvm和 lib和起来就称为JRE。
2、利用JDK(调用JAVA API)开发了JAVA程序后,
   通过JDK中的编译程序(javac)将java文件编译成JAVA字节码,
   在JRE上运行这些JAVA字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用。

在这里插入图片描述

2.4 JDK的下载

官网:http://www.oracle.com (下载期间可以免费注册ORACLE账号)
注意:安装路径不建议出现空格以及中文路径
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2.5 JDK的安装

  • 1、 双击下载下来的安装文件,
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p48z7vjV-1686186805778)(photo/JavaSE01_初识Java.assest/1663652338944.png)]

  • 2、 选择安装路径,也可以默认安装。

    注意:如果更改路径最好不要放在中文或者带空格的目录下
    在这里插入图片描述

  • 3、 点击下一步就开始安装了,直到安装完成,点击关闭
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HCmq587o-1686186805780)(photo/JavaSE01_初识Java.assest/1663652410428.png)]

2.6 JDK环境变量的配置

第一步:点击此电脑–右键–属性—系统高级设置

第二步:环境变量
在这里插入图片描述

第三步:系统变量
在这里插入图片描述

第四步:配置环境变量

  • 1、 新建系统变量
变量名:JAVA_HOME
变量值:(自己电脑上的jdk路径)

在这里插入图片描述

  • 2、 新建系统变量
变量名:CLASSPATH 
变量值: .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

在这里插入图片描述

  • 3、 修改path环境变量
  选择变量:Path
  添加变量值: %JAVA_HOME%\bin 

在这里插入图片描述

第五步:测试环境变量是否生效

  • 1、 快捷键Win+R输入cmd打开命令提示符
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6omuPQKU-1686186805782)(photo/JavaSE01_初识Java.assest/1663651527209.png)]

  • 2、 依次输入java,javac,java -version指令

java:一般用于启动一个应用程序
javac:用于将java文件编译为class文件
java -version:查看当前jdk的版本

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

第三章 入门程序

3.1 HelloWorld代码编写

  • 1、创建类
1、选中项目中的src
2、点右键,选择New,继续选择Java Class
3、创建类名,注意单词首字母大写

在这里插入图片描述

  • 2、编写程序
/**
 * 第一个Java程序
 */
//public class后面代表定义一个类的名称,类是Java当中所有源代码的基本组织单位
public class HelloWorld {
    //第二行的内容是亘古不变的写法,代码程序的入口函数,即main方法
    public static void main(String[] args) {
        System.out.println("Hello World!!!");
    }
}
  • 3、运行输出
1、点击行号旁边的绿色三角箭头,选择Run 选项运行
2、或者在代码处点击右键,选择Run选项,也可以运行代码
3、运行结束,控制台会输出结果

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.2 Java源代码编译

javac:用于编译java源代码,生成class文件

在这里插入图片描述

3.3 Java程序运行

Java 程序的运行必须经过编写、编译和运行 3 个步骤:

1、编写:是指在 Java 开发环境中进行程序代码的输入,
        最终形成后缀名为 .java 的 Java 源文件。
2、编译:是指使用 Java 编译器对源文件进行错误排査的过程,
        编译后将生成后缀名为 .class 的字节码文件,
3、运行:是指使用 Java 解释器将字节码文件翻译成机器代码,
        执行并显示结果。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GFO0pwSk-1686186805784)(photo/JavaSE01_初识Java.assest/1663651942768.png)]

3.4 Java注释用法

  • 什么是Java注释
  java注释是不会被编译器和解释器执行的语句。 
  注释可以用于提供关于变量,方法,类或任何语句的信息或解释。 
  它也可以用于在特定时间隐藏程序代码。 
  • Java中有3种类型的注释:单行注释、多行注释、文档注释

  • 1、单行注释

(1)符号: //
(2)注释范围:从符号 “ // ” 开始,到本行结束
(3)快捷键 “ Ctrl + / ” (Ctrl 和 / 的组合): 
(4)选中要注释的内容,按 “ Ctrl + / ”,便可同时单行注释多行内容
 若想多个同个取消,则选中“以及单行注释过的内容”,再次按Ctrl+/ 组合键即可同时取消多个单行注释)
  • 2、多行注释
(1)符号:/* */
(2)注释范围:从左边“ /* ” 开始,到右边 “ */ ”结束 
(3)快捷键 “ Ctrl + shift + / ” (Ctrl 、Shift 和 / 的组合) 
  选中要注释的内容,按 “ Ctrl + shift + / ”,便可用多行注释的方法注释选中的内容。   
  • 3、文档注释
(1)符号:/** */
(2)注释范围:一般用在函数前面,
	 Java编译器会自动读取邻近函数体中的关键变量等要素,辅助开发人员进行“函数”说明。 
(3)使用方法:在要进行文档注释的函数前面一行输入“ /** ”),
	 之后按回车即可,Java编译器会自动提取。 

3.5 Java关键字

  • 什么是Java关键字
1、Java关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,
   还有特别意义的变量。Java的关键字对Java的编译器有特殊的意义,
2、他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、
   方法名、类名、包名和参数。
  • Java中常用的关键字

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DhHcCrYk-1686186805787)(photo/JavaSE01_初识Java.assest/1663822760328.png)]

  • Java关键字的含义

    关键字含义
    abstract表明类或者成员方法具有抽象属性
    assert用来进行程序调试
    boolean基本数据类型之一,布尔类型
    break提前跳出一个块
    byte基本数据类型之一,字节类型
    case用在switch语句之中,表示其中的一个分支
    catch用在异常处理中,用来捕捉异常
    char基本数据类型之一,字符类型
    class
    const保留关键字,没有具体含义
    continue回到一个块的开始处
    default默认,例如,用在switch语句中,表明一个默认的分支
    do用在do-while循环结构中
    double基本数据类型之一,双精度浮点数类型
    else用在条件语句中,表明当条件不成立时的分支
    enum枚举
    extends表明一个类型是另一个类型的子类型,这里常见的类型有类和接口
    final用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变,用来定义常量
    finally用于处理异常情况,用来声明一个基本肯定会被执行到的语句块
    float基本数据类型之一,单精度浮点数类型
    for一种循环结构的引导词
    goto保留关键字,没有具体含义
    if条件语句的引导词
    implements表明一个类实现了给定的接口
    import表明要访问指定的类或包
    instanceof用来测试一个对象是否是指定类型的实例对象
    int基本数据类型之一,整数类型
    interface接口
    long基本数据类型之一,长整数类型
    native用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的
    new用来创建新实例对象
    package
    private一种访问控制方式:私用模式
    protected一种访问控制方式:保护模式
    public一种访问控制方式:共用模式
    return从成员方法中返回数据
    short基本数据类型之一,短整数类型
    static表明具有静态属性
    strictfp用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范
    super表明当前对象的父类型的引用或者父类型的构造方法
    switch分支语句结构的引导词
    synchronized表明一段代码需要同步执行
    this指向当前实例对象的引用
    throw抛出一个异常
    throws声明在当前定义的成员方法中所有需要抛出的异常
    transient声明不用序列化的成员域
    try尝试一个可能抛出异常的程序块
    void声明当前成员方法没有返回值
    volatile表明两个或者多个变量必须同步地发生变化
    while用在循环结构中

3.6 Java标识符

  • 标识符
是指在程序中,我们自己定义的内容,如:类的名称,方法的名称,变量的名称
  • 命名规则
  1、标识符可以包含26个英文字母,区分大小写,0-9数字,$美元符号,_下划线
  2、标识符不能以数字开头
  3、标识符不能是关键字
  • 驼峰命名法
骆驼式命名法(Camel-Case)又称驼峰式命名法,是电脑程式编写时的一套命名规则(惯例)。
正如它的名称CamelCase所表示的那样,是指混合使用大小写字母来构成变量和函数的名字。
程序员们为了自己的代码能更容易的在同行之间交流,所以多采取统一的可读性比较好的命名方式。

在这里插入图片描述

  • 命名规范:
  1、类名称:首字母必须大写,后面每个单词首字母必须大写---大驼峰格式
  2、方法名称:首字母小写,后面的每个单词首字母大写---小驼峰格式
  3、变量名称:同上方法名称一样

第四章 常量

4.1 常量概述

常量:是指在Java程序运行期间固定不变的数据

4.2 常量分类

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sUk7qeCb-1686186805788)(photo/JavaSE01_初识Java.assest/1663557700754.png)]

1、字符串常量:凡是用双引号引起来的部分,称为字符串常量
	如:"abc"、"hello"、"ccc"**
2、整数常量:直接写上的数字,没有小数点。
	如:20、100、0、-160**
3、浮点数常量:直接写上的数字,有小数点。
	如:3.14 、1.5、 -2.1、0.0**
4、字符常量:凡是用单引号引起来的单个字符,称为字符常量。
	如:'a'、'A'、'国'、'6'**
5、布尔常量:有两种取值,
	即true和false**
6、空常量:null,表示没有任何数据**

4.3 常量练习

public class ConstDemo {
    public static void main(String[] args) {
        //字符串常量:
        System.out.println("abc");
        System.out.println("");//字符串两个双引号中间的内容为空
        System.out.println("QWE");

        //整数常量
        System.out.println(100);
        System.out.println(-30);

        //浮点数常量
        System.out.println(3.14);
        System.out.println(-2.0);

        //字符常量
        System.out.println('A');
        System.out.println('1');
        System.out.println('中');
        //System.out.println('');//两个单引号中间有且只有一个字符,没有不可以
        //System.out.println('中国');//两个单引号中间有且只有一个字符,不可以出现两个

        //布尔常量
        System.out.println(true);
        System.out.println(false);

        //空常量
        //System.out.println(null);//空常量不能用来打印输出
    }
}

第五章:变量&数据类型

5.1 变量的概述

  • 常量:是固定不变的数据
	变量:是指在Java程序运行期间可以改变的数据
	Java中要求,每一个变量每次只能保存一个数据,
		必须要明确保存的数据类型

5.2 数据类型

  • 数据类型
	Java的数据类型分为两大类:
	- 基本数据类型:整数型、浮点型、字符型、布尔型
	- 引用数据类型:类、数组、接口、字符串
  • Java的基本数据类型:四类八种
    在这里插入图片描述
    Java中的默认数据类型:整数型是int,浮点型是double

5.3 变量的定义

  • 语法格式
格式一:分步骤
      数据类型 变量名称;  //创建一个变量
      变量名称 = 数据值; //赋值。等号的作用:将右边的数据值赋值给左边的变量
格式二:一步到位
      数据类型 变量名称 = 数据值; //创建一个变量的同时,立即放入指定的数据值

5.4 变量和数据类型练习

/**
 * 变量的练习
 */
public class VariableDemo {
    public static void main(String[] args) {
        /*
            变量:程序运行期间,内容发生改变的量,称之为变量
            创建变量使用的格式:
            格式一:
                数据类型 变量名称;  //创建一个变量
                变量名称 = 数据值; //赋值。等号的作用:将右边的数据值赋值给左边的变量
            格式二:创建一个变量的同时,立即放入指定的数据值
                数据类型 变量名称 = 数据值;
         */

        //格式一:分步骤
        //创建一个变量
        //格式:数据类型 变量名称;
        int num1;
        //向变量中存放一个数据值
        //格式:变量名称 = 数据值;
        num1 = 20;
        //打印输出num1变量中存放的数据值,当打印输出变量的名字的时候,输出的是变量的内容
        System.out.println(num1);//20

        //修改变量中的值
        num1 = 33;
        System.out.println(num1);//33


        //格式二:一步到位
        //使用一步到位的格式来定义变量
        //格式:数据类型 变量名称 = 数据值;
        int num2 = 50;
        System.out.println(num2);//50

        //修改变量的值
        num2 = 55;
        System.out.println(num2);//55

        //byte类型
        byte num4 = 22;
        System.out.println(num4);//22
        //byte num5 = 156;报错,注意:等号右边的数据值,不能超过等号左边变量数据类型的取值范围

        //short类型
        short num6 = 33;
        System.out.println(num6);//33

        //long类型
        long num7 = 100000000000L;//long类型的数据值后缀需要加大写L或者小写l。推荐使用大写L
        System.out.println(num7);//100000000000

        //浮点型
        float num8 = 2.1F;//float类型的数据值后缀需要加大写F或者小写f,推荐使用大写F
        System.out.println(num8);//2.1
        double num9 = 3.14;//浮点型的默认类型是double类型
        System.out.println(num9);//3.14

        //char类型
        char c1 = 'a';
        System.out.println(c1);//a

        //boolean类型
        boolean b1 = true;
        System.out.println(b1);//true
        //修改变量b1的值
        b1 = false;
        System.out.println(b1);//false

        //变量值的传递
        boolean b2 = b1;
        System.out.println(b2);//false

        /*
            注意事项:
                1、等号右侧的数据值的范围不能超过等号左侧数据类型的取值范围
                2、对于long和float类型。数据值的后缀需要添加L和F
                3、变量名称不能重复
         */
    }
}

5.5 变量注意事项

- 1 字符串类型不是基本数据类型,是引用数据类型。
- 2 浮点型可能只是一个近似值,不是精确的值。
- 3 数据范围与字节数不一定相关,
	如float类型比long类型的数据范围更大,
	但float是4字节,long是8字节。
- 4 浮点数中默认类型是double,
	如果一定要使用float,则需要在后缀加一个F,
	(大写F和小写都可以,推荐使用大写F)。
- 5 整数中默认使用int类型,
	如果一定要使用long类型,则需要加上一个后缀L.
	(大写L和小写l都可以,推荐使用大写L)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/626837.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

华为认证 | HCIE-Big Data-Data Mining 认证即将升级新版本!

华为认证HCIE-Big Data-Data Mining V3.0(中文版)预计将于2023年6月30日正式对外发布。 为了帮助您做好学习、培训和考试计划,现进行预发布通知,请您关注。 01 发布概述 基于“平台生态”战略,围绕“云-管-端”协同的…

使用PowerDesigner生成数据库设计文档

第一步:将现有得数据表通过PowerDesigner导入sql脚本(同时保证注释不丢失及name code comment) 1:依次点击File->Reverse Engineer->Database... 2.弹出弹窗对模型进行命名,同时在DBMS下拉选择框中需要选择自己对应的数据库类型&#…

Vue+SpringBoot打造生活废品回收系统(附源码文档)

作者主页:Designer 小郑 作者简介:Java全栈软件工程师一枚,来自浙江宁波,负责开发管理公司OA项目,专注软件前后端开发、系统定制、远程技术指导。CSDN学院、蓝桥云课认证讲师,全栈领域优质创作者。 一、摘要…

数据库管理-第八十一期 保姆级EMCC搭建教程(20230606)

数据库管理 2023-06-06 第八十一期 保姆级EMCC搭建教程1环境说明2 EMCC安装前准备3安装EMCC4 进入EMCC5 添加主机与数据库5.1 添加主机5.2 添加数据库 6 注意事项总结 第八十一期 保姆级EMCC搭建教程 EMCC,全称Oracle Enterprise Manager Cloud Control&#xff0c…

巨详细的一份Python学习路径文档--如何精准的入手Python

当谈论学习Python编程时,有许多不同的途径和资源可供选择。为了帮助你建立起一个学习Python的有效路线,下面是一个包含基本步骤和关键资源的建议。 「请注意,这只是一个指南,你可以根据自己的兴趣和学习风格进行调整。」 简章 「确…

《水经注地图服务》新版发布

《水经注地图服务》已发布新版,请各位新老客户到官方网站下载新版试用或升级更新。 当前版本主要对Windows 64位版和Linux版进行升级,从该版开始,Windows32位版将不再升级。 服务管理界面 版本号 当前版本号:5.0.0-beta Window…

通过 Python 封装关键词搜索阿里巴巴商品api接口

以下是使用 Python 封装关键词搜索阿里巴巴商品列表数据的步骤: 使用 requests 库向阿里巴巴搜索接口发送 HTTP 请求,可以使用 GET 或 POST 方法,请求参数中应包含搜索关键词、每页展示数量、当前页码等信息。 解析返回的 response 中的 HTM…

论文解读:Towards Open World NeRF-Based SLAM,迈向开放世界的NeRF-SLAM

论文:https://arxiv.org/pdf/2301.03102.pdf 摘要: 神经辐射场(Neural Radiance Fields,NeRF)在同时定位与地图构建(Simultaneous Localization and Mapping,SLAM)任务中提供了灵活…

【Leetcode】跳跃游戏 | Jump Jump,Greedy Greedy

55 跳跃游戏 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 不断更新当前能够到达的范围maxReach class Solution {public boolean canJump(int[] nums) …

云原生到底是个啥玩意?从云端降临的超级技术:云原生

目录 福利:文末分享云原生相关全套资料哦 一、云计算?云原生? 二、云原生带来什么好处 7个字:隔离、弹性、自动化。 三、云原生的基础知识 四、云原生中最重要的概念 1、虚机 2、容器 3、容器编排 4、VPC 5、微服务&am…

Lambda表达式 函数式接口 Stream流

目录 一. Lambda表达式 1. 函数式编程思想概述 2. Lambda的优化 3. Lambda的格式 标准格式: 参数和返回值: 省略格式: 4. Lambda的前提条件 二. 函数式接口 1. 概述 格式 FunctionalInterface注解 2. 常用函数式接口 Supplier接口 Consumer接口 Function接口 P…

2023大厂精选 Java 面试真题集锦(含答案),面试一路开挂

前言 跳槽求职时时刻刻都在发生,但是我建议大家跳槽之前,先想清楚为什么要跳槽。切不可跟风,看到同事一个个都走了,自己也盲目的开始面试起来,期间也没有准备充分,到底是因为技术原因,影响自己…

poll函数和epoll函数族

一、IO多路复用 二、多路复用的实现方式 select函数 int select(int nfds, fd_set *readfds, fd_set *writefds,fd_set *exceptfds, struct timeval *timeout); poll函数 int poll(struct pollfd *fds, nfds_t nfds, int timeout); epoll 函数族 epoll_create epoll_wai…

(6.2-6.8)【大数据新闻速递】

关 注gzh“大数据食铁兽”,了解更多的大数据快讯 【华为曹冲:聚焦四大战略方向,共建数智金融未来】 6月7日,华为全球智慧金融峰会2023在上海举行。会上,华为数字金融军团CEO曹冲发表《智领睿变,共建数智…

Redis学习总结(一)

Redis 持久化机制 RDB 持久化 Redis RDB(Redis DataBase)是Redis的一种持久化方式。它可以将Redis中的数据快照存储在硬盘上,并在需要时重构该数据快照。因为可以在磁盘上存储和重构数据快照,所以RDB是一种非常高效的Redis数据备…

用于语义分割的动态焦点感知位置查询

文章目录 Dynamic Focus-aware Positional Queries for Semantic Segmentation摘要本文方法Dynamic Focus-aware Positional QueriesEfficient High-resolution Cross-attentionFocus-aware Segmentation Framework 实验结果 Dynamic Focus-aware Positional Queries for Seman…

Servlet运行原理及常见API

文章目录 一. Servlet运行原理二. Servlet常用API1. HttpServlet1.1. Servlet的生命周期1.2. Post请求的构造 2. HttpServletRequest2.1. 获取请求信息2.2. 前端给后端传输数据的三种方式2.2.1. 发送Get请求通过query string传输数据2.2.2. 发送Post请求通过form提交数据2.2.3.…

Python爬虫基础知识点

Python爬虫是使用Python编写的程序,可以自动抓取互联网上的数据。常用的Python爬虫框架包括Scrapy、BeautifulSoup、Requests等。Python爬虫可以应用于众多场合,如大数据分析、信息监测、数据挖掘和机器学习等领域。那么新手应该如何学习python爬虫呢&am…

LLCC68+HC32L110

一、准备 最近研究一下LORA,因为LLCC68是阉割版本的SX126X,所以就选用这颗芯片了 模块:随便选一家都可以我简单做了个测试板,接口如下:只需要注意DIO配置成中断引脚即可 二、程序流程 RX TX初始化 #define RF_FREQ…

springboot openfeign Sentinel统一降级处理

背景 openfeign降级常规操作如下: 此种方式太过于麻烦,每一个方法都要写一个降级逻辑,并且降级逻辑大多是雷同的。 目标 提供默认的降级方式,若openfeign未指定FallbackFactory则走默认降级方式,否则就走自定义的FallbackFact…