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

Java基础--阳光总在风雨后,请相信彩虹

1、今日任务

  • JAVA SE-韩顺平视频教程–30p以上(今天得50p以上因为是基础)
  • 计算机基础八股记忆总结
  • 刷题(两题)可以先用python

1、SSM

ssm->Spring(轻量级的文本开发框架)/SpringMVC(分层的web开发框架)/MyBatis(持久化框架)

2、什么是程序

程序:计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合

3、java之父gosling

4、1995年java第一个版本发布

5、java技术体系平台

  • Java SE标准版(支持面向桌面级应用的Java平台,提供了完整的Java核心API)
  • Java EE企业版(是为开发企业环境下的应用程序提供的一套解决方案,主要针对于Web应用程序开发)
  • Java Me小型版(支持Java程序运行在移动终端上的平台,对Java API 有所精简,并加入了针对移动终端的支持)

6、Java重要特点

  • Java语言是面向对象的(oop)
  • Java语言是健壮的。Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证
  • Java语言是跨平台性的。(即一个编译好的.class文件可以在多个系统下运行)

Java跨平台性

  • Java语言是解释型的

解释性语言:Javascript,PHP,java 编译性语言:c/c++

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

7、Java运行机制及运行过程

在这里插入图片描述

  • Java核心机制-Java虚拟机[JVM java virtual machine]
  1. JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器、包含在JDK中
  2. 对于不同的平台,有不同的虚拟机
  3. Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”

在这里插入图片描述

8、什么是JDK,JRE

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

9、配置环境变量path

  • 配置环境变量path的步骤
  1. 我的电脑–属性–高级系统设置–环境变量
  2. 增加JAVA_HOME环境变量,指向jdk的安装目录
  3. 编辑path环境变量,增加%JAVA_HOME%\bin
  4. 打开DOS命令行,任意目录下敲入javac/java,如果出现javac的参数信息,配置成功
  5. 用户变量和系统变量差不多只不过前者只适用于当前用户,后者适用于全部用户

10、Java快速入门

//这是java快速入门,演示java的开发步骤
//对代码的相关说明
//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、; 表示语句结束
public class Hello {//编写一个main方法public static void main(String[] args) {System.out.println("亦向枫 is studying java!");}
}

文件有中文时,如何处理

在文件->设置文件编码->GBK 需要重新保存即可

运行就是将对应的.class文件(字节码文件)装载到对应的虚拟机上运行(.java文件就是源文件)

什么是编译:

1、有了java文件,通过编译器将其编译成JVM可以识别的字节码文件
2、在该源文件目录下,通过javac编译工具对Hello.java文件进行编译。本质就是将.class装载到JVM机执行
3、如果程序没有错误,没有任何提示,但在当前目录下会出现一个Hello.class文件,该文件称为字节码文件,也是可以执行的java的程序

11、Java开发注意事项和细节说明

  1. java源文件以.java为拓展名。源文件的基本组成部分是类(class),如本类中的Hello类
  2. Java应用程序的执行入口是main()方法。它有固定的书写格式:public static void mian (String[] args) {…}
  3. java语言严格区分大小写。
  4. Java方法由一条条语句构成,每个语句以";"结束
  5. 大括号都是成对出现的,缺一不可。[习惯,先写{}再写代码]
  6. 一个源文件中最多只能有一个public类,其他类的个数不限。(编译后,每一个类,都对应一个.class)
  7. 如果源文件中包含一个public类,则文件名必须按该类名命名
  8. 一个源文件中最多只能有一个public类。其他类的个数不限,也可以将main方法写在非public类中,然后指定运行非public类,这样入口方法就是非public的main方法

12、Java转义字符

  1. \t:一个制表位,实现对齐的功能
  2. \n:换行符
  3. \ \ :一个\
  4. \ ":一个“
  5. \ ‘ :一个’
  6. \ r :一个回车 System.out.println(“亦向枫\r加油”);
