01认识Java(介绍安装调试)

单元概述

本章主要介绍Java语言的发展历史,了解Java的运行原理及Java编程语言的特点,通过搭建Eclipse集成开发环境来运行Java应用程序。

1.1 Java简介

1.1.1 什么是Java

计算机语言是人与计算机之间的通讯语言,分为机器语言、汇编语言、高级语言。Java是一种高级计算机语言,它是由Sun公司(已被Oracle公司收购)于1995年5月推出。

1.1.2 Java发展历史

Java是一种面向对象的程序设计语言,由Sun( Stanford University Network)公司的James Gosling等人于20世纪90年代初开发。它最初被命名为Oak,用来开发消费类电子产品,解决诸如电话、电视机等家用电器的控制和通讯问题。后来随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,在1995年5月正式命名为"Java",变化历程如下图

JDK版本

发布时间

J2SE 1.0

1996-01

J2SE 1.1

1997-02

J2SE 1.2

1998-12

J2SE 1.3

2000-05

J2SE 1.4

2002-02

JavaSE 5.0

2004-09

JavaSE 6.0

2006-04

JavaSE 7.0

2011-07

JavaSE 8.0

2014-03

JavaSE 9.0

2017-09

JavaSE 10.0

2018-03

JavaSE 11.0

2018-09

1.1.3 Java语言平台

Java语言平台包括3个版本,标准版、企业版、微型版。

JavaSE:标准版(Standard )。JavaSE包含构成Java语言核心的类,适合开发桌面应用程序和底层应用程序。同时它也是JavaEE的基础平台。

JavaEE :企业版(Enterprise)。JavaEE是在JavaSE平台的基础上构建的,它包含用于开发企业级应用的类,如EJB、servlet、JSP、事务控制等,为企业级应用提供了标准平台,简化复杂的企业级编程。

JavaME :微型版(Micro)。包含JavaSE平台中一部分类,用于嵌入式系统开发,专门针对一些小型的消费电子产品,如:手机、PDA、机顶盒。

1.2 Java开发环境搭建

在开发Java程序时,需要下载并安装JDK,配置必要的环境变量。

1.2.1 JDK下载与安装

JDK:Java开发工具包(Java Development Kit),是SUN公司提供的一套Java开发环境。JDK是整个Java开发的核心,其中包括Java编译器、Java运行工具、Java文档生成工具、Java打包工具等。在1996年1月,Sun公司发布了JDK1.0,随后相继推出了JDK1.1、JDK1.2、JDK1.3、JDK1.4、JDK5(1.5)、JDK 6(1.6)、JDK7(1.7)、JDK8(1.8)、JDK9-JDK21。目前企业应用较多的是比较稳定的JDK8,所以我们将针对JDK8进行讲解。

JRE:Java运行时环境(Java Runtime Environment),是Sun公司提供的一套Java运行环境。由于有些用户只需要运行事先编写好的Java程序,不需要自己动手编写,因此JRE中只包含Java运行工具,不包含Java编译工具。

注意:为了方便使用,Sun公司在其JDK中自带了一个JRE,也就是说开发环境中包含运行环境,这样一来,开发人员只需要在计算机上安装JDK即可。

JDK下载地址 Java Downloads | Oracle

JDk下载之后,单击安装,安装界面如下:

开发工具:是JDK中的核心功能模块,其中包含一系列Java程序所必须的可执行程序,如javac.exe、java.exe等,还包含了一个专用的JRE环境。

源代码:安装此模块将会安装Java所有核心类库的源代码,方便调试时使用。

公共JRE:是Java程序的运行环境。由于开发工具中已经包含了一个JRE,因此没有必要再安装公共的JRE环境,此项可以不作选择。

安装完JDK后会自动安装JRE,建议JDK和JRE都默认同一个根目录

JDK安装完成后,目录结构图如下所示:

bin目录:该目录存放一些可执行程序。如javac.exe (Java编译器)、java.exe (Java运行工具)、jar.exe (打包工具)和javadoc.exe (文档生成工具)等。

include目录:包含一些C语言的头文件。由于JDK是通过C和C++实现的,因此在启动时需要引入一些C语言的头文件,该目录就是用于存放这些头文件的。

