一、Java帝国的诞生

  • 一场旷日持久的战争

1.C & C++

  • 1972年C诞生

    • 贴近硬件(有汇编的一些特点),运行极快,效率极高
    • 操作系统,编译器,数据库,网络系统等
    • 指针(能够直接操作内存,没有工具做越界检查)和内存管理(放任态度,自己分配空间自己释放)
    • 编译期发现不了问题,只有运行程序的时候才会暴露
    • 所有人尽可能使用标准的C的函数库,每个平台有一份,有一点小小的错误都会导致编译失败
  • 1982年C++诞生

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

2.建立新的语言 - Java

  • 语法有点像C(比较容易接受)
  • 没有指针
  • 没有内存管理
  • 真正的可移植性,编写一次,到处运行
  • 面向对象
  • 类型安全
  • 高质量的类库

C++-- 》 oak 》 Java

为了实现真正的跨平台,在每个操作系统之上增加了一个抽象层 - JVM(Java虚拟机),所有平台安装了JVM就可以运行Java程序

3.Java

  • 1995年的网页简单而粗糙,缺乏互动性

  • 图形界面的程序(Applet)

  • 比尔盖茨说:这是迄今为止设计的最好的语言

  • Java 2 标准版(J2SE):占领桌面(标准版)(swing,难看,和原生桌面差距比较大)(桌面程序、控制台开发。。。)

  • Java 2 移动版(J2ME):占领手机(嵌入式开发)(手机、小家电。。。)

  • Java 2 企业版(J2EE):占领服务器(企业级开发)(强大、健壮、安全、简单、跨平台、适合团队开发复杂而大型的项目)(web端、服务器开发。。。)

  • 大量的巨头加入,基于Java开发了巨多的平台、系统、工具

    • 构建工具:Ant、Meven、Jekins
    • 应用服务器:Tomcat、Jetty、Jboss、Websphere、Weblogic
    • Web开发:Struts、Spring、Hibernate、MyBatis
    • 开发工具:Eclipse、Netbean、intellij IDEA、Jbuilder
  • 2006:Hadoop(大数据领域)

  • 2008:Android(手机端)

三高:高可用、高性能、高并发

二、Java特性和优势

  • 简单性
  • 面向对象
  • 可移植性(跨平台)
  • 高性能
  • 分布式
  • 动态性(反射)
  • 多线程
  • 安全性
  • 健壮性

三、JDK、JRE、JVM

1.JDK:Java Development Kit

Java开发者工具,包含了JRE、JVM,还有一些自己的工具用于程序开发

2.JRE:Java Runtime Environment

Java运行时环境,包含了JVM

3.JVM:Java Virtual Machine

Java虚拟机,一种规范,可以用软件实现,也可以用硬件实现,在操作系统上模拟了一个CPU去处理Java相关的东西

四、搭建开发环境

1.JDK下载与安装

  1. 卸载

    1. 删除Java安装目录
    2. 删除JAVA_HOME
    3. 删除path下关于Java的目录
    4. java -version查看是否成功
  2. 安装
    1. 百度搜索“JDK8”,找到下载地址[Oracle](Oracle | Integrated Cloud Applications and Platform Services)
    2. 下载电脑对应版本
    3. 双击安装JDK
    4. 安装JRE
    5. 记住安装路径
  3. 配置环境变量
    1. 我的电脑 - 右键 - 属性 - 高级系统设置 - 环境变量
    2. JAVA_HOME:JDK的安装路径
    3. path: %JAVA_HOME%\bin
    4. java -version查看是否成功

2.JDK目录介绍

  • bin:放一些可执行程序
  • include:引入C语言的一些头文件
  • jre:Java运行时环境
  • lib:一些Java类库文件
  • src包:一些资源文件,很多Java类

3.Notepad++安装和使用

五、HelloWorld及简单语法

  1. 新建Java文件Hello.java,文件后缀名为.java
  2. 编写代码
public class Hello{ //类 类名
//修饰符 main方法,主方法
public static void main(String[] args){
System.out.println("hello,world!"); //输出
}
}
  1. 编译Java文件,生成class文件,javac hello.java

  2. 运行class文件,控制台输出结果,java hello

  • 注意点:

    • 系统可能没有显示文件后缀名,需要手动打开
    • 每个的单词的大小写 不能出现问题,Java是大小写敏感的
    • 文件名和类名必须保持一致,并且首字母大写
    • 符号必须使用英文

六、Java程序运行机制

1.编译型(compile)

  • 将源代码转换成计算机能执行的代码

  • 负责编译的程序称为编译器

  • 执行速度更快,因为把所有东西都翻译好了,电脑直接执行就好了,对操作系统的要求比较低

  • 开发操作系统会用编译型,比如C、C++。。。

2.解释型

  • 执行一下编译一下(相当于实时翻译官)

  • 比如网页、脚本对速度要求不高,就可以使用解释型语言,边执行边解释,比如Java、JavaScript、VBScript、python。。。

  • 随着硬件提升,解释型效率也越来越高

  • 编译型和解释型的不同:时机不同

3.程序运行机制

  • Java既有编译型特点,又有解释型特点

七、IDEA安装和介绍

1.什么是IDE?(集成开发环境)

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

  • Eclipse、MyEclipse、IDEA。。。

