Java基础--java入门

1.java常见版本

  • Java SE:Standard Edition
  • Java EE:Enterprise Edition
  • Java ME:Micro Edition

Java SE(Standard Edition)

Java SE,即Java平台标准版,是Java技术的核心平台。它提供了Java编程语言、Java虚拟机(JVM)以及Java核心类库和API,主要用于开发和部署桌面应用程序、服务器应用程序、命令行工具和嵌入式系统。Java SE的显著特点包括跨平台性、面向对象编程、丰富的核心类库、安全性以及图形用户界面(GUI)支持等。此外,Java SE还支持并发编程和网络编程,为开发者提供了全面的功能支持。

Java EE(Enterprise Edition)

Java EE,即Java平台企业版,主要用于开发和部署企业级应用程序。它包含了一系列核心技术,如JDBC、JNDI、EJB、RMI、Servlet、JSP等,以及一系列规范和框架,如JPA、Servlet规范、Spring等。Java EE提供了一个开放的、标准的组件体系结构,使得开发者可以构建高性能、可扩展、可维护的企业级应用程序。Java EE还支持分布式计算、Web服务、安全技术、DevOps实践以及微服务架构等,为企业级应用开发提供了全面的解决方案。

Java ME(Micro Edition)

Java ME,即Java平台微型版,是一种针对资源有限的嵌入式设备开发的Java平台。它提供了一个轻量级的运行环境,适用于移动手机、智能卡、个人数字助理(PDA)等设备。Java ME提供了一组API,使开发者能够轻松地开发适用于移动设备的应用程序。它的架构包括了配置、配置文件和可选的包,以满足不同类型设备的需求。相比于Java SE和Java EE,Java ME更加轻量级,可以运行在资源有限的设备上。

2.JDK、JRE和JVM

JDK、JRE和JVM是Java平台的核心组件,它们在Java应用程序的开发和运行过程中发挥着不同的作用。以下是关于这三者的详细介绍:

JDK(Java Development Kit)

JDK是Java开发工具包,是Sun Microsystems(现为Oracle公司的一部分)针对Java开发人员提供的产品。它是Java编程环境的核心,为开发人员提供了一个完整的开发平台。JDK包含了编写、编译、调试和运行Java程序所需的所有工具和库,具体包括:

  • javac:Java编译器,用于将Java源代码编译成Java字节码。
  • jar:打包工具,用于将相关的类文件打包成一个文件。
  • javadoc:文档生成器,用于从源码注释中提取文档。
  • 其他工具:如jconsole、java、javah(产生可以调用Java过程的C过程或建立能被Java程序调用的C过程的头文件)、javap(Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义)、native2ascii、Java调试器(jdb)等。

此外,JDK还包括完整的JRE(Java Runtime Environment,即Java运行环境)以及给开发员使用的补充库,如国际化的库、IDL库。JDK还提供了丰富的示例程序和源代码,用于演示如何使用Java API。JDK的主要特点包括跨平台性、面向对象、丰富的API以及安全性。

JRE(Java Runtime Environment)

JRE是Java运行时环境,为Java程序的运行提供了必要的环境。它包含了Java虚拟机(JVM)、核心类库和支持文件等组件。JRE的主要作用是为Java程序提供一个跨平台的运行环境,使得Java程序可以在不同的操作系统上运行而无需重新编译。JRE的组件包括:

  • JVM:Java虚拟机,是JRE的核心组件。它负责执行Java字节码,将字节码解释成具体平台上的机器指令执行。
  • 核心类库:包含了各种常用的功能和API,如网络通信、文件操作、数据库连接等。开发人员可以使用这些类库来构建各种应用程序。
  • 支持文件:如配置文件、安全策略文件等,用于配置JRE的运行环境。

JRE的跨平台性、安全性以及自动内存管理等特点,使得Java程序能够在不同的操作系统上稳定运行。

JVM(Java Virtual Machine)

JVM是Java虚拟机,是Java技术的核心组件之一。它负责运行Java程序,通过在实际的计算机上仿真模拟各种计算机功能来实现。JVM的主要作用是将Java程序编译后的字节码(Bytecode)解释成具体平台上的机器指令执行,从而实现Java程序的跨平台运行。JVM的组成部分包括:

  • 类装载器(Class Loader):负责将Java类加载到JVM中。类装载器有多个级别,主要负责加载Java核心类库和用户自定义类。
  • 运行时数据区:包括方法区、堆、Java栈、程序计数器以及本地方法栈。其中,方法区用于存储类的结构信息、常量、静态变量等数据;堆是JVM中最大的一块内存区域,用于存储对象实例;Java栈是线程私有的,用于存储方法的局部变量表等信息;程序计数器用于存储每个线程下一步将要执行的JVM指令;本地方法栈为JVM使用到的Native方法服务。
  • 执行引擎:负责执行JVM中的字节码指令,包括解释执行和即时编译(JIT)两种方式。解释执行是将字节码逐条翻译成机器码执行,而即时编译则是将一部分字节码编译成机器码后再执行,以提高执行效率。
  • 垃圾回收器(Garbage Collector):负责自动管理堆内存中的对象,包括对象的分配、使用和回收。垃圾回收器会定期扫描堆内存,回收不再使用的对象占用的内存空间。