jre目录:该目录是Java运行时环境的根目录。它包含Java虚拟机,运行时的类包、Java应用启动器以及一个bin目录,但不包含开发环境中的开发工具。

legal目录: 该路径下存放了JDK各模块的授权文档 。

lib目录:包含lib包文件。lib是library的缩写,意为Java类库或库文件,是开发工具使用的归档包文。

javafx-src.zip:该压缩文件内存放的是Java FX(Java图形用户界面工具)所有核心类库的源代码。

src.zip:放置的是JDK核心类的源代码,通过该文件可以查看Java基础类的源代码。

README等:说明性文档。

1.2.2 环境变量配置

JDK安装完成后,要想在系统中的任何位置都能编译和运行Java程序,还需要配置环境变量。通常来说,我们需要配置两个环境变量- PATH和CLASSPATH

1、PATH环境变量

作用:用于告知操作系统到哪里去寻找JDK。比如到哪里去寻找javac.exe,java.exe等。

配置方式:打开“我的电脑->属性->高级系统设置->高级->环境变量->系统变量”,点击“新建”,弹出界面输入:

1.首先新建一个系统变量

“变量名”的文本区域值设置为“JAVA_HOME”;

“变量值”的文本区域值设置为JDK的安装目录“D:\Java\jdk1.8.0_151”(路径以JDK安装目录为准)。

2.其次在变量PATH的值中添加两个值 %JAVA_HOME%\bin 和 %JAVA_HOME%\jre\bin 点击确定即可

验证是否配置成功:单击“开始菜单->所有程序->附件->运行”(或者使用快捷键Win+R),在运行窗口中输入“cmd”并确定后,将打开命令行窗口。在窗口中输入“java -version”命令后,如果能正常地显示JDK对应版本信息,即说明系统环境变量配置成功。

2、CLASSPATH环境变量

作用:用于告知Java编译器到哪里去寻找Java标准类库。这些标准类库是别人已经写好的,我们只管使用。比如我们常用到java.lang包中的类,在配置classpath变量后被设为默认导入,所以在写程序时就不用import这个包了。在Java1.5之后,不需要手动配置CLASSPATH。

1.3 Java程序运行原理

1.3.1编写第一个Java程序

编写一个Java程序需要3个步骤,编辑Java文件->编译Java文件->运行Java文件。下面通过编写HelloWorld程序进行讲解。

第一步:编辑。

在指定盘(比如D盘)新建一个test文件夹,并在该文件夹中新建一个文本文档,重命名为HelloWorld.java后,用记事本方式打开,在其中编写如下一段Java代码,然后保存。

public class HelloWorld {

public static void main(String[ ] args) {

System.out.println("Hello world");

}

}

说明:

1、所有Java源文件的扩展名必须为.java。

2、class是一个关键字,用于定义一个类。在Java中,类是程序的基本单元,所有的代码都需要写在类中。

3、HelloWorld是类的名称,简称类名,类名必须和文件名相同。class关键字与类名之间需要用空格、制表符、换行符等任意的空白字符进行分隔。类名之后要写一对大括号,它定义了当前这个类的管辖范围。

4、“public static void main(String[] args){}”定义了一个main()方法,该方法是Java程序的执行入口,程序将从main()方法所属大括号内的代码开始执行。

5、在main()方法中编写了一条执行语句“System.out.println("Hello World!");”,它的作用是打印一段文本信息,执行完这条语句会在命令行窗口中打印“Hello World!”

第二步:编译。

1、单击“开始菜单->所有程序->附件->运行”(或者使用快捷键Win+R),在运行窗口中输入“cmd”并确定后,将打开命令行窗口。在命令行窗口输入如下两行命令进入test目录。

D: --切换到D盘根目录

cd test --进入到D盘test目录

2、在命令行窗口中输入“javac HelloWorld.java”命令,对源文件进行编译。

上面的javac命令执行完毕后,会在当前目录下生成一个字节码文件“HelloWorld.class”