2.IDEA介绍

  • 社区版:免费,功能少
  • 旗舰版:收费,功能多(破解)
  • 百度搜索“IDEA优化”

3.IDEA官网

IntelliJ IDEA: The Capable & Ergonomic Java IDE by JetBrains

3.Java入门的更多相关文章

  1. Java入门第一章

    后天就是十一长假了,亲们准备好了去哪儿玩了吗? 今天有点空,就来聊聊Java吧,当然是一些Java入门知识了,网上有很多,这里我只是列举一些我自己学到的,感谢大家关注喵的博客这么久,也为大家带来点新知 ...

  2. [Java入门笔记] 面向对象编程基础(二):方法详解

    什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...

  3. 第1章Java入门体验

    第1章Java入门体验 1.java简介和平台应用 Java是sun公司开发出来,现在属于ORACLE公司java分为几个部分:首先是最基础的Java SE部分,这部分是Java的基础知识,主要包括: ...

  4. Java入门记(五):容器关系的梳理(下)——Map

    注意:阅读本文及相关源码时,需要数据结构相关知识,包括:哈希表.链表.红黑树. Map是将键(key)映射到值(value)的对象.不同的映射不能包含相同的键:每个键最多只能映射到一个值.下图是常见M ...

  5. Java入门(二)——果然断更的都是要受惩罚的。。。

    断更了一个多月,阅读量立马从100+跌落至10-,虽说不是很看重这个,毕竟只是当这个是自己的学习笔记,但有人看,有人评论,有人认同和批评的感觉还是很巴适的,尤其以前有过却又被剥夺的,惨兮兮的. 好好写 ...

  6. Android初涉及之Android Studio&JAVA入门--二月不能不写东西

    是的,我还没有放弃写博客. 是的,我也没有放弃PHP的学习. 是的,我要开始学学最TM火的Android开发了. 你呢 1.Android Studio 一.概况 安装和配置什么的就不具体说了,网上一 ...

  7. JAVA手记 JAVA入门(安装+Dos下运行)

    JAVA入门特供= =,今天设置环境变量后用dos运行的时候发现出现“找不到或无法加载主类”,索性查了些资料重新看了看JAVA入门的部分. 声明:我的笔记本暂时用的是Win10系统,Windows其他 ...

  8. Java入门教程总目录

    Java入门教程总目录 持续更新中... 1.Java常识汇总 2.Java框架对比 3.Java技术路线 4.Java编码规范 5.Java环境变量配置 6.枚举 7.操作符 12.定时任务

  9. Java入门的程序汇总

    Java入门的基础程序,虽然很简单,也要多练习,下面有重点的总结一下 1.HelloWorld这个不说了 2.常量与变量部分 基本数据类型使用 public class Javashujuleixin ...

  10. Java入门学习知识点汇总

    Java入门重要知识点在这里总结一下,以方便日后复习,这部分内容主要有:变量和常量,常用的运算符,流程控制语句,数组,方法这些内容 一.变量和常量 1.Java关键字 先贴张图: 所有关键字区分大小写 ...

随机推荐

  1. Django(45)drf序列化类的使用(Serializer)

    前言 上一篇文章我们讲述了序列化,这篇就带大家一起来实现以下序列化 Serializer 我们使用序列化类Serializer,我们来看下源码结构,这里推荐使用pycharm左边导航栏的Structu ...

  2. MongoDB学习笔记:快速入门

    MongoDB学习笔记:快速入门   一.MongoDB 简介 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能.M ...

  3. pika详解(二) BlockingConnection

    pika详解(二) BlockingConnection   本文链接:https://blog.csdn.net/comprel/article/details/94592348 版权 Blocki ...

  4. Step By Step(Lua基础知识)

    Step By Step(Lua基础知识) 一.基础知识:    1. 第一个程序和函数:    在目前这个学习阶段,运行Lua程序最好的方式就是通过Lua自带的解释器程序,如:    /> l ...

  5. GeforceRTX系列参数对比

    GeforceRTX系列参数对比

  6. python应用_异常处理

    我们把可能发生错误的语句放在try模块里,用except来处理异常. 参考学习链接: https://www.cnblogs.com/OliverQin/p/12222619.html 异常处理的完整 ...

  7. JVM快速入门(上)

    前言 根据狂神说的JVM快速入门做了以下笔记,讲的很好的一个博主,给小伙伴们附上视频链接狂神说JVM快速入门    接下来我按照他所讲的内容给大家记录一些重点! 一.JVM体系结构 .java经由ja ...

  8. 实战SpringBoot Admin

    长话短说哦,直接查看下文吧 目录 声明 先锋 前提 SpringBoot Admin 介绍 服务端的搭建 客户端的搭建 参数的指南 尾声 声明 见名知意,实战SpringBoot Admin,实战!实 ...

  9. 在Visual Studio 中使用git——标记(Tag)管理(十)

    在Visual Studio 中使用git--什么是Git(一) 在Visual Studio 中使用git--给Visual Studio安装 git插件(二) 在Visual Studio 中使用 ...

  10. 「题解」USACO15FEB Fencing the Herd G

    本文将同步发布于: 洛谷博客: csdn: 博客园: 简书: 题目 题目链接:洛谷 P3122.USACO 官网. 题意概述 给你平面上的一些点和直线,有两种操作: 新加入一个点 \((x,y)\): ...