当前位置: 首页 > news >正文

入门者拿捏 Java 的必备小秘诀

本篇会加入个人的所谓‘鱼式疯言’
❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言
而是理解过并总结出来通俗易懂的大白话,
我会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的.
🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人能接受我们这个概念 !!!

在这里插入图片描述

前言

这次小编将开启新的篇章:Java之旅
磨刀不误砍柴工,在学习我们Java的概念之前,先了解方法最重要
主要带着带着友友们知晓的有:

目录

  1. Java 是什么
  2. 学习Java的重要性
  3. Java 的语言特点
  4. 学习Java必备神器
  5. 学习Java必备方式

一. Java是什么

<1>. Java语言概述

Java 是一种优秀的程序设计语言,它具有令人赏心悦目的语法和易于理解的语义。
在这里插入图片描述
不仅如此, Java还是一个有一系列计算机软件和规范形成的技术体系
这个技术体系提供了完整的用于软件开发和跨平台部署的支持环境,并广泛应用于嵌入式系统、移动终端、企业服务器、大型机等各种场合。

鱼式疯言

总结一句就是

Java的走到哪里都能运行,非常好说话

二. 学习 Java 的重要性

<1>. 语言广泛使用程度

下图数据来自于TIOBE编程语言社区2023年2月到2024年一月最新的排行榜,常年占据语言排行榜前五,是近些年比较火的编程语言之一。
在这里插入图片描述

在这里插入图片描述
TIOBE 编程语言社区排行榜是编程语言流行趋势的一个指标,每月更新,这份排行榜排名基于互联网上有经验的程序员、 课程和第三方厂商的数量。排名使用著名的搜索引擎(诸如 Google、MSN、Yahoo!、Wikipedia、YouTube 以及 Baidu 等)进行计算。

鱼式疯言

注意:上述排名不能说明那个语言好,那个语言不好,每门编程语言都有适应自己的 应用场景
这里只是 流行程度的排名

<2>. 工作领域

Java语言目前在IT领域的应用是非常广泛的,掌握Java语言可以从事不少IT行业的相关开发岗位,具体包括:

企业级系统

比如大型复杂的企业级软件系统,Java的安全机制以及跨平台性的优势,其在分布式系统领域开发中有
广泛应用,涉及到金融、电信、交通、电子商务、ERP系统等。

Web开发领域

Java语言在设计初期,赶上了互联网发展的风口,当时就瞄准了互联网开发,凭借稳定的性能表现和较好的扩展性,Java语言一直是大型互联网平台的重要解决方案。

android平台应用

Android是一种智能手机操作系统,Java是一门非常流行的编程语言。Android上的应用程序就是大多是用Java编写的,Android的SDK大部分就是直接将Java SDK翻译过来的,所以具有Java基础,也可以快速上手Android开发。

大数据平台开发

大数据相关的各类框架,比如:Hadoop、spark、storm、flink等,以及各种中间件flume、kafka、sqoop等,这些框架以及工具等大多数是用Java语言开发的,随着大数据技术的落地应用,Java在大数据领域的应用前景也是比较广阔的。

除上述开发领域外,Java在游戏领域、人工智能领域、科学计算领域、嵌入式领域也有一定的应用。因此学好Java,将来就业的选择也会非常广泛。

<3>. 在校招中的岗位需求

在这里插入图片描述

鱼式疯言

从上述位置需求中可以看出,由于咱们 应届生 缺少实际工作经验,因此校招中企业更看重友友们的 基础 ,也就是:

语言、数据结构/算法、操作系统、网络、数据库等,其他的属于加分项。

三. Java 的语言特点

<1>. Java的方方面面

以下Java语言特性来自于 Java白皮书

1. 简单性

Java语法是C++语法的一个“纯净版本”,相当于对C++做了一个减法。这里没有头文件、指针运算(甚至指针语法)、结构、联合、操作符重载、虚基类等等。

不仅如此,Java开发环境远远超出大多数其他编程语言的开发环境。

2. 面向对象
什么是面向对象

在Java的世界里,一切皆对象。比如:人、狗、手机、电脑等都是对象。所谓面相对象,就是依靠对象之间的交互来完成事情,比如:人用手机网上购物,狗吃骨头…

Java的面向对象特性与 C++ 旗鼓相当,与 C++ 的主要不同点在于多重继承。在Java中,取而代之的是更简单的接口概念。而且与 C++ 相比,Java 提供了更丰富的运行时自省功能。

3. 分布式(微服务)

Java 有丰富的例程库,用于处理像 HTTPFTP 之类的 TCP/IP 协议。

Java 应用程序能够通过 URL 打开和访问网络上的对象,其便捷程度就好像访问本地文件一样。

4. 健壮性

