一、编程经验与感悟
经验:乐趣(热爱才是最好的老师--爱恩斯坦); 真正是自己跨入编程门槛的是一个实际的项目,在项目中经历了不懂,解决,不懂,解决··· ···之后才能使自己提升。其实编程并不难,只要靠自己的毅力和努力,只有有信心,一定可以做到; 代码要规范,if要{},return不用{}等等; 项目实战经验谈(1、在项目开始前要进行技术储备 2、多团队交流 3、能在数据库干的等绝对不放在程序中解决,例如排序,求最大等 4、代码加注释,无论你喜不喜欢都应该这样做 5、边写边测试);
感悟:脚踏实地--程序员的成长之路; 数据库技术,至少要掌握3中流行的数据库--Oracle、SQL Server和MySQL;Web开发程序员应该重点掌握CSS样式表和javaScript语言,java程序员必须掌握至少两种操作系统的应用知识;
二、陷进与谬误———汲取前人的教训
陷进:
1、进行序列化类在implements Serializable时应对serialVersionUID属性定义格式如下:private static final long serialVersionUID=长整形长量;
2、尽量不要使用*=、+=等复合赋值运算符;
3、int:-2 147 483 648~2 147 483 647 注意其变为long型;
4、数字前加上零0就变成了八进制,例如i=060 实际上表示十进制的48;
5、request.getHeader("referer")来获取上一次请求的地址,可以实现“登陆成功后自动跳转到原来页面”;
6、在通常的情况下,一个JVM对应着一个ClassLoader,但在Tomcat等J2EE容器内,一个JVM可能对应多个ClassLoader;
7、Cookie从服务器端发送到客户端时,信息是完整的,Cookie从客户端发送到时,信息只剩下key、value了。所以读取Cookie时,只能getName()和getValue(),其他生命周期等读取不来了;
8、JavaScript对于全局函数的this绑定为全局对象,而对于嵌套的函数采用了同样的解释,如果想获取上一层this对象,解决办法是把上层的this用that代替;
<script tape="test/javascript">
var me={
name:“上层的”;
function f1(){
var that=this;
function f2(){
alert(that.name);
}
f2()
}
me.f1();
</script>
9、Servlet是非线程安全的;
10、HTML中session和frame个数一样,而在JSP中不管frame有多少个,session的个数只有一个;
谬误:
1、java虚拟机并不回收所有的资源,垃圾回收器值回收堆内存中的对象,而不回收数据库连接对象,输入输出对象等物理对象,所有对于这些物理对象应该手动释放;
2、并非所有的默认构造方法的修饰都是public,在实际中默认构造方法的修饰符和所在类的修饰符一致的;
3、数组的存储速度比HashMap快,而HashMap的读取熟读比数组快;
4、存储相同的数据,用二维数组比一维数组需要的内存大,而且他们都比数据本身的内存大;
5、String类型是制度的,一旦建立字符串就不能更改,而StringBuffer类型的字符串是动态可修改的字符串, 即StringBuffer对象进行追加、移除,替换或插入字符后,equal还是为true的;
6、DOM属性<a><p>等是经过浏览器解析的,而元素属性id name value等是在程序中可见的;
7、javaScript是一种解释性语言,而且是预解释的;