Java学习之第二章 一切都是对象

细读 Thinking in Java (一)一切都是对象 关于《Java编程思想》第二章 一切都是对象 阅读详情

      昨天在dangdang网上买了一本Java编程思想第四版,一共600页左右,计划每天看20页,这样一个月就可以学完这本书了。学习重点就是学习java的基本概念和C,C++的不同。

     C语言主要是面向过程的语言,java是面向对象的语言,由于平时工作主要是用c,偶尔也用c++,所以在学习hadoop,nutch的时候,总是习惯在用函数调用过程来分析流程,会给学习的过程带来一些负面影响。Java里面可以保存数据的地方主要有(1) 寄存器(2) 堆栈(3) 堆(4) 静态存储(5) 常数存储(6) 非RAM 存储,Java对象数据是保存在堆里面的。java的主要数据类型有:

类型 大小 最小值 最大值 封装器类型
boolean 1 位 - - Boolean
char 16 位 Unicode 0 Unicode 2 的16 次方-1 Character
byte 8 位 -128 +127 Byte(注释①)
short 16 位 -2 的15 次方 +2 的15 次方-1 Short(注释①)
int 32 位 -2 的31 次方 +2 的31 次方-1 Integer
long 64 位 -2 的63 次方 +2 的63 次方-1 Long
float 32 位 IEEE754 IEEE754 Float
double 64 位 IEEE754 IEEE754 Double
Void - - - Void

数值类型全都是有符号(正负号)的,这个和c有些不同,c的char是8位的。

{
int x = 12;
{
int x = 96; /* illegal */
}
}

java里面这样的定义是非法的。

java对象的作用域,static的用法,方法(C里面一般叫函数)的返回值,这些基本和c的相同。

在每个程序文件的开头,都必须放置一个import 语句,导入那个文件的代码里要用到的所有额外的类。java一个具体的应用类名与文件是一样的,若象现在这样创建一个独立的程序,文件中的一个类必须与文件同名(如果没这样做,编译器会及时作出反应)。类里必须包含一个名为main()的方法,形式如下:
public static void main(String[] args)

注释和嵌入文档就不多写了,后面有机会能参与大型项目再具体来看。附上一个书上的第一个java源码

// Property.java
import java.util.*;
public class Property {
public static void main(String[] args) {
System.out.println(new Date());
Properties p = System.getProperties();

p.list(System.out);

System.out.println("--- Memory Usage:");
Runtime rt = Runtime.getRuntime();
System.out.println("Total Memory = "
+ rt.totalMemory()
+ " Free Memory = "
+ rt.freeMemory());
}
}


DID实战指南:从平行趋势检验到PSM-DID的Stata全流程解析 本文详细解析了双重差分法(DID)在政策评估中的应用,从平行趋势检验到PSM-DID的Stata全流程操作。通过实例演示和代码示例,帮助研究者掌握DID方法的核心逻辑、前提条件验证及稳健性检验技巧,提升因果推断研究的准确性。 阅读详情

相关推荐

Xilinx XDMA IP核配置实战:AXI Memory Mapped vs Stream选型指南(附PCIe调试技巧)

本文深入解析Xilinx XDMA IP核配置中AXI Memory Mapped与AXI Stream两种DMA接口的核心区别与选型策略。针对PCIe高速数据传输场景,详细对比了二者在数据特性、延迟、硬件资源及软件复杂度上的差异,为FPGA工程师在数据采集、实时处理等项目中做出高效设计决策提供实战指南,并附有关键的PCIe调试技巧。

qsc901234的博客 585

Java学习:第二章一切都是对象!

所有对象的操作都必须利用引用类型。* 在Java中,一切都被视为对象。* 1. Java的工作方式。

生物医学工程学生的博客 224

NCCL分布式训练中ibv_reg_mr_iova2内存分配失败的3种解决方案(附详细排查流程)

本文深入探讨了NCCL分布式训练中ibv_reg_mr_iova2内存分配失败的3种解决方案,包括快速临时修复、标准系统配置和PAM模块根治方案。详细分析了错误原因,提供了完整的排查流程和性能优化建议,帮助开发者高效解决RDMA网络环境下的内存锁定问题。

