第1章 初始JAVA

java课程体系简介

课程java工程师,后台开发;分为5个阶段;

第一阶段: java基础: 数据类型、变量、控制语句、数组、String、面向对象、集合、IO、线程、反射、网络编程;第一阶段是整个课程的核心;是基础,直接关系到后面课程的学习。

第二阶段: javaWeb开发: HTML、CSS、JavaScript、Servlet、JSP、MVC设计模式、三层结构、MySQL数据库、JDBC连接数据库。MyBatis框架的基础是JDBC、SpringMVC框架的基础Servlet; 阶段项目:小米商城,从购物、加入购物车、支付宝模拟支付。

第三阶段: 框架开发 SSM

Spring框架(开发业务层)、SpringMVC开发表示层、MyBatis框架开发持久层(和数据库交互);阶段项目: OA系统办公系统。项目要实现所有的功能,

第四阶段: 分布式项目开发

29天,做项目、老师带领学生做一个分布式项目;SpringBoot、SpringCloud、RabbitMQ、Dubbo、Zoookeeper、Redis、MyCat数据库读写分离、Activity工作流。SpringCloud Alibaba:Nacos服务注册中心、Sentinel限流、熔断、Seata分布式事务。

第五阶段: 面试题和简历

公司面试的问题很麻烦,掌握常见的面试题,框架原理、SQL数据库的面试题; 10天课程,讲解面试题和简历。

有问题还可以问老师,扶上马送一程。

java语言简介

java诞生于20世纪90年代中期, 1995左右; SUN MacroSystem 太阳微系统, 注重工程师文化、注重技术、但是销售不给力。并没有转成公司的现金流; 2009年被Oracle公司收购,IBM公司也有意向收购SUN公司; 但是IBM公司的业务和SUN公司的业务有很多重合的。IBM有自己系统、SUN也有,IBM有服务器硬件、SUN也有,IBM有eclipse 、SUN也有NetBean。 Oralce公司只有数据库产品,Oracle公司的创始人拉里埃里森,70多岁,小朋友30岁; 埃里森名言: 我喜欢竞争,但是我不喜欢看到竞争对手。Oracle不断收购其他公司,PeopleSoft 、BEA、 SUN等公司。
在这里插入图片描述
java创立之初是用来做智能家电: 微波炉、电烤箱、机顶盒;SUN公司接到做机顶盒项目,用户可以点播电视剧;SUN公司成立一个小组:Green, 老大就是James Gosling 詹姆斯高斯林, 首选的语言是C++, 经过商讨发现C++不合适,原因是运行的设备: 存储空间有限、电力有限、处理器速度有限。Green小组基于C++开发一个新的语言:Oak橡树的意思。机顶盒项目也成功但是没有被采纳。

但是项目研发的Oak语言成功的保留下来,随着互联网的发展,Oak得到飞速的发展。java起家靠的Applet(小程序); 就是再浏览器中嵌入java程序,但是这个Applet是一个动画。申请注册商标,Oak被一家硬件公司注册过了,当时喝的咖啡,有一个爪哇岛的,就命名java。
在这里插入图片描述
人还健在,SUN被收购之后,离开了;google工作一段时间,创业公司;海洋技术。

JAVA平台的概念

java在发展过程中延伸出三大平台:

  • JAVA SE Standard Edition 标准版 第一阶段的课程, 开发桌面应用, SE也可以开发QQ之类的软件,普通的MIS
  • JAVA EE Enterprise Edition 企业版 第二阶段的课程, 开发大型的企业级应用,淘宝商城、京东商城、工商银行
  • JAVA ME Macro Edition 微型版 : 智能卡、探路者号火星车, Android的盛行,ME用的场景有限

JAVA语言的特点

开源:开放源代码,Java的 jdk 源码可以对外共享

面向对象:是一个高级编程思想,可以让程序的开发变的简单.

跨平台:java程序在任何的操作系统上都可以运行

编译性:Java程序写好之后,需要编译器进行编译(生成的是字节码文件),可以提高程序的运行效率.

动态性:在程序的运行过程中,可以动态的决定程序运行的代码功能,涉及到反射技术.

JAVA语言的两大特性

  • 垃圾回收
  • 跨平台

垃圾回收机制

讲的内存的申请和回收, 程序运行的过程是从磁盘加载到内存,不断的申请内存。问题: 内存如何回收?在C++里面,申请内存是通过构造方法;而回收内存是通过C++的析构函数,但是要程序员进行手动的回收;这个很容易出现遗忘的,出现内存的溢出。而java程序是自动回收内存; 程序员不用手动的去释放内存,有一个后台线程进行垃圾回收。但是垃圾回收的时间不是固定的,java也支持手动回收。

  • 标记清楚算法
    在这里插入图片描述

  • 标记整理算法

  • 复制算法

  • 分代收集算法

跨平台

