java面试代码量 java面试源码

对日java项目开发来说,一个月平均能编写多少行代码,正常来说的标准是多少行代码?在日本早期java面试代码量的软件开发管理中,java面试代码量的确有按照代码行数来算开发成本的java面试代码量,但是,随着目标指向语言流行和软件开发管理的进步,这种方法已经很少见java面试代码量了 。
而且 , 现在很流行开发工具自动化,很多代码都是自动生成的,很难计算一个月能写多少代码 。
如果非要数字,平均一个月写3到10万行应该是不成问题的 。
有一种叫做StepCounter的工具可以计算java代码行数,lz可以看一下 。
java程序员面试时被问到:如何在j2ee项目中处理高并发量访问? 该怎么回答? 请仔细看题干再回答一般需从三点入手 。
一、程序本身支持高并发 。
简单来说就是要优化我们的代码 。
1、避免使用错误的方式java面试代码量,尽量不用instanceof做条件判断java面试代码量,不要将数组声明为java面试代码量:public static final。
2、使用java中效率高的类 , 比如尽量使用HashMap 和ArrayList ,除非必要,否则不推荐使用HashTable和Vector,后者由于使用同步机制,而导致了性能的开销 。
3、尽量指定类的final修饰符 带有final修饰符的类是不可派生的 。在Java核心API中,有许多应用final的例子,例如java.lang.String 。为String类指定final防止了人们覆盖length()方法 。另外,如果指定一个类为final , 则该类所有的方法都是final 。Java编译器会寻找机会内联(inline)所有的final方法(这和具体的编译器实现有关) 。此举能够使性能平均提高50%。
4、尽量重用对象,避免频繁的使用new对象 。对于整个应用只需要存在一个实例的类,我们可以使用单例模式 。对于工具类可以使用静态方法的方式访问 。
用new关键词创建类的实例时,构造函数链中的所有构造函数都会被自动调用 。但如果一个对象实现了Cloneable接口,我们可以调用它的clone()方法 。clone()方法不会调用任何类构造函数 。
在使用设计模式(Design Pattern)的场合,如果用Factory模式创建对象,则改用clone()方法创建新的对象实
例非常简单 。例如,
Java代码收藏代码
下面是Factory模式的一个典型实现:
public static Credit getNewCredit() {
return new Credit();
}
改进后的代码使用clone()方法,如下所示:
private static Credit BaseCredit = new Credit();
public static Credit getNewCredit() {
return (Credit) BaseCredit.clone();
}
上面的思路对于数组处理同样很有用 。
5、特别是String 对象的使用中,出现字符串连接情况时应用StringBuffer 代替 。由于系统不仅要花时间生成对象,以后可能还需花时间对这些对象进行垃圾回收和处理 。因此 , 生成过多的对象将会给程序的性能带来很大的影响 。
6、StringBuffer 的使用:StringBuffer表示了可变的、可写的字符串 。
它有三个构造方法 :
StringBuffer ();//默认分配16个字符的空间
StringBuffer (int size);//分配size个字符的空间
StringBuffer (String str);//分配16个字符+str.length()个字符空间
java面试代码量你可以通过StringBuffer的构造函数来设定它的初始化容量,这样可以明显地提升性能 。这里提到的构造函数是StringBuffer(int length),length参数表示当前的StringBuffer能保持的字符数量 。你也可以使用ensureCapacity(int minimumcapacity)方法在StringBuffer对象创建之后设置它的容量 。首先我们看看StringBuffer的缺省行为 , 然 后再找出一条更好的提升性能的途径 。
StringBuffer在内部维护一个字符数组,当你使用缺省的构造函数来创建StringBuffer对象的时候,因为没有设置初始化字符长度,StringBuffer的容量被初始化为16个字符,也就是说缺省容量就是16个字符 。当StringBuffer达到最大容量 的时候,它会将自身容量增加到当前的2倍再加2 , 也就是(2*旧值+2) 。如果你使用缺省值,初始化之后接着往里面追 加字符,在你追加到第16个字符的时候它会将容量增加到34(2*16+2) , 当追加到34个字符的时候就会将容量增加到 70(2*34+2) 。无论何事只要StringBuffer到达它的最大容量它就不得不创建一个新的字符数组然后重新将旧字符和 新字符都拷贝一遍――这也太昂贵了点 。所以总是给StringBuffer设置一个合理的初始化容量值是错不了的,这样会带来 立竿见影的性能增益 。

推荐阅读