Java基础知识

Java基础知识

一、计算机开发语言发展
计算机语言总体可分为机器语言、汇编语言、高级语言三大类,这三类开发语言恰恰是计算与开发语言的三个阶段。
机器语言:机器语言是第一代计算机开发语言,是通过最原始的穿孔卡片(二进制有孔为一,无孔为零)来实现的,这种语言只有专家才能够理解,与人类熟悉的语言差别极大,人类很难理解。以后的开发语言,都是基于机器语言简化而来,所以不论计算机开发语言发展的什么阶段,最终输入计算机的还是机器语言。
汇编语言:汇编语言是第二代计算机开发语言,汇编语言用助记符代替操作码,用地址符代替地址码,这样用符号代替机器语言的方式被称为汇编,也被称为符号语言。汇编语言是机器语言向高级开发语言进化的桥梁。
高级语言:计算机开发语言发展到第三代,进入了高级语言时代,高级开发语言接近于人类使用习惯的程序设计语言,它允许用英文编写计算程序,程序中的符号和算式与日常数学公式差不多。计算机高级开发语言发展至今,种类繁多,包括面向过程的系统语言C语言,命令式面向对象语言C++,还有我们学习的面向对象语言Java。

二、Java的发展史及Java体系
1995年5月,Sun公司发布了Java1.0版本;
1997年2月,Sun公司发布了Java1.1版本;
1998年12月,Sun公司发布了Java1.2版本,此版本有了重大改革,分别拆分出三个方向(JavaSE面向桌面应用开发,JavaEE面向企业级应用开发,JavaME面向移动端应用开发);
2004年9月30日,发布了Java1.5版本,Java语言的易用性进行了扩展,使开发更便捷;
2006年11月13日,Sun公司在Java One大会上公布Java开始开源,Java正式迈进开源时代;
2009年4月20日,Oracle公司正式完成对Sun收购,Java归入Oracle旗下;
2011年,Oracle经过长时间整合,发布了Java1.7版本;
2014年,Oracle发布了Java1.8版本;

三、Java语言的特点
面向对象的编程语言;
跨平台性,不受计算机硬件和操作系统的约束,一次编译,到处运行;
健壮型开发语言;

四、Java语言的核心机制
Java虚拟机(Java Virtual Machine,JVM)
Java的运行周期分为编译期和运行期,在编译期Java的编译器会将包含Java代码的文件,即.Java文件编译成为.class字节码文件;在运行期,Java虚拟机(JVM)将.class字节码文件解释成为计算机的机器语言。从而实现Java跨平台性,可以说Java的跨平台性完全得益于JVM的应用。
在这里插入图片描述
Java垃圾回收机制(Garbage Collection,GC)
对于开发者Coder来说,Java语言非常友好,Coder无需担心内存是否被占满,是否会被及时回收释放,是否会造成内存资源的浪费。在Java中,内存会被自动进行垃圾回收和释放,Coder不需要也不能精确干预内存回收。 提到内存,就要说到Java中的内存,Java中内存分为栈内存和堆内存。
栈内存:在方法定义中的一些基本类型和引用变量,Java会自动在栈内存中进行分配,就好像客栈、宾馆一样可以入住,一旦变量超过变量的作用范围,垃圾回收机制(GC)会自动释放内存,就好像你离开了客栈、宾馆时要进行退房一样。
堆内存:是通过Java中的new关键字创建的变量,变量的定义在堆内存中,堆内存中存储了变量的地址标记,它会在程序运行中被使用。当变量没有引用指向它的时候,它才会被定义为垃圾,虽然不会再被使用,但是依旧占用着内存。垃圾回收机制(GC)会在一个不确定的时间才会进行回收。
在这里插入图片描述
五、JDK和JRE
JDK:Java Development Kit,Java开发者工具包,是为开发者使用的;
JRE:Java Runtime Environment,Java运行环境,是为使用者准备的;
所以,JDK包含JRE,JRE包含JVM
在这里插入图片描述
六、Java环境配置
1、Java下载安装JDK
JDK 8下载链接
2、配置环境变量
此电脑==》右键==》属性==》高级系统设置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
七、第一个Java程序HelloWorld
1、关键名词讲解