//演示转义字符的使用
public class ChangeChar {//编写一个main方法public static void main(String[] args) {System.out.println("亦向枫\t刘妍汐");System.out.println("亦向枫\n刘妍汐");System.out.println("亦向枫\\刘妍汐");System.out.println("亦向枫\"刘妍汐\"");System.out.println("亦向枫\'刘妍汐\'");System.out.println("亦向枫加油\r刘妍汐");//解读//1、输出:亦向枫//2、\r表示回车//光标回到最前面并开始打印,结果为:刘妍汐加油System.out.println("亦向枫加油\r\n刘妍汐加油");}
}
结果为:亦向枫  刘妍汐
亦向枫
刘妍汐
亦向枫\刘妍汐
亦向枫"刘妍汐"
亦向枫'刘妍汐'
刘妍汐加油
亦向枫加油
刘妍汐加油

练习:

要求:请使用一句输出语句,达到输入如下图像的效果

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

public class ChangeChar {//编写一个main方法public static void main(String[] args) {System.out.println("书名\t作者\t价格\t销量\n三国\t罗贯中\t120\t1000");}
}

13、初学Java易犯错误

  1. 找不到文件(解决方法:源文件名不存在或者写错,或者当前路径错误)
  2. 主类名和文件名不一致(解决办法:声明为public的主类应与文件名一致,否则编译失败)
  3. 缺少分号(解决方法:编译失败,注意错误出现的行数,再到源代码中指定位置改错)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