注意:在使用javac命令编译文件HelloWorld时,有可能会出现“找不到文件”的错误。出现上述错误很有可能是因为文件的扩展名被隐藏了,虽然文本文件被重命名为“HelloWorld.java”,但实际上该文件的真实文件名为“HelloWorld.java.txt”,文件类型并没有得到修改。解决方式是打开Windows系统控制面板中的【文件夹选项】,在“查看”选项下高级设置一栏中将“隐藏已知文件类型的扩展名”选项前面的“√”取消,单击【确定】按钮。然后再重新修改文件名即可。

第三步:运行。

如果编译正确执行后,在命令行窗口中输入“java HelloWorld”命令,运行编译好的字节码文件,将会在控制台上输出“Hello World”。

1.3.2 Java程序运行原理

通过HelloWord程序,我们不难发现,编写Java程序需要分3个步骤,编辑、编译、运行。实际上,Java程序是运行在Java虚拟机上的,Java虚拟机英文缩写为JVM:Java Virtual Machine ,虚拟机是一个虚构出来的计算机,有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。

Java虚拟机屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码文件(字节码文件),就可以在多种平台上不加修改地运行。

Java程序的运行机制如下图所示:

编辑、编译及运行Java程序的过程

一个运行时的Java虚拟机实例的天职就是:负责运行一个Java程序。Java虚拟机的主要任务是装载class文件并且解释执行其中的字节码。当启动一个Java程序时,一个虚拟机实例也就诞生了。当该程序关闭退出,这个虚拟机实例也就随之消亡。如果同一台计算机上同时运行三个Java程序,将得到三个Java虚拟机实例。每个Java程序都运行于它自己的Java虚拟机实例中,如下图所示:

Java虚拟机示意图

运行时过程

编译源文件:java源代码被java编译器编译(Compile)。如果这时产生错误,我们称为编译错误。如果没有错误,则生成字节码(byte code)。

运行字节码:java字节码被装载到java虚拟机中,解释成本地代码再运行。如果此时产生错误,我们称之为运行时错误(Runtime)。

1.3.3 注释

任何一门编程语言都有注释,通过注释可以提高程序的可读性,使程序的条理更加清晰,通常我们在写一个类时,会在程序的开头加入作者,时间,版本,要实现的功能等内容注释,方便维护人员与程序员的交流。

注释在编译阶段不会被编译,Java中的注释包含下面三种。

1.单行注释,以双斜线开头,本行内双斜线后面所有的内容为注释内容。如:

//test

2.多行注释,以斜线星开头,星斜线结尾,中间的所有内容为注释内容。如:

/*

* test

*/

3.文档注释,以斜线两个星开头,星斜线结尾,中间的所有内容为注释内容。文档注释可以生成JavaDOC

/**

* @author neuedu

*/

1.4 Java语言特点

通过上述案例,我们总结一下Java语言的特点,可供各位学员了解。

1.4.1跨平台

通过上面的Java运行原理,我们不难发现,Java程序由虚拟机负责解释执行,而并非操作系统决定。

Java编译器会将Java源程序编译成不同操作系统下的字节码文件,这样便可以实现Java程序的跨平台。原理如下图

1.4.2 半编译半解释

编程语言分为编译型语言和解释型语言。

编译型语言编写的程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言的文件,运行时则不需要重新翻译,直接使用编译的结果就行。程序执行效率高,依赖编译器,跨平台性差,如C/C++等。

解释型语言编写的程序不需要编译,每次运行,都需要一边运行一边翻译,因而效率低,但是靠着解释器,跨平台性好,如PHP,JavaScript等。

而Java语言编写的程序,运行之前需要先编译成字节码文件,所以Java语言是半编译半解释类型的语言。

1.4.3 简单

Java和C++的语法类似,同时Java中摒弃了C++中容易引发程序错误的地方,如多重继承、运算符重载、指针和内存管理等。而且Java具备自动垃圾回收机制、提供了丰富的类库,方便用户调用。因此,相对其它编程语言来说,使用Java编程主要关注在处理程序逻辑上,不用担心垃圾回收、内存管理等内容。

1.4.4 面向对象