类:Java程序中可运行的最小单元,一个Java程序是由多个类构成的;Java通过class关键字来创建一个类
包:相当于生活中的盒子,盒子里面放的都是Java的类
方法:Java中表示行为的代码块,行为即功能
Java程序的入口:main方法,Java程序的入口点,运行在主线程中
程序调试:输出语句, Java通过输出,来调试Java程序
2、HelloWorld

创建项目
在这里插入图片描述
创建类
在这里插入图片描述
创建main方法

package test;

public class HelloWord {

	public static void main(String[] args) {
		
	}

}

程序调试
菜单栏==》Run==》Run As==》Java Application

输出结果

package test;

public class HelloWord {

	public static void main(String[] args) {
		System.out.println("Hello word");
	}

}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/5441.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《疯狂Java讲义》读书笔记3

这两天总结了数据结构中栈的用法,对栈的初始化、出栈、入栈的总结: http://t.csdn.cn/7sKjQ 对双栈共享的初始化、入栈、出栈的总结: http://t.csdn.cn/4WXCO 调用父类构造器 子类不会获得父类的构造器,但是可以调用父类构造…

聊一聊前端的性能指标

一、前端性能指标有哪些? 根据 chrome Lighthouse 最新规则,前端性能指标考量主要有 FCP(First Contenful Paint)、SI(Speed Index)、LCP(Largest Contentful Paint)、TBT&#xff…

四个常见的Linux技术面问题

刚毕业要找工作了,只要是你找工作就会有面试这个环节,那么在面试环节中,有哪些注意事项值得我的关注呢?特别是专业技术岗位,这样的岗位询问一般都是在职的工程师,如何在面试环节更好地理解面试官的问题&…

IDEA的热部署【MyBatis XML热部署 】

本文适用修改JAVA代码热部署、MyBatis XML的热部署。 一、JAVA代码热部署. 新版IDEA中:开启允许在运行过程中修改文件 最后要在Debug模式启动,可以看到热部署的加载文件了,可以手动点左边那个图标立即加载生效. 二、MyBatis XML修改热部署. MybatisMap…

MFCC语音特征值提取算法

博主简介 博主是一名大二学生,主攻人工智能研究。感谢让我们在CSDN相遇,博主致力于在这里分享关于人工智能,c,Python,爬虫等方面知识的分享。 如果有需要的小伙伴可以关注博主,博主会继续更新的&#xff0c…

银行数字化转型导师坚鹏:银行产品经理技能快速提升之道

银行产品经理技能快速提升之道 ——以推动银行战略目标实现为核心,实现知行果合一课程背景: 很多银行都在开展产品经理技能提升工作,目前存在以下问题急需解决: 不知道银行产品经理掌握哪些关键知识? 不清楚如何有效…

C++修炼之练气期第二层——缺省参数

目录 1.缺省参数的概念 2.缺省参数的分类 全缺省参数 半缺省参数 实用场景示例 1.缺省参数的概念 缺省参数是声明或定义函数时为函数的参数指定一个缺省值。 在调用该函数时,如果没有指定实参则采用该形参的缺省值,否则使用指定的实参。 #inclu…

四大排序算法之归并排序

说明 为了自己学习方便,我这里总结了四大排序算法涵盖了七种排序算法 分类算法名称时间复杂度 空间复杂度稳定性插入排序 直接插入排序 希尔排序 O(n^2) O(1) O(n^2/3) O(1) 稳定 不稳定 选择排序 选择排序 堆排序 O(n^2) O(1) O(nlogn) O(1) 不稳…

linux查看进程、端口

