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

Java的一些补充性介绍

目录

什么是JDK,JRE

快速入门

学习路线:

如何快速掌握技术或知识点:

IDEA 常用快捷键

IDEA创建项目、模块、包、类

模板/自定义模板

包的命名:​编辑

常用的包

如引入包

断点调试(debug)​编辑

  • 多线程:多线程的使用可以带来更好的交互响应和实时行为。多线程是Java成为主流服务器端开发语言的主要原因之一
  • 安全性:Java适合于网络/分布式环境在安全性方面投入了很大的精力可以构建防病毒,防篡改的系统
  • 跨平台:JAVA代码可以跨平台移植用管具体的操作系统和硬件环境身就是面向网络的,只有在网络环境中才能显示出优势,比如:现在我有一个网络环境,要让我的笔记本(Windows机(Linux内核)交互,笔记本可以发出一个让手机定时录音的JAVA代码

Java语言的重要特点:

  1. 面向对象(oop)
  2. 健壮性
  3. 跨平台
  4. 解释型

解释性语言:javascript,PHP, java 编译性语言: c / c++
区别是:解释性语言,编译后的代码,不能直接被机器执行,需要解释器来执行, 编译性语言, 编译后的代码, 可
以直接被机器执行, c /c++

什么是JDK,JRE

2.7.1JDK 基本介绍

  1. JDK 的全称(Java Development Kit Java 开发工具包)
    JDK = JRE + java 的开发工具 [java, javac,javadoc,javap 等]
  2. JDK 是提供给 Java 开发人员使用的,其中包含了 java 的开发工具,也包括了 JRE。所以安装了 JDK,就不用在单独
    安装 JRE 了。
    2.7.2JRE 基本介绍
  3. JRE(Java Runtime Environment Java 运行环境)
    JRE = JVM + Java 的核心类库[类]
  4. 包括 Java 虚拟机(JVM Java Virtual Machine)和 Java 程序所需的核心类库等,如果想要运行一个开发好的 Java 程序,
    计算机中只需要安装 JRE 即可。
    2.7.3JDK、JRE 和JVM 的包含关系
  5. JDK = JRE + 开发工具集(例如 Javac,java 编译工具等)
  6. JRE = JVM + Java SE 标准类库(java 核心类库)
  7. 如果只想运行开发好的 .class 文件 只需要 JRE

快速入门

2.11.1 需求说明
要求开发一个 Hello.java 程序,可以输出 "hello,world
2.11.2 开发步骤

  1. 将 Java 代码编写到扩展名为 Hello.java 的文件中。[代码说明
  2. 通过 javac 命令对该 java 文件进行编译,生成 .class
  3. 通过 java 命令对生成的 class 文件进行运行。

//对代码的相关说明
//1. public class Hello 表示 Hello 是一个类,是一个 public 公有的类
//2. Hello{ } 表示一个类的开始和结束
//3. public static void main(String[] args) 表示一个主方法,即我们程序的入口

//4. main() {} 表示方法的开始和结束
//5. System.out.println("hello,world~"); 表示输出"hello,world~"到屏幕
//6. ;表示语句结束

7.一个源文件中最多有一个public类。其他类的个数不限。

8.可以将main方法写在非public类中,然后指定运行非public类,这样入口方法就是非 public 的 main 方法。

  1. Java源文件以 .java 为扩展名。源文件的基本组成部分是类(class),如本类中的Helo类。

  2. Java应用程序的执行入口是main()方法。它有固定的书写格式:

    public static void main(String[l args) {...}

  3. Java语言严格区分大小写

  4. Java方法由一条条语句构成,每个语句以“;”结束。

  5. 大括号都是成对出现的,缺一不可。[习惯,先写(}再写代码]

  6. 一个源文件中最多只能有一个public类。其它类的个数不限。

  7. 如果源文件包含一个public类,则文件名必须按该类名命名!

  8. 一个源文件中最多只能有一个public类。其它类的个数不限,也可以将main方法写在非public类中,然后指定运行非public类,这样入口方法就是非public的main方法

学习路线:

核心基础:Java基础→MySQL→JDBC→JavaWeb

微服务核心:Maven→Gradle→Spring6→SpringMVC→MyBatis→MyBatisPlus→SSM

→Redis7→SpringBoot2→SpringCloud

微服务生态:Git→Docker→Elasticsearch→ZooKeeper→Nginx→SpringSecurity→

ActiveMQ→RabbitMQ→RocketMQ→K8S→MySQL面试题→大厂面试题第2季→大厂面试题第3季

项目实战:尚筹网→云尚办公→谷粒学苑→尚医通→硅谷课堂→尚融宝→谷粒商城(大型重磅)

如何快速掌握技术或知识点:

IDEA 常用快捷键

  1. 删除当前行, 默认是 ctrl + Y 自己配置 ctrl + d
  2. 复制当前行, 自己配置 ctrl + alt + 向下光标
  3. 补全代码 alt + / 或者 alt+回车(生成异常处理)
  4. 添加注释和取消注释 ctrl + / 【第一次是添加注释,第二次是取消注释】
  5. 导入该行需要的类 先配置 auto import , 然后使用 alt+enter 即可
  6. 快速格式化代码 ctrl + alt + L
  7. 快速运行程序 自己定义 alt + R
  8. 生成构造器等 alt + insert [提高开发效率]
  9. 查看一个类的层级关系 ctrl + H [学习继承后,非常有用]
  10. 将光标放在一个方法上,输入 ctrl + B , 可以定位到方法 [学继承后,非常有用]
  11. 自动的分配变量名 , 通过 在后面加 .var

src文件夹是源目录的意思。

IDEA创建项目、模块、包、类

https://zhuanlan.zhihu.com/p/687334356

模板/自定义模板

作用:

包基本语法:

包的本质分析(原理)

例如:

包的命名:
常用的包
  1. java.lang.* //lang 包是基本包,默认引入,不需要再引入.
  2. java.util.* //util 包,系统提供的工具包, 工具类,使用 Scanner
  3. java.net.* //网络包,网络开发
  4. java.awt.* //是做 java 的界面开发,GUI
如引入包

建议:我们需要使用到哪个类,就导入哪个类即可,不建议使用 *导入

断点调试(debug)

F7(跳入) F8(跳过) shift+F8(跳出) F9(resume,执行到下一个断点)
F7:跳入方法内
F8: 逐行执行代码.
shift+F8: 跳出方法

小技巧:将光标放在某个变量上,可以看到最新的数据。

断点可以在 debug 过程中,动态的下断点

相关文章:

  • java:测试hystrix的一些关键参数
  • linux常用的基础命令
  • i.MX8MP平台开发分享(RDC软件配置篇)
  • Ubuntu项目部署
  • java aio nio区别
  • 【教程】从0开始搭建大语言模型:实现Attention机制
  • GEO ISP图像调试-PFC(蓝紫边校正)
  • 2024最新最全【大模型】人工智能零基础入门到精通,看完这一篇就够了!
  • DOS 命令
  • android 开机动画执行流程
  • pdf文件怎么改变大小?在线快速压缩pdf的方法
  • vue2 element组件兼容性问题
  • 苹果WWDC大会速览:AI加持全线产品,iOS融入ChatGPT
  • opencv快速安装以及各种查看版本命令
  • 分享4款免费无广告看小说app,喜欢看小说的不要错过!
  • [译] React v16.8: 含有Hooks的版本
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • codis proxy处理流程
  • docker-consul
  • IDEA 插件开发入门教程
  • IDEA常用插件整理
  • JavaScript HTML DOM
  • jquery cookie
  • js对象的深浅拷贝
  • Js基础知识(四) - js运行原理与机制
  • Js基础知识(一) - 变量
  • mysql 5.6 原生Online DDL解析
  • Node 版本管理
  • Python进阶细节
  • Spring Cloud(3) - 服务治理: Spring Cloud Eureka
  • Vue.js源码(2):初探List Rendering
  • Vue2.x学习三:事件处理生命周期钩子
  • 从0实现一个tiny react(三)生命周期
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 关于springcloud Gateway中的限流
  • 基于axios的vue插件,让http请求更简单
  • 前端性能优化--懒加载和预加载
  • 什么是Javascript函数节流?
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • 用jquery写贪吃蛇
  • Java总结 - String - 这篇请使劲喷我
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • ​【经验分享】微机原理、指令判断、判断指令是否正确判断指令是否正确​
  • ​linux启动进程的方式
  • ​ssh免密码登录设置及问题总结
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • #Spring-boot高级
  • (2024,Vision-LSTM,ViL,xLSTM,ViT,ViM,双向扫描)xLSTM 作为通用视觉骨干
  • (3)(3.5) 遥测无线电区域条例
  • (arch)linux 转换文件编码格式
  • (Java入门)抽象类,接口,内部类
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法