Java学习手册

出处: https://www.jianshu.com/p/d6fa6831bec6
本次主题模块模板javase到javaee的课程文档内容。如果你也喜欢编程,可以加老薛的qq:1811112688,一起学习,一起进步。

(一):Readme

1-1:学习编程方法

1:唯手熟尔(编程一定是建立在多敲的基础上的)
2:明日复明日,明日何其多(学习过程中的问题不要遗留到第二天再解决)
3:工欲善其事,必先利其器(学会使用百度、google等工具,会自己解决问题)
4:三人行必有吾师(同学之间一定要互相帮助,相互学习。遇到问题互相讨论)

1-2:如何选择一门初学语言

选择第一门编程语言,个人还是比较建议从以下几个维度去考量。

学习周期和学习成本

市场占用率和行业前景

你是否真的愿意从事开发工作或者从事IT方向?

1-3:计算机发展历史

•计算机的诞生: 1946年2月14日,在美国宾夕法尼亚大学,世界上第一台电子数字计算机ENIAC。

•第一代 电子管计算机(1946-1957)特点是操作指令是为特定任务而编制的,体积大,每种机器有各自不同的机器语言,功能受到限制,速度也慢,维护困难且价格昂贵。在软件上,通常使用机器语言或者汇编语言来编写应用程序

•第二代晶体管计算机(1958-1964)在整体性能上,比第一代计算机有了很大的提高。同时程序语言也相应的出现了,如Fortran,Cobol,Algo1 60 等计算机高级语言。

•第三代 中小规模集成电路计算机(1965-1971)20世纪60年代中期,随着半导体工艺的发展,成功制造了集成电路。中小规模集成电路成为计算机的主要部件.在软件方面,有了标准化的程序设计语言和人机会话式的Basic语言,C语言。

•第四代大规模和超大规模集成电路计算机(1971-2018)随着大规模集成电路的成功制作并用于计算机硬件生产过程,计算机的体积进一步缩小,性能进一步提高,出现了精简指令集计算机,在软件方面,人们发现Java、C++等语言由于具有“面向问题”、“非过程化程度高”等特点,可以成数量级地提高软件生产率。

•目前的发展趋势是向巨型化、微型化、网络化和智能化这4个方向发展。

巨型化是指具有运算速度高、存储容量大、功能更完善的计算机系统,其运算速度一般在百亿次每秒、存储容量超过百万兆字节。主要用于航空航天、军事、气象、人工智能、生物工程等学科领域。

微型化得益于大规模和超大规模集成电路的飞速发展,微处理器自1971年问世以来,发展非常迅速,几乎每隔两三年就会更新换代一次,这也使以微处理器为核心的微型计算机的性能不断跃升。

网络化是指利用通信技术和计算机技术,把分布在不同地点的计算机互连起来,按照网络协议相互通信,以达到所有用户都可共享数据和软硬件资源的目的,现在,计算机网络在交通、金融、企业管理、教育、邮电、商业等各行各业中得到广泛的应用。

智能化就是要求计算机能模拟人的感觉和思维能力,也是第五代计算机要实现的目标。

–展望未来,计算机的发展必然要经历很多新的突破。从目前的发展趋势来看,未来的计算机将是微电子技术、光学技术、超导技术和生物技术相互结合的产物。

(二):第一个HelloWorld

2-1:编程语言的发展历史

image

机器语言:典型的2进制文件 和计算机交流

汇编语言:通过大量的助记符表示一些基本的操作指令 完成计算机沟通

高级语言:通过常用的英语指令编写程序 完成沟通

常见的高级语言:除了之前提到过的以外

ortran: 是IBM在1954年提出的。主要用在要求复杂数学计算的科学和工程领域。现在仍然被广泛使用,尤其是工程领域。

COBOL: 于1959年提出。主要用于大量精确处理数据的商业领域中,比如金融、银行。今天,仍然有超过一半的商业软件使用COBOL编写。有将近100万人使用COBOL编程。

PASCAL:几乎和C同时提出。是nicklaus wirth教授为了大学教授编写的。由于没有大厂商和政府的支持,只是限于大学教育这一块。

ADA: ada以pascal为基本参照,是美国国防部(DOD)为了编写他庞大的命令和控制系统软件而设计的。他的一个重要的特性就是多任务,使用它编写的程序可以同时处理多项事务。JAVA也支持多线程。

2-2:Java语言发展历史

image

2-2-1:简单介绍:

i:由sun公司开发的一门高级编程语言。
ii:面向互联网Internet的编程语言
iii:sun公司在09年被Oracle公司收购

2-2-2:技术架构方向