JavaC++ 最大的不同在于 Java 采用的指针模型可以消除重写内存和损坏数据的可能性(对于曾经花费几个小时来检查由于指针 bug 而引起内存冲突的人来说,一定很喜欢 Java 的这一特性)。

不仅如此,Java 编译器能够检测许多在其他语言中仅在运行时才能够检测出来的问题。

5. 安全性

Java适用于网络/分布式环境。为了达到这个目标,在安全性方面投入了大量的精力。使用 Java 可以构建防病毒、防篡改的系统

从一开始,Java 就设计成能够防范常见的各种攻击:
运行时 堆栈溢出 。蠕虫和病毒常用的攻击手段。

破坏自己进程空间之外的内存。
未经授权读写文件

6. 体系结构中立

编译器生成一个体系结构中立的目标文件格式,按照该中规范生成的文件,只要有Java 运行时系统,这些编译后的代码就可以在许多处理器上运行。

Java编译器通过生成与特定计算机体系结构无关的字节码指令来实现
这一特性。精心设计的 字节码 不仅可以很容易的在任何机器上解释执行,而且还可以动态地翻译成 本地机器代码 。这就是为什么可以: “Wrice once,Run anywhere”。

而且其他语言编写的程序,在编译后如果能够严格按照字节码文件的规范生成 .class 文件,也可以在 JVM 上运行。

7. 可移植性

C/C++ 不同,Java规范中没有“依赖具体实现的地方”。基本数据类型的大小以及有关运算都做了明确的说明。例如,Java中的 int 永远是32位的整数,而在 C/C++ 中,int 可能是 16位整数、32位整数,也可能是编译器提供商指定的其他大小。

在Java中,数据类型具有固定的大小,这消除了代码移植时令人头疼的主要问题。

8. 解释性

Java 为了实现与平台无关,自己维护了一套基于栈架构的指令集,Java源代码 经过编译之后,字节码文件中的指令就是按照自己的指令集来组织的,但是在具体硬件环境中运行时,系统并不能识别

因为Java程序在执行时,Java解释器会逐条的将 字节码文件 中的指令翻译成 CPU 的指令集。

9. 高性能

边解释边执行,垃圾会说等导致了 Java代码 运行效率偏低,近年来 JVM 也在不断的优化,比如: JIT(即时编译器) ,热点代码探测,让 Java程序 的执行效率大幅提高,在有些场合不亚于 C/C++

10. 多线程

Java在当时很超前。它是第一个支持并发程序设计的主流语言。多线程可以带来更好的交互响应和实时行为。并发程序设计绝非易事,但是Java在这方面表现出色,可以很好的管理这个工作。

12. 动态性

Java与C/C++相比更加具有动态性。它能够适应不断发展的环境。库中可以自由的添
加新方法和实例变量。

而对客户端没有任何影响。在Java中找出运行时类型信息十分简单(反射的特性,后续会学到)

因此:Java 不仅仅是一门编程语言,也是一个由一些列 计算机软件规范组成的技术体系

在这里插入图片描述

鱼式疯言

Java 不仅仅是们语言,也是门体系哦,我们学计算机真正要学的还是Java背后的 体系 哦 💕 💕 💕

四. 学习 Java 的必备神器

哈哈哈,宝子们是不是很好奇是什么神器呢 💖 💖 💖
像我们平常敲 Java 代码是不是要练习,那么我们在哪里练习呢,这时我们就需要一种神器来帮助我们练习
那就是 IntelliJ IDEA
简称: IDEA

<1>. idea是什么

ntelliJ IDEA 是一款由 JetBrains 公司开发的Java集成开发环境**(IDE)**,用于开发 Java、 Kotlin、 Groovy、Scala 等语言的应用程序。

它提供了一整套插件和工具,可以帮助开发者在开发和测试过程中提高效率准确性

<2>. IDEA的的优势

支持多种编程语言的

语法高亮

根据不同的语言,对代码的关键字、注释、变量等进行不同的颜色标识,以便于开发者识别。

智能补全

根据代码上下文,自动提示可用的方法、变量、类等,以提高编写代码的效率和准确性。

自动缩进

根据代码结构,自动缩进代码,使得代码更加易读。

代码折叠

可以折叠代码块,使得代码更加简洁,方便查看。

括号匹配

在编写代码时,自动匹配括号,使得代码更加易读。

快捷键

提供多种快捷键,方便开发者进行快速操作。

多光标编辑

可以在同一时间内对多行代码进行编辑,提高开发效率。

代码提示

根据代码规范,自动提示代码中可能存在的错误或者不规范的写法,以提高代码质量。

代码导航

可以通过快速查找、跳转到定义、查看继承关系等操作,方便开发者理解代码结构。

支持多种编程语言

IntelliJ IDEA的代码编辑器支持多种编程语言。

代码注释

支持多种注释格式,以方便开发者编写文档。

代码审查