面向对象编程是目前大多数编程语言都具备的特性,Java也不例外,因为Java语言最初的设计完全是面向对象的,所以面向对象是Java最基本的特性,面向对象的各种特性在Java语言中都可以使用。

1.4.5 分布式

Java包括一个支持HTTP和FTP等基于TCP/IP协议的子库。因此,Java应用程序可凭借URL打开并访问网络上的对象,就像访问本地文件一样简单方便。Java的分布性为实现在分布环境尤其是Internet下实现动态内容提供了技术途径。

1.4.6 健壮

Java提供了自动垃圾收集机制来进行内存管理,并检测程序对内存的访问,确定合法并不会引起任何问题后,才允许访问。

Java还提供了异常处理机制用来检查编译及运行时可能出现的问题,Java在编译和运行程序时要对可能出现的异常进行检查;同时,Java在编译时还可捕获类型声明中的许多常见错误,帮助程序员消除错误,防止系统崩溃。

1.4.7 安全

作为网络语言,安全是非常重要的。Java的安全性可从两个方面得到保证。一方面,在Java语言里,像指针和释放内存等C++功能被删除,避免了非法内存操作。另一方面,当Java操作浏览器时,语言功能和浏览器本身提供的功能结合起来,使它更安全。Java拥有多个层次的互锁保护措施,能有效地防止病毒的入侵和破坏。Java不支持指针,避免了由于指针操作所引起的错误和非法入侵。同时,Java在运行应用程序时,严格检查其访问数据的权限,保证数据的可靠性。

1.4.8 支持多线程

线程有时也称小进程,是一个大进程里分出来的小的独立运行的基本单位。Java提供的多线程功能使得在一个程序里可同时执行多个小任务,即同时进行不同的操作或处理不同的事件。多线程带来的更大的好处是具有更好的网上交互性能和实时控制性能,尤其是实现多媒体功能。

1.5 集成开发环境

集成开发环境(IDE,Integrated Development Environment)是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。

Java常用IDE:

Eclipse:是一个开放源代码的、基于Java 的可扩展开发平台。

MyEclipse:是Eclipse的多插件综合版,也是一款功能强大的J2EE集成开发环境,由Genuitec公司发布,它是收费的。

IntelliJ IDEA:是一款综合的Java 编程环境,支持J2EE,Ant,JUnit和CVS集成,非平行的编码检查和创新的GUI设计器。

NetBeans IDE:是一个屡获殊荣的集成开发环境,可以使开发人员利用Java平台能够快速创建Web、企业、桌面以及移动的应用程序。

1.5.1 Eclipse集成开发环境

Eclipse是一个开放源码的、基于Java的可扩展平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。Eclipse平台定义了一个开放式体系结构,任何插件开发者都可以在扩展点上添加各种功能。Eclipse软件旨在简化用于多操作系统软件工具的开发过程,它被设计成可以在多个操作系统上运行,基于Eclipse的软件在Linux和Windows系统上都可以运行,因此可以省去开发者把Windows应用程序切换到Linux的操作,进而简化了整个开发过程。同时Eclipse还提供了与每个底层操作系统的强大集成。

1.5.2 选择工作空间界面

安装Eclipse软件前,要确保已经成功安装了JDK工具。Eclipse是可以免费使用的软件,可以从Eclipse的官方站点 http://www.eclipse.org  上下载。

安装方法是直接解开压缩包到磁盘某个分区(如:D盘)的根目录,安装Eclipse的计算机上必须先安装与之版本对应的jdk。

Eclipse的启动方式是在Windows操作系统中可以直接双击Eclipse安装目录下的eclipse.exe启动Eclipse。

当你第一次运行Eclipse软件时,会遇到如下图所示的窗口界面。

这个窗口的功能是让开发者选择一个工作空间(Workspace),或者叫工作目录。如果你输入的工作目录在计算机上并不存在,那么Eclipse会自动为你创建一个目录。我们今后在Eclipse上开发的项目及代码都会放在这个Workspace中,因此建议大家将Workspace放在非系统盘下,以避免重装系统而丢失代码,Eclipse的启动页面如

下图

图1.21 Eclipse的启动界面

