Java是一门用来开发软件的计算机语言,如同汉语是在中国进行交流你的语言,西班牙语是在西班牙交流的语言,编程自然适合计算机沟通,就需要使用计算机认识的语言,那么Java就是其中一个,接下来会依次介绍:
软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。软件一般是用某种程序设计语言来实现的。通常采用软件开发工具可以进行开发。
1. 程序员主要完成的是实现这个步骤,当然自己写的代码也要自己测试一下才可以提交哦!
2. 需求捕捉:就是获取需求,我们要做什么,这是软件开发的第一步,一般由老板、客户或者产品经理负责
3. 需求分析:经过深入细致的调研和分析,准确理解用户和项目的功能、性能、可靠性等具体要求,将用户非形式的需求表述转化为完整的需求定义,从而确定系统必须做什么
4. 设计:根据需求分析阶段确定的功能设计软件系统的整体结构、划分功能模块、确定每个模块的实现方法,形成软件的具体设计方案,这步骤一般UI设计师会参与进来,协助完成软件原型或者操作界面的设计
5. 测试:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估,现在软件的规模越来越大,功能越来越复杂,企业在陆陆续续配备专业的测试人员
正常人类与计算机交互,也就是操作者对电脑发出一个命令之后计算机给操作者的反馈,操作者再根据反馈发出命令的这么一个循环过程。
按照目前科技普及程度,人机交互的方式有两类,【图形化界面】和【命令行方式】,下方将会介绍两者概念区别,并且同时以打开windows文件系统为例实际演示。
这种方式简单直观,操作者易于接受,容易上手操作。我们现在使用的大部分软件都是图形化界面的,我们通过点击对应的图标、文字,通过滑动页面、长按等操作实现对软件的操作。
需要有一个控制台,输入特定的指令,让计算机完成一些操作。较为麻烦,上手也比较困难,需要记录住一些命令。比如windows系统可以输入cmd来开启控制台。
总结
下方列出一些windows系统中常用的命令,也称为【DOS命令】
dir : 列出当前目录下的文件以及文件夹md : 创建目录rd : 删除目录cd : 进入指定目录cd.. : 退回到上一级目录cd\: 退回到根目录del : 删除文件exit : 退出 dos 命令行
常用快捷键
← →:移动光标 ↑ ↓:调阅历史操作命令 Delete和Backspace:删除字符
C: 许多计算机科学家表示,学习C可以教初学者了解计算机程序的真正原理,还有一些人认为,它应该是计算机开始学习编程的人学会的头一种语言。主要用于嵌入式系统的应用程序。
C++:是C语言的增强,主要用于开发系统软件,应用软件,设备驱动程序,嵌入式软件,高性能服务器和客户端应用及娱乐软件。
Java:说它是至今最流行的编程语言也不足为过,其可以用于各种各样的领域,包括企业应用及基础设施,以及Web应用和移动开发。
JavaScript:在Web应用上有着非常大的需求,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。JavaScript主要用于实现为Web浏览器,以提供增强的用户界面和动态网站。
C#:是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。借鉴了Java,C,C++和Delphi的一些特点,如今C#已经成为微软应用商店和开发成员非常欢迎的开发语言。
PHP:是一种通用开源脚本语言,特别适合于Web开发,可嵌入到HTML中,它最初是用来设计动态网页产生的。语法吸收了C语言、Java和Perl的特点,入门门槛较低,易于学习,使用广泛。
Python:是应用于设计各种各样的应用程序的动态语言, 往往比Tcl,Perl,Ruby,Scheme和Java更容易编写。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起。
Ruby:是一种动态的,侧重于简单个高效的开源语言,他是一个优雅的语法,能够很自然的阅读和编写,适合于快速开发,一般开发效率是JAVA的5倍。
Objective-C:对于钟情于Apple设备的网友来说,Objective-C的流行就得益于苹果的成功,其是增加了Smalltalk风格的消息在C编程语言中的反射,面向对象的语言。主要使用于苹果系统和GNUstep这两个使用OpenStep的标准的系统。随着苹果平台的巨大人气,如今Objective-C语言被人们逐渐知道。
HTML5:是用于构建因特网的核心技术的标准语言,用于Web呈现内容,它是HTML标准的第五次修订,如今,HTML5继续在移动开发领域发挥着重要的作用,为互联网的发展提供了多样化的发展道路,37%的开发者依赖HTML5开发移动网站和Web应用程序 。
CSS:是一种用来表现HTML或XML等文件样式的计算机语言。最常用于Web样式和HTML和Xhtml接口,该语言可以应用与任何类型的XML文档, CSS的设计主要是为了使文档内容从文档表示的分离,包括元素,如布局、颜色和字体。
Java语言是SUN(Stanford University Network,斯坦福大学网络公司 ) 在1995年推出的一 门高级编程语言。是一种面向Internet的编程语言。Java一开始富有吸引力是因为Java程序可以 在Web浏览器中运行。这些Java程序被称为Java小程序(applet)。applet使用现代的图形用户界面与Web用户进行交互。 applet内嵌在HTML代码中。 随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。
技术结构 | 主要用途 |
Java SE(Java Standard Edition)标准版 | 支持面向桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的Java核 心API,此版本以前称为J2SE |
Java EE(Java Enterprise Edition)企业版 | 是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如:Servlet 、Jsp等,主要针对于Web应用程序开发。版本以前称为J2EE |
Java ME(Java Micro Edition)小型版 | 支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简,并加 入了针对移动终端的支持,此版本以前称为J2ME |
Java Card | 支持一些Java小程序(Applets)运行在小内存设备(如智能卡)上的平台 |
从Java的应用领域来分,Java语言的应用方向主要表现在以下几个方面
目前基本从事两个阶段,首先是企业级应用方向,成为一名后端开发工程师,然后向大数据方向靠拢,安卓和移动领域不适合大部分人,特殊机遇除外
不同的平台对程序的解读是不一致的,在需要运行 Java 应用程序的操作系统平台上,先安装一个Java虚拟机 (JVM Java Virtual Machine) 。由JVM来负责Java程序在该系统中的运行。如果安装了JDK则自带安装好JVM。所以在不同的平台上安装对应的JVM,Java程序和平台之间有一个JVM当做翻译员,实现跨平台性。
比如,你对一个中国人说“你好”,他明白是在问候,会给出正确的反馈,如果对一个美国人说“你好”,他就是一个问号了。JVM可以理解成翻译员就行啦,和美国人交流需要懂英语的翻译员,和韩国人交流需要懂韩语的翻译员。
Linux上的JVM就比较懂Linux,Windows的JVM就比较懂Windows,那么,你懂了吗?
Java的运行机制主要分为两个核心:
程序启动之后会运行在JVM中,在运行的过程中会产生垃圾,这个垃圾可以暂时理解为对电脑内存的不必要的占用,GC是回收清理这些垃圾的工具,他也是在JVM中运行的。
就比如我们生活在一个房间中,每天都会产生一些生活垃圾,这些垃圾会占用房间中的一些位置空间,这时你有一个保姆就是GC,它会定时去识别哪些是垃圾,然后将这些垃圾扔掉,存放垃圾的地方就腾出来可以放其他东西啦!!!
JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器。
对于有编程经验的同学应该知道,在C语言中资源的占用是需要我们手动去释放的,稍不注意就会产生内存溢出,内存泄漏的问题,Java相当于一辆自动挡汽车,引入垃圾回收机制,自动把不需要的内存资源回收掉。不再使用的内存空间应回收—— 垃圾回收。
当然Java中的GC机制也不是万金油,在某些极端情况下仍然会出现内存溢出,我们可以通过实际情况修改参数和代码,暂时就不用担心啦
总结: