ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java编程入门-狂学笔记1

2022-01-28 17:01:59  阅读:117  来源: 互联网

标签:狂学 java 编程 编译 内存 Java Hello 硬盘


计算机原理

冯诺依曼体系结构

美籍匈牙利数学家冯·诺依曼于1946年提出存储程序原理,把程序本身当作数据来对待,程序和该程序处理的数据用同样的方式储存。

输入设备:比如键盘,鼠标等,它把数据传输给存储器,并由控制器控制,
存储器:比如(主存)内存,(辅存)硬盘等,它从输入设备获取数据,与运算器交换数据,把数据给控制器输出设备(先从内存读取,如果内存没有,再从硬盘获取)
输出设备:数据从存储器获得,并由控制器控制
CPU

  1. 运算器:只和存储器交换数据
  2. 控制器:只和存储器交互(从存储器获得指令流,并且控制存储器)

一定要记住数据流的走向
CPU读取数据时首先从内存中去读,如果内存中没有,再去辅助存储器(比如硬盘)读,把硬盘的读入到内存,然后才会被CPU读取到。
CPU运算后的结果,先存入内存,然后再存入硬盘。
保存数据是将内存的数据写入硬盘,只要硬盘不坏,数据就一直在硬盘里。

Alt

计算机软件

计算机软件可以使计算机按照事先约定好的顺序完成特定功能
计算机软件按运行层级可以划分为系统软件应用软件

语言历史

  • 机器语言
  • 汇编语言
  • 高级语言
    • C(面向过程)(鼻祖)
    • C++ (面向对象)
    • JAVA (服务器开发)
    • Python(大数据,人工智能)
    • PHP(快速构造网站)

Java发展

  • Java标准版(J2SE):(基础)桌面应用(桌面程序,控制台开发)
  • Java移动版(J2ME):(不重要)嵌入式开发(手机应用,小家电)
  • Java企业版(J2EE):(最广)E企业级开发(web端,服务器开发……)

Java特性:高可用,高性能,高并发

  • 基于java开发平台、系统、工具
    • 构建工具:Ant、Maven、Jekins
    • 应用服务器:Tomcat、Jetty、Jboss、Websphere、weblogic
    • Web开发:Struts、Spring、Hibernate、MyBatis
    • 开发工具:Eclipse、Netbean、Intellij idea、Jbuilder
    • 领域:Hadoop、Android

Java特性与优势

  • 简单性

    无需管理内存分配,指针等,更多时间专注业务开发

  • 面向对象
  • 可移植性 write once,run anywhere
  • 高性能 (可能以后超过C++)
  • 分布式 (url)
  • 动态性 (反射)
  • 多线程
  • 安全性(防病毒,防篡改,捕获异常)
  • 健壮性

JDK、JRE、JVM

  • JDK:Java Development Kit (java 开发者工具)
  • JRE:Java Runtime Environment
  • JVM:Java Virtual Machine(java虚拟机 跨平台)
    Alt

JDK环境搭建

/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home
不配置环境变量/etc/profile也能用,为啥?

  • 检验

java -version
java version “1.8.0_121”
Java™ SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot™ 64-Bit Server VM (build 25.121-b13, mixed mode)

Hello,world!

  • 编写程序
public class Hello{
	public static void main(String[] args){
		System.out.print("Hello World!");
	}
}
  • 编译java文件,会生成一个生.class文件
javac Hello.java
  • 运行.class文件
java Hello
Hello World!%

疑问?为啥有个%,没百度出来
运行hello

Java运行机制

  • 先编译型 (全部编译后运行)
  • 后解释型(一句一句运行)

Java这个语言很非凡。
一、你可以说它是编译型的。因为所有的Java代码都是要编译的,.java不经过编译就什么用都没有。
二、你可以说它是解释型的。因为java代码编译后不能直接运行,它是解释运行在JVM上的,所以它是解释运行的,那也就算是解释的了。
三、但是,现在的JVM为了效率,都有一些JIT优化。它又会把.class的二进制代码编译为本地的代码直接运行,所以,又是编译的。
像C、C++ 他们经过一次编译之后直接可以编译成操作系统了解的类型,可以直接执行的 所以他们是编译型的语言。没有经过第二次的处理 而Java不一样他首先由编译器编译成.class类型的文件,这个是java自己类型的文件 然后在通过虚拟机(JVM)从.class文件中读一行解释执行一行,所以他是解释型的语言,而由于java对于多种不同的操作系统有不同的JVM所以 Java实现了真正意义上的跨平台!
(img-yIVAoNO4-1643359650521)

标签:狂学,java,编程,编译,内存,Java,Hello,硬盘
来源: https://blog.csdn.net/qq_20398111/article/details/122731204

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有