初始JAVA

JAVA 帝国的诞生

1972年C诞生

  • 贴近硬件,运行极快,效率极高。
  • 操作系统,编译器,数据库,网络系统等
  • 指针和内存管理

1982年C++诞生

  • 面向对象
  • 兼容C
  • 图形领域、游戏等

纵使C/C++非常强大,但是页有其不变的一面。其中C语言是很适合初学者作为入门语言的,但是仅仅是入门语言,因为C语言中有两大难处分别为:内存管理指针。很多初学者对于这两个方面真的基于是没得办法了。但是其实不推荐C语言除了其有点难之外,还有一个原因就是因为,C语言虽然官方说能在所有机器上运行,但是要针对每一个机器写对应的库函数,即便是一点点错误也可能导致程序无法执行。C++是面向对象的编程语言,它兼容C语言的一些特性,C++如果说从编程语言和执行速度上来说绝对是一门非常好的语言,但是其门槛相对较高,许多学习者很难完全掌握这门语言。

介于C/C++的原因,就有声音要求建立一门新的语言:

  • 语法有点像C
  • 没有指针
  • 没有内存管理
  • 真正的可移植性,编写一次,到处执行
  • 面向对象
  • 类型安全
  • 高质量的类库
  • ··· ···

那么,它就来了!!!!!

为了实现跨平台,java增加了一个抽象层,名为虚拟机JVM,在所有的平台上只要安装了JVM,就可以运行java的程序。

Java初生

  • 1995年的网页简单而粗糙,缺乏互动性
  • 图形界面程序(Applet)
  • Bill Gates说:这是迄今为止设计的最好语言!
  • Java 2 标准板(J2SE):去占领桌面
  • Java 2 移动版(JAME):去占领手机
  • Java 2 企业版(J2EE):去占领服务器
  • 大量巨头加入

Java开发了非常多的平台,系统,工具

  • 构建工具:Ant,Maven,Jekins
  • 应用服务器:Tomcat,Jetty,Jboss,Websphere,weblogic
  • Web开发:Struts,Spring,Hibernate,myBatis
  • 开发工具:Eclipse,Netbean,intellij idea,Jbuilder
  • ··· ···

2006年:Hadoop(大数据领域)

2008年:Android(手机端)

Java 特性和优势

  1. 简单性

    语法基于C语言,而且没有指针和内存管理,更容易掌握

  2. 面向对象

    1. 万物皆对象
  3. 可移植性

    1. 写一次可以在多个设备上运行。可以跨平台运行。
  4. 高性能

  5. 分布式

  6. 动态性

    1. Java本身不具有动态性,但是Java具有的反射机制,通过这个机制使Java具有动态性
  7. 多线程

    1. Java支持多线程,多线程也是使Java成为服务器端成为主流发开语言的原因之一。
  8. 安全性

  9. 健壮性

java成功的原因,除了自身实力过硬外还有运气因素。踩中了互联网发展的趋势。

JDK JRE JVM

Write Once、Run Anywhere 编写一次可以在任何地方运行

Java的三大版本

JavaSE:标准版(桌面程序,控制台开发···)

​ Java的基础和核心

JavaME:嵌入式开发(手机,小家电···)基本mo了

JavaEE:E企业级开发(web端,服务器开发···)

​ 学号JavaE的基础,要首先打牢SE的基础


JDK: Java Development Kit(Java开发者工具)

​ JDK最外部的大圈,包含了JRE和JVM,还包含了一些自己的工具用于程序开发,Javac编译和运行Java,Javadoc将Java的一些东西生成文档,jar可以将Java打包成应用··· ···

JRE:java Runtime Environment(Java运行时环境)

​ 包含Java虚拟机,Java的一些库和Applet所需的一些文件,JDK包含JRE相当于是父亲级别的,我们只需要下载JDK即可因为里面包含JRE。

JVM:java Virtual Machine(Java虚拟机)

​ 可以用软件来实现也可以用硬件来实现。相当于在所有的操作系统上模拟了一颗CPU来处理Java相关的东西。有两种运行方式:一种为解释型,一种为编译型。Java的跨平台核心就是引用了JVM。通过虚拟机来屏蔽了操作系统的区别真正实现了一次编译,到处运行。