nut55的博客 625

【Thinking_in_Java学习笔记】第二章 一切都是对象

阅前说明:本系列笔记仅记录读书过程中本人不会或不熟的知识点。 第2章 一切都是对象 2.2 必须由你创建所有对象 2.2.1存储到什么地方 有五个地方可以存储数据 寄存器 在CPU的内部,最快的存储区,但是空间很小。 无法直接控制,写程序时也感受不到(C、C++允许建议寄存器的分配方式) 堆栈 位于RAM(随机存储器)中,速度仅次于寄存器。 堆栈指针向下(上)移动,则分配新的(释放那些)内存。 Java对象的引用就存在这里。 Java中的基本数据类型也存在这里。 堆: 位于RAM(随机存储器

炒饭IYJ的博客 212

常见js手撕题及算法总结

设计一个lazyMan,实现以下功能: LazyMan(‘Tony’); // Hi I am Tony LazyMan(‘Tony’).sleep(10).eat(‘lunch’); // Hi I am Tony // 等待了10秒… // I am eating lunch LazyMan(‘Tony’).eat(‘lunch’).sleep(10).eat(‘dinner’); // H...

没有名字适合我的博客 3176

从零玩转显示屏:手把手教你用Arduino驱动SPI屏幕(附引脚定义图)

本文提供了一份详尽的Arduino驱动SPI屏幕的入门指南。从SPI接口的核心引脚定义(如DC、RESET)与RGB接口的区别讲起,手把手指导硬件连接与软件库配置,并最终通过一个天气显示器实战项目,帮助读者掌握驱动SPI屏幕、显示RGB色彩内容的核心技能。

weixin_29189987的博客 131

《Thinking in Java》学习笔记——第二章:一切都是对象

第二章:一切都是对象 “尽管以C++为基础,但Java 是一种更纯粹的面向对象程序设计语言”。 2.1 用句柄操纵对象 每种编程语言都有自己的数据处理方式。有些时候,程序员必须时刻留意准备处理的是什么类型。您曾利用一些特殊语法直接操作过对象,或处理过一些间接表示的对象吗(C 或C++里的指针)?所有这些在Java 里都得到了简化,任何东西都可看作对象。因此,我们可采用一种统一的语法,任何地方

chao_outlook的专栏 743

【OpenClaw从入门到精通】第07篇:2026实测!零基础开发OpenClaw自定义Skill——招聘外呼自动邀约完整教程

本文聚焦OpenClaw自定义Skill开发全流程,针对现成技能无法满足个性化场景(如专属招聘流程、内部系统对接)的痛点,以“招聘外呼自动邀约”为实战案例,从概念认知、环境搭建、分步开发到测试优化,手把手教读者从零构建自定义Skill。内容涵盖Skill目录结构、SKILL.md核心配置、Python主逻辑实现、API对接、安全配置等关键环节,融入2026年ClawHavoc事件安全警示,强调最小权限、凭证安全等开发原则。所有代码经实测可运行,步骤详尽且兼顾新手友好与进阶需求。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1193

Think In Java 学习整理 第二章 一切都是对象

2.1 用引用操纵对象   操纵对象的标示符实际上是对象的一个“引用(reference)” 可以将这个引用想象为遥控器来操作电视机(对象)。   Strings;创建了一个引用,而不是一个对象.安全的做法进行初始化 String s = "asf"; 2.2 必须由你创建所有对象   用new关键字来创建一个对象 String s = new String("asdf");...

weixin_30520015的博客 82

一文速学数模-K-means聚类算法实战:信用卡用户画像聚类分析

该项目算是非常经典的金融业务用户画像的基础分析了,主要根据用户信用卡使用行为数据进行分析,根据收集到的不同字段信息,对每个用户划分类别。这里需要说明一下的是,聚类模型只是将具有相似行为的大部分用户聚集到一个类别里面,这点并不会考虑到每个字段的含义,也就是分成的类别并不是用户价值等级,此类别仅仅是这个类别大体相同的信用卡用户行为对象,并不能给每个用户价值打上标签,那是评价模型做的事,这里要注意不要搞混淆了,用户价值评价是评价模型决定的,而画像是聚类模型分析的。

master_hunter的博客 1万+

第一章:GEE 和 GEEMAP

在本章中,我们将介绍地理空间数据科学、谷歌地球引擎和地理地图的基础知识。然后,我们将逐步完成设置 conda 环境和安装 geemap 的步骤。我们还将学习如何在不在您的计算机上安装任何东西的情况下将 geemap 与 Google Colab 一起使用。...

韩天放 8050

Java编程思想(第二章 一切都是对象)学习笔记

第二章:一切都是对象 一、操作对象的标识符是对象的一个引用。 需要注意的是,这里的引用不是对象,最安全的做法是创建一个引用的时候就进行初始化。 二、对象存储到什么地方 寄存器:位于处理器内部,最快。 堆栈:位于RAM中,通过堆栈指针操作,对象引用存在此处,必须知道对象的生命周期。 堆:RAM中,存放所有Java对象,不必知道对象生命周期。 常量存储:直接存放在程序代码内部,或者放在ROM(只...

weixin_43646427的博客 191

电子科技大学计算机预推免(最终去向)

电子科技大学,预推免报名时必须要有一封本校老师写的推荐信,推荐信基本上就是复试的入场券,所以一定要提前联系老师,拿到推荐信。只要有机会进了面试,我觉得老师对于双非并不歧视,面试的个人表现才是关键性决定因素,技巧性也是很强的,如果有需要帮助的,欢迎私信~~

D1379951481的博客 3368

Thinking in java学习笔记 第二章:一切都是对象

Thinking in Java第二章:一切都是对象 学习笔记

小之的博客 543

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

java编程思想学习笔记--第二章 一切都是对象

~~如果我们说另一种不同的语言,那么我们就会发觉一个有些不同的世界。 · 每种语言都有自己的操纵内存中元素的方式。 · 你拥有一个引用,并不一定需要一个对象与它关联。 字符串可以用带引号的文本初始化。 存储到什么地方: 1)寄存器。最快的存储区域。 2)堆栈。位于RAM中,创建程序时,java系统必须知道存储在堆栈内所有项的生命周期。某些java数据存贮于堆栈中--特别是对象的引用,但是

