java基础-第1章-走进java世界
一、计算机基础知识
常用的DOS命令
二、计算机语言介绍
三、Java语言概述
四、Java环境的搭建
JDK安装图解
环境变量的配置
配置环境变量意义
配置环境变量步骤
五、第一个Java程序
编写Java源程序
编译Java源文件
运行Java程序
六、Java语言运行机制
核心机制—Java虚拟机
核心机制—垃圾回收
一、计算机基础知识
常用的DOS命令
进入 DOS操作窗口
按下 Windows+R键盘,打开运行窗口,输入cmd回车,进入到DOS的操作窗口。
打开 DOS命令行后,看到一个路径 c:\user 就表示我们现在操作的磁盘是c盘。
常用命令
1.切换盘符:盘符名加冒号,回车
2.退出到当前目录的根目录:cd (change directory)
3.退回到上一层目录:cd …
4.进入某个目录:cd 目录名
5.列出目录下的内容:dir
6.创建文件夹:md 目录名(make directory)
7.创建文件并写入内容:
echo 内容>文件名
追加内容
echo 内容>>文件名
8.删除文件:
del 文件名(delete)
9.删除文件夹
rmdir 目录名,删除空目录(remove directory)(只能删除空的文件夹)
10.清屏:cls
11.查看ip地址ipconfig
12. 测试网络是否连通ping
13.退出:exit
二、计算机语言介绍
什么是计算机语言
语言:是人与人之间用于沟通的一种方式。例如:中国人与中国人用普通话沟通。而
中国人要和英国人交流,就要学习英语。
计算机语言:人与计算机交流的方式。
如果人要与计算机交流,那么就要学习计算机语言。
计算机语言有 很多种 。 如:C ,C++ ,Java ,PHP , Kotlin ,Python ,Scala等 等
第一代语言
机器语言。指令以二进制代码形式存在。
使用 0 和 1 的二进制码,但是在做计算的时候,比如 128 ,我们要写为 10000000,其它的数以此类
推,如果再做计算就会变的非常的不尽人意,如果想要显示 HelloWorld,可能要几百个 01 的组合,可
读性差,难以查错!(智商不够用)
第二代语言
汇编语言?
汇编语言的主题是汇编指令
汇编指令和机器指令的差别在于指令的表示方法上。
汇编指令是机器指令便于记忆的书写格式。
第三代语言:高级语言
C、Pascal、Fortran面向过程的语言
C++面向过程/面向对象
Java 跨平台的纯面向对象 的语言
.NET跨语言的平台
Python、Scala…
三、Java语言概述
Sun Microsystems于1995年推出的面向对象的程序设计语言,共同创始人的詹姆斯·高斯林 (James Gosling)被誉为“Java之父”。
是一种面向Internet的编程语言。Java一开始富有吸引力是因为Java程序可以
在Web浏览器中运行。这些Java程序被称为Java小程序(applet)。applet使
用现代的图形用户界面与Web用户进行交互。 applet内嵌在HTML代码中。
随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。
Java的历史
1996年发布JDK 1.0
1998年发布JDK 1.2
平台名称:J2SE(Stadard Edition)、J2EE(Enterprise Edition)、J2ME(Micro Edition)
2004年发布JDK 1.5 版本更名:Java 5.0
平台名称:Java SE、Java EE、Java ME
2006年发布Java 6.0
2009年被Oracle收购
2011年由Oracle发布Java 7.0
2014年由Oracle发布Java 8.0
2017年由Oracle发布Java 9.0
2019年由Oracle发布Java 14.0
Java的语言特点
面向对象(贴近人类思维模式,模拟现实世界,解决现实问题)。
简单性(自动内存管理机制、不易造成内存溢出;简化流程处理、语义清晰)
跨平台(操作系统、服务器等)。
Java技术体系平台
Java SE(Java Standard Edition)标准版
支持面向桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的Java核
心API,此版本以前称为J2SE
Java EE(Java Enterprise Edition)企业版
是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如
:Servlet 、Jsp等,主要针对于Web应用程序开发。版本以前称为J2EE
Java ME(Java Micro Edition)小型版
支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简,并加
入了针对移动终端的支持,此版本以前称为J2ME
四、Java环境的搭建
Java 虚拟机——JVM
JVM (Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的
运行环境,是Java 最具吸引力的特性之一。我们编写的Java代码,都运行在 JVM 之上。
**跨平台 **:任何软件的运行,都必须要运行在操作系统之上,而我们用Java编写的软件可以运行在任何的操作系
统上,这个特性称为Java语言的跨平台特性。该特性是由JVM实现的,我们编写的程序运行在JVM上,而JVM
运行在操作系统上。
JRE 和JDK
JRE Java Runtime Eviroment 是用来运行Java环境的
JDK Java Development Kit 是开发者工具包
三者关系: JDK > JRE > JVM
JDK安装图解
- 打开网页
http://www.oracle.com
下载对应平台的合适的 JDK 版本。
- 双击下载的 exe,如 jdk-8u131-windows-x64.exe。
- 进入安装向导。
- 下一步,更改安装路径,选择安装所有组件
更改为 D:\developer_tools\Java\jdk1.8.0_131
点击确定
- 下一步,开始安装
6.完成安装
环境变量的配置
配置环境变量意义
开发Java程序,需要使用JDK中提供的工具,工具在JDK安装目录的 bin 目录下。
在DOS命令行下使用这些工具,就要先进入到JDK的bin目录下,这个过程就会非常的麻烦。
不进入JDK的 bin 目录,这些工具就不能使用,会报错。
为了开发方便,我们想在任意的目录下都可以使用JDK的开发工具,则必须要配置环境变量,配置环境变量的意义
在于告诉操作系统,我们使用的JDK开发工具在哪个目录下。
配置环境变量步骤
Windows 7,8版本
- 计算机鼠标右键,选择 属性
- 选择 高级系统设置
- 高级 选项卡,点击 环境变量
- 点击 新建 ,创建新的环境变量
- 变量名输入 JAVA_HOME ,变量值输入JDK的安装目录
- 选中 Path 环境变量, 双击 或者 点击编辑
- 在变量值的最前面,键入 %JAVA_HOME%\bin ; 分号必须要写,必须是英文格式。
- 环境变量配置完成,重新开启DOS命令行,在任意目录下输入 javac 命令,运行成功。
Windows 10 版本
- 文件资源管理器 --> 此电脑鼠标右键 --> 选择 属性
- 选择 高级系统设置 --> 选择 环境变量
- 点击下方系统变量的 新建 ,创建新的环境变量,变量名输入 JAVA_HOME ,变量值输入JDK的安装目录
- 选中 Path 环境变量, 双击 或者 点击编辑
- 点击 新建 ,键入 %JAVA_HOME%\bin ,必须是英文格式。选中该行,上移到最上方,点击确定。
- 环境变量配置完成,重新开启DOS命令行,在任意目录下输入 javac 命令。
注意:
Java开发环境不再需要配置classpath!
https://www.cnblogs.com/ideal-20/p/11050114.html
五、第一个Java程序
开发环境已经搭建完毕,可以开发我们第一个Java程序了。
Java程序开发三步骤:编写、编译、运行。
编写Java源程序
public class HelloWorld { public static void main(String[] args) { System.out.println(“Hello World!”); } }
文件名必须是 HelloWorld ,保证文件名和类的名字是一致的,注意大小写。
每个字母和符号必须与示例代码一模一样。
第一个 HelloWord 源程序就编写完成了,但是这个文件是程序员编写的,JVM是看不懂的,也就不能运行,因此我
们必须将编写好的 Java 源文件 编译成JVM可以看懂的 字节码文件 。
编译Java源文件
在DOS命令行中,进入Java源文件的目录,使用 javac 命令进行编译。
javac: java compile
命令:
javac xxx.java
举例:
javac HelloWorld.java
如果程序无误,那么在该目录下,会产生同名的字节码文件:xxx.class
运行Java程序
在DOS命令行中,进入Java源文件的目录,使用 java 命令进行运行。
命令:
java 类名字
举例:
java HelloWorld
java HelloWord 不要写 不要写 不要写 .class
第一个程序注意点:
编译 :是指将我们编写的Java源文件翻译成JVM认识的class文件,在这个过程中, javac 编译器会检查我们
所写的程序是否有错误,有错误就会提示出来,如果没有错误就会编译成功。
运行 :是指将 class 文件 交给JVM去运行,此时JVM就会去执行我们编写的程序了。
main 方法:称为主方法,固定书写格式:public static void main(String[] args){…},是程序的入口。
**注释 :解释程序,给人看的
Java 中有单行注释和多行注释
单行注释以 // 开头 换行结束
多行注释以 / 开头 以/结束
关键字 :是指在程序中,Java已经定义好的单词,具有特殊含义。
标识符 :凡是自己起名字的,比如类的名字、方法的名字和变量的名字等等,都是标识符。
六、Java语言运行机制
核心机制—Java虚拟机
JVM 是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指 令,管理数据、内存、寄存器。
对于不同的平台,有不同的虚拟机。
只有某平台提供了对应的java虚拟机,java程序才可在此平台运行
Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”
核心机制—垃圾回收
不再使用的内存空间应回收—— 垃圾回收。
在C/C++等语言中,由程序员负责回收无用内存。
Java 语言消除了程序员回收无用内存空间的责任:它提供一种系统级线程跟踪存储空 间的分配情况。并在JVM空闲时,检查并释放那些可被释放的存储空间。
垃圾回收在Java程序运行过程中自动进行,程序员无法精确控制和干预。
相关文章:
java基础-第1章-走进java世界
一、计算机基础知识 常用的DOS命令 二、计算机语言介绍 三、Java语言概述 四、Java环境的搭建 JDK安装图解 环境变量的配置 配置环境变量意义 配置环境变量步骤 五、第一个Java程序 编写Java源程序 编译Java源文件 运行Java程序 六、Java语言运行机制 核心机制—Java虚拟机 核…...
jvm 堆内存 栈内存 大小设置
4种方式配置不同作用域的jvm的堆栈内存。 1、Eclise 中设置jvm内存: 改动eclipse的配置文件,对全部project都起作用 改动eclipse根文件夹下的eclipse.ini文件 -vmargs //虚拟机设置 -Xms40m //初始内存 -Xmx256m //最大内存 -Xmn16m //最小内存 -XX:PermSize=128M //非堆内…...
免杀对抗-反沙盒+反调试
反VT-沙盒检测-Go&Python 介绍: 近年来,各类恶意软件层出不穷,反病毒软件也更新了各种检测方案以提高检率。 其中比较有效的方案是动态沙箱检测技术,即通过在沙箱中运行程序并观察程序行为来判断程序是否为恶意程序。简单来说…...
QTimer类的使用方法
本文介绍QTimer类的使用方法。 1.单次触发 在某些情况下,定时器只运行一次,可使用单次触发方式。 QTimer *timer new QTimer(this); connect(timer, &QTimer::timeout, this, &MainWindow::timeout); timer->setSingleShot(true); timer-…...
(三)行为模式:9、空对象模式(Null Object Pattern)(C++示例)
目录 1、空对象模式(Null Object Pattern)含义 2、空对象模式的主要涉及以下几个角色 3、空对象模式的应用场景 4、空对象模式的优缺点 (1)优点 (2)缺点 5、C实现空对象模式的实例 1、空对象模式&am…...
Django实战项目-学习任务系统-用户登录
第一步:先创建一个Django应用程序框架代码 1,先创建一个Django项目 django-admin startproject mysite将创建一个目录,其布局如下:mysite/manage.pymysite/__init__.pysettings.pyurls.pyasgi.pywsgi.py 2,再创建一个…...
【动手学深度学习-Pytorch版】Transformer代码总结
本文是纯纯的撸代码讲解,没有任何Transformer的基础内容~ 是从0榨干Transformer代码系列,借用的是李沐老师上课时讲解的代码。 本文是根据每个模块的实现过程来进行讲解的。如果您想获取关于Transformer具体的实现细节(不含代码)可…...
做外贸独立站选Shopify还是WordPress?
现在确实会有很多新人想做独立站,毕竟跨境电商平台内卷严重,平台规则限制不断升级,脱离平台“绑架”布局独立站,才能获得更多流量、订单、塑造品牌价值。然而,在选择建立外贸独立站的过程中,选择适合的建站…...
echarts的bug,在series里写tooltip,不起作用,要在全局先写tooltip:{}才起作用,如果在series里写的不起作用就写到全局里
echarts的bug,在series里写tooltip,不起作用,要在全局先写tooltip:{show:true}才起作用,如果在series里写的不起作用就写到全局里 series里写tooltip不起作用,鼠标悬浮在echarts图表上时不显示提示 你需要…...
jmeter分布式压测
一、什么是压力测试? 压力测试(Stress Test),也称为强度测试、负载测试,属于性能测试的范畴。 压力测试是模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行被测软件系统ÿ…...
consulmanage部署
一、部署consul 使用yum方式部署consul yum install -y yum-utils yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo yum -y install consul 执行以下命令获取uuid密钥并记录下来 uuidgen 编辑consul配置文件 vi /etc/consul.d/consul.h…...
大数据软件项目的验收流程
大数据软件项目的验收流程是确保项目交付符合预期需求和质量标准的关键步骤。以下是一般的大数据软件项目验收流程,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.项目验收计划制定: 在…...
《第一行代码Andorid》阅读笔记-第一章
这篇文章是我自己的《第一行代码Andorid》的阅读笔记,虽然大量参考了别人已经写好的一些笔记和代码但是也有自己的提炼和新的问题在里面,我也会放上参考文章链接。 学习重点 Android系统的四大组件: (1)活动ÿ…...
Educational Codeforces Round 146 (Rated for Div. 2)(VP)
写个题解 A. Coins void solve(){ll n, k; cin >> n >> k;bl ok true;if (n &1 && k %2 0) ok false;print(ok ? yes : no); } B. Long Legs void solve(){db x, y; cin >> x >> y;if (x < y) swap(x, y);int t1 ceil(sqrt(x))…...
9.30国庆
消息队列完成进程间通信 #include <myhead.h>#define size sizeof(msg_ds)-sizeof(long) //正文大小//消息结构体 typedef struct {long msgtype; //消息类型char data[1024]; //消息正文 }msg_ds;//创建子线程构造体 void *task1(void *arg) {//创造第二个key值ke…...
java基础-第4章-面向对象(二)
一、static关键字 静态(static)可以修饰属性和方法。 称为静态属性(类属性)、静态方法(类方法)。 静态成员是全类所有对象共享的成员。 在全类中只有一份,不因创建多个对象而产生多份。 不必创…...
flex加 grid 布局笔记
<style> .flex-container { display: flex; height: 100%; /* 设置容器的高度 */ } .wide { display: flex; padding: 10px; border: 1px solid lightgray; text-align: center; justify-content: …...
最高评级!华为云CodeArts Board获信通院软件研发效能度量平台先进级认证
9月26日,华为云CodeArts Board获得了中国信通院《云上软件研发效能度量分级模型》的先进级最高级评估,达到了软件研发效能度量平台评估的通用效能度量能力、组织效能模型、项目效能模型、资源效能模型、个人效能模型、研发效能评价模型、项目管理域、开发…...
图像上传功能实现
一、后端 文件存放在images.path路径下 package com.like.common;import jakarta.servlet.ServletOutputStream; import jakarta.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annot…...
03_Node.js模块化开发
1 Node.js的基本使用 1.1 NPM nodejs安装完成后,会跟随着自动安装另外一个工具npm。 NPM的全称是Node Package Manager,是一个NodeJS包管理和分发工具,已经成为了非官方的发布Node模块(包)的标准。 2020年3月17日&…...
Nginx支持SNI证书,已经ssl_server_name的使用
整理了一些网上的资料,这里记录一下,供大家参考 什么是SNI? 传统的应用场景中,一台服务器对应一个IP地址,一个域名,使用一张包含了域名信息的证书。随着云计算技术的普及,在云中的虚拟机有了一…...
Hive【Hive(六)窗口函数】
窗口函数(window functions) 概述 定义 窗口函数能够为每行数据划分 一个窗口,然后对窗口范围内的数据进行计算,最后将计算结果返回给该行数据。 语法 窗口函数的语法主要包括 窗口 和 函数 两个部分。其中窗口用于定义计算范围…...
Met no ‘TRANSLATIONS’ entry in project
这里写自定义目录标题 问题描述:解决方法: 问题描述: 多工程项目,执行完update Translation生成了.ts文件,也用翻译工具翻译完了,执行release时,报错“Met no ‘TRANSLATIONS’ entry in proje…...
Leetcode901-股票价格跨度
一、前言 本题基于leetcode901股票价格趋势这道题,说一下通过java解决的一些方法。并且解释一下笔者写这道题之前的想法和一些自己遇到的错误。需要注意的是,该题最多调用 next 方法 10^4 次,一般出现该提示说明需要注意时间复杂度。 二、解决思路 ①…...
“传统文化宣传片+虚拟人动捕设备”前景如何?
在数字化时代的发展下,动捕设备的加入,让传播传统文化的虚拟人更具生动表现,拉近人们与传统文化的距离,通过虚拟人动作捕捉动画宣传片,引起更多人对传统文化的关注与传承。 *图片源于网络 深圳文博会创意短片《嗨ICIF…...
节假日moc服务数据:解决用户99%的IT问题
Hi~ 伙伴们,这个国庆假期过得怎么样? 节后第一个工作日如期而至, 忙碌是消除倦怠的最佳良药。 回顾8天假日moc工程师的一组服务数据, 处理事件184起,工单23条。 其中,较为典型案例如下: 1、福建某附属医院…...
WOL唤醒配置(以太网、PHY、MAC)
目录 wol 以太网 MAC PHY RMII 通信配置 总结 wol Wake-on-LAN简称WOL,WOL(网络唤醒) 是一种标准网络协议,它的功效在于让已经进入休眠状态或关机状态的计算机,透过局域网(多半为以太网ÿ…...
MySQL复制,约束条件,查询与安全控制
MySQL之复制 复制表 我有一个表 mysql> show tables; ------------------ | Tables_in_school | ------------------ | student | ------------------mysql> select * from student; -------------------------------------------- | id | name | sec |…...
Java ES 滚动查询
滚动查询(Scroll Query)是 Elasticsearch 提供的一种机制,用于处理大量数据的查询。它允许你在多个请求之间保持“游标”,以便在后续请求中获取更多的结果。 以下是滚动查询的基本工作原理: 1 初始查询: 客户端发送一…...
机器学习算法基础--KNN算法分类
文章目录 1.KNN算法原理介绍2.KNN分类决策原则3.KNN度量距离介绍3.1.闵可夫斯基距离3.2.曼哈顿距离3.3.欧式距离 4.KNN分类算法实现5.KNN分类算法效果6.参考文章与致谢 1.KNN算法原理介绍 KNN(K-Nearest Neighbor)工作原理: 在一个存在标签的…...
男女在一起做恶心的事网站/seo标签怎么优化
2019独角兽企业重金招聘Python工程师标准>>> Google Chrome目前已经是性能最佳,对HTML5/CSS3等网页新技术支持最好的浏览器了,所以我浏览网站,习惯性地总是用Chrome。 最近一段时间,我经常用Chrome浏览国外教学视频网…...
如何做淘宝cms导购网站/百度网址链接是多少
前些天在学习linux下的驱动编写,找到了一块之前淘到的液晶屏,主控芯片是ili9341,分辨率为240*320的屏幕,接口方式是SPI的,心血来潮想搞一下。不过奈何驱动水平不到家,只是开发出了一种杂交方法,…...
介绍网页设计/seo网络排名优化哪家好
通过前面四天,我们其实已经基本实现了docker的最核心的功能,后面几天,我将带大家实现一些docker的其他命令,今天我们主要是来实现一下 docker logs 功能,也就是查看docker内部日志 写日志 说下总体思路,这个…...
在线网站系统客服/品牌策划
随着软件快速交付需求的增长,越来越多的企业开始通过DevOps方法加速软件开发速度但这样的话,有时候就无法保证质量,所以今天小墨就来给大家介绍10款主流的软件测试工具,看好啦。 1、UFT / QTP UFT,前身为Quick Test …...
网站开发的安全性原则/搜索引擎营销的英文简称
git reset soft,hard,mixed之区别深解 git reset --hard 强制更新覆盖本地 GIT reset命令,似乎让人很迷惑,以至于误解,误用。但是事实上不应该如此难以理解,只要你理解到这个命令究竟在干什么。 首先我们来看几个术语 HEAD这是当…...
适合初学者模仿的网站/网站建设网站推广
在学习Python正则式的过程中,有一个问题一直困扰我,如何去匹配一个反斜杠(即“\”)? 一、引入 在学习了Python特殊字符和原始字符串之后,我觉得答案应该是这样的:1)普通字符串&#…...