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");}
}

第1章 初始JAVA相关推荐

  1. 尚学堂百战程序员1573题---答案总结第一章 初识Java

    第一章 初识Java 1. 你学习编程的目的是什么?学习编程最快的办法是什么? 答:我觉得的我喜欢计算机,我认为计算机是一个很神奇的东西,所以我要学计算机专业,同时,我认为学计算机学编程是一个比较容易 ...

  2. 【第三章:Java开发岗:Redis篇】

    点击:[第一章:Java开发岗:基础篇] HashMap.Synchronized.ThreadLocal.AQS.线程池.JVM内存模型.内存屏障.class文件结构.类加载 机制.双亲委派.垃圾回 ...

  3. 第2章(Java 的基本程序设计结构)

    第2章(Java 的基本程序设计结构) 文章目录 第2章(Java 的基本程序设计结构) 2.1一个简单的 Java 应用程序 2.2注 释 2.3数据类型 2.3.1整型 2.3.2浮点型 2.3. ...

  4. JVM规范系列第2章:Java虚拟机结构

    本规范描述的是一种抽象化的虚拟机的行为,而不是任何一种(译者注:包括 Oracle 公司自己的 HotSpot 和 JRockit 虚拟机)被广泛使用的虚拟机实现. 记住:JVM规范是一种高度抽象行为 ...

  5. java都要caps标点_第 1 章 管理 Java CAPS 用户

    第 1 章 管理 Java CAPS 用户 在此处列出的主题提供了有关如何管理 Sun JavaTM Composite Application Platform Suite (Java CAPS) ...

  6. java多线程编程—高级主题_Java day20 高级编程【第一章】Java多线程编程

    [第一章]Java多线程编程 一.进程与线程 多个时间段会有多个程序依次执行,但是同一时间点只有一个进程执行 线程是在进程基础之上划分的更小的程序单元 ,线程是在进程基础上创建并且使用的,所以线程依赖 ...

  7. 深入理解Java虚拟机(周志明第三版)- 第十二章:Java内存模型与线程

    系列文章目录 第一章: 走近Java 第二章: Java内存区域与内存溢出异常 第三章: Java垃圾收集器与内存分配策略 并发处理的广泛应用是Amdahl定律代替摩尔定律成为计算机性能发展源动力的根 ...

  8. 第一章 学习Java的建议

    第一章 学习Java的建议 Java是一门流行的编程语言,想要掌握Java编程,有效的学习方法很重要的.下面给大家分享几点学习Java的方法,仅供大家参考 1. 理解Java思想 Java是一门面向对 ...

  9. Java异常捕获论文_一篇文章解决Java异常处理

    前言 与异常相关的内容其实很早就想写了,但由于各种原因(懒)拖到了现在.在大二开学前夜(今天是8.31)完成这篇博客,也算完成了暑期生活的一个小心愿. 以下内容大多总结自<Java核心技术 卷Ⅰ ...

  10. 第一章 认识Java 2019-09-28

    (2)JavaSE 核心技术 主要包括:认识Java.变量和运算符.流程控制语句.数组.方法.面向对象基础.面向对象高级特性.异常处理.工具类.集合.IO/NIO.多线程编程.JDK8.0新技术,JD ...

最新文章

  1. 中国电子学会青少年编程能力等级测试图形化四级编程题:计算生肖
  2. 【转】为什么要写技术博
  3. 简单Unity时间架构设计(克洛诺斯之匙)
  4. C++ Primer 5th笔记(9)chapter9 顺序容器 string
  5. java 泛型嵌套泛型_Java泛型简介–第6部分
  6. 使用jenkins进行Android的持续集成
  7. webgis从基础到开发实践_webgis@基础GIS 开源资源汇总
  8. 计算机专业学硕复试未来规划,【图片】2020考研,老学长教你如何规划!【计算机考研吧】_百度贴吧...
  9. flask-mail异步发送邮件_异步、定时、邮件任务
  10. shiro学习笔记:remeberMe,多次登录锁死账号
  11. postman电脑版无法安装_Postman 安装及使用入门教程
  12. 大数据入门初学者需要学习的内容及学习路线详解
  13. Windows中使用Docker安装ClickHouse
  14. [算法模板]莫比乌斯反演
  15. linux之iconv命令
  16. ZYNQ嵌入式开发基础教程
  17. 用Python完成毫秒级抢单,助你秒杀淘宝大单
  18. python三重积分_(整理)三重积分及其计算和多重积分72254.
  19. Ps导航栏的简略讲解(一)
  20. [OHIF-Viewers]医疗数字阅片-医学影像-es6-Element.querySelector()

热门文章

  1. Rplidar A1利用Qt图形库进行周围环境的轮廓抓取
  2. WMI遍历注册表(VBS编程)
  3. DHCP服务的八种报文(消息)作用
  4. 3559A对接IMX577 4lane 12M
  5. 双粗虚线中间一条实线_一侧虚线一侧实线可以变道吗?双黄线中间是斜杠
  6. 数电技术基础大恶补04:CMOS门电路
  7. 集成editormd支持markdown语法(一)之基本使用
  8. 【渝粤题库】陕西师范大学800012 区域经济学
  9. GraphLite 实现子图匹配
  10. 屏幕录像专家 7.5下载+注册机