1、先查看进程pidps -ef | grep 进程名如果已知pid,想看详情,则用 ps -ef pid2、通过pid查看占用端口(mac)netstat -na | grep 端口netstat -nap tcp | grep 进程pidnetstat -nap udp | grep 进程pid不加tcp或者udp的话mac上会报错:netstat常…

基于ASP的反垃圾邮件管理系统的设计与实现

随着Internet的迅速普及,电子邮件以其快捷、方便、低成本的特点逐渐成为人们进行信息交流的主要媒介之一,但是随之而来的垃圾邮件也越来越泛滥。垃圾邮件占用了有限的存储、计算和网络资源,耗费了用户大量的处理时间,影响和干扰了…

程序员OKR学习法

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl OKR管理法 OKR(Objectives and Key Results)管理法是一种目标管理方法,旨在通过制定明确的目标和可量化的关键结果来帮助组织、团队和个人…

RocketMQ的架构图

文章目录RocketMQ 技术架构中有四大角色 NameServer 、Broker 、Producer 、Consumer 。我来向大家分别解释一下这四个角色是干啥的。 Broker: 主要负责消息的存储、投递和查询以及服务高可用保证。说白了就是消息队列服务器嘛,生产者生产消息到 Broker…

Hive实战 --- 电子商务消费行为分析

目录 数据结构 Customer表 Transaction表 Store表 Review表 上传数据 创建目录用于存放数据 把本地文件上传到HDFS上 创建外部表 创建数据库 创建表 数据清洗 对transaction_details中的重复数据生成新ID 过滤掉store_review中没有评分的数据 找出PII (personal …

【web前端初级课程】第八章 什么是事件?

目录 一、事件情况汇总 二、标签绑定 三、使用DOM0事件模型 四、使用DOM2事件模型 五、相关练习:图片切换 一、事件情况汇总 事件分为三部分:事件源:绑定事件的标签、事件对象:就是事件产生的相关数据、事件处理函数 二、标…

Java使用功能方法交换a,b的值,通过构造方法输出姓名、年龄、家庭地址

目录 前言 一、使用功能方法交换a,b的值 1.1运行流程(思想) 1.2代码段 1.3运行截图 二、通过构造方法输出姓名、年龄、家庭地址 1.1运行流程(思想) 1.2代码段 1.3运行截图 前言 1.因多重原因,所以我…

愚人节,聊聊那些正在坑人的“新型AI”

几年前的一个愚人节,我们和大家聊过AI技术被作为诈骗工具的情况。很不幸,当时讨论的一些苗头,现在都成了电诈犯罪中屡见不鲜的手段。更可气的是,随着AI技术与应用本身的发展,犯罪分子的AI手段不减反增。一些“新型AI”…

(七)Tomcat源码阅读:Host组件分析

一、概述 Host类中比较重要的类就是HostConfig其它类实现的功能和之前的组件差不多,这里就不多介绍了。 二、阅读源码 1、HostConfig (1)重要方法 lifecycleEvent: 根据对应的方法设置对应的属性,并调用对应的方…

自己写gpt的软件教程-国内最好的chatgpt软件

GPT-3是一种非常强大的自然语言处理技术,可以为用户生成高质量的文本内容。虽然GPT-3最初是为英文而设计的,但是近年来,GPT-3在中文领域也变得越来越流行。在本篇教程中,我们将详细介绍如何在GPT-3中生成中文内容。 一、准备工作 …

第二天并发篇

一、线程状态 1.新建(New):创建线程对象时 2.就绪(Runnable):线程调用start方法,有执行资格没有执行权 3.运行:当就绪状态时抢到cpu的执行权之后,进入运行状态 4.阻塞&am…

过程控制系统中的模块技术MTP

在过程自动化行业中,模块化设备概念近年来越来越受欢迎。其中最热门的是MTP。MTP称为模块类型封装,它是过程工业自动化技术用户协会(NAMUR)提出的过程自动化行业的模块化标准,通过这种模型,开发工作的重点从…