支持多种代码审查工具,可以检查代码质量、安全性等方面的问题,并提供相应的修复建议。

鱼式疯言

有优点就会有缺点,唯一的缺点就是占用内存大

但这一点都不影响友友们对于学习 Java 的热情

毕竟咱 IDEA 是 大于 的 ❤️ ❤️ ❤️

居然这么好的东西,小伙伴一定迫不及待想要安装一个练练手吧,别急别急,马上安排 😁 😁 😁

<3>.IDEA的安装以及使用流程

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
如果还有不明白的宝子们可以

IDEA安装视频

五. 学习Java 的必备方式

<1>. 调试是啥

调试可以被定义为在代码库中找到问题的根源并加以修复的过程。

<2>. 调试具体方法步骤

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

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

鱼式疯言

这里的四个调试技巧就已经够宝子们用啦 ! ! !
会不会调试是学好我们 Java 的重要方法,小伙伴们一定要熟练掌握哦 💖 💖 💖

<2>. 刷题

什么 ? ? ?
小爱同学就疑惑了,咱都大学生了还要刷题么,咱学习编程 没错是需要不断刷题来巩固的 💕 💕 💕
小编在此推荐比较好的刷题网站

1. 力扣

力扣刷题网站
在这里插入图片描述

2. 牛客

牛客刷题网站
在这里插入图片描述

鱼式疯言

刷题也是有必要的,当我们见过足够的题时,遇到问题就会有多种解决方法,小伙伴们快快动起手来刷题吧 💖 💖 💖

总结

  • Java 是什么:讲解了Java 的概念
  • 学习Java的重要性:介绍了Java的热度排名以及Java 这门语言的重要性
  • Java 的语言特点: 更深度的讲解了Java 不只是一门语言,而跟更需要用到更广的 领域
  • 学习Java必备神器: 使用 IDEA 的优势以及安装流程
  • 学习Java必备方式:调试和刷题是学习 编程 必备可少的手段

如果觉得小编写的还不错的咱可支持 三连 下 (定有回访哦) , 不妥当的咱请评论区 指正

希望我的文章能给各位宝子们带来哪怕一点点的收获就是 小编创作 的最大 动力 💖 💖 💖

在这里插入图片描述

相关文章:

  • Linux:docker在线仓库(docker hub 阿里云)基础操作
  • VMwareWorkstation17.0虚拟机安装搭建Windows 11虚拟机(完整图文详细步骤教程)
  • Python学习路线图
  • ⭐北邮复试刷题103. 二叉树的锯齿形层序遍历 (力扣每日一题)
  • 模拟发送 Ctrl+Alt+Del 快捷键
  • 【简洁的代码永远不会掩盖设计者的意图】如何写出规范整洁的代码
  • 什么是tomcat?tomcat是干什么用的?
  • [SWPUCTF 2021 新生赛]crypto8
  • MySQL性能调优篇(3)-缓存的优化与清理
  • WordPress作者页面链接的用户名自动变成16位字符串串插件Smart User Slug Hider
  • 《小强升职记:时间管理故事书》阅读笔记
  • 【生产实测有效】Linux磁盘清理常用命令
  • 矩阵对角线元素的和
  • MySQL数据库基础(五):SQL语言讲解
  • Vue3之ElementPlus中Table选中数据的获取与清空方法
  • SegmentFault for Android 3.0 发布
  • 《剑指offer》分解让复杂问题更简单
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • 【391天】每日项目总结系列128(2018.03.03)
  • 30天自制操作系统-2
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • Brief introduction of how to 'Call, Apply and Bind'
  • C++入门教程(10):for 语句
  • JS题目及答案整理
  • js中forEach回调同异步问题
  • Lucene解析 - 基本概念
  • Selenium实战教程系列(二)---元素定位
  • sessionStorage和localStorage
  • vue数据传递--我有特殊的实现技巧
  • 产品三维模型在线预览
  • 欢迎参加第二届中国游戏开发者大会
  • 基于组件的设计工作流与界面抽象
  • 普通函数和构造函数的区别
  • 如何胜任知名企业的商业数据分析师?
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 数据仓库的几种建模方法
  • 微信小程序--------语音识别(前端自己也能玩)
  • 小程序 setData 学问多
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • 阿里云移动端播放器高级功能介绍
  • 带你开发类似Pokemon Go的AR游戏
  • 树莓派用上kodexplorer也能玩成私有网盘
  • #pragma data_seg 共享数据区(转)
  • %@ page import=%的用法
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (五)Python 垃圾回收机制
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • .halo勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • @JsonFormat与@DateTimeFormat注解的使用
  • @Transactional 详解
  • [Angular] 笔记 6:ngStyle
  • [BT]小迪安全2023学习笔记(第15天:PHP开发-登录验证)
  • [BUG] Authentication Error
  • [Head First设计模式]策略模式