zoukankan      html  css  js  c++  java
  • Java入门

    Java帝国的诞生

    C 的难点:指针和内存管理

    指针无比强大,能够直接操作内存,但是C语言没有给它一个工具去做越界检查,导致容易犯错

    C语言对内存管理处于完全放任的态度,自己分配的空间自己释放

    这些问题在编译期间发现不了,只有在运行程序期间会突然暴露,使得程序员大量的时间用于处理指针和内存分配上

    C语言自称是可移植性的,在这个机器上写的代码在另外一个机器上只要编译就可以了。

    实际上并不是这样,它要求所有人尽可能去的使用它们标准 C函数库,针对不同的平台,每个平台它都要写一份,有一点小小的错误都会导致编译失败。

    Java为了实现真正的跨平台,它们在每个操作系统之上又增加了一个抽象层,叫Java 的虚拟机,统称JVM。所有的平台上只要安装上了JVM,它们就可以跑Java的程序,这样就实现了真正的可移植性。

    用Java写的程序,最后都跑在虚拟机上,除非个别情况,一般都不用看到操作系统

    Applet现如今已慢慢被淘汰

    J2SE、J2ME在占领桌面端和手机端的过程中败下阵来

    Java在服务器端程序中占据优势,强大、健壮、安全、简单、跨平台。在J2EE 的规范指导下,发现它们特别适合团队去开发一些复杂的大型项目。

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

    Java特性和优势

    Java 三大版本

    目前Java比较偏向于web方向的设计,即服务器开发

    Java最大的一个特性是跨平台性,Java里面有一个虚拟机(JVM),就是一个虚构出来的计算机,这个虚构的计算机可以跑在所有的平台上

    JavaSE是Java 的基础以及核心

    JavaME相当于Java 的微缩版,主要用于嵌入式开发。目前来说,几乎没有人学它了

    学好JavaEE 的基础是要把JavaSE的基础打牢

    JDK JRE JVM

    JDK:Java开发者工具,包含JRE、JVM,在JER之上扩充了一些开发工具

    JRE:Java运行时环境,只要安装了JRE,就可以运行Java程序了

    JVM:Java虚拟机,可以简单的把它当作一种规范。它可以用软件来实现,也可以用硬件来实现;它就相当于在所有的操作系统上模拟了一个小巧的cpu去处理Java相关的东西

    Java 的跨平台核心是用了JVM,通过Java虚拟机,屏蔽了底层系统的一些差别,实现了一次编译,到处运行

    安装开发环境

    企业中用得最多的是JDK7、JDK8(主流)

    卸载JDK

    1. 删除java的安装目录
    2. 删除JAVA_HOME
    3. 删除path下关于java的目录
    4. 打开cmd,查看java -version

    安装JDK

    1. 百度搜索JDK8,找到下载地址

    2. 同意协议,下载电脑对应的版本

    3. 双击安装JDK

    4. 记住安装的路径

    5. 配置环境变量

      1. 我的电脑-->右键-->属性-->高级系统设置

      2. 环境变量-->在系统变量中新建变量名JAVA_HOME,变量值为安装的JDK的位置

    1. 配置path变量

      在系统变量中找到path,双击打开后添加2个值

    ​ %%表示引用,配置JAVA_HOME中的bin目录和jre中的bin目录

    把2个bin目录合并到一起写,虽然检查时安装成功,但是,在Dos中运行java程序时报错了,显示javac命令不存在,说明环境变量配置有问题

    修改path中的变量,分开写,再次运行java程序,未出现报错



    配置完成后,一定要点击确认!!!

    4.检查JDK是否安装成功,打开cmd,输入java -version

    文本编辑器:notepad++

    JDK中的各目录的含义

    bin:放了Java中可执行的文件

    include:由于JDK是用C、C++编写的,所以在启动的时候需要引入一些C语言的头文件。这个目录里面就存放了这样一些头文件

    jre:Java运行时环境

    lib:放了一些Java的类库文件

    src.zip:里面是一些资源文件,里面放了很多Java类,解压可以看到Java基础类的源代码

    Java程序运行机制

    例子:外国人要看一本中文书,有2种方式,

    1. 把中文书翻译成一本英文书

    2. 找一个翻译人员来进行翻译(一边看一边进行翻译,跟着翻译人员的进度走)

      2种的优缺点:

      把整本书变成英文,外国人可以看完;但是若书的作者更改了书的内容,外国人想要再看,得把这本书重新翻译一遍,再次花钱购买,代价较大。

      若有一个翻译人员实时翻译,若内容修改,可立马翻译过来,节省成本。但是,若翻译官有事不在,或者是外国人想要返回到前面看,那么翻译官得往回走,重新翻译一遍

    编译型:类似把中文书翻译成英文书进行出售

    解释型:说一句,解释一句(要执行什么,就去读什么)

    计算机的高级编程语言类型分为2种,编译型和解释型。

    Java属于这2种,它既有编译型的特点,又有解释型的特点

    不同点:时机不同

    编译型执行速度更快,因为它把所有东西都已经翻译好了,电脑只管执行就好了。对操作系统的要求比较低。因此,开发操作系统,如windows、linus等一般用编译型去做。C、C++都是编译型的

    解释型,如网页,还有一些服务器的脚本,对速度要求不高,一般使用解释型的语言,边执行,边解释

    Java是2者的结合。虽然Java语言比较接近解释型语言的特征,但是从Java文件变成class文件,这中间经历的过程,叫做编译的过程。把Java的源文件通过Java的编译器变成class 文件,然后这个class文件才真正的被执行。可理解成在真正执行之前经过了一次预编译,生成介于机器码和Java源代码之间的字节码文件。

    字节码文件运行的时候,会走到JVM(虚拟机),把class文件放到虚拟机的类装载器中,这样,类就会被加载到JVM中,通过字节码校验器判断代码是否正确,再通过解释器解释给操作系统(走一步,运行一步)

    随着技术的发展,编译型和解释型的界限变得越来越模糊

    IDEA安装

    IDE:集成开发环境

    集成开发环境IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。如微软的Visual Studio系列,Borland的[C++ Builder](https://baike.baidu.com/item/C%2B%2B Builder)、Delphi系列等。该程序可以独立运行,也可以和其它程序并用。IDE多被用于开发HTML应用软件。例如,许多人在设计网站时使用IDE(如HomeSiteDreamWeaver等),因为很多项任务会自动生成。

    IDEA优化

  • 相关阅读:
    request 请求 转 json
    图片缩略图 简单应用
    文件压缩下载 和 解压缩并解析
    简单 map 与 xml 互转
    SVN+vs2017
    cordova生成签名的APK
    海关 实时数据 企业联调接口 总结
    vs2017远程调试
    X509证书 指定了无效的提供程序类型 System.Security.Cryptography.CryptographicException 错误解决方法
    微信公众号开发 ,redirect_uri域名还是与后台配置不一致
  • 原文地址:https://www.cnblogs.com/xgbbd/p/13468405.html
Copyright © 2011-2022 走看看