14、Java中的注释类型

  1. 单行注释(//注释文字)
  2. 多行注释(/* 注释文字 */)
  3. 文档注释

使用细节:

  1. 被注释的文字不会被JVM(Java虚拟机)解释执行
  2. 多行注释里面不允许有多行注释嵌套

文档注释:注释内容可以被JDK提供的工具javadoc工具所解析,生成一套以网页形式体现的该程序的说明文档的文档注释

Javadoc -d 文件夹名 -xx -yy 源文件名

javadoc 标签

javadoc 工具软件识别以下标签:

标签描述示例
@author标识一个类的作者@author description
@deprecated指名一个过期的类或成员@deprecated description
{@docRoot}指明当前文档根目录的路径Directory Path
@exception标志一个类抛出的异常@exception exception-name explanatio
{@inheritDoc}从直接父类继承的注释Inherits a comment from the immediate surperclass.
{@link}插入一个到另一个主题的链接{@link name text}
{@linkplain}插入一个到另一个主题的链接,但是该链接显示纯文本字体Inserts an in-line link to another topic.
@param说明一个方法的参数@param parameter-name explanation
@return说明返回值类型@return explanation
@see指定一个到另一个主题的链接@see anchor
@serial说明一个序列化属性@serial description
@serialData说明通过writeObject( ) 和 writeExternal( )方法写的数据@serialData description
@serialField说明一个ObjectStreamField组件@serialField name type description
@since标记当引入一个特定的变化时@since release
@throws和 @exception标签一样.The @throws tag has the same meaning as the @exception tag.
{@value}显示常量的值,该常量必须是static属性。Displays the value of a constant, which must be a static field.
@version指定类的版本@version info

15、Java代码规范

  1. 类、方法的注释,要以javadoc的方式来写。
  2. 非Java Doc的注释,往往是给代码的维护者看的,着重告诉读者为什么这样写,如何修改,注意什么问题等
  3. 使用tab操作,实现缩进,默认整体向右边移动,用shift+tab整体向左移
  4. 运算符和 = 两边习惯性各加一个空格。比如:2 + 5 * 4 + 345 - 89
  5. 源文件使用utf-8编码
  6. 行宽度不要超过80个字符
  7. 代码编写次行风格和行尾风格

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2、今日总结

  • 任务总结
    • 刷题一道但是等于没刷都没有总结也没有多看看
    • Java基础学习看视频做笔记学习到不到30p进度太慢了
    • 面试题晚上才准备看
  • 明日规划
    • Java基础学习看视频做笔记—30p及以上
    • 刷题至少一道并做好总结
    • 面试题至少一道或者是一篇面试题博客(做好笔记)

相关文章:

Java基础--阳光总在风雨后,请相信彩虹

1、今日任务 JAVA SE-韩顺平视频教程–30p以上(今天得50p以上因为是基础)计算机基础八股记忆总结刷题(两题)可以先用python 1、SSM ssm->Spring(轻量级的文本开发框架)/SpringMVC(分层的w…...

高级网络调试技巧:使用Charles Proxy捕获和修改HTTP/HTTPS请求

今天我将与大家分享一种强大的网络调试技巧,那就是使用Charles Proxy来捕获和修改HTTP/HTTPS请求。如果您是一位开发人员或者网络调试爱好者,那么这个工具肯定对您有着很大的帮助。接下来,让我们一起来学习如何使用Charles Proxy进行高级网络…...

Discuz大气游戏风格模板/仿lol英雄联盟游戏DZ游戏模板GBK

Discuz大气游戏风格模板,lol英雄联盟游戏模板,DZ游戏娱乐模板GBK。模板名称:lol英雄联盟游戏(m0398_lol) 下载地址:https://bbs.csdn.net/topics/617408069...

206、SpringBoot 整合 RabbitMQ 的自动配置类 和 对应的属性处理类 的知识点

目录 ★ Spring Boot 为 RabbitMQ 提供的自动配置▲ 自动配置类:RabbitAutoConfiguration▲ 属性处理类:RabbitProperties相关配置 ★ AmqpAdmin的方法★ AmqpTemplate的方法代码演示创建一个springboot的项目。application.properties 配置属性 ★ Spri…...

网络链接失败怀疑是服务器处于非正常状态?如何用本地电脑查看服务器是否正常?

网络链接失败怀疑是服务器处于非正常状态?如何用本地电脑查看服务器是否正常? 网页会出现链接失败,可以实时用cdm大法,cdm可以更好的排查字节数据的返回,可以让我们更好的要检查服务器是否处于正常状态,接下…...

文件操作(打开关闭文件、文件顺序以及随机读写)

文章目录 写在前面1. 文件的打开与关闭1.1 文件指针1.2 文件的打开(fopen)与关闭(fclose)1.2.1 fopen函数1.2.2 fclose函数 2. 文件的顺序读写2.1. fgetc 和 fputc函数2.1.1 fputc函数2.1.2 fgetc函数 2.2 fgets 和 fputs函数2.2.1 fputs函数2.2.2 fgets函数 2.3 fscanf和fprin…...

HTTP 响应头 X-Frame-Options

简介 X-Frame-Options HTTP 响应头用来给浏览器一个指示。该指示的作用为&#xff1a;是否允许页面在 <frame>, </iframe> 或者 <object> 中展现。 网站可以使用此功能&#xff0c;来确保自己网站的内容没有被嵌套到别人的网站中去&#xff0c;也从而避免了…...

MongoDB 集群配置

一、副本集 Replica Sets 1.1 简介 MongoDB 中的副本集&#xff08;Replica Set&#xff09;是一组维护相同数据集的 mongod 服务。 副本集可提供冗余和高可用性&#xff0c;是所有生产部署的基础。 也可以说&#xff0c;副本集类似于有自动故障恢复功能的主从集群。通俗的讲就…...

random生成随机数的灵活运用

random返回的 [0,1) 之间的一个随即小数 思考&#xff1a;请写出获取 a-b 之间的一个随机整数&#xff0c;a,b均为整数&#xff0c;比如 a2 , b7 即返回一个数 x > [2,7]Math.random()*(b-a) 返回的就是 [0,b-a](int)(aMath.random()*(b-a1)) 》 (int)(2Math.random()*6) Ma…...

宏定义实现二进制数的奇偶位交换

思路分析 通过宏定义来实现二进制数的奇偶位交换&#xff0c;如果一个个遍历交换的话&#xff0c;那得算到猴年马月&#xff0c;这是我在网上看到的一个思路&#xff1a; 我们将每一位&#xff08;整数在计算机里存储是4字节&#xff0c;32位&#xff09;二进制数的奇数位保留…...

【ELK 使用指南】ELK + Filebeat 分布式日志管理平台部署

ELK和EFLK 一、前言1.1 日志分析的作用1.2 需要收集的日志1.3 完整日志系统的基本特征 二、ELK概述2.1 ELK简介2.2 为什么要用ELK?2.3 ELK的组件 三、ELK组件详解3.1 Logstash3.1.1 简介3.1.2 Logstash命令常用选项3.1.3 Logstash 的输入和输出流3.1.4 Logstash配置文件 3.2 E…...

传输层 | UDP协议、TCP协议

之前讲过的http与https都是应用层协议&#xff0c;当应用层协议将报文构建好之后就要将报文往下层传输层进行传递&#xff0c;而传输层就是负责将数据能够从发送端传到接收端。 再谈端口号 端口号(port)标识了一个主机上进行通信的不同的应用程序&#xff0c;在TCP/IP协议中&…...

Webmin(CVE-2019-15107)远程命令执行漏洞复现

漏洞编号 CVE-2019-15107 webmin介绍 什么是webmin Webmin是目前功能最强大的基于Web的Unix系统管理工具。管理员通过浏览器访问Webmin的各种管理功能并完成相应的管理动作http://www.webmin.com/Webmin 是一个用 Perl 编写的基于浏览器的管理应用程序。是一个基于Web的界面…...

嵌入式实时操作系统的设计与开发 (前后台系统)

前后台结构 前后台系统也称为中断驱动系统&#xff0c;其软件结构的显著特点是运行的程序有前台和后台之分。 在后台&#xff0c;一组程序按照轮询方式访问CPU&#xff1b;在前台&#xff0c;当用户的请求到达时&#xff0c;首先向CPU触发中断&#xff0c;然后将该请求转交给后…...

Macos数字音乐库:Elsten Software Bliss for Mac

Elsten Software Bliss for Mac是一款优秀的音乐管理软件&#xff0c;它可以帮助用户自动化整理和标记数字音乐库&#xff0c;同时可以自动识别音乐信息并添加标签和元数据。 此外&#xff0c;Bliss还可以修复音乐库中的问题&#xff0c;例如重复的音乐文件和缺失的专辑封面等…...

基于SpringBoot的校园周边美食探索及分享平台的设计与实现

文章目录 项目介绍主要功能截图:登录注册个人信息管理后台首页轮播图管理美食鉴赏我的好友管理我的收藏管理用户管理部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给…...

GPT-4V的图片识别和分析能力

GPT-4V是OpenAI开发的大型语言模型&#xff0c;是GPT-4的升级版本。GPT-4V在以下几个方面进行了改进&#xff1a; 模型规模更大&#xff1a;GPT-4V的参数量达到了1.37T&#xff0c;是GPT-4的10倍。训练数据更丰富&#xff1a;GPT-4V的训练数据包括了1.56T的文本和代码数据。算…...

蓝桥杯(等差素数列,C++)

思路&#xff1a; 1、因为找的是长度为10&#xff0c;且公差最小的等差素数列&#xff0c;直接用枚举即可。 2、枚举用三重循环&#xff0c;第一重枚举首项&#xff0c;第二重枚举公差&#xff0c;第三重因为首项算一个&#xff0c;所以枚举九个等差素数。 代码&#xff1a;…...

Ceph 中的写入放大

新钛云服已累计为您分享769篇技术干货 介绍 Ceph 是一个开源的分布式存储系统&#xff0c;设计初衷是提供较好的性能、可靠性和可扩展性。 Ceph 独一无二地在一个统一的系统中同时提供了对象、块、和文件存储功能。 Ceph 消除了对系统单一中心节点的依赖&#xff0c;实现了无中…...

Mabatis-puls强于Mybatis的地方

Mabatis-puls与Mybatis都是优秀的Java持久化框架&#xff0c;但是Mabatis-puls相较于Mybatis有以下几个方面的优势&#xff1a; 性能更优&#xff1a;Mabatis-puls采用了Javassist技术&#xff0c;使得它在运行时比Mybatis更快速&#xff0c;尤其是在执行大量SQL的情况下&#…...

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误

HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误&#xff0c;它们的含义、原因和解决方法都有显著区别。以下是详细对比&#xff1a; 1. HTTP 406 (Not Acceptable) 含义&#xff1a; 客户端请求的内容类型与服务器支持的内容类型不匹…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

三维GIS开发cesium智慧地铁教程(5)Cesium相机控制

一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点&#xff1a; 路径验证&#xff1a;确保相对路径.…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

【Go】3、Go语言进阶与依赖管理

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课&#xff0c;做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程&#xff0c;它的核心机制是 Goroutine 协程、Channel 通道&#xff0c;并基于CSP&#xff08;Communicating Sequential Processes&#xff0…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”&#xff0c;物流的终极形态正在诞生 想象这样的场景&#xff1a; 凌晨3点&#xff0c;某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径&#xff1b;AI视觉系统在0.1秒内扫描包裹信息&#xff1b;数字孪生平台正模拟次日峰值流量压力…...

网络编程(UDP编程)

思维导图 UDP基础编程&#xff08;单播&#xff09; 1.流程图 服务器&#xff1a;短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...