Java初体验
参考书籍「Java语言程序设计基础篇」
比特与字节
计算机中只有0和1,二进制,即比特(bit,二进制数);
字节(byte)是最小的存储单元,每个字节有8个比特组成
即:1byte=8bit
各种数据被编码成字节序列;
编码,解码,编码模式(schema),ASCII编码模式
编码模式是一系列的规则,控制计算机将字符、数字、和符号翻译成计算机可以实际工作的数据
千字节 kilobyte KB,≈ 10^3 byte
兆字节 megabyte MB,≈ 10^6 byte
千兆字节 gigabyte GB,≈ 10^9 byte
万亿字节 terabyte TB,≈ 10^12 byte
内存
内存由一个有序的字节序列组成,用于存储程序及程序所需要的数据
可以将内存想象成计算机执行程序的工作区域。
一个程序和他的数据在被CPU执行前必须移动到计算机的内存中。
每个字节都有唯一的地址。用地址确定字节的位置。
因为可以按任意顺序存取字节,所以内存也被称为随机访问存储器(random-access memory,RAM)
计算机的内存(RAM)是一种易失的数据保存形式:断电时存储在内存中的信息就会丢失。
程序和数据被永久地存放在存储设备上
磁盘驱动器;光盘驱动器;USB闪存驱动器 (Drive驱动)
机器语言→汇编语言→高级语言
用高级语言编写的程序称为源程序(source program)或源代码(source code)
需要将源程序通过解释器或编译器翻译成可执行的机器代码,才能被计算机运行
多道程序设计multiprogramming:允许多个程序通过共享CPU同时运行
多线程multithreading:允许单个程序同时执行多个任务(字处理程序允许用户在编辑文本的同时进行保存文本,编辑和保存是同一应用程序地两个不同任务)
多处理(并行处理parallel processing):使用一个以上处理器共同并行执行子任务,并将结果合并得到整个任务的结果(栗子:外科手术多名医生同时给一个病人做手术)
Java语言规范和Java API定义Java的标准
Java语言规范(Java language specification)是对语言的技术定义,包括语法和语义
应用程序接口(Application program interface,API)也成为库,包括为Java程序而预定义的类和接口
Java开发工具包(Java development toolkit,JDK);集成开发环境(Intergrated development environment,IDE)
开始 Java program:
Java从类(class)中的main方法开始执行
第1行,welcome是一个类,每个Java程序至少有一个类,每个类都有一个名字,以大写字母开头
第2行,定义主方法(main method),程序由main方法开始执行,一个程序可以包含多个方法
-method是包含语句的结构体,该例中main method包含了System.out.println语句
-字符串(string)用双引号引起来;每条语句以分号结束。
第3行,注释(comment),不是程序设计语句,会被编译器忽略掉;//双斜杠四行注释,line comment;/* 和 */,块注释,block comment
Java初体验的更多相关文章
- protobuf(Protocol Buffers)java初体验
因为项目须要所以简单的研究了下protobuf.我也是參照网上的博客,所以大部分内容我也就不反复造轮子了.首先protobuf介绍点击这里,使用介绍点击这里,使用demo看这里. 我个人的第一个样例也 ...
- protobuf初体验
概念介绍 Protocol buffers 是google公司的与语言无关.与平台无关的.可扩张的为序列化话结构数据,就像xml一样,办事更加的小巧.快速.简单.Protocol buffers 目前 ...
- 【阿里云产品公测】消息队列服务MQS java SDK 机器人应用初体验
[阿里云产品公测]消息队列服务MQS java SDK 机器人应用初体验 作者:阿里云用户啊里新人 初体验 之 测评环境 由于MQS支持外网访问,因此我在本地做了一些简单测试(可能有些业余),之后 ...
- JAVA 11初体验
JAVA 11初体验 随着JAVA没半年发布一次新版本,前几天JAVA 11隆重登场.在JAVA 11中,增加了一些新的特性和api, 同时也删除了一些特性和api,还有一些性能和垃圾回收的改进. 作 ...
- cucumber java从入门到精通(1)初体验
cucumber java从入门到精通(1)初体验 cucumber在ruby环境下表现让人惊叹,作为BDD框架的先驱,cucumber后来被移植到了多平台,有cucumber-js以及我们今天要介绍 ...
- SpringCloud初体验:五、Sidecar 将 PHP 这类非 Java 生态语言的服务接入 Spring Cloud
先起一个 Sidecar 服务,一个PHP服务一个应用,和PHP服务部署在同一台机子,通过 localhost 访问,这样就解决了网络开销,相当于本地进程间调用 Sidecar 服务比较简单, 1.这 ...
- Serverless 初体验:快速开发与部署一个Hello World(Java版)
昨天被阿里云的这个酷炫大屏吸引了! 我等85后开发者居然这么少!挺好奇到底什么鬼东西都是90.95后在玩?就深入看了一下. 这是一个关于Serverless的体验活动,Serverless在国内一直都 ...
- Java高级特性1_流库_初体验
Java高级特性流库_初体验 面对结果编程 在编程里, 有两种编程方式, 一种是面对过程编程, 一种是面对结果编程. 两者区别如下 面向过程编程 面向过程编程需要编程程序让程序依次执行得到自己想要的结 ...
- Apache Beam入门及Java SDK开发初体验
1 什么是Apache Beam Apache Beam是一个开源的统一的大数据编程模型,它本身并不提供执行引擎,而是支持各种平台如GCP Dataflow.Spark.Flink等.通过Apache ...
随机推荐
- mysql使用全文索引实现大字段的模糊查询
0.场景说明 centos7 mysql5.7 InnoDB引擎 0.1创建表 DROP TABLE IF EXISTS tbl_article_content; CREATE TABLE tbl_a ...
- RPC框架学习+小Demo实例
一.什么是RPC协议? 全称:远程过程调度协议 效果:使消费者向调用本地方法一样调用远程服务方法,对使用者透明 目前常用:Dubbo.Thirft.Sofa.... 功能: 建立远程通信(socket ...
- Linux下最常用的10个文件压缩工具
作者简介 李先生(Lemon),高级运维工程师(自称),SRE专家(目标),梦想在35岁买一辆保时捷.喜欢钻研底层技术,认为底层基础才是王道.一切新技术都离不开操作系统(CPU.内存.磁盘).网络等. ...
- VsCode/Pycharm配合python env 使用
前言 用惯了vscode,这几天试了一下pycharm,还是回来了. pycharm一个好处就是python env 环境支持的比较好, vscode虽然也支持但是要改一些东西 env的使用查看我的上 ...
- LeetCode841 钥匙和房间
有 N 个房间,开始时你位于 0 号房间.每个房间有不同的号码:0,1,2,...,N-1,并且房间里可能有一些钥匙能使你进入下一个房间. 在形式上,对于每个房间 i 都有一个钥匙列表 rooms[i ...
- 机器学习算法-PCA降维技术
机器学习算法-PCA降维 一.引言 在实际的数据分析问题中我们遇到的问题通常有较高维数的特征,在进行实际的数据分析的时候,我们并不会将所有的特征都用于算法的训练,而是挑选出我们认为可能对目标有影响的特 ...
- Linux 中软链接和硬链接的使用
Linux 链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link). 硬链接和软链接 硬链接 --- ln 要链接的文件 新硬链接名 软连接 --- l ...
- AgileConfig - RESTful API 介绍
AgileConfig AgileConfig是一个基于.net core开发的轻量级配置中心. AgileConfig秉承轻量化的特点,部署简单.配置简单.使用简单.学习简单,它只提取了必要的一些功 ...
- 【Linux】cron
每五分钟执行 */5 * * * * 每小时执行 0 * * * * 0 */1 * * * 效果相同 每天执行 0 0 * * * 每周执行 0 0 ...
- MyBatis初级实战之四:druid多数据源
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...