选择工作空间,就是将来程序存放的位置,如下图

图1.22设置Workspace的窗口

在选中了Workspace窗口下面的复选框后,会将我们所选择的工作目录作为默认的工作空间,以后再运行Eclipse也不会出现这个窗口进行询问了。

1.5.3 Eclipse的主界面

Eclipse的主界面图如下图

图1.23 Eclipse主界面

主要框架部分介绍如下:

  1. 菜单栏和工具栏;
  2. Package Explorer:树状的项目导航视图,在这里我们可以清晰地看到项目列表以及项目下的包、文件夹、文件列表以及它们的层次关系。我们可以在这里通过鼠标右键菜单来实现文件、包及文件夹的创建、复制、删除、重命名、刷新列表等操作;
  3. 文本编辑窗口:在这个视图里,以文本编辑的方式打开Java代码,可以进行编辑修改,并可以通过鼠标右键菜单来实现运行、调试等功能,默认情况下,Eclipse支持自动编译的功能,当我们在保存文件的同时,Eclipse就会对其进行编译;
  4. Outline视图:文件的大纲视图,在这里我们可以看到被打开文件的类、属性、方法等成员的结构;
  5. Console视图:控制台视图,当被打开文件执行时,输出的信息就在这里显示。

提示:

  1. 如果某些视图在你的Eclipse界面中没有看到,那么你可以通过菜单"Window(窗口)"->"show view(显示视图)"来选择你要显示的视图;
  2. 如果某些视图不在你习惯的位置,你可以通过拖拽鼠标来改变它们的位置和大小。

1.5.4 创建项目

创建项目可以如下进行操作:

  1. 选择菜单"File(文件)"->"New(新建)"->"Project(项目)",如果看不到"Project(项目)"这个菜单,可以在"Others(其它)"中找到。
  2. 或者使用工具栏

    按钮,点击右面那个黑色小钮

    ,选择"Project(项目)"菜单。
  3. 打开"New Project"窗口后,选择"Java Project"项目类型,然后按"next"按钮。

操作界面如下图1.24所示。

图1.24 New Project界面

  1. 进入"New Java Project"窗口后,输入项目名,然后按"Finish"按钮,我们就创建了一个Java项目,如下图1.25所示。

图1.25 New Java Project界面

  1. 创建项目后,在Package Explorer视图(主界面左侧)中,我们会看到一个新的Java项目,如下图1.26所示。

图1.26 Package Exploer视图

1.5.5 创建Java文件

我们创建好项目后,就可以在项目下创建Java代码文件了。

  1. 在Package Explorer视图中,右键点击MyFirst项目,选择菜单菜单"File(文件)"->"New(新建)"->"Class(类)"。
  2. 或者选中项目后,使用工具栏

    按钮,点击右面那个黑色小钮

    ,选择"Class(类)"菜单。
  3. 进入"New Java Class"窗口,输入类名,然后点"Finish"按钮,如下图1.27和1.28所示。

图1.27 New Java Class界面1

图1.28 New Java Class界面2

  1. 在Package Explorer视图中,可以看到我的项目下有了一个新的Java文件,如下图1.29所示。

图1.29创建一个Java文件

1.5.6 编辑Java文件

在编辑页面中输入代码。当对该文件做了更改后,文件名前会有个"*"号,表示文件已更改但未保存,保存文件后,这个符号就会消失,默认情况下保存文件的同时对程序进行编译。

保存文件的方式有三种:

  1. 点击菜单"File(文件)"->"Save(保存)";
  2. 或者点击菜单栏

    按钮;
  3. 或者使用快捷键"Ctrl+S"。

保存前的文件如下图1.30所示。

图1.30编辑Java文件MyFirstClass.java

在Eclipse中,一般情况下是自动编译Java文件的,也就是说保存Java文件的同时,Eclipse就编译了该文件。

1.5.7 运行class文件

编辑并编译了Java文件后,我们还可以在集成环境Eclipse中来运行测试Class文件。启动运行的方式有两种:

  1. 在编辑页面中点击鼠标右键菜单"Run As(运行为)"->"Java Application(Java应用程序)"运行该程序。
  2. 或者使用工具栏

    按钮,点击右面那个黑色小钮

    ,选择"Run As(运行为)"->"Java Application(Java应用程序)"运行该程序。