Java搭建开发环境

工欲善其事必先利其器,下面就来搭建开发环境。

JDK的下载安装

Java现在属于ORACLE,JDK下载连接

下载到的版本可自行选择,当然要对应自己的操作系统,这里我是以windows操作系统为例。目前下载JDK需要注册ORACLE的账号,注册就行了。

尽量下载JDK8、7,目前企业中用的最多的就是这两个版本,因为新的版本可能不太稳定。这和Windows版本选择一样,要选择稳定的版本使用。只需要了解新版本有什么特性就行了。

下载后会发现是一个exe可执行文件,直接双击安装即可。

再安装过程中会出现有一个下一步,下一步之后会有一个安装到电脑中的哪一个位置,建议安装到一个好找的地方。

设置好之后确定点击下一步。等待安装完成,然后关闭

设置环境变量

  1. 我的电脑--右键点击属性---选则高级系统设置--点击环境变量

  2. 我们要在系统环境变量配置--点击下面的新建

  3. 变量名:JAVA_HOME

  4. 变量值:为刚在安装的JDK文件夹的路径,然后点击确定

  5. 配置path变量,在系统变量中找到path,点击进去后点击新建

  6. 然后后输入%JAVA_HOME%\bin

  7. 然后再新建一个,输入%JAVA_HOME%\jar\bin

  8. 然后全部确定

  9. 检测是否安装成功,打开CMD输入java -version回车如果打印了Java的版本,表明打印成功

    windows+r键打开放大镜

JDK卸载操作

  1. 删除Java的安装目录
  2. 删除JAVA_HOME
  3. 删除path下关于Java的目录
  4. 在doc窗口下 java -version查看是否真正删除

Hello World

程序猿的第一声呐喊:Hello World!

  1. 新建文件夹,存放代码
  2. 新建一个java文件
    1. 文件后缀名为.java
    2. Hello.java
  3. 编写代码
public class Hello{//类 Hello为类名 public为修饰符
public static void main(String[] args){//main为主方法程序必须通过main方法执行 其前面的为修饰符和关键字
System.out.print("Hello World!");//输出Hello World!
}
}

首先Java再运行文件的时候,都需要将文件编译成字节码文件在执行。

第一步进入cmd然后进入到文件存放的路径下

第二步编译字节码文件:通过Javac来编译格式为javac 文件名。后缀

javac Hello.java

编译之后会在文件同级下生成一个class文件

第三步:运行class文件 java 文件名 不需要写后缀名

可能遇到的问题:

  1. 每个单词的大小写不能出现问题:Java大小写敏感
  2. 尽量使用英文
  3. 文件名和类名(类名就是class后面的名字)必须保证一致,并且首字母大写。
  4. 符号使用了中文,会报错,一定要注意。

Java程序运行机制

计算机的高级编程语言分为两种,分别为:

  1. 编译型(complie )

    1. 就是将程序整体的编译,如果代码文件有部分改动,也需要重新编译整段代码。操作系统一般使用的都是编译型。C/C++也都是编译型
  2. 解释型
    1. 就是代码再编写的过程中写一句编译一句。比如网页对速度要求不高,就可以使用解释型边执行边解释。Java script也是属于解释型语言。
  3. 这两种编译方法各有好处不能说谁好谁坏。

Java那即属于编译型又属于解释性。

随着技术的发展计算机的性能提高,解释型和编译型的界限与来越模糊。

程序运行机制

IDEA安装和介绍

IDEA官网

什么是IDE Ecslipes ... IDEA (java的开发工具)

​ 集成开发环境(IDE,Integrated Development Environment)是用与提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具,集成了代码编写功能、分析功能、编译功能、调试功能等一体化开发软件服务套,所有具备这一特性的软件或者软件套组都可以叫集成开发环境。

IDEA介绍

在业界被认为是最好的开发环境。

直接搜索IDEA即可进入官网。上面也设置了传送门。

安装步骤:

  1. 下载好后双击即可安装

  2. 直接NEXT然后选择安装路径,不推荐安装路径中含有中文。然后NEXT。然后会弹出以下界面:按照图中的选项勾选。

  3. 然后如果你下的为专业版可能会需要添加验证码,当然也可以选择试用30天。也可以百度破解(不推荐)。

  4. 安装后就可以打开正常使用了。

