java小白训练营day01-基础环境搭建
Posted 长安紫薯
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java小白训练营day01-基础环境搭建相关的知识,希望对你有一定的参考价值。
学习CGB java大数据课程,它核心3部分组成
1)java语言+ Spring框架
2)互联网架构
3)大数据架构
现在软件企业入门门槛比较高,原来会java或者SSM三大框架走遍天下,
但是现在主流程序技术不够用,企业主流升级到互联网架构(nginx/redis/mycat,docker/k8)
还有大数据技术(hadoop离线分析、flink实时分析)
java+互联网架构+大数据形成了一个非常强大生态链体系,这个别人5到10年都替换不了的。
举例:#c、.net 微软。去年推出.net core核心框架,最新推出它.net微服务架构
和java比.net微服务太菜呢?java 微服务已经经过三代产品的迭代,市场非常成熟,而且阿里、京东、滴滴,一线互联网公司所证明。
阿里dubble,当当dubbleX,SpringCloud Netflix 网飞微服务,SpringCloud Alibaba 阿里出品
java 语言,j2ee架构,EJB企业级架构,所有大型软件鼻祖
SSM 三大框架(核心业务),Spring替代EJB,又继续SpringMVC替代strtus1/2,Mybatis替代Hibernate,形成三大框架,用java语言写的
互联网架构:(nginx负载均衡,提高性能,c)它只解决一个方面的问题,它为整个java平台服务
redis分布式内存缓存(c),mycat 阿里mysql增强代理 java,docker(go),k8
大数据:hadoop(java)、spark(scala编译完java)、storm(3.0时重构使用java)、flink(scala)
学习大数据学python语言还是学习java语言?答案:java
java简介
java之父,詹姆士高斯林,1955年出生,sun 创建新语言,改造c语言,oka语言。 91诞生(30岁,老了,Spring),
Spring春天,它把僵死java换发新的青春,Spring修改了很多java代码的不足,用更加完善和强大代码所替代。
95改名java
98年里程碑:把java分成3个部分:j2se(JDK 核心api)、j2ee(企业级开发EJB2.0分布式,3.0死了,Spring框架)、j2me(嵌入式)
JavaSE、JavaEE、JavaME
java 1.2 ver2.0
java 1.5 ver5.0 以后版本就按5.0来算,表示它升级内容非常关键,功劳大
java 1.8 ver8.0 主流开发jdk版本
java 1.11 ver11 SpringBoot 力推11版本
java 16 最高版本
JDK它是什么的缩写?
工作中遇到新的技术如何去学习?
推荐百度百科(专业)不会太乱说,官网(英文)
百度demo案例,照着做练习,练多了就了解它的真正作用。
JDK、JRE、JVM的概念和区别
JDK (Java Development Kit) 是 Java 语言的软件开发工具包(SDK) = JRE+Java工具
JRE (Java Runtime Environment) Java运行时环境 = JVM+Java系统类库
JVM(Java Virtual Machine)Java虚拟机
注意事项:
JDK>JRE>JVM
开发者需要配置JDK环境
IDE集成开发工具:eclipse简介
开发起来特别方便,有智能提示,错误报警,语法高亮。。。提升开发的效率
eclipse(免费)、idea(收费)、vs code
安装都是一路next,安装java时选择一个路径D:/java/env/jdk1.8
检查java和eclipse是否安装好了
java 1.8以上,最好和老师版本一致
eclipse 2.7以上
- 验证java版本
进入DOS命令窗口(黑窗口),输入DOS命令:java -version
注意java后面有一个空格,-减号version固定不能随便写
如果出现版本看是否是1.8,高了可以,低了不行,最好一致
如果出现下面 的提示,说明你的java没有安装,问项目经理老师要安装文件,一路安装即可。
'java' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
- 检查eclipse的环境
版本的差异,用最新比较好,修正直接bug
一路安装,只要大于4.7以上即可,太小的创建项目结构和老师不一样,有些工具无法使用
配置全新的工作空间 workspace
1、手动创建一个新目录
注意事项:起名时不能有中文(工作空间,可以使用,但是会被专业人士鄙视,早期会出错),不能有空格(可能出错)
即使英文很烂使用翻译字典
2、eclipse switch切换到新目录即可,就是一个全新的工作空间
小结:一般在什么时候做这样事情?
1)新开发一个大型项目时
2)新手,新机器
注意事项:不用每次都去创建新的工作空间
配置工作空间字符集 utf-8(支持中文和英文),解决乱码
安装完成默认的编码:gbk 国标
干脆大家都统一编码:utf-8 国际标准uincode
注意事项:
在创建新工作空间的第一件事情,修改字符集,否则中间修改工作空间,旧的项目的字符集是不会被改变,会产生乱码。
现今主流字符集编码规则都要设置成 utf-8,(数据库mysql中文乱码,html前台页面中文乱码)
配置桌面,只留包视图和控制台
包视图:package explorer,管理java工程,javaWeb工程(x),Maven工程,SpringBoot工程(微服务)
控制台:console,程序调试,可以打印调试信息到控制台(开发者,用户是开不到)
代码区:展示某个具体的java源文件 *.java
注意事项,如果位置不在左边,自己按住标题拖动鼠标
我的第一个java程序
开发步骤
1)创建一个java project 项目、工程
2)创建一个包 package
3)创建一个类 class
字体调整大小:快捷键:Ctrl+加号变大,Ctrl+减号变小
4)执行方法 main() 主方法,主函数
5)写代码,打印println,打印信息Hello World.到控制台上
package cn.tedu.hello;
public class HelloWorld {
//main方法要求很多,死背硬记
public static void main(String[] args) {
//自动加载的System类,它下面的方法可以直接被调用
System.out.println("Hello World.");
}
}
6)运行程序,执行class的main
java注释
1)单行的注释://
2)多行的注释:/* … /
3)javadoc的注释:/* * …/
各部分含义
/*
* package 包,包路径
* cn.tedu.hello; 组成:域名倒写.项目名称
* ; 分号,一行结束
*/
package cn.tedu.hello; //中文;不能识别,必须英文
/*
* public 4个修饰符,公用的,共有的,private私有
* class 修饰符,类,java中使用最频繁
* HelloWorld类名,在同一个包下只能一个名字,命名满足大驼峰规则
*
* {} 大括号,类体,方法体
* [] 中括号,数组
* () 小括号,参数列表
*/
public class HelloWorld { //class body 类体
//main方法要求很多,死背硬记
/**
* javadoc注释
* public 公用方法
* static 修饰符,静态(方法分为2种,静态方法,非静态方法)
* void 无返回值
* main 入口方法,函数,类中只能有一个方法,它会运行
* 错误:Duplicate method main(String[]) in type HelloWorld
* String[] 字符串数组
* args 参数值
*/
public static void main(String[] args) { //method body 方法体
//自动加载的System类,它下面的方法可以直接被调用
System.out.println("Hello World.");
}
}
java项目是如何管理文件的?(了解)
1)workspace 工作空间:C:\\2108\\ws 磁盘目录(多级)
2)java project 工程:\\hello,磁盘目录(一级)
bin目录,src目录(写死,固定,可以进行修改,没必要)
3)package 包,包路径:
(路径中用斜杠标识),包路径cn.tedu.hello(包路径中使用点标识),java规范
\\src\\cn\\tedu\\hello 源文件存储磁盘目录
\\bin\\cn\\tedu\\hello 字节码文件存储磁盘目录
4)类文件,源文件,HelloWorld.java
5)类文件,目标文件,字节码文件,HelloWorld.class
java文件和class文件的区别
1)java源文件,它是纯文本文件(可以用任何打开文字的编辑软件都可以访问)。给开发者看的。
2)class目标文件,字节码文件(二进制的文本编辑器打开乱码)。不是给操作系统,是给JVM看的。
编译后文件(翻译java代码为字节码文件)c编译后直接给操作系统,机器码;java编译后给JVM,JVM再次进行编译,机器码,操作系统才能识别。c语言性能最高,java慢,编译型语言,它多了一步JVM,性能下降。它有它的优点,c不能跨平台,java却能跨平台。
什么时候我把java文件进行编译,产生class文件?
class文件是eclipse集成开发工具的功劳,它是在你保存代码时,它自动调用javac.exe(compile)文件,进行编译,自动生成class文件
执行的是java文件还是class文件?
错误: 找不到或无法加载主类 cn.tedu.hello.HelloWorld
原因: java.lang.ClassNotFoundException: cn.tedu.hello.HelloWorld
如果丢失了class文件,就会发生这个异常
java是怎么实现的过程?(了解)
跨平台,为什么需要JVM
Java执行一个类的过程:
第一步:在eclipse中创建 HelloWorld.java 的源文件
第二步:代码保存后 eclipse 调用 javac.exe 自动生成 HelloWorld.class 字节码文件
第三步:运行时,JVM通过 classload 类类加载器,先加载 java.lang.*下的所有类(rt.jar中),然后加载业务类 HelloWorld.class
第四步:交个操作系统上的对应操作系统的编译器进行编译,因为有个再次编译的过程,所以性能慢,但优点实现了跨平台
而c语言就不同,开发人员本地编译,要为不同的操作系统选择不同的编译器,如果客户有系统切换,就得重新在编译一次,不够灵活,但优点性能高。
明显性能上的牺牲,是为了提高代码一次编译到处运行(java口号!)
小结:
要求大家掌握两点内容:
1、掌握未来学习方向(未来5到10年的职业规划)
全球600多种语言,java目前是最强盛,30岁了,自身有些衰落,但它的生态链非常的强大。
第一阶段:java 没法就业
第二阶段:Spring框架,8k
第三阶段:nginx+redis+mycat,10k
第四阶段:SpringCloud微服务(alibaba+netflix),12k
第五阶段:rabbitmq+docker+k8 15k
第六阶段:大数据hadoop+flink 18k
学习python人工智能,让你的薪资更高。条件:学习cgb课程有如神助,独步天下;学完java(严谨)学python(随意,自由)
c/c# .net/php/javascript/python/java
c语言(强语言),通讯和金融底层,高级语言中性能最好的
.net (强语言)桌面开发,qq游戏,word办公自动化,暴风阴影。微软开源 .net core,推出新的微服务架构
php已经完蛋,php小型网站,都.net和java蚕食,大前端nodejs(vue)和后端java
javascript 和java无关,它脚本语言(弱语言)只能在浏览器中执行,前端页面都采用js
java 企业级开发,大型网站结构上远超其他语言!及时现在java开始被新语言替代,市场上java(jsp+servlet)软件产品5~10年也替换不完。
python也是编译型语言,它比java还慢。java是c儿子,java的底层就是c语言。JIT及时编译达到c的速度。
从企业级软件都是使用java开发的,你想替换5~10年替换不完。
纵观java无愧于第一大语言!本质,不是java自身强大,而是它推出开源政策,别人可以对其源代码进行修改,优化。而是java生态链体系强大。
2、能创建项目,写类,打印
需求:在控制台打印HelloWorld字符串
实现步骤:
1)创建java project工程
2)创建 package 包
3)创建 class 类
4)创建 main方法,入口方法,只有它能执行
5)System.out.println()打印字符串,使用双引号括起来
6)执行
以上是关于java小白训练营day01-基础环境搭建的主要内容,如果未能解决你的问题,请参考以下文章
java小白训练营day01-开发环境:HelloWorld+注释