Java编程思想读书笔记(二)一切都是对象

2023-10-24 01:18

本文主要是介绍Java编程思想读书笔记(二)一切都是对象,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 对象存储

  • 一般情况
    • 寄存器
      • 最快的存储区,位于处理器内部。
    • 堆栈
      • 位于RAM中(随机访问存储器),人们常说的内存,
      • 创建程序时,java系统必须知道存储在堆栈内所有项的确切生命周期,以便上下移动堆栈指针。
      • 存对象引用
      • 存基本类型
      • 通用内存池,也位于RAM区,存放所有的java对象。
      • 不同于堆栈的好处:编译器不需要知道存储的数据在堆里存活多长时间。
    • 常量存储
      • 可以放在ROM中
    • 非RAM存储
      • 数据的持久化、序列化、反序列化
  • 特例:基本类型
    • new一个对象会被存在堆中,但是对于一个小的,简单的变量,存在堆中就不是很有效。因此,java采用C++相同的方法,不用new来创建变量,而是创建一个并非是引用的“自动”变量,这个变量直接存储“值”,并存在于堆栈中。

    • java每种基本类型所占存储空间不会随机器硬件架构的变化而变化,这种存储空间不变性是java更具有可移植性的原因之一。

      基本类型大小最小值最大值包装器类型
      boolean---Boolean
      char16-bitUnicode 0Unicode 216-1Character
      byte8 bits-128+127Byte
      short16 bits-215+215-1Short
      int32 bits-231+231-1Integer
      long64 bits-263+263-1Long
      float32 bitsIEEE574IEEE574Float
      double64 bitsIEEE574IEEE574Double
      void---Void
    • 基本类型的包装类使得可以在堆中创建一个非基本对象,用来表示对应的基本类型

    • 高精度数字

      • java提供了两个用于高精度计算的类:BigInteger与BigDecimal,他们属于“包装器类型”,没有对应的基本类型,但是操作与基本类型所能执行的操作相似。
      • BigInteger支持任意精度的整数,BigDecimal支持任意精度的定点数
    • 数组

2.不用销毁对象

  • 作用域
  • java会自动帮我们销毁,自动辨别那些不会被引用的对象,进而进行销毁,避免了内存泄漏的问题。

3.数据类型:类

  • 字段和方法
    • 类中可以设置这两种元素,字段有时被称为数据成员,方法被称为成员函数
  • 方法、参数与返回值
    • 方法决定了一个对象能够接收什么样的消息
    • 方法名和参数列表唯一标识一个方法
    • 若返回类型是void,return关键字只是用来退出方法,因此没有必要非得等到方法结束才离开,而是可以在任何地方返回。如果返回类型不是void,拿无论在何处返回,编译器都会强制返回一个正确类型的返回值。

4.一个java程序

  • 名字可见性
    • 域名反转 com.baidu
  • import
    • 所有java代码都必须写在类里
    • 使用与编译器附在一起的java标准类库里的构件,则不必写一长串反转域名,只需写为:import java.util.*;
  • static
    • static修饰的变量指向同一存储空间,而非static修饰的变量每一个对象都有一个存储空间
    • static修饰的方法差别不大

5.构建一个java程序

  • public static void main(String[] args){}
    虽然程序中并没有使用形参args,但java编译器要求必须这样做,因为args要用来存储命令行参数
  • 注释和嵌入式文档
    • javadoc
      • 用于提取注释的工具,输出一个html文件
  • 编码风格
    • 类名首字母大写 驼峰式命名
    • 其他所有内容——方法、字段、对象引用,和类名一样,只是首字母小写。

这篇关于Java编程思想读书笔记(二)一切都是对象的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/271717

相关文章

JVM 的类初始化机制

前言 当你在 Java 程序中new对象时,有没有考虑过 JVM 是如何把静态的字节码(byte code)转化为运行时对象的呢,这个问题看似简单,但清楚的同学相信也不会太多,这篇文章首先介绍 JVM 类初始化的机制,然后给出几个易出错的实例来分析,帮助大家更好理解这个知识点。 JVM 将字节码转化为运行时对象分为三个阶段,分别是:loading 、Linking、initialization

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

Java进阶13讲__第12讲_1/2

多线程、线程池 1.  线程概念 1.1  什么是线程 1.2  线程的好处 2.   创建线程的三种方式 注意事项 2.1  继承Thread类 2.1.1 认识  2.1.2  编码实现  package cn.hdc.oop10.Thread;import org.slf4j.Logger;import org.slf4j.LoggerFactory

hdu1496(用hash思想统计数目)

作为一个刚学hash的孩子,感觉这道题目很不错,灵活的运用的数组的下标。 解题步骤:如果用常规方法解,那么时间复杂度为O(n^4),肯定会超时,然后参考了网上的解题方法,将等式分成两个部分,a*x1^2+b*x2^2和c*x3^2+d*x4^2, 各自作为数组的下标,如果两部分相加为0,则满足等式; 代码如下: #include<iostream>#include<algorithm

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听