安装好后可以在百度搜索:IDEA优化(看个人爱好)

java 基础知识储备的更多相关文章

  1. Java基础知识(壹)

    写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...

  2. java基础知识小总结【转】

    java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...

  3. Java基础知识系列——String

    最近晚上没有什么事(主要是不加班有单身),就复习了一下Java的基础知识.我复习Java基础知识主要是依据Java API和The Java™ Tutorials. 今天是第一篇,复习了一下Strin ...

  4. 学习android学习必备的java基础知识--四大内部类

    学习android必备的java基础知识--四大内部类 今天学习android课程,因为我的主专业是JAVA,但是兴趣班却有这其他专业的同学,学习android 需要具备一些java的基础知识,因此就 ...

  5. JAVA基础知识之网络编程——-网络基础(Java的http get和post请求,多线程下载)

    本文主要介绍java.net下为网络编程提供的一些基础包,InetAddress代表一个IP协议对象,可以用来获取IP地址,Host name之类的信息.URL和URLConnect可以用来访问web ...

  6. java基础知识梳理

    java基础知识梳理 1 基本数据类型

  7. java基础知识回顾之---java String final类普通方法

    辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /*     * 按照面向对象的思想对字符串进行功能分类.     *      ...

  8. Java 基础知识(一)

    Java基础知识篇: 一.关键字解释 1. final:修饰非抽象类,非抽象方法和属性, 以及修饰方法参数,代表“无法改变的”.出于对设计或者效率的考虑使用该关键字. final类无法被继承,fina ...

  9. java 基础知识三 java变量

    java  基础知识 三 变量 1.作用域 {} 包围起来的代码 称之为代码块,在块中声明的变量只能在块中使用 2.常量 就是固定不变的量,一旦被定义,它的值就不能再被改变. 3.变量 变量必须在程序 ...

随机推荐

  1. PWA & Service Workers 版本更新 bug

    PWA & Service Workers 版本更新 bug PWA & Service Worker https://developer.mozilla.org/zh-CN/docs ...

  2. Dart Generic All In One

    Dart Generic All In One Dart 泛型 https://dart.dev/guides/language/language-tour#generics /** * * @aut ...

  3. TypeScript & Advanced Types

    TypeScript & Advanced Types https://www.typescriptlang.org/docs/handbook/advanced-types.html#typ ...

  4. XML & XPath & XQuery

    XML & XPath & XQuery full XPath demo https://www.w3.org/TR/xpath-full-text-30/ https://www.w ...

  5. NGK全球行伦敦站,SPC推动全球数字金融创新

    近日,NGK全球巡回路演在英国的首都伦敦盛大落幕,此次路演有幸邀请到了西欧区块链业界弗洛伊德大咖,NGK方面代表鲍利斯以及英国及其组周边国家社群意见代表马丁内斯等人,总计参与人数达到了数十人. 路演一 ...

  6. Baccarat凭什么吸引做市商?2021年将如何发展?

    在过去的一年里,基于资金池的AMM自动化做市商几乎统治了所有DeFi活动,他们没有订单簿,而是根据算法曲线提供资产.尽管在流动性和交易方面取得了令人惊叹的成绩,但是其自身具有无常损失.多代币敞口以及低 ...

  7. 微信小程序:应用生命周期

    小程序的生命周期分为应用生命周期和页面生命周期. 应用指的是一个文件,是小程序的入口文件app.js,入口文件最外层方法名称是App,页面的js文件最外层是page,组件的js文件的最外层是compo ...

  8. JS数组的常用属性或方法

    1.length 数组长度 计算数组的长度 var arr=[1,2,3,4,5]; console.log(arr.length);//输出结果是5 2. push() 添加元素 向数组尾部添加新元 ...

  9. 为 APK 文件增加右键菜单组实现快捷安装

    0.结果 1.需求 迫于每次都要打开 Powershell 手动敲 adb install xxx.apk 太麻烦,就想通过注册表搞一个右键菜单,实现快捷安装 apk 的功能. 最后决定先实现三个功能 ...

  10. h5返回上一页ios页面不刷新

    var isPage=false; window.addEventListener('pageshow', function () {         if (isPage) { window.loc ...