java各种小知识

现在的服务器95%运行在linux系统上,java跨平台性比较好(一次编译到处运行),能运行在linux上,而.net只能运

行在window系统上,所以java不能开发游戏,.net开发游戏


JS只解释不产生class文件

java5版本以前只编译,java5版本以后半编译半解释,解释是产生.class文件


jre:程序运行环境
jdk:开发包

lib:自带核心类库

src:部分源码


bin:二进制文件
db:数据库
demo:小例子

lang唯一一个不用导包而直接用的


cdc第三方虚拟机
osgi云计算大数据

.包分隔符


main函数的快捷方式 alt+?

注释的快捷方式 ctrl+shift+?==(/*  */);

ctrl+/==(//)

//

syso+alt+?==System.out.println();


下载的游戏机客户端就是主方法,主方法和类无关,可以独立于类之外
.class真正的运行在虚拟机之上
记事本打开能看懂的叫字符

打开看不懂的叫字节文件


异常从下往上看,看懂的则看,看不懂的掠过,异常看名字
一个文件必须只有一个类是public修饰的和其文件名有关
列如:first.java 只能有一个 public class first
//强调尽量不要再一个文件中写多个类,一个文件就一个类


static:类,类属性
JNI技术:java本地接口用来调用c和c++代码,适合底层开发(native,strictfp,volatile)


super调用父类方法
super()调用父类默认的构造函数
super(data)后加参数的是用来调用父类中具有相同形式的 
构造函数 
super.method()调用父类中的方法
super.variable    返回父类的成员变量的值


子类调用父类方法
 super.方法名
调用父类的成员
super.常量.()调用父类的成员函数


switch在java6.0之前不能支持String,long
6.0之后支持long,String,enum
switch 顺序执行,满足一个case直到遇到break时停止,遇不到break一直执行


java 中true 不为1 false不为0
 
assert 单元测试用的

注意 类名不建议以$符开头因为java中外部类中的内部类使用了$符

sychornized 1.修饰代码块 2修饰方法

 transient 修饰成员属性和成员方法,在序列化后成员方法和成员属性会被忽略,不能存储,瞬间的瞬时的,把对象存在文件上才能序列化


面向对象的定义:实体,静态成员,动态方法(行为)按照人最自然的想法去做(手机和atm机)

面向过程:分步骤一次一次来,反复迭代,到最后失控,采用瀑布(军事)

类的定义

1识别对象

2识别静态属性

3识别对象行为

4识别对象构造

5建立联系:(1)继承(泛化)(2)组合,聚合

组合是强依赖,聚合是弱依赖

6对象之间传递消息

类是对象的模板

类是泛指抽象对象的共同属性

对象是特指某个实体

类只包括主方法、内部类、属性、方法

protected 和default 主要体现在对java继承的可见性

堆一般是动态的开辟,其首地址可能放在栈区,列如数组首地址(引用:作用是复制另一个数组),但对象放在堆区,其方法放在方法区

索引以零开始是为了加上偏移量更好的找到下面的元素

参数:解决方法的重复问题,让方法更灵活,实用性更强

参数有两种方式,在方法定义的时候写的参数叫形参,由类型和名称两部分组成

在方法被调用的时候,写的参数叫实际参数,只有一个值,所以也叫实参,无参方法被称为默认方法

java中都按值传递


java重载:

参数个数不同

类型不同

与顺序无关


方法不能嵌套


object是类类型

object有一个方法

instance of 判断是哪个类


栈内存通常存储两种东西:

1.基本数据类型8个2引用变量

堆内存中通常也存储两样东西

1.数组2复杂类型也叫对象,用new关键字开出

引用变量为null时,就把该引用变量指向的内存当做垃圾,并由java自动垃圾回收机制进行回收(System.GC()只是告诉虚拟机回收,但虚拟机回收时间是随机的)


Employee e=new Employee()   其后面的 new Employee()为对象

单独new Employee()时,new Employee()为匿名对象,一次使用 并有垃圾回收机制进行回收,所以匿名对象有自己巨大的作用,高效的内存管理机制

构造器:本质是方法,与类相同名称,没有返回值,不能用return语句,隐式的存在于类中


一个基本对象由两部分组成: new  和构造方法


当你写出默认的构造函数时就覆盖了 默认的构造函数


构造方法不是由人工调用的,它是自动执行的


在对象创建的时候自动调用,给对象初始化


代码块也可以给对象初始化,最先输出代码块中的东西


假设 ep是个对象

System.out.println(ep);

输出ep的类型 @分隔符  hashcode()表示代码的唯一性


在大型的项目中,都显示的写出默认的构造函数,特别是构造函数被重载时更重要,更要写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值