a1216323692的博客 508

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Thinking in java学习笔记1:第二章(一切都是对象)

1.用引用操纵对象 操纵的标识符实际上是对象的一个“引用”。 创建一个String引用:String s; s只是引用,不是对象。 2.创建新对象 创建新对象的方式就是使用new操作符:String s=new String("沙丁鱼flat"); 2.1 内存存储位置 这是我自己总结做的表格: 存储地方 速度 特点 位置 寄存器 最快的...

沙丁鱼的博客 198

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

java 编程思想的学习笔记 - 第二章 一切都是对象

由于这几天工作比较忙,没顾得上学习,接着第二章学习 一切皆是对象 用引用操纵对象 Java 语言的一个特性:字符串可以用带引号的文本初始化。  String s = "asdf";  创建一个引用的同时便进行初始化。 必须由你创建所有对象 String s = new String("asdf");  存储到什么地方 (重点!) 程序运行的时候有六个不同的地方可

尘缘的博客 268

java编程思想 学习笔记---第二章 一切都是对象

"如果我们说另一种不同的语言,那么我们会发觉一个"

java19924的专栏 748

【学习笔记】《Java编程思想》——第二章 一切都是对象

1.内存中存储数据的五个地方 1)寄存器,位于处理器内部,最快,数量有限,不能直接控制,也不能在程序中感觉到寄存器的存在 2)堆栈,位于RAM,速度仅次于寄存器,存放对象引用,需要知道存储在此的各项的生命周期,以便上下移动堆栈指针 3)堆,位于RAM,存放Java对象, 4)常量存储,可以直接放在代码内部,存放在RAM中,在嵌入式中也可以存放在ROM中 5)非RAM存储,常见的有流对象和

weiyunyun01的专栏 399

