java 基础知识储备
初始JAVA
JAVA 帝国的诞生
1972年C诞生
- 贴近硬件,运行极快,效率极高。
- 操作系统,编译器,数据库,网络系统等
- 指针和内存管理
1982年C++诞生
- 面向对象
- 兼容C
- 图形领域、游戏等
纵使C/C++非常强大,但是页有其不变的一面。其中C语言是很适合初学者作为入门语言的,但是仅仅是入门语言,因为C语言中有两大难处分别为:内存管理和指针。很多初学者对于这两个方面真的基于是没得办法了。但是其实不推荐C语言除了其有点难之外,还有一个原因就是因为,C语言虽然官方说能在所有机器上运行,但是要针对每一个机器写对应的库函数,即便是一点点错误也可能导致程序无法执行。C++是面向对象的编程语言,它兼容C语言的一些特性,C++如果说从编程语言和执行速度上来说绝对是一门非常好的语言,但是其门槛相对较高,许多学习者很难完全掌握这门语言。
介于C/C++的原因,就有声音要求建立一门新的语言:
- 语法有点像C
- 没有指针
- 没有内存管理
- 真正的可移植性,编写一次,到处执行
- 面向对象
- 类型安全
- 高质量的类库
- ··· ···
那么,它就来了!!!!!
为了实现跨平台,java增加了一个抽象层,名为虚拟机JVM,在所有的平台上只要安装了JVM,就可以运行java的程序。
Java初生
- 1995年的网页简单而粗糙,缺乏互动性
- 图形界面程序(Applet)
- Bill Gates说:这是迄今为止设计的最好语言!
- Java 2 标准板(J2SE):去占领桌面
- Java 2 移动版(JAME):去占领手机
- Java 2 企业版(J2EE):去占领服务器
- 大量巨头加入
Java开发了非常多的平台,系统,工具
- 构建工具:Ant,Maven,Jekins
- 应用服务器:Tomcat,Jetty,Jboss,Websphere,weblogic
- Web开发:Struts,Spring,Hibernate,myBatis
- 开发工具:Eclipse,Netbean,intellij idea,Jbuilder
- ··· ···
2006年:Hadoop(大数据领域)
2008年:Android(手机端)
Java 特性和优势
简单性
语法基于C语言,而且没有指针和内存管理,更容易掌握
面向对象
- 万物皆对象
可移植性
- 写一次可以在多个设备上运行。可以跨平台运行。
高性能
分布式
动态性
- Java本身不具有动态性,但是Java具有的反射机制,通过这个机制使Java具有动态性
多线程
- Java支持多线程,多线程也是使Java成为服务器端成为主流发开语言的原因之一。
安全性
健壮性
java成功的原因,除了自身实力过硬外还有运气因素。踩中了互联网发展的趋势。
JDK JRE JVM
Write Once、Run Anywhere 编写一次可以在任何地方运行
Java的三大版本
JavaSE:标准版(桌面程序,控制台开发···)
Java的基础和核心
JavaME:嵌入式开发(手机,小家电···)基本mo了
JavaEE:E企业级开发(web端,服务器开发···)
学号JavaE的基础,要首先打牢SE的基础
JDK: Java Development Kit(Java开发者工具)
JDK最外部的大圈,包含了JRE和JVM,还包含了一些自己的工具用于程序开发,Javac编译和运行Java,Javadoc将Java的一些东西生成文档,jar可以将Java打包成应用··· ···
JRE:java Runtime Environment(Java运行时环境)
包含Java虚拟机,Java的一些库和Applet所需的一些文件,JDK包含JRE相当于是父亲级别的,我们只需要下载JDK即可因为里面包含JRE。
JVM:java Virtual Machine(Java虚拟机)
可以用软件来实现也可以用硬件来实现。相当于在所有的操作系统上模拟了一颗CPU来处理Java相关的东西。有两种运行方式:一种为解释型,一种为编译型。Java的跨平台核心就是引用了JVM。通过虚拟机来屏蔽了操作系统的区别真正实现了一次编译,到处运行。
Java搭建开发环境
工欲善其事必先利其器,下面就来搭建开发环境。
JDK的下载安装
Java现在属于ORACLE,JDK下载连接
下载到的版本可自行选择,当然要对应自己的操作系统,这里我是以windows操作系统为例。目前下载JDK需要注册ORACLE的账号,注册就行了。
尽量下载JDK8、7,目前企业中用的最多的就是这两个版本,因为新的版本可能不太稳定。这和Windows版本选择一样,要选择稳定的版本使用。只需要了解新版本有什么特性就行了。
下载后会发现是一个exe可执行文件,直接双击安装即可。
再安装过程中会出现有一个下一步,下一步之后会有一个安装到电脑中的哪一个位置,建议安装到一个好找的地方。
设置好之后确定点击下一步。等待安装完成,然后关闭
设置环境变量:
我的电脑--右键点击属性---选则高级系统设置--点击环境变量
我们要在系统环境变量配置--点击下面的新建
变量名:JAVA_HOME
变量值:为刚在安装的JDK文件夹的路径,然后点击确定
配置path变量,在系统变量中找到path,点击进去后点击新建
然后后输入
%JAVA_HOME%\bin
然后再新建一个,输入
%JAVA_HOME%\jar\bin
然后全部确定
检测是否安装成功,打开CMD输入
java -version
回车如果打印了Java的版本,表明打印成功windows+r键打开放大镜
JDK卸载操作
- 删除Java的安装目录
- 删除JAVA_HOME
- 删除path下关于Java的目录
- 在doc窗口下 java -version查看是否真正删除
Hello World
程序猿的第一声呐喊:Hello World!
- 新建文件夹,存放代码
- 新建一个java文件
- 文件后缀名为.java
- Hello.java
- 编写代码
public class Hello{//类 Hello为类名 public为修饰符
public static void main(String[] args){//main为主方法程序必须通过main方法执行 其前面的为修饰符和关键字
System.out.print("Hello World!");//输出Hello World!
}
}
首先Java再运行文件的时候,都需要将文件编译成字节码文件在执行。
第一步进入cmd然后进入到文件存放的路径下
第二步编译字节码文件:通过Javac来编译格式为javac 文件名。后缀
javac Hello.java
编译之后会在文件同级下生成一个class文件
第三步:运行class文件
java 文件名
不需要写后缀名
可能遇到的问题:
- 每个单词的大小写不能出现问题:Java大小写敏感
- 尽量使用英文
- 文件名和类名(类名就是class后面的名字)必须保证一致,并且首字母大写。
- 符号使用了中文,会报错,一定要注意。
Java程序运行机制
计算机的高级编程语言分为两种,分别为:
- 编译型(complie )
- 就是将程序整体的编译,如果代码文件有部分改动,也需要重新编译整段代码。操作系统一般使用的都是编译型。C/C++也都是编译型
- 解释型
- 就是代码再编写的过程中写一句编译一句。比如网页对速度要求不高,就可以使用解释型边执行边解释。Java script也是属于解释型语言。
- 这两种编译方法各有好处不能说谁好谁坏。
Java那即属于编译型又属于解释性。
随着技术的发展计算机的性能提高,解释型和编译型的界限与来越模糊。
程序运行机制
IDEA安装和介绍
什么是IDE Ecslipes ... IDEA (java的开发工具)
集成开发环境(IDE,Integrated Development Environment)是用与提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具,集成了代码编写功能、分析功能、编译功能、调试功能等一体化开发软件服务套,所有具备这一特性的软件或者软件套组都可以叫集成开发环境。
IDEA介绍
在业界被认为是最好的开发环境。
直接搜索IDEA即可进入官网。上面也设置了传送门。
安装步骤:
下载好后双击即可安装
直接NEXT然后选择安装路径,不推荐安装路径中含有中文。然后NEXT。然后会弹出以下界面:按照图中的选项勾选。
然后如果你下的为专业版可能会需要添加验证码,当然也可以选择试用30天。也可以百度破解(不推荐)。
安装后就可以打开正常使用了。
安装好后可以在百度搜索:IDEA优化(看个人爱好)
java 基础知识储备的更多相关文章
- Java基础知识(壹)
写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...
- java基础知识小总结【转】
java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...
- Java基础知识系列——String
最近晚上没有什么事(主要是不加班有单身),就复习了一下Java的基础知识.我复习Java基础知识主要是依据Java API和The Java™ Tutorials. 今天是第一篇,复习了一下Strin ...
- 学习android学习必备的java基础知识--四大内部类
学习android必备的java基础知识--四大内部类 今天学习android课程,因为我的主专业是JAVA,但是兴趣班却有这其他专业的同学,学习android 需要具备一些java的基础知识,因此就 ...
- JAVA基础知识之网络编程——-网络基础(Java的http get和post请求,多线程下载)
本文主要介绍java.net下为网络编程提供的一些基础包,InetAddress代表一个IP协议对象,可以用来获取IP地址,Host name之类的信息.URL和URLConnect可以用来访问web ...
- java基础知识梳理
java基础知识梳理 1 基本数据类型
- java基础知识回顾之---java String final类普通方法
辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /* * 按照面向对象的思想对字符串进行功能分类. * ...
- Java 基础知识(一)
Java基础知识篇: 一.关键字解释 1. final:修饰非抽象类,非抽象方法和属性, 以及修饰方法参数,代表“无法改变的”.出于对设计或者效率的考虑使用该关键字. final类无法被继承,fina ...
- java 基础知识三 java变量
java 基础知识 三 变量 1.作用域 {} 包围起来的代码 称之为代码块,在块中声明的变量只能在块中使用 2.常量 就是固定不变的量,一旦被定义,它的值就不能再被改变. 3.变量 变量必须在程序 ...
随机推荐
- cookie & maxAge & expires
cookie & maxAge & expires Expires (timestamp) & Max-Age (seconds) https://developer.mozi ...
- lightning & web components & templates & slots
lightning & web components & templates & slots Web components, Custom elements, Template ...
- 【.NET 与树莓派】控制舵机
不管是小马达,还是大马达,嗯,也就是电机,相信大伙伴们也不会陌生.四驱车是一种很优秀的玩具,从老周小时候就开始流行(动画片<四驱兄弟>估计很多大朋友都看过),直到现在还能看到很多卖四驱车的 ...
- 内核栈与thread_info结构详解
本文转载自内核栈与thread_info结构详解 什么是进程的内核栈? 在内核态(比如应用进程执行系统调用)时,进程运行需要自己的堆栈信息(不是原用户空间中的栈),而是使用内核空间中的栈,这个栈就是进 ...
- js合并字符串的3种方法和效率
/* abc abc abc*/function concat(s,n){ let a = new Array(n); a.fill(s); let str = a.join(''); a = nul ...
- redis5.* 手动构建集群
1.集群的概念 集群是一组相互独立的.通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理.一个客户与集群相互作用时,集群像是一个独立的服务器.集群配置是用于提高可用性和可缩放性.当 ...
- node初体验(二)
1.静态资源访问,需要设置路由和响应标头 2.url模块.path模块.querystring模块 Url { protocol: null, slashes: null, auth: null, h ...
- Mybatis【20】-- Mybatis延迟加载怎么处理?
注:代码已托管在GitHub上,地址是:https://github.com/Damaer/Mybatis-Learning ,项目是mybatis-16-lazyload,需要自取,需要配置mave ...
- Pandas初体验
目录 Pandas 一.简介 1.安装 2.引用方法 二.series 1.创建方法 2.缺失数据处理 2.1 什么是缺失值 2.2 NaN特性 2.3 填充NaN 2.4 删除NaN 2.5 其他方 ...
- Kubernetes-3.安装
docker version:19.03.14 kubernetes version:1.19.4 本文介绍使用kubeadm安装Kubernetes集群的简单过程. 目录 使用kubeadm安装k8 ...