运行Java文件的方式如下图1.31所示。

  1. 在Console视图中,会看到运行结果,如下图1.32所示。

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

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

相关文章

短视频是如何一步步“蚕食”我们大脑的?

点击上方△腾阳 关注 转载请联系授权 你好,我是腾阳。 今天我们将深入探讨短视频是如何「蚕食」我们的大脑。 首先问下自己,你有多久没有看完一篇长文了? 你是否曾在清晨阳光中,被手机屏幕上短视频图标吸引,而忘记…

ArrayList.subList的踩坑

需求描述&#xff1a;跳过list中的第一个元素&#xff0c;获取list中的其他元素 原始代码如下&#xff1a; List<FddxxEnterpriseVerify> companyList fddxxEnterpriseVerifyMapper.selectList(companyQueryWrapper);log.info("获取多个法大大公司数据量为&#…

【Vue】快速入门:构建你的第一个Vue 3应用

文章目录 一、Vue简介二、环境搭建1. 安装Node.js和npm2. 安装Vue CLI 三、创建Vue项目四、项目结构介绍五、组件基础创建一个组件使用组件 六、模板语法插值指令v-bindv-ifv-for 七、事件处理八、状态管理安装Vuex创建Store使用Store 九、路由基础安装Vue Router配置路由使用路…

科普文:详解23种设计模式

概叙 设计模式是对大家实际工作中写的各种代码进行高层次抽象的总结&#xff0c;其中最出名的当属 Gang of Four&#xff08;GoF&#xff09;的分类了&#xff0c;他们将设计模式分类为 23 种经典的模式&#xff0c;根据用途我们又可以分为三大类&#xff0c;分别为创建型模式…

《Python数据科学之四:建模与机器学习基础》

《Python数据科学之四&#xff1a;建模与机器学习基础》 在数据科学项目中&#xff0c;经过数据清洗、探索性数据分析&#xff08;EDA&#xff09;和数据可视化之后&#xff0c;下一个重要步骤是建立数据模型并应用机器学习技术。本文将深入探讨如何使用 Python 进行建模和机器…

Java异常抛出与处理方法

在Java编程中&#xff0c;异常处理是一个非常重要的部分。通过正确的异常处理&#xff0c;我们可以提高程序的健壮性和可靠性&#xff0c;避免程序在运行过程中出现意外的崩溃。本文将详细讲述Java异常的抛出与处理方法&#xff0c;并通过示例代码进行说明。 一、Java异常的分…

11 网络编程、反射

文章目录 网络编程1、网络的相关概念2、InetAddress 类3、Socket4、TCP 网络通信编程5、UDP 网络通信编程 反射1、反射机制2、Class 类3、类加载4、通过反射获取类的结构信息5、通过反射创建对象6、通过反射访问类中的成员 网络编程 1、网络的相关概念 网络通信 网络 ip 地…

安全防御:智能选路

目录 一、智能选路 1.1 就近选路 1.2 策略路由 1.3 虚拟系统---VRF 二、全局选路策略 1&#xff0c;基于链路带宽进行负载分担 2&#xff0c;基于链路质量进行负载分担 3&#xff0c;基于链路权重的负载分担 4&#xff0c;根据链路优先级的主备备份 DNS透明代理 一、…

Codeforces Round 895 (Div. 3)(A~G)

A. Two Vessels Problem - A - Codeforces 要我们找到最少操作多少次&#xff0c;a和b内的水一样多&#xff0c;从a拿出i克放到b中&#xff0c;之间的差距减少2i&#xff0c;数据范围不大&#xff0c;循环解决即可。 #include<iostream> #include<algorithm> #in…

推荐算法——MRR

定义&#xff1a; MRR计算的是第一个正确答案的排名的倒数&#xff0c;并对所有查询取平均值。它衡量了模型在排序结果中快速找到正确答案的能力。 其中&#xff1a; Q 是查询的总数。ranki​ 是第 i 个查询中第一个正确答案的排名&#xff08;位置&#xff09;。如果第一个正…

