首页 > 编程语言 >Java入门(Java诞生、特性、版本、开发环境搭建)

Java入门(Java诞生、特性、版本、开发环境搭建)

时间:2024-03-09 12:24:05浏览次数:39  
标签:bin JAVA 入门 JDK C++ HOME Java 搭建

Java 入门

1. Java帝国的诞生—一场旷日持久的战争

(1)1972年C语言诞生:

贴近硬件,运行极快,效率极高;

应用于:操作系统、编译器、数据库、网路系统等;

难点:指针内存管理;

(2)1982年C++诞生:

面向对象;

兼容C语言;

应用于:图像领域、游戏等;

(3)Java帝国的诞生:

1995年Java诞生:网页简单而粗糙,缺乏互动性,于是推出图形界面应用(Applet);

1998年Java初生:Java 2标准版(J2SE):去占领桌面端、Java 2移动版(J2ME):去占领手机端、Java2企业版(J2EE):去占领服务器端;

扩展:三高问题:高可用、高性能、高并发;

(4)基于Java开发的平台、系统、工具

构建工具:Ant、Maven、Jenkins;

应用服务器:Tomcat、Jetty、Jboss、WebSphere、WebLogic;

Web开发:Struts、Spring、Hibernate、MyBatis

开发工具:EclipseNetbeansIntellij IDEA、Jbuilder;

(2006年)大数据领域:Hadoop

(2008年)手机端:Android

自2008年起,Java占据了大部分服务器端的开发,于是乎,一个伟大的帝国诞生了。

2. Java的特性和优势

简单:(C++的纯净版)无头文件、无指针、不用分配内存、语法基于C语言,因此简单易学;

面向对象:模拟人的思维,上手快,万物皆对象;

可移植性:跨平台移植,Write once run anywhere;

高性能即时编译器,让某些代码的效率接近C++的效率;

分布式:为网络分布式环境所设计,能够处理很多TCP/IP协议上的东西;

动态性反射机制,C++无法实现的;

多线程:带来更好的交互行为和实时行为;

安全性:防病毒、防篡改系统;

健壮性异常处理机制,无需进行指针和内存的处理,几乎不会造成计算机的崩溃。

3. Java的版本

(1)JavaSE:标准版—桌面程序、控制台开发;(基本)

(2)JavaME:嵌入式开发—手机、小家电;(了解即可)

(3)JavaEE:企业版—Web端、服务器开发。(重点)

5.JDK>JRE>JVM

(1)JDK:Java Development Kit,Java开发工具包;

(2)JRE:Java Runtime Environment,Java运行时环境;

(3)JVM:Java Virtual Machine,Java虚拟机;

分布图

6. Java开发环境搭建

(1)下载安装JDK:JDK8

双击安装JDK->配置环境变量->我的电脑->鼠标右键(属性)->(相关设置)高级系统设置->(高级)环境变量->()系统变量->新建 变量名:JAVA_HOME、变量值:jdk8的安装路径->确定即可;

配置Path变量->双击Path->新建:%JAVA_HOME%\bin(即引用JAVA_HOME 路径下的bin目录)、%JAVA_HOME%\jre\bin(即引用JAVA_HOME 路径下jre的bin目录);

检查是否安装成功->打开Dos窗口->输入:java -version,得到:Java的版本名、运行时环境,如:

java version "1.8.0_401"
Java(TM) SE Runtime Environment (build 1.8.0_401-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.401-b10, mixed mode)

(2)卸载JDK:

找到JDK安装目录:我的电脑->鼠标右键(属性)->(相关设置)高级系统设置->(高级)环境变量->()JAVA_HOME->(双击)复制路径即可;

该路径下连包删除jdk8(“shift“+”delete“)->删除环境变量(JAVA_HOME)、删除Path下与Java相关的环境变量;

打开Dos窗口->输入:java -version,得到:'java' 不是内部或外部命令,也不是可运行的程序,卸载成功。

7. JDK目录下文件的含义

(1)bin:存放可执行文件(xxx.exe);

(2)include:JDK使用C/C++编写的,因此启动时需引入一些头文件,存放至此;

(3)jre:Java运行时环境,如果只跑Java的话有jre就够了;

(4)lib:存放Java的类库文件

