Java 问题积累
1. java 中 serializable 是什么
什么情况下需要序列化 a)当你想把的内存中的对象写入到硬盘的时候; b)当你想用套接字在
网络上传送对象的时候; c)当你想通过 RMI 传输对象的时候;
Java 的 serialization 提供了一种持久化对象实例的机制。当持久化对象时,可能有一 个特殊的对象数据成员,我们不想 用 serialization 机制来保存它。 为了在一个特定对象的一个域上关闭 serialization, 可以在这个域前加上关键字 transient。 transient 是
Java 语言的关键字, 用来表示一个域不是该对象串行化的一部分。 当一 个对象被串行化的时候,transient 型变量的值不包括在串行化的表示中,然而非 transient 型的变量是被包括进去的。
2.String 不能修改
问题 jvm 源码中定义 String 型为 final(保存 string 的 byte[] 也为 final) ,类似 String=String+”a”;其实指向了不同的内存空间。 (变量名相同而已)
3.java bitset 二进制位的 vector 4 intern()
string1=string1.intern();intern 方法将针对当前所存在的所有 String 对象测试 string1 () 所引用的字符串,如果该字符串已经存在(在这里来说是 string3) ,当前的对象将被 丢弃,而 string1 将包含封装着同样字符串的已有对象的(string3)的引用。
5.Synchronized
synchronized 关键字可以修饰方法,也可以修饰代码块,但不能修饰构造器,属性等。 public static final Object lock1 = new Object(); 同步锁应该用 final 类型。
6.Vector 和 arraylist
Vector 与 arraylist 十分类似,vector 同步,arraylist 不同步,vector 效率高
7.java 中引用和 c 中指针问题 1
c struct linktable{int a ,float b,struct linktable c} 是不行的,再定义 c 时需要知道他到 底大小,但 linktable 还没定义好。 Struct linktable{int a,float b,struct linktable *c}是可以的,c 是指针,int 型,大小确定。 Java class linktable{int a ,float b,linktable c}是可以的 8.java string intern()作用 (重复)
String str=new String(“abc”) str.intern() 将“abc”加入常量池,并返回引用。 9.final 为什么不能修饰构造方法 构造器不能通过继承得到,final 修饰的方法只能继承不能重写。 10 为什么构造器不能通过继承得到
构造器与类同名,子类继承的方法与父类方法同名,即子类中存在与类名不同的构 造方法,所以构造器不能通过继承得到。
11.abstract 不能修饰构造函数 Abstract 不能实例化,构造函数实例化时运行的,所以不存在虚构造函数。 12 java 为什么不支持多继承的原因 若父类 A,B 中含有相同的名称的变量或方法,super.**调用产生冲突。
基础 css
wrongwaycn.github/bootstrap/docs/base-css.html