Django定时任务框架django-apscheduler的使用

1.安装库 pip install django-apscheduler 2.添加 install_app django_apscheduler 3.在app下添加一个task.py文件&#xff0c;用来实现具体的定时任务 task.pydef my_scheduled_job():print("这个任务每3秒执行一次", time.time()) 4.在app下创建一个manag…

我在哪里可以找到Vim速查表备忘单?

以下是一些适合初学者和高级用户的Vim速查表推荐&#xff1a; aral的Vim速查表 这是一个空间感强且易于理解的速查表&#xff0c;帮助你理解每个命令将跳转到的位置。aral的Vim速查表 Vim速查表 如果你需要一个全面且用户友好的速查表&#xff0c;可以访问Vim速查表。这个资源…

Redis 教程:从入门到入坑

目录 1. Redis 安装与启动1.1. 安装 Redis1.1.1. 在Linux上安装1.1.2. 在Windows上安装 1.2. 启动 Redis1.2.1. 在Linux上启动1.2.2. 在Windows上启动 1.3. 连接Redis1.3.1. 连接本地Redis1.3.2. 连接远程Redis1.3.2.1. 服务器开放端口1.3.2.2. 关闭防火墙1.3.2.3. 修改配置文件…

【QT开发(19)】2023-QT 5.14.2实现Android开发,使用新版SDK,试图支持 emulator -avd 虚拟机

之前的博客【QT开发&#xff08;17&#xff09;】2023-QT 5.14.2实现Android开发&#xff0c;SDK是24.x版本的&#xff0c;虚拟机是32位的&#xff0c;但是现在虚拟机是64位的了&#xff0c;需要升级SDK匹配虚拟机 文章目录 最后的效果1.1 下载最新版 SDK tools (仅限命令行工…

java学习--面向对象三大特征--继承

子类也可以有子类&#xff0c;ed就是子类的子类&#xff0c;也可以是a的子类 package com.extend_test01;public class Extends {public static void main(String[] args) {Pupil pupil new Pupil();pupil.setName("xiao");pupil.setScore(60);pupil.tesing();Syst…

线性回归中的平方损失和正规方程

损失函数 损失函数是用来衡量机器学习模型性能的一个函数。它通过计算模型的预测值与真实值之间的误差&#xff0c;用一个实数来表示这种误差。误差越小&#xff0c;说明模型的性能越好&#xff0c;预测越准确。在确定损失函数之后&#xff0c;通过优化算法求解损失函数的极小值…

初学者如何通过建立个人博客盈利

建立个人博客不仅能让你在网上表达自己&#xff0c;还能与他人建立联系。通过博客&#xff0c;可以创建自己的空间&#xff0c;分享想法和故事&#xff0c;并与有相似兴趣和经历的人交流。 本文将向你展示如何通过建立个人博客来实现盈利。你将学习如何选择博客主题、挑选合适…

阿里云短信PHP集成api类

无需安装sdk扩展包&#xff0c;直接引入类即可使用 V3版本请求体&签名机制:自研请求体和签名机制 - 阿里云SDK - 阿里云 模版内容&#xff1a; <?phpnamespace common\components;use common\constant\UserConst; use common\models\bee\SmsReferer; use common\mode…

Python成像质谱流式细胞术病理生理学

&#x1f3af;要点 &#x1f3af;急性呼吸窘迫综合征病理生理学 | &#x1f3af;获取高度多重空间分辨数据 | &#x1f3af;临床注释病理学景观 | &#x1f3af;使用医学院病理学系提供的组织样本 | &#x1f3af;设计抗体组捕获不同免疫和基质区室 | &#x1f3af;获取适合代…

EXCEL的自定义功能

一、Excel文件获取 OFFICE中导入文本文件&#xff0c;CSV&#xff08;分隔符通常是逗号&#xff09;和TXT&#xff08;分隔符通常是Tab键&#xff0c;可以用记事本打开查看分隔符&#xff09;进入单元格&#xff0c;数据——获取外部数据——自文本。 WPS中数据——获取数据——…