一、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. java中存储mysql数据库时间类型【date、time、datetime、timestamp】

    在MySQL中对于时间的存储自己见表的时候都是设置的varchar类型的,感觉挺方便的. 昨天拿别人建好的表写代码,发现这张表中时间类型为datetime的,凭感觉试了一下不行,网上查了刚开始试了好几 ...

  2. 嵌入式Linux设备驱动程序:编写内核设备驱动程序

    嵌入式Linux设备驱动程序:编写内核设备驱动程序 Embedded Linux device drivers: Writing a kernel device driver 编写内核设备驱动程序 最 ...

  3. algorithm头文件下的常用函数

    algorithm头文件常用高效函数 max() max(a, b)返回a和b中的最大值,参数必须是两个(可以是浮点型). 1 #include <iostream> 2 #include ...

  4. JUC 并发编程--02,生产者和消费者 synchronized的写法 , juc的写法. Condition的用法

    synchronized的写法 class PCdemo{ public static void main(String[] args) { //多个线程操作同一资源 Data data = new ...

  5. Docker-compose搭建ELK环境并同步MS SQL Server数据

    前言 本文作为学习记录,供大家参考:一次使用阿里云(Aliyun)1核2G centos7.5 云主机搭建Docker下的ELK环境,并导入MS SQL Server的商品数据以供Kibana展示的配 ...

  6. mybatis中必须使用@param注解的四种情况

    一.方法有多个参数 例如: 接口方法: @Mapper public interface UserMapper { Integer insert(@Param("username" ...

  7. 【Azure 机器人】微软Azure Bot 编辑器系列(1) : 创建一个天气对话机器人(The Bot Framework Composer tutorials)

    欢迎来到微软机器人编辑器使用教程,从这里开始,创建一个简单的机器人. 在该系列文章中,每一篇都将通过添加更多的功能来构建机器人.当完成教程中的全部内容后,你将成功的创建一个天气机器人(Weather ...

  8. 摆脱鼠标之Dos学习

    2015/12/24 for循环 1,创建文件 http://blog.csdn.net/wangxingbao4227/article/details/17009447 关于for循环的总结,很详细 ...

  9. .NET Core/.NET5/.NET6 开源项目汇总1:常用必备组件

    系列目录     [已更新最新开发文章,点击查看详细] 开源项目是众多组织与个人分享的组件或项目,作者付出的心血我们是无法体会的,所以首先大家要心存感激.尊重.请严格遵守每个项目的开源协议后再使用.尊 ...

  10. java处理方法的多个返回值

    我第一次接触到元组是在java编程思想这本书中,当时我正为方法的多个返回值苦恼.因为我之前处理多个返回值方法的时候,要不建一个新的实体类,要不在接收的方法中建立一个对象,返回值之前给其赋值,要不通过异 ...