跨平台是跨不同的操作系统: window、linux、Mac系统;Write Once Only Once一次编写到处运行; windows上C#写的程序只能运行在window系统。工作用的window 或者 mac系统,生成环境把系统部署到Linux服务器,java如何实现跨平台的?JVM java virtual machine java虚拟机。

SUN公司为不同的操作系统提供不同jdk版本,我们编写的java程序不是直接运行在操作系统上,而是运行在JVM上。不同的系统安装上对应的JDK即可;JDK中包括JVM。
在这里插入图片描述

  • 类加载子系统
    • 字节码文件
  • 运行时数据区
    • 类加载到JVM之后分配相应的内存
  • 执行引擎
    • 解释字节码文件

java编译之后的字节码文件: 符合JVM规范的文件,不是直接二进制,并不是000111; JVM负责解释字节码文件

window系统: jVisualVM.exe可以打开查看当前虚拟机的情况。

JDK的下载和配置环境变量

java的发展历程:
在这里插入图片描述
开发JAVA程序,首先要从Oracle官网下载JDK, 官网;目前主流的JDK版本是java8,市场占有率80%以上,所以本次课程以java8作为开发平台。jdk安装一路next即可,记一下安装的路径;安装完成之后配置环境变量如下:

配置 JAVA_HOME: 值是jdk的安装目录

目的:
1.为了在修改jdk的版本的时候,不会频繁的修改Path环境变量(系统自带)
2.以后的一些软件的运行需要依赖JAVA_HOME环境变量自动的识别jdk 比如eclipse idea tomcat
JAVA_HOME: D:\JAVA\JDK
配置 Path:是 jdk的bin目录
Path: D:\JAVA\JDK \bin------> 用JAVA_HOME 的变量名替代Path中的jdk的安装目录部分
Path: %JAVA_HOME%\bin
在这里插入图片描述

~ » java -version   
java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)
------------------------------------------------------------

在命令行窗口执行 java -version 如果能够显示正确的版本号,说明配置成功。

HelloWorld程序

public class HelloWorld{
    
    public static void main(String [] args){
        System.out.println("欢迎学习软件开发---高薪就业.....");
    }
}

编写java程序可以使用记事本,VSCode、sublime text3等超级记事本,也可以是eclipse、IDEA等集成开发环境。以上是用记事本编写的第一个java程序;在DOS窗口中执行 javac HelloWorld.java 生成字节码文件HelloWorld.class;然后是执行java程序:java HelloWorld

~/Documents » javac HelloWorld.java
------------------------------------------------------------
~/Documents» java HelloWorld       
欢迎学习软件开发---高薪就业.....
------------------------------------------------------------

注意的问题:

  • 文件名和公有类的名称一致: HelloWorld.java
  • JAVA语言区分大小写的,HelloWorld和helloWorld是不一样的
  • 字符串类型要带有双引号的
  • 标点符号都是英文状态下的
  • main方法: 主方法,程序的入口方法, mian方法, public 公有的、static 表示的静态的、void空的没有返回值、main方法名称。
  • String [ ] args : String表示的字符串(多个字符连接在一起,羊肉串), [ ] 数组,args表示参数的名称,不一定是args; abc
  • System.out.println(); 向控制台输出一句话,如果输出的数字类型: 可以直接输出。
  • print打印输出不换行的

IDEA开发

IDEA首先我们创建空项目, 意思是我的工作目录,modules模块的意思,就是我们要创建一个项目。
在这里插入图片描述
下一步:
在这里插入图片描述
点击Finish
在这里插入图片描述
在弹出的对话框中点 “+”
在这里插入图片描述

选择Java,点击Next
在这里插入图片描述
输入模块名称,点Finish
在这里插入图片描述

点击OK即可。

课后作业

案例一

public class Demo1 {
    /**
     * main是java的入口方法,程序从该方法执行;也在main方法结束
     * @param args
     */
    public static  void main(String [] args){
        //print和println的区别
        System.out.println("姓名:张无忌");//打印并换行
        System.out.println("性别:男");
        System.out.println("=================");
        System.out.print("姓名:赵敏");//只打印不换行
        System.out.print("性别:女");
        System.out.println("===================");
        System.out.print("姓名:周芷若\n");//\n换行
        System.out.print("性别:女");
    }
}

案例二

public class Demo2 {
    public static  void main(String [] args){
        // \t制表符 tab键功能
        System.out.println("姓名\t性别\t年龄\t籍贯");
        System.out.println("张无忌\t男\t\t25\t\t河南");
        System.out.println("小昭\t女\t\t16\t\t波斯");
        System.out.println("-------------------");
        System.out.println("八戒说:“我们散伙吧,我会高老庄找老婆。”");
        System.out.println("八戒说:\"我们散伙吧,我会高老庄找老婆。\"");
        System.out.println("安装路径: aaa\\bbb\\ccc\\qq.exe");
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值