JavaSE: java基础和个人计算机应用(接下来我们要学习)
JavaEE: 开发企业环境下的应用开发 (以后的重点)
JavaME: 嵌入开发 塞班系统 市场占有率较低 了解即可

2-2-3:Java语言特点

跨平台:

通过java编写的应用程序在不同的操作系统下都可以执行,屏蔽了平台差异性。

特简单:

屏蔽了大量的一个保留字 比如goto typedef等等 使用简答 没有指针

安全的:

没有指针 提供了内存管理机制 垃圾回收机制 安全机制等

完全面向对象

封装 继承 多态 语法更加清晰 所需要资源更少 后期更加利于拓展

2-3:常见的DOC命令

image

2-4:Java程序如何做到跨平台

image

A:一个.java文件被编译器编译为和平台无关的字节码文件.class

B:通过在不同平台(操作系统)安装对应的JVM,交由解释器开始解释执行

重点:Java之所以能够跨平台,就是由于Java中的jvm(Java VIRTUAL MACHINE)存在。JVM就是一个虚拟的用于执行bytecodes字节码的计算机它可以将我们编写好的java代码 编译为何平台无关的字节码文件,之后解释执行。

缺点:需要先将对应的.java文件变为.class文件。其实严格意义上讲,真正的跨平台是由jvm去执行的.class文件而执行的。这样的效率就会稍差,因为.class文件再要产生对应机器的机器码才能继续执行。所幸由JNI(just in time)即时编译

2-5:JDK的安装和卸载

2-5-1:环境搭建:

为了让操作系统,能够识别我们编写的代码,需要在电脑上安装jdk。

2-5-2:区别:

JDK java development kit java开发包,主要用于做java开发
JRE Java Runtime Environment java运行时环境,主要用于执行测试 java代码
JVM Java Vritual Machine java虚拟机,用来解释执行字节码文件

2-5-3:关系:

jdk属于jre的超集 jre属于jvm的超集

2-5-4:安装:

A、 进入官网直接下载自己需要的版本 下载地址

B、 用我发的 ?

推荐使用jdk8或者jdk11

2-5-5:具体安装步骤

傻瓜式安装即可,下一步,一直到确定即可。

2-5-6 测试是否安装成功:

打开cmd(按下键盘window+r键,然后输入cmd回车即可)中输入java 以及java -version,如果出现了选项卡,则证明安装成功。

2-5-7:查看安装目录中的bin文件夹

在bin目录中有几个常见的执行程序需要注意一下

2-5-8:编写第一个helloworld程序

public class Demo{public static void main(String[] args){System.out.println("hello world");}
}

第一步:进入指定文件目录的中,执行javac Demo.java ,出现报错信息,javac不是内部或者外部命令。

原因分析:由于我们只是将jdk安装了,但是操作系统无法识别安装程序中的可执行程序,所以报错。

解决办法:准备配置环境变量。右击计算机->点击属性->选择高级系统设置->选择环境变量->在系统变量找到path,将路径拷贝进去即可

第二步:重启cmd之后,进入到Demo.java文件的所在目录,依次执行javac Demo.java,和java Demo。即可获取到正确的结果。

2-5-9:环境变量的一些其他配置

问题1:编译和运行.java文件以及.class文件时,所在目录和文件所在目录不在同一个目录。

解决办法:编译时,通过使用

javac 路径\文件
例子:javac c:\User\wawjyh\Demo.java

解决办法:执行时,通过使用

java -classpath 路径\ 文件名 /**注意后面的空格**/
例子:java -classpath c:\User\wawjyh\Demo

解决办法2:设置classpath​

设置classpath的缺点,一般情况下,设置完classpath之后首先会在当前目录下寻找.class文件,如果没有则去classpath设置的路径下寻找.class文件。

问题2:设置JAVA_HOME

>如果要更改jdk版本,需要重新再指定一次jdk版本,比较麻烦,可以直接设置javahome,避免多次设置值。具体设置如下

PS:设置完成之后一定记得重启cmd即可配置生效。

集腋成裘,积沙成塔。没有不成功的,只有自己放弃的。如果想每天都有Java资料学习,可加码歌悠悠q:1811119218 获取。