Thinking in Java 第二章学习笔记----一切都是对象

  Java虽基于C++,但相比之下,Java是一种更加纯粹的面向对象程序设计语言。   在Java的世界里,几乎一切都是对象,而Java中的全部工作则是定义类,产生那些类的对象,以及发送消息给这些对象。   尽管一切皆称对象,但我们真正操纵的确是对象的引用,好比电视机为对象,遥控器则为引用,你若想在房间里边走边操控电视,只需带着遥控器这个引用,不必带着电视这个对象。另外,引用可以单独存在,并...

weixin_30338461的博客 133

《Java编程思想(第四版)》学习笔记02(第二章:一切都是对象)

《Java编程思想(第四版)》学习笔记02(第二章:一切都是对象)第二章:一切都是对象总结 第二章:一切都是对象 对象存储位置: 寄存器(由无法直接分配) 堆栈(对象引用等)(RAM) 堆(对象)(RAM) 常量存储(程序代码内部) 非RAM存储(流对象、持久化对象) 基本类型,“自动”变量,直接存储“值”,置于堆栈,比在堆中效率高。固定大小 boolean(Boolean) char(Character):16bit byte(Byte):8bit short(Short):16bit int(

lubeijia的专栏 181

《Java编程思想》学习记录仪一 -- java中参数传递方式(第二章一切都是对象)

在 Java 应用程序中永远不会传递对象,而只传递对象引用。因此是按引用传递对象。Java应用程序 按引用传递对象这一事实并不意味着 Java 应用程序按引用传递参数。参数可以是对象引用,而 Java  应用程序是按值传递对象引用的。 对象是按引用传递的; Java 应用程序有且仅有的一种参数传递机制,即按值传递; 按值传递意味着当将一个参数

u010888587的专栏 503

《Java编程思想》学习记录仪二 -- 2.2.1 java中存储域及特点(第二章一切都是对象)

程序运行时,对象的放置、内存的分配,主要涉及到五个不同的存储区域: 1)寄存器。这是所有存储区域中最快的,因为他位于处理器内部。 但是寄存器数量有限,所以寄存器一般是根据需求进行分配的。Java中程序员不能直接控制(但是,C和C++允许程序员向编译器建议寄存器的分配方式)。 2)堆栈。位于RAM -- Random- Access Memory(随机访问存储器)中。 堆栈指针若向

u010888587的专栏 493

Thinking in Java 读书笔记 第二章 一切都是对象

章二 一切都是对象 C++和Java都是混合/杂合型语言。相比之下,由于C++需要实现对C的向后兼容,显得更加复杂。而Java是纯面向对象语言,Java中(几乎)一切都是对象。 2.1 用引用操纵对象 操纵内存中元素方式:1.直接操纵元素,2.基于特殊语法进行间接表示(如指针) 在Java中,一切被视为对象,可以用单一语法进行操纵,Java选择用引用操作。 代码示例:Strin

ananhao的博客 311

day3 part1:《Thinking in Java》笔记第二章---一切都是对象

Java是基于C++的,但比C++是更纯粹的面向对象程序设计语言(OOP) 用引用操纵对象:Java中所有一切都被看成对象,实质上操纵的标识符是对象的一个引用(reference),引用可以在无对象时单独存在, 一般创建引用的同时将其初始化: 一般创建引用希望它与新对象相连: 必须由你创建所有对象: 数据存储的地方:1.寄存器,位于处理器内部,最快的存储区,但数量有限。

yyjcodemonkey的博客 485

Thinking in java——一切都是对象

读书笔记——《Thinking in java》第一章 对象入门 数据保存 寄存器。这是最快的保存区域,因为它位于和其他所有保存方式不同的地方:处理器内部。然而,寄存 器的数量十分有限,所以寄存器是根据需要由编译器分配。我们对此没有直接的控制权,也不可能在自己的 程序里找到寄存器存在的任何踪迹。 堆栈。驻留于常规 RAM(随机访问存储器)区域,但可通过它的“堆栈指针”获得处理的直接支...

等一杯咖啡的博客 658
上一篇: 将nutch的结果用solr搜索显示出来
下一篇: hbase 0.90.5 单机搭建
devil27
博客等级 码龄19年 1粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值