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.变量 变量必须在程序 ...
随机推荐
- color recognition by image
color recognition by image 通过图像进行颜色识别 https://imagecolorpicker.com/ unknown color origin pic grey bl ...
- nodejs 简单的模拟代理服务器
https://nodejs.org/api/net.html#net_net_createconnection 代理前:client -> server 代理后:client -> pr ...
- 【DB宝19】在Docker中使用MySQL高可用之MHA
目录 一.MHA简介和架构 1.1 MHA简介 1.2 MHA工具包的组成 1.3 MHA架构 二.准备MHA环境 2.1 下载MHA镜像 2.2 编辑yml文件,创建MHA相关容器 2.3 安装do ...
- canal数据同步 客户端代码实现
1.引入相关依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId ...
- Spring IoC - 循环依赖
Spring 复习 3.循环依赖 3.1 定义 循环依赖指多个对象的创建过程中均需要注入对方对象,如下所示 class A{ B b; public A(){ } public A(B b){ thi ...
- 探索 .NET Core 依赖注入的 IServiceProvider
在上一篇文章中,我们学习了Microsoft.Extensions.DependencyInjection中的IServiceCollection,包括服务注册转换为ServiceDescriptor ...
- Docker镜像构建原理解析(不装docker也能构建镜像)
在devops流程里面 构建镜像是一个非常重要的过程,一般构建镜像是写dockerfile文件然后通过docker client来构建的image. docker client 会先检查本地有没有im ...
- C#.NET操作数据库通用类
下面给出了一个C#操作MS SQL Server 数据库的通用类,通过该类可以对数据库进行任何操作,包括执行SQL语句.执行存储过程.以下是其详细实现过程,希望大家共同修改优化之.稍后将介绍如何使用它 ...
- shell脚本,mysql数据库的备份-2[mysqldump]
# 数据库IPIP=127.0.0.1# 数据库端口PORT=3306# 数据库用户USER=root# 数据库密码PASSWORD=****# 要备份的数据库TARGET_DB=database_n ...
- Node.js 模块化你所需要知道的事
一.前言 我们知道,Node.js是基于CommonJS规范进行模块化管理的,模块化是面对复杂的业务场景不可或缺的工具,或许你经常使用它,但却从没有系统的了解过,所以今天我们来聊一聊Node.js模块 ...