【码歌】Java逆袭之路,小白系统笔记,持续更新相关推荐

  1. 肥猪流码农的逆袭之路(1)

    初入码坑 2005年某高中高三志愿填报现场,"刘顿,填好了没,填好了快交上来就差你了."班主任又催了一遍."老师,我还没想好填哪个学校啊."我妈交待我得选有前途 ...

  2. 逆袭之路——python学习笔记【day11】

    今日内容概要 函数的定义与调用 函数的分类 函数的返回值 函数的参数 名称空间与作用域 今日内容详细 一.函数的定义与调用 函数的定义就相当于事先将函数体代码保存起来,然后将内存地址赋值给函数名,函数 ...

  3. 逆袭之路——python学习笔记【day02】

    今日内容概要 操作系统 文件的概念 编程语言的发展史 编程语言的分类 python简介 python解释器的版本说明 python解释器下载与安装 python解释器多版本共存 第一个python程序 ...

  4. 逆袭之路——python学习笔记【day08】

    今日内容概要 字典内置方法 元组内置方法 集合内置方法 垃圾回收机制 总结(小练习) 今日内容详细 一.字典内置方法 定义:在{ }内用逗号分隔开多元素,每一个元素都是key:value的形式,其中v ...

  5. Netty4.x 的逆袭之路 —— 再识 Netty

    Netty4.x 的逆袭之路 2020年9月25日 Netty 结合 protobuf 使用 预习 在netty数据传输过程中可以有很多选择,比如:字符串.json.xml.java对象,但为了保证传 ...

  6. 从前端到全栈:JavaScript逆袭之路

    JavaScript如何做到上天入地无所不能?JavaScript真的能一统江湖吗? 背景 近年来,前端技术日新月异,前端已经不仅仅是网页,更多的开始由狭义向广义发展. 先后涌现出了具备后端能力的no ...

  7. 进化:屌丝的互联网逆袭之路

    书籍介绍 本文是在看过<进化:我们在互联网上奋斗的故事>(后文简称<进化>)这本书之后有感而发,把自己的一些想法写下来和大家一起分享交流,首先在这给没看过这本书的人介绍一下,这 ...

  8. 程序员屌丝逆袭之路不是炒股

    最近这一段时间,你身边是不是大多数人都在谈论股票?那就对了,无论走到哪都能听到,今天又绿了,我的股票跌停了,冲上5000点啦,等等之类的话. 我还不是一个股民,一直都不是.因为不懂,不敢入市:因为有人 ...

  9. 婴幼儿用品行业打破传统经营模式 开启全渠道会员营销逆袭之路

    随着三胎政策的开放,母婴行业的市场竞争已经到了白热化的地步,母婴用品商家想要在一众大军充突围而出,势必要在经营方式上有所突破.再加上新零售的快速崛起,婴幼儿用品品牌想要异军突起,实现销售量的增加和品牌 ...

  10. 携引擎以令天下”:JavaScript从前端到全端的逆袭之路

    javaScript如何做到上天入地无所不能?JavaScript真的能一统江湖吗? 背景 近年来,前端技术日新月异,前端已经不仅仅是网页,更多的开始由狭义向广义发展. 先后涌现出了具备后端能力的no ...

最新文章

  1. Linux 自动挂载 和 fstab分区-自动挂载
  2. 【模电基础】滤波电容的选择
  3. 【数据竞赛】DoubleEnsemble--专治硬样本的神奇集成技术。
  4. ubuntu下git更改默认编辑器
  5. python enumerate()
  6. Kafka必须掌握的核心技术:Java基础入门期末考试
  7. 类与类加载器---《深入理解java虚拟机》
  8. Sourse Insight使用过程中的常使用功能简介
  9. 关于未来交通,这些大咖在未来论坛上的讨论火花四溅
  10. 基于51单片机的智能温控风扇
  11. Gin+Mysql简单的Restful风格的API
  12. 使用vue+div+svg实现审批流程图功能,可生成JSON格式
  13. Uniapp微信小程序实现简易生成表单生成器
  14. 运维监控软件的选择对比----Zabbix vs Prometheus
  15. python绘制对比分析图(柱状图、折线图)
  16. visio2016安装遇到的坑
  17. 力扣(15.18)补9.19
  18. 多对多业务,数据库水平切分架构一次搞定(58沈剑)
  19. 罗德里格斯公式 理解、推导
  20. HTML点击图片,弹窗并放大

热门文章

  1. 人月神话(40周年中文纪念版)
  2. kali的sqlmap安装
  3. uni-app 使用高德地图
  4. html 字体思源_思源字体打包下载
  5. 开源阅读书源_阅读——开源阅读软件
  6. TSC TTP-244条码打印机如何批量打印二维码
  7. 2017CV技术报告:从3D物体重建到人体姿态估计
  8. ssm-学子商城-项目第六天
  9. html中div页面布局,前端入门篇(二):利用Div + CSS快速布局页面
  10. 第二十届全国中小学电脑制作活动通知