JVM的广泛应用场景包括企业级应用、移动应用、云计算、大数据处理等领域。它提供了稳定、高效、安全的Java程序运行环境,为开发人员提供了丰富的API和工具。

三者关系

  • JDK包含JRE:JDK是完整的Java软件开发工具包,它包含了JRE以及用于开发的工具,如编译器、调试器等。
  • JRE包含JVM:JRE是Java程序的运行环境,它包含了JVM以及Java程序运行所需的核心类库和支持文件。

3.java的优点和缺点

Java作为一种广泛应用的编程语言,具有其独特的优点和缺点。以下是对Java优缺点的详细分析:

优点:

  1. 跨平台性
    Java语言最大的特点之一是其跨平台性,即“一次编写,到处运行”。Java程序可以在任何安装了Java虚拟机(JVM)的平台上运行,无需针对特定平台进行编译。

  2. 面向对象
    Java是一种纯面向对象的编程语言,支持类、继承、多态等面向对象特性,有助于开发可重用、可扩展和可维护的代码。

  3. 安全性
    Java提供了丰富的安全特性,如类加载器、字节码验证、安全管理器等,确保Java程序在运行时不会执行恶意代码。

  4. 自动内存管理
    Java采用垃圾回收机制,自动管理内存分配和释放,减轻了开发人员的负担,降低了内存泄漏的风险。

  5. 丰富的API
    Java提供了大量的标准库和第三方库,涵盖了网络通信、文件操作、数据库连接、图形用户界面(GUI)等各个方面,方便开发人员快速构建功能丰富的应用程序。

  6. 强大的社区支持
    Java拥有庞大的开发者社区和丰富的资源,包括教程、文档、开源项目等,有助于开发人员解决问题和提高技能。

缺点:

  1. 性能问题
    虽然Java的跨平台性和安全性带来了很多好处,但也牺牲了一定的性能。Java程序在运行时需要JVM进行字节码解释和执行,这可能导致性能下降。然而,随着JVM的不断优化和即时编译(JIT)技术的发展,Java程序的性能已经得到了显著提升。

  2. 内存占用较大
    Java程序在运行时需要占用较多的内存资源,这可能会成为在一些资源受限环境下运行Java程序的障碍。然而,随着计算机硬件的不断发展和JVM的优化,这个问题已经得到了缓解。

  3. 学习曲线较陡
    Java语言本身相对复杂,包含了较多的概念和语法规则。对于初学者来说,可能需要花费更多的时间和精力来掌握Java编程技能。然而,一旦掌握了Java的基础知识,开发人员就可以利用Java的强大功能来构建复杂的应用程序。

  4. 更新速度较慢
    Java语言的更新速度相对较慢,这可能导致一些新的编程技术和特性无法及时在Java中得到支持。然而,这也确保了Java的稳定性和可靠性,使得Java成为许多企业级应用的首选编程语言。

4.IDEA常见快捷键和Eclipse快捷键

IDEA

IntelliJ IDEA是一款流行的Java集成开发环境(IDE),它提供了许多快捷键来提高开发效率。以下是一些常见的IntelliJ IDEA快捷键:

一、编辑类快捷键

  1. Ctrl+C:复制选中文本。
  2. Ctrl+X:剪切选中文本。
  3. Ctrl+V:粘贴文本。
  4. Ctrl+Y:删除光标所在行或选中的行(在某些版本或配置中,可能是Ctrl+D)。
  5. Ctrl+D:复制当前行或选中内容到下一行(注意与Ctrl+Y的区别,可能因版本而异)。
  6. Ctrl+Z:撤销操作。
  7. Ctrl+Shift+Z:重做操作/取消撤销。
  8. Ctrl+W:递进式选择代码块,可选中光标所在的单词或段落,连续按会在原有选中的基础上再扩展选中范围。
  9. Ctrl+F:在当前文件中查找文本。
  10. Ctrl+R:在当前文件中替换文本。
  11. Ctrl+Shift+F:在项目中查找文本。
  12. Ctrl+Shift+R:在项目中替换文本。
  13. Ctrl+G:在当前文件跳转到指定行处。
  14. Ctrl+P:方法参数提示显示。
  15. Ctrl+Q:显示光标所在的变量、类名、方法名等的文档内容。
  16. Ctrl+U:前往当前光标所在的方法的父类的方法/接口定义。
  17. Ctrl+B/Ctrl+Click:快速打开光标处的类或方法(跳转到定义处)。
  18. Ctrl+K:版本控制提交项目(需要项目已加入到版本控制)。
  19. Ctrl+T:版本控制更新项目(需要项目已加入到版本控制)。
  20. Ctrl+/:注释/取消注释光标所在行代码,会根据当前不同文件类型使用不同的注释符号。
  21. Ctrl+Shift+U:大小写转化。
  22. Ctrl+Alt+L:格式化代码。
  23. Ctrl+Alt+I:自动缩进代码。
  24. Ctrl+Shift+J:整合两行为一行。
  25. Ctrl+Shift+Space:自动补全代码。
  26. Ctrl+Alt+O:优化导入的类和包。
  27. Alt+Insert:生成代码(如GET、SET方法、构造函数等)。
  28. Ctrl+E:显示最近更改的代码/文件。
  29. Ctrl+Alt+Space:类名或接口名提示。
  30. Ctrl+Shift+Enter:自动补充结束的分号并换行。
  31. Ctrl+Alt+V:引入变量或提取变量。
  32. Ctrl+Alt+B:跳转到方法实现处。
  33. Ctrl+Shift+Backspace:跳转到上次编辑的地方。
  34. Alt+7:靠左窗口显示当前文件的结构。
  35. Ctrl+F12:浮动显示当前文件的结构。
  36. Ctrl+Tab:切换活动文件。
  37. Alt+F1:选择文件的定位。
  38. Ctrl+Shift+E:最近打开的文件。
  39. F2 或 Shift+F2:高亮错误或警告快速定位。
  40. Ctrl+Up/Down:光标跳转到第一行或最后一行。
  41. Ctrl+Shift+上下键:上下移动代码。
  42. Ctrl+Alt+左右键:返回至上次浏览的位置。
  43. Shift+Enter:另起一行。
  44. Ctrl+Shift+N:快速打开文件。
  45. Ctrl+N:快速打开类。
  46. Alt+1:快速打开或隐藏工程面板。
  47. Alt+左右键:切换代码视图。
  48. Ctrl+Shift+Alt+N:查找类中的方法或变量。
  49. 双击Shift:在项目的所有目录查找文件。
  50. Ctrl+Alt+Shift+V:粘贴为纯文本。

二、Debug快捷键

  1. F8:步过(Step Over),单步执行代码,不进入方法内部。
  2. F7:步入(Step Into),单步执行代码,进入方法内部。
  3. Shift+F7:智能步入(Smart Step Into),单步执行代码,进入方法内部时提供选择。
  4. Shift+F8:在Debug模式下,跳出当前方法。
  5. Alt+F9:运行到光标处。
  6. F9:继续执行,进入下一个断点或执行完程序。
  7. Ctrl+F2:停止Debug。
  8. Ctrl+Shift+F8:查看断点。
  9. Ctrl+F8:在Debug模式下,设置或取消当前行为断点。

三、导航与搜索快捷键

  1. Shift+F6:重构-重命名(包、类、方法、变量等)。
  2. Alt+F7:查找整个工程中使用某个类、方法或变量的位置。
  3. Ctrl+Alt+F7:查找函数或变量或类的所有引用到的地方(与Alt+F7功能类似,但可能因版本而异)。
  4. Ctrl+H:显示类结构图。
  5. Ctrl+Alt+B:找所有的子类。
  6. Ctrl+Shift+B:找变量的类。
  7. Alt+Enter:显示意图操作,如快速修正代码、导入包等。
  8. Ctrl+F1:显示错误描述。
  9. Ctrl+NumPad+:展开代码块。
  10. Ctrl+NumPad-:折叠代码块。
  11. Ctrl+Shift+NumPad+:全部展开。
  12. Ctrl+Shift+NumPad-:全部折叠。

四、其他常用快捷键

  1. Ctrl+S:保存所有文件。
  2. Ctrl+A:全选。
  3. Ctrl+F4:关闭当前窗口/标签页。
  4. Alt+F12:资源管理器打开文件夹(在某些版本中可能是Ctrl+Alt+F12)。
  5. Ctrl+Shift+F10:运行项目。
  6. Alt+Shift+F9:选择Debug模式运行。
  7. Alt+Shift+F10:选择Run模式运行。
  8. Ctrl+F9:构建项目(等同于菜单Build->Build Project)。