(5)src.zip:存放资源文件,一些Java类,Java基础类的源代码都在这里面。

标签:bin,JAVA,入门,JDK,C++,HOME,Java,搭建
From: https://www.cnblogs.com/Ymengself/p/18062487

相关文章

  • MySQL 入门指南
    目录1.简介和基础概念1.1.MySQL是什么?1.2.数据库管理系统(DBMS)的基本概念1.3.SQL(StructuredQueryLanguage)的作用和重要性2.安装和配置MySQL2.1.在Linux下使用Docker进行MySQL的安装和配置2.2.Windows、MacOS下的安装步骤(待补充)3.SQL基础3.1.SQL的基本语法......
  • 01.基于javaEE_大学生就业信息管理系统源码
    基于javaEE_大学生就业信息管理系统:本系统分系统管理员,教师用户,企业用户和毕业生用户4个用户角色。**系统管理员主要功能有系别管理、专业管理、老师管理员管理、站内新闻管理、企业用户管理、岗位管理、文档管理、公告管理、留言管理、就业查询统计(包括就业情况查询,区域分布统......
  • Java蓝桥杯题目——1264排个序
    题目 思路:1、输入数据2、用冒泡排序将数组(下标为pj的)部分升序,3、判断是否有前一个元素大于后一个元素(降序),有则返回false注意:(1)数组p元素的取值不能大于数组a的长度,因为p元素是a的下标(2)数组下标越界问题,使用i<a.length判断(3)并非所有元素都要降序才返回false,只要有前一个元......
  • Java ArrayList 与 LinkedList 的灵活选择
    JavaArrayListJavaArrayList类是一个可变大小的数组,位于java.util包中。创建ArrayListimportjava.util.ArrayList;ArrayList<String>cars=newArrayList<String>();//创建一个ArrayList对象添加元素cars.add("Volvo");cars.add("BMW");cars.add(......
  • java实现浏览器下载附件时文件名中文乱码解决方案
    方案一:URLEncoder解决IE和谷歌浏览器的附件中文名问题。如果客户端浏览器是IE浏览器或者是谷歌浏览器。我们需要使用URLEncoder类先对中文名进行UTF-8的编码操作。因为IE浏览器和谷歌浏览器收到含有编码后的字符串后会以UTF-8字符集进行解码显示。//把中文名......
  • Java核心之细说泛型
    泛型是什么?等你使用java逐渐深入以后会了解或逐步使用到Java泛型。Java中的泛型是JDK5中引入的功能之一。"Java泛型"是一个技术术语,表示一组与定义和使用泛型类型和方法有关的语言特性。在Java中,泛型类型或方法与普通类型和方法的区别在于它们具有类型参数。入门如果仔......
  • java17新特性简单介绍
    前言本项目使用的IDE为IDEA2023.3.3(社区版)。文本块java17之前的写法,双引号需要转义,换行需要\n,需要加号拼接publicclassTestString{publicstaticvoidmain(String[]args){Stringjson="{\n"+"\"id\":\"1\",\n&qu......
  • [Redis] 01-Redis快速入门
    一、Redis简介Redis属于键值对(key-value)数据库Redis中所有的数据都是以key-value的形式存储在内存中的所以读写Redis非常的快,在高并发的场景下,性能非常的好二、Redis服务端(redis-server)的安装省略。建议使用docker安装。Docker安装redis(保姆级教程&图文并茂)-腾讯......
  • C语言0基础入门游戏辅助开发—学习笔记02
    C语言0基础入门游戏辅助开发—学习笔记02PS:这里仅作为本人学习过程中的随笔。数据类型、sizeof运算符数据类型数据类型是在关键字内的,或者说关键字包含数据类型。数据类型有哪些程序中的代码和数据都是以二进制的形式存储的,对计算机系统和硬件而言,数据类型的概念不存在,这......
  • 老鹅分享:海量后台开发——从入门到放弃
    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!cnblogs博客zhihuGithub公众号:一本正经的瞎扯大家好,我曾是一名鹅厂的后台开发工程师。从2013年开始,我就在准备一个后台开发方向的培训文档,并多次在内部培训和腾讯课堂上分享过。可是,当《数据密集型应用系统设计......