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语言是解释型的
解释性语言:Javascript,PHP,java 编译性语言:c/c++
区别是:解释型语言,编译后的代码,不能直接被机器执行,需要解释器来执行,编译性语言,编译后的代码,可以直接被机器执行,c/c++
7、Java运行机制及运行过程
- Java核心机制-Java虚拟机[JVM java virtual machine]
- JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器、包含在JDK中
- 对于不同的平台,有不同的虚拟机
- Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”
8、什么是JDK,JRE
- JDK基本介绍
- JDK的全称(Java Development Kit Java开发工具包)JDK = JRE + java的开发工具[java,javac,javadoc,javap等]
- JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用单独安装JRE了
- JRE基本介绍
- JRE(Java Runtime Environment Java 运行环境)JRE = JVM + Java的核心类库[类]
- 包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机只需要安装JRE即可
- JDK、JRE和JVM的包含关系
- JDK = JRE + 开发工具集 (例如Javac,Java编译工具等)
- JRE = JVM + Java SE 标准类库(Java核心类库)
- 如果只想运行开发好的.class文件 只需要JRE
9、配置环境变量path
- 配置环境变量path的步骤
- 我的电脑–属性–高级系统设置–环境变量
- 增加JAVA_HOME环境变量,指向jdk的安装目录
- 编辑path环境变量,增加%JAVA_HOME%\bin
- 打开DOS命令行,任意目录下敲入javac/java,如果出现javac的参数信息,配置成功
- 用户变量和系统变量差不多只不过前者只适用于当前用户,后者适用于全部用户
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开发注意事项和细节说明
- java源文件以.java为拓展名。源文件的基本组成部分是类(class),如本类中的Hello类
- Java应用程序的执行入口是main()方法。它有固定的书写格式:public static void mian (String[] args) {…}
- java语言严格区分大小写。
- Java方法由一条条语句构成,每个语句以";"结束
- 大括号都是成对出现的,缺一不可。[习惯,先写{}再写代码]
- 一个源文件中最多只能有一个public类,其他类的个数不限。(编译后,每一个类,都对应一个.class)
- 如果源文件中包含一个public类,则文件名必须按该类名命名
- 一个源文件中最多只能有一个public类。其他类的个数不限,也可以将main方法写在非public类中,然后指定运行非public类,这样入口方法就是非public的main方法
12、Java转义字符
- \t:一个制表位,实现对齐的功能
- \n:换行符
- \ \ :一个\
- \ ":一个“
- \ ‘ :一个’
- \ 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易犯错误
- 找不到文件(解决方法:源文件名不存在或者写错,或者当前路径错误)
- 主类名和文件名不一致(解决办法:声明为public的主类应与文件名一致,否则编译失败)
- 缺少分号(解决方法:编译失败,注意错误出现的行数,再到源代码中指定位置改错)
14、Java中的注释类型
- 单行注释(//注释文字)
- 多行注释(/* 注释文字 */)
- 文档注释
使用细节:
- 被注释的文字不会被JVM(Java虚拟机)解释执行
- 多行注释里面不允许有多行注释嵌套
文档注释:注释内容可以被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代码规范
- 类、方法的注释,要以javadoc的方式来写。
- 非Java Doc的注释,往往是给代码的维护者看的,着重告诉读者为什么这样写,如何修改,注意什么问题等
- 使用tab操作,实现缩进,默认整体向右边移动,用shift+tab整体向左移
- 运算符和 = 两边习惯性各加一个空格。比如:2 + 5 * 4 + 345 - 89
- 源文件使用utf-8编码
- 行宽度不要超过80个字符
- 代码编写次行风格和行尾风格
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 响应头用来给浏览器一个指示。该指示的作用为:是否允许页面在 <frame>, </iframe> 或者 <object> 中展现。 网站可以使用此功能,来确保自己网站的内容没有被嵌套到别人的网站中去,也从而避免了…...

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

random生成随机数的灵活运用
random返回的 [0,1) 之间的一个随即小数 思考:请写出获取 a-b 之间的一个随机整数,a,b均为整数,比如 a2 , b7 即返回一个数 x > [2,7]Math.random()*(b-a) 返回的就是 [0,b-a](int)(aMath.random()*(b-a1)) 》 (int)(2Math.random()*6) Ma…...
宏定义实现二进制数的奇偶位交换
思路分析 通过宏定义来实现二进制数的奇偶位交换,如果一个个遍历交换的话,那得算到猴年马月,这是我在网上看到的一个思路: 我们将每一位(整数在计算机里存储是4字节,32位)二进制数的奇数位保留…...

【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都是应用层协议,当应用层协议将报文构建好之后就要将报文往下层传输层进行传递,而传输层就是负责将数据能够从发送端传到接收端。 再谈端口号 端口号(port)标识了一个主机上进行通信的不同的应用程序,在TCP/IP协议中&…...

Webmin(CVE-2019-15107)远程命令执行漏洞复现
漏洞编号 CVE-2019-15107 webmin介绍 什么是webmin Webmin是目前功能最强大的基于Web的Unix系统管理工具。管理员通过浏览器访问Webmin的各种管理功能并完成相应的管理动作http://www.webmin.com/Webmin 是一个用 Perl 编写的基于浏览器的管理应用程序。是一个基于Web的界面…...
嵌入式实时操作系统的设计与开发 (前后台系统)
前后台结构 前后台系统也称为中断驱动系统,其软件结构的显著特点是运行的程序有前台和后台之分。 在后台,一组程序按照轮询方式访问CPU;在前台,当用户的请求到达时,首先向CPU触发中断,然后将该请求转交给后…...

Macos数字音乐库:Elsten Software Bliss for Mac
Elsten Software Bliss for Mac是一款优秀的音乐管理软件,它可以帮助用户自动化整理和标记数字音乐库,同时可以自动识别音乐信息并添加标签和元数据。 此外,Bliss还可以修复音乐库中的问题,例如重复的音乐文件和缺失的专辑封面等…...
基于SpringBoot的校园周边美食探索及分享平台的设计与实现
文章目录 项目介绍主要功能截图:登录注册个人信息管理后台首页轮播图管理美食鉴赏我的好友管理我的收藏管理用户管理部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给…...

GPT-4V的图片识别和分析能力
GPT-4V是OpenAI开发的大型语言模型,是GPT-4的升级版本。GPT-4V在以下几个方面进行了改进: 模型规模更大:GPT-4V的参数量达到了1.37T,是GPT-4的10倍。训练数据更丰富:GPT-4V的训练数据包括了1.56T的文本和代码数据。算…...

蓝桥杯(等差素数列,C++)
思路: 1、因为找的是长度为10,且公差最小的等差素数列,直接用枚举即可。 2、枚举用三重循环,第一重枚举首项,第二重枚举公差,第三重因为首项算一个,所以枚举九个等差素数。 代码:…...

Ceph 中的写入放大
新钛云服已累计为您分享769篇技术干货 介绍 Ceph 是一个开源的分布式存储系统,设计初衷是提供较好的性能、可靠性和可扩展性。 Ceph 独一无二地在一个统一的系统中同时提供了对象、块、和文件存储功能。 Ceph 消除了对系统单一中心节点的依赖,实现了无中…...
Mabatis-puls强于Mybatis的地方
Mabatis-puls与Mybatis都是优秀的Java持久化框架,但是Mabatis-puls相较于Mybatis有以下几个方面的优势: 性能更优:Mabatis-puls采用了Javassist技术,使得它在运行时比Mybatis更快速,尤其是在执行大量SQL的情况下&#…...

网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...
Java 二维码
Java 二维码 **技术:**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...
在Ubuntu24上采用Wine打开SourceInsight
1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...

使用LangGraph和LangSmith构建多智能体人工智能系统
现在,通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战,比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...
站群服务器的应用场景都有哪些?
站群服务器主要是为了多个网站的托管和管理所设计的,可以通过集中管理和高效资源的分配,来支持多个独立的网站同时运行,让每一个网站都可以分配到独立的IP地址,避免出现IP关联的风险,用户还可以通过控制面板进行管理功…...

windows系统MySQL安装文档
概览:本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容,为学习者提供全面的操作指导。关键要点包括: 解压 :下载完成后解压压缩包,得到MySQL 8.…...
Vue 模板语句的数据来源
🧩 Vue 模板语句的数据来源:全方位解析 Vue 模板(<template> 部分)中的表达式、指令绑定(如 v-bind, v-on)和插值({{ }})都在一个特定的作用域内求值。这个作用域由当前 组件…...

【深度学习新浪潮】什么是credit assignment problem?
Credit Assignment Problem(信用分配问题) 是机器学习,尤其是强化学习(RL)中的核心挑战之一,指的是如何将最终的奖励或惩罚准确地分配给导致该结果的各个中间动作或决策。在序列决策任务中,智能体执行一系列动作后获得一个最终奖励,但每个动作对最终结果的贡献程度往往…...
加密通信 + 行为分析:运营商行业安全防御体系重构
在数字经济蓬勃发展的时代,运营商作为信息通信网络的核心枢纽,承载着海量用户数据与关键业务传输,其安全防御体系的可靠性直接关乎国家安全、社会稳定与企业发展。随着网络攻击手段的不断升级,传统安全防护体系逐渐暴露出局限性&a…...