首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
Java编程思想学习笔记_1(Java内存和垃圾回收)
】的更多相关文章
Java编程思想学习笔记_1(Java内存和垃圾回收)
1.Java中对象的存储数据的地方: 共有五个不同的地方可以存储数据. 1)寄存器.最快,因为位于处理器的内部,寄存器按需求分配,不能直接控制. 2)堆栈.位于通用RAM,通过堆栈指针可以从处理器那里获得直接支持.堆栈指针向下移动,分配新的内存,向上移动,则释放那些内存.Java系统必须知道存储在堆栈内的所有项目的确切的生命周期. 3)堆.编译器不需要知道存储的数据在堆里活多长时间. 4)常量存储.通常直接放在代码内部. 5)非RAM存储,如果数据完全存活与程序之外,那么它可以不受程序的任何控制…
Java编程思想重点笔记(Java开发必看)
Java编程思想重点笔记(Java开发必看) Java编程思想,Java学习必读经典,不管是初学者还是大牛都值得一读,这里总结书中的重点知识,这些知识不仅经常出现在各大知名公司的笔试面试过程中,而且在大型项目开发中也是常用的知识,既有简单的概念理解题(比如is-a关系和has-a关系的区别),也有深入的涉及RTTI和JVM底层反编译知识. 1. Java中的多态性理解(注意与C++区分) Java中除了static方法和final方法(private方法本质上属于final方法,因为不能被子…
[Java编程思想-学习笔记]第3章 操作符
3.1 更简单的打印语句 学习编程语言的通许遇到的第一个程序无非打印"Hello, world"了,然而在Java中要写成 System.out.println("Hello, world"); 我们都会感觉太冗长了,能不能简单一些呢?静态导入可以省略掉System,就像这样 import static java.lang.System.*; public class Hello { public static void main(String[] args) {…
【Java编程思想阅读笔记】Java数据存储位置
Java数据存储位置 P46页有感 一.前置知识 栈是由系统自动分配的,Java程序员对栈没有直接的操作权限, 堆是所有线程共享的内存区域,栈 是每个线程独享的. 堆是由程序员自己申请的,在使用new关键字创建一个对象的时候,对象就会被分配到堆内存中.并且由于栈是由系统自动分配的,因此申请的效率和速度是高于要使用new关键字申请内存的堆. 栈是一块连续的区域,并且栈的大小系统确定好的,当需要的栈空间小于剩余空间时,系统就会自动分配,否则会报栈溢出的错误:而堆空间则不是一块连续的区域,如果学过操作…
[Java编程思想-学习笔记]第1章 对象导论
1.1 抽象过程 Java是一门面向对象的语言,它的一个优点在于只针对待解问题抽象,而不用为具体的计算机结构而烦心,这使得Java有完美的移植性,也即Java的口号"Write Once, Run Anywhere". 所谓的抽象过程,可以理解为对待解问题建模.比如待解问题是一个人,那么我们可以对人进行建模,它的类型是人,有属性姓名.性别.年龄,还有行为吃饭.走路.Java能直接完全据此建模编码,而无需考虑具体的计算机结构.所以当我们阅读Java程序时,正如书上说的"当你在…
Java编程思想 学习笔记5
五.初始化与清理 1.用构造器确保初始化 在Java中,通过提供构造器,类的设计者可确保每个对象都会得到初始化.创建对象时,如果其类具有构造器,Java就会在用户有能力操作对象之前自动调用相应的构造器,从而保证了初始化的进行.构造器的名称与类的名称相同.(“每个方法首字母小写”的编码风格并不适用于构造器) 构造器有助于减少错误,并使代码更易于阅读.从概念上讲,“初始化”与“创建”是彼此和独立的.在Java中,“初始化”和“创建”捆绑在一起,两者不能分离. 构造器是一种特殊类型的方法,因为它没有…
[Java编程思想-学习笔记]第2章 一切都是对象
2.1 创建新的数据类型:类 通过第一章掌握了面向对象的理论后,我们知道每个对象必定属于一个类型,那么Java如何创建新的数据类型?如下程序所示: class Circle { // 属性 // 方法 } 如上所示,使用关键字class定义了类Circle,用花括号{ }将整个类包括起来.当然,这个类还不能做任何事,它还需要定义一些属性和方法. 2.2 属性和方法 面向对象的一个特性就是将数据和方法结合起来.比如对一个圆抽象,可见圆有它的属性半径,它还有方法,如告诉我们它的周长和面积.不光是…
Java编程思想 学习笔记4
四.控制执行流程 1.true和false 所有条件语句都利用条件表达式的真或假来决定执行路径.注意Java不允许我们将一个数字作为布尔值使用. 2.if-else 3.迭代 while.do-while和for来控制循环,有时会将它们划分为迭代语句.语句会重复执行,直到起控制作用的布尔表达式得到“假”的结果为止. 4.Foreach语法 Java SE5引入了一种新的简洁的for语法用于数组和容器,表示不必创建int变量去对由访问项构成的序列进行记数,foreach将自动生成每一项. fore…
Java编程思想学习笔记——注解
前言 在Android开发的过程中,我们为了减少重复代码的编写,会使用类似ButterKnife,AndroidAnnotations 这类依赖注解库.代码示例如下: //不使用 Button btn = (Button)findViewById(R.id.btn); //使用ButterKnife @Bind(R.id.btn) Button btn; //使用AndroidAnnotations @ViewById(R.id.btn) Button btn; 可以看出通过注解,我们能大量减少…
Java编程思想学习笔记——初始化与清理
初始化 构造器保证初始化 构造器采用与类相同的名称. 默认构造器(default constructor):不接受任何参数的构造器,也叫无参构造器. 构造器也能带有形式参数,就能在初始化对象时提供实际参数. class Foo{ Foo(){ System.out.println("Foo's no-arg Constructor Foo()"); } Foo(int i){ System.out.println("Foo's arg Constructor Foo (&qu…