Eclipse

Eclipse是一个流行的Java集成开发环境(IDE),它提供了许多快捷键来加速开发过程。以下是一些常见的Eclipse快捷键:

一、编辑器快捷键

  1. Ctrl+S:保存当前文件。
  2. Ctrl+Z:撤销上一步操作。
  3. Ctrl+Y:重做/反撤销上一步操作(即撤销的撤销)。
  4. Ctrl+X:剪切选中的文本或代码。
  5. Ctrl+C:复制选中的文本或代码。
  6. Ctrl+V:粘贴剪切或复制的文本或代码。
  7. Ctrl+A:全选当前文件中的所有内容。
  8. Ctrl+F:在当前文件中查找文本。
  9. Ctrl+H:打开全局搜索和替换对话框(或用于查看历史记录,取决于上下文)。
  10. Ctrl+D:删除当前行或选中的行/内容。
  11. Ctrl+Shift+F:格式化选中的代码或整个文件。
  12. Ctrl+/:注释/取消注释选中的代码行(单行注释)。
  13. Ctrl+Shift+/:多行注释/取消注释选中的代码块(使用/* */进行注释)。
  14. **Ctrl+Shift+**:取消多行注释(与Ctrl+Shift+/相反)。

二、导航和查找快捷键

  1. Ctrl+E:快速切换编辑器(在打开的多个编辑器之间切换)。
  2. Ctrl+O:打开当前文件的大纲视图,快速查找类中的方法、属性等。
  3. Ctrl+Shift+R:打开资源管理器,快速定位到项目中的某个文件。
  4. Ctrl+Shift+T:打开类型搜索对话框,快速定位到某个类。
  5. F3:跳转到声明/定义处(如变量、方法、类的定义)。
  6. Alt+Left/Right:在浏览历史中前进/后退(如在编辑器之间切换、打开的文件之间切换等)。
  7. Ctrl+Page Down/Up:在选项卡之间快速切换(如在多个打开的编辑器或视图之间切换)。
  8. Ctrl+Shift+G:查找所有引用选中的元素。
  9. Ctrl+L:快速定位到当前文件的某一行(输入行号后按Enter)。

三、代码编辑和重构快捷键

  1. Ctrl+Space:自动补全代码(内容提示)。
  2. Alt+/:与Ctrl+Space类似,也是自动补全代码或提示代码的快捷键(在某些上下文中可能有所不同)。
  3. Ctrl+Shift+O:自动导入缺失的类(批量导包)。
  4. Alt+Shift+R:重命名选中的变量、方法、类等(批量修改指定的名称)。
  5. Alt+Shift+M:将选中的代码抽取为一个方法。
  6. Alt+Shift+L:将选中的代码抽取为一个局部变量。
  7. Alt+Shift+C:将选中的代码抽取为一个常量。
  8. Alt+Shift+S:生成getter/setter/构造器等结构。

四、调试和运行快捷键

  1. F11:运行当前项目(进入调试模式)。
  2. Ctrl+F11:运行上次运行的项目(不进入调试模式)。
  3. F5:逐行调试(进入方法内部)。
  4. F6:逐过程调试(不进入方法内部,直接执行完方法)。
  5. F7:单步跳过(与F6类似,但可能因上下文而异)。
  6. F8:继续执行程序(从当前断点处继续运行)。
  7. Ctrl+Shift+B:设置/取消断点。

五、其他常用快捷键

  1. Ctrl+M:最大化当前编辑器窗口(再次按下恢复正常窗口)。
  2. Ctrl+W:关闭当前窗口或视图。
  3. Ctrl+Shift+W:关闭所有打开的窗口或视图。
  4. Alt+Enter:显示当前选择资源(如工程、文件)的属性或快速修复选项。
  5. Ctrl+K:快速查找,参照选中的单词快速定位到下一个匹配项。
  6. Ctrl+Shift+L:列出当前上下文中可用的所有快捷键。
  7. Home:直接定位到当前行的首位。
  8. End:直接定位到当前行的末位。
  9. Shift+Enter:在当前行之下创建一个空白行(与光标是否在行末无关)。
  10. Ctrl+Shift+Enter:在当前行之前插入空白行。
  11. Alt+Up/Down:上下移动选中的代码行或选中的文本块。
  12. Ctrl+Alt+Down/Up:复制高亮显示的一行或多行到下一行/上一行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值