diff --git "a/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/1\343\200\201Java\350\257\255\350\250\200\344\273\213\347\273\215.md" "b/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/1\343\200\201Java\350\257\255\350\250\200\344\273\213\347\273\215.md" new file mode 100644 index 0000000000000000000000000000000000000000..aa28c41aee0bef16b64716c6a9e4873c449cb27c --- /dev/null +++ "b/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/1\343\200\201Java\350\257\255\350\250\200\344\273\213\347\273\215.md" @@ -0,0 +1,139 @@ + + +# 1、Java语言介绍 + +## 1.1、java介绍 + +​ Java是一种编程语言,用来编写计算机程序。可以把它想象成一种特殊的语言,专门用来告诉计算机做什么事情。用Java写一个应用程序,让计算机执行特定的任务。 + +## 1.2、java优点 + +### 1.2.1、跨平台性 + +​ java是通过jvm来运行的,与平台系统无关,所以只需要在系统中安装对应的java虚拟机即可(jvm),只需要编写一次程序就可以在各个系统中使用。 + +### 1.2.2、开源性 + +​ Java语言是一种开放源代码的语言,java开发人员可以自己使用和修改java。 + +### 1.2.3、安全性 + +​ java的安全模型是基于可定制的"沙盒"设计,就好比在一个密闭的盒子中运行其java程序,不会对用户或者系统造成影响。 + +### 1.2.4、垃圾回收机制 + +​ java自带垃圾回收机制,不需要开发人员手动管理内存,能够减少内存泄漏问题,减少开发者工作量。 + +### 1.2.5、面向对象 + +​ java是面向对象的一门语言(后续会对面向对象进行详细介绍)。 + +### 1.2.6、丰富的类库 + +​ java提供了大量的类库,开发者可以使用提供的类库进行代码开发,比如工具类、I/O操作、网络编程、并发编程等。 + +### 1.2.7、支持多线程 + +​ java支持多线程,可以让java程序中的多个任务同时运行,能够让程序运行更加高效。 + +### 1.2.8、健壮性 + +​ java在编码时,针对错误编写会给出提示,并且需要改正后才能正常运行、编译;java程序在运行时通过异常处理机制(try-catch)对异常进行捕获处理。 + +## 1.3、java平台版本 + +### 1.3.1、java ME + +​ java ME是为小型设备设计的Java平台。它主要用于嵌入式系统和移动设备,如手机、电视等。Java ME提供了一组精简的API,以满足这些设备的有限内存和处理能力的需求,目前市面上几乎没有使用的了。 + +### 1.3.2、java SE + +​ java SE是Java的核心版本,为桌面应用程序和服务器应用程序提供了一个全面的开发环境。它包含了Java语言的所有核心特性,如面向对象编程、异常处理、多线程、网络编程等。Java SE还包括了丰富的类库,如集合框架、输入输出、图形用户界面(AWT和Swing)、网络通信等。Java SE主要用于开发桌面应用程序、控制台应用程序和服务器应用程序。 + +### 1.3.3、java EE + +​ Java EE是一个为企业级应用程序提供的解决方案,在Java SE的基础上,增加了许多用于开发分布式多层应用程序的API。Java EE的主要组件包括EJB(Enterprise JavaBeans)、JDBC(Java数据库连接)、JSP(Java服务器页面)、Servlet、Java消息服务(JMS)等。Java EE主要用于开发企业级应用程序,如电子商务网站、在线银行、企业资源规划(ERP)系统等。 + +# 2、Java环境搭建 + +## 2.1、java开发和运行环境的核心组件介绍 + +### 2.1.1、JVM + +​ jvm(java虚拟机)是java的核心组件,它是一个能够运行java字节码的虚拟计算机。java程序能够实现跨平台的特性主要就是依靠jvm;通过jVM,java程序能够在不同的操作系统和硬件上运行,而不需要修改代码;jvm还负责读取和执行由java编译后的字节码文件;内存分配及垃圾回收也是由jvm负责。 + +### 2.1.2、JRE + +​ jre(Java运行环境)是一个软件包,包含了运行Java程序所需的核心组件;jre包含jvm(安装jre就不用再安装jvm);jre提供java的核心类库(如工具类util,基本数据类型)。jre主要用于运行已经编写好的Java程序,而不是用于程序的开发。 + +### 2.1.3、JDK + +​ jdk(Java开发工具包)是java的开发环境,它包含了用于开发java应用程序的所有工具。 + +​ jdk包含jre(安装了jdk就无需安装jre);java编译器(javac),用于将java源代码(.java文件)编译成字节码文件(.class)文件;调试器,用于调试代码;运行工具(java);java打包工具(jar)等。 + +​ jdk是开发者进行Java编程的必备工具包,(必要) + +## 2.2、jdk安装及配置 + +### 2.2.1、jdk下载 + +​ jdk官网下载地址:https://www.oracle.com/cn/java/technologies/downloads/ + +​ 根据对应的系统及环境选择对应的安装包进行下载,目前本人使用jdk1.8,后续安装及环境配置均为1.8版本进行安装配置。 + +### 2.2.2、jdk安装 + +​ 运行下载好的安装包,然后点击下一步。 + +![](./images/image-20240804111326506.png) + +​ 选择jdk的安装目录,我的是放在了D盘,有些人可能选择D盘后安装失败,可以尝试再次执行安装程序,选择默认盘符安装(一定要把安装路径记好!),然后点击下一步。 + +​ ![](./images/image-20240804111524179.png) + +​ 出现下图的告警信息。不用管它直接点确定。 + +![image-20240804111746679](./images/image-20240804111746679.png) + +​ 出现下面弹窗,让选择jre安装路径,这部分在**java平台版本**中说过,jre是用于运行时的包,是jdk的一部分。如果没有特殊需求,不需要改变安装目录,点击“下一步” + +![image-20240804111815076](./images/image-20240804111815076.png) + +​ 最后出现如下弹窗即为安装成功。 + +![image-20240804112024976](./images/image-20240804112024976.png) + +### 2.2.3、环境变量配置(win11) + +​ 首先,找到此电脑->右击->属性->高级系统设置 + +![image-20240804104704459](./images/image-20240804104704459.png) + +#### 2.2.3.1、设置JAVA_HOME + +​ 找到系统变量,点击新建,设置变量名为JAVA_HOME(JDK的安装路径),这里路径为你的jdk安装的绝对路径,点击确认设置完成。 + +![image-20240804105144255](./images/image-20240804105144255.png) + +#### 2.2.3.2、设置CLASSPATH + +​ 点击新建,在弹出的窗口中输入变量名:`CLASSPATH`,变量值为 + +.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar`,输入完成后点击确定 ;所有的都一样,复制黏贴即可。 + +![image-20240804105605540](./images/image-20240804105605540.png) + +#### 2.2.3.3、编辑Path变量 + +​ 找到Path变量,选中后点击编辑,进入编辑环境变量界面后,点击新建,然后输入 `%JAVA_HOME%/bin`,再点击新建,输入 `%JAVA_HOME%/jre/bin`(注意不要输错!),然后点击一直确定,关闭所有窗口即可。 + +![image-20240804110112560](./images/image-20240804110112560.png) + +#### 2.2.3.4、验证是否安装成功 + +​ 键盘同时按下win+R键,在弹出的窗口中输入cmd打开命令窗口,在命令窗口中写入 java -version 然后回车 查看是否出现java的版本号 如果出现即为安装成功。 + +![image-20240804110654434](./images/image-20240804110654434.png) + +![image-20240804110730741](./images/image-20240804110730741.png) \ No newline at end of file diff --git "a/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804104348734.png" "b/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804104348734.png" new file mode 100644 index 0000000000000000000000000000000000000000..0ba22393bb019d638f6167709d62b9c075529363 Binary files /dev/null and "b/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804104348734.png" differ diff --git "a/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804104354098.png" "b/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804104354098.png" new file mode 100644 index 0000000000000000000000000000000000000000..0ba22393bb019d638f6167709d62b9c075529363 Binary files /dev/null and "b/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804104354098.png" differ diff --git "a/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804104442729.png" "b/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804104442729.png" new file mode 100644 index 0000000000000000000000000000000000000000..0ba22393bb019d638f6167709d62b9c075529363 Binary files /dev/null and "b/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804104442729.png" differ diff --git "a/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804104704459.png" "b/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804104704459.png" new file mode 100644 index 0000000000000000000000000000000000000000..88d39649d0a46a653a0eab72e6d3c9c0e546774a Binary files /dev/null and "b/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804104704459.png" differ diff --git "a/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804105144255.png" "b/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804105144255.png" new file mode 100644 index 0000000000000000000000000000000000000000..e2c365b96c98532fdc625c62c155e20f0efdc0e1 Binary files /dev/null and "b/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804105144255.png" differ diff --git "a/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804105605540.png" "b/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804105605540.png" new file mode 100644 index 0000000000000000000000000000000000000000..cda65f3c7a54741a02dc645b857fd9fcba0347cb Binary files /dev/null and "b/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804105605540.png" differ diff --git "a/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804110112560.png" "b/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804110112560.png" new file mode 100644 index 0000000000000000000000000000000000000000..58b43cb265370eb0800d4ecf9cada41d62948ba4 Binary files /dev/null and "b/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804110112560.png" differ diff --git "a/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804110654434.png" "b/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804110654434.png" new file mode 100644 index 0000000000000000000000000000000000000000..ea42590ea148f6b6ac527bb7d69a70791e508531 Binary files /dev/null and "b/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804110654434.png" differ diff --git "a/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804110730741.png" "b/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804110730741.png" new file mode 100644 index 0000000000000000000000000000000000000000..cf4751096e794addae4cd5cd8200daf6030b9552 Binary files /dev/null and "b/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804110730741.png" differ diff --git "a/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804110845484.png" "b/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804110845484.png" new file mode 100644 index 0000000000000000000000000000000000000000..1e8010f3be115085bb95545b089486b768c3b1a3 Binary files /dev/null and "b/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804110845484.png" differ diff --git "a/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804111326506.png" "b/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804111326506.png" new file mode 100644 index 0000000000000000000000000000000000000000..82431d776ce556fbe440f33b4753e5495e0794ae Binary files /dev/null and "b/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804111326506.png" differ diff --git "a/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804111524179.png" "b/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804111524179.png" new file mode 100644 index 0000000000000000000000000000000000000000..284422309e4a0c88f161276ba17e388b525e6e46 Binary files /dev/null and "b/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804111524179.png" differ diff --git "a/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804111746679.png" "b/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804111746679.png" new file mode 100644 index 0000000000000000000000000000000000000000..ef0f038152c5217da0d57e55bca47c98c222160f Binary files /dev/null and "b/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804111746679.png" differ diff --git "a/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804111815076.png" "b/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804111815076.png" new file mode 100644 index 0000000000000000000000000000000000000000..e5d882e1f5b365f2cc4615551584dbc093cd564c Binary files /dev/null and "b/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804111815076.png" differ diff --git "a/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804112024976.png" "b/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804112024976.png" new file mode 100644 index 0000000000000000000000000000000000000000..1c95cbd882f3a80250674cef8789098e46f943d8 Binary files /dev/null and "b/java\344\273\216\345\205\245\351\227\250\345\210\260\346\224\276\345\274\203/javaSE\345\237\272\347\241\200/images/image-20240804112024976.png" differ