Wesley13 Wesley13
2年前
java中static关键字的使用
知识点:java中,static关键字修饰类的变量、方法、代码块、内部类场景:我们在创建类的方法和变量时,如果这个类在创建多个对象时,共用同一个属性或者方法,就可以使用static关键字修饰,因为static修饰的变量,在内存的静态域存在的值,被类的多个实例所共用,实际上我们在编写一个类时,就是在描述对象的属性和行为,并没有产生实质上的对
顺心 顺心
3年前
Dart 入门中文教程
一、开篇dart语言具有如下特性一切变量皆是对象,每个对象都是类的实例。int、double、null、函数等都是对象,所有对象都继承自Object类dart是强类型语言,但由于具备类型推导功能所以类型声明是可选的dart支持顶级函数、静态函数、实例函数,也允许在函数中嵌套函数,即局部函数。类似的,dart也支持顶级
Wesley13 Wesley13
2年前
java 成神之路 (二)
前一篇博客介绍了如何通过注解反射来实例化一个对象。前面提出的一个优化建议。上一版本,每个含有@DAL(http://my.oschina.net/daL)注解的变量都会通过反射去得到实例化对象。要是同一个工程里面每次都对同一个类通过反射实例化一个对象出来,这样太浪费资源了。现在我们就模拟spring的bean工厂,
xiguaapp xiguaapp
3年前
jvm
类的加载连接与初始化加载:查找并加载类的二进制数据连接验证:确保被加载的类的正确性准备:为类的静态变量分配内存,并将其初始化为默认值解析:把类中的符号引用转换成为直接引用初始化:为类的静态变量赋予正确的初始值主动使用创建类的实例访问某个类或接口的静态变量,或者对该静态变量赋值调用类的
Wesley13 Wesley13
2年前
java经典程序编程知识(一)
ScannerscannernewScanner(System.in)Scanner是一个类,nextXxx()是Scanner的成员函数,System.in作为参数传递给Scanner的构造函数,使Scanner用键盘作为输入,然后用new在内存中实例化一个Scanner出来,使得其它变量能调用这块内存区。next()
Stella981 Stella981
2年前
Android Looper,Handler,Message分析
LooperLooper的构造方法是private的,不可以在外部生成Looper的实例.最重要的几个变量:ThreadLocal :静态的,保存所有线程及其所关联的Looper实例.可以理解为这是一个Map,保存了线程\Looper的所有键值对.这里可以获取到所有的线程及其关联的Looper对象.当我们需要生成一个支持消息循环特性的
Stella981 Stella981
2年前
Scala系统学习(三):Scala基础语法
如果您熟悉Java语言语法和编程,那么学习Scala将会很容易。Scala和Java之间最大的句法差异在于行结束字符的分号(;)是可选的。当编写Scala程序时,它可以被定义为通过调用彼此的方法进行通信的对象的集合。现在我们简单地看一下类,对象,方法和实例变量的含义。对象 对象有状态和行为。一个对象是类的一个实例。例如狗有状态
Wesley13 Wesley13
2年前
Java 构造方法
构造方法什么是构造方法:构造方法就是与类同名的那个方法且没有返回值。就是一个方法。有什么作用:就是初始化对象的成员变量,无参的构造方法,系统自动初始化。有参则根据你的要求初始化不同的类型,默认值如下:实例成员变量默认值:boolean:falsebyte:0short:0char:int:
Wesley13 Wesley13
2年前
Java构造器的实质作用
Java构造器的实质作用构造器的本质作用就是为对象初始化,即为实例变量初始化,赋初值;而不是创建对象,创建对象时通过new关键字来完成的,当使用new关键字时就会为该对象在堆内存中开辟一块内存,只等构造器来初始化这块内存,为实例变量赋初始值。在未赋初始值之前是默认值。看代码中的构造器和编译后构造器是不一样的,编译后的构造器包含了更多的内容。
Wesley13 Wesley13
2年前
Java内存模型详解
内存模型(memorymodel)内存模型描述的是程序中各变量(实例域、静态域和数组元素)之间的关系,以及在实际计算机系统中将变量存储到内存和从内存取出变量这样的低层细节.不同平台间的处理器架构将直接影响内存模型的结构.在C或C中,可以利用不同操作平台下的内存模型来编写并发程序.但是,这带给开发人员的是,更高的学习成本.相