java程序员三境界
1.1.1 修炼第一层境界:剑指四方,试问天下与争锋
修炼第一层境界的程序员,对Java开发技术尽数掌握,开发工具掌握得也较为娴熟。可以将第二层次程序员交给的任务完成得很出色,可以按要求独立完成类、接口和算法的开发。注重技巧,对具体的编程语言非常熟悉。
能力之所及,皆无不用其极。认为所有开发知识,越是看起来深奥的越值得去研究,希望在自己开发的所有项目中,能用上的技术全用上,目的只有一个,就是尽可能多地获得实践机会。总想四处试刀,看看手里的刀到底快不快。满口都在谈什么框架是最优秀的、C#和Java的优劣,满脑子想着如何将一个程序编写得更复杂。热衷于探讨技术问题,甚至有可能因为一个开发观点而和别人争论得面红耳赤。
在编码中,常可以看到他们会这样写程序代码。
if (a>0)
a++;
else
b++;
他们非常想证明自己掌握技术的娴熟程度,没错,他知道这个知识,在这里可以省略大括号。
这类程序员大有“剑指四方,试问天下与争锋”的气势,工作具有活力,常常因为一个技术细节加班到深夜,大多属于拼命三郎型。如果项目不能让他们学到他们想要学的东西,他们会放弃这些项目,去投靠别的公司,跳槽对于他们来说很平常。
第一层境界特征
工作时间:三年内
工作任务:按要求编写类和接口的具体实现代码
工作内容:编写具体的代码
开发目标:无所不能
开发特点:注重技巧,对具体的编程语言非常熟悉
工作职位:初级程序员、程序员、软件工程师
参考薪金:¥2000-¥6000(仅供参考)
1.1.2 修炼第二层境界:世界如此之大,要学的东西很多
修炼第二层境界的程序员往往是从事Java开发好几年了,从第一层境界进阶上来的好手即没有被优胜劣掉的那批人。之所以用“没有被优胜劣”这么“残酷”的用词,并非危言耸听。因为一般修炼第一层境界是非常艰苦的,没有坚强的意志、强健的体魄,完全不可能进阶到第二层境界。也就是说,要头脑始终保持清醒,抱有坚定的信念,同时身体也要非常好,才能过关。
可以常看到,在这一关掉队的人们,由于志向偏离,或者吃不了苦,或者对困难估计不足,甚至是身体因放弃软件开发职业。这里之所以强调“身体”,也是因为第一关是如此得残酷。其实并没有人要求你加班加点,只是你的一腔热血使然。所以说在第二层境界中的是“没有被优胜劣”的那批好手。
他们已历了若干个开发产品或
相关文档:
在成功实现Java调用C++之后,接下来想到能否通过JNA实现Java调用Fortran,今天试验了一下,还是比较容易的。
网上有一个Java调用F95的例子,但是我考虑不仅要实现F95的调用,还要实现F77的调用,所以费了一些周折。
问题的关键在于F77为过程名自动添加了一个尾部的下划线,所以sub1这个过程,到Java一端,就变成了sub1_, ......
package com;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Pattern;
public class RegexUtil {
private static Pattern PATTERN_EMAIL = Pattern
.compile("^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$");// 邮件地址
private static Pattern PATTERN_TEL = Pattern
.compi ......
运算符优先级表
优先级
运算符
结合性
1
() [] .
从左到右
2
! +(正) -(负) ~ ++ --
从右向左
3
* / %
从左向右
4
+(加) -(减)
从左向右
5
<< >> >>>
从左向右
6
< <= > >= instanceof
从左向右
7
== !=
从左向右
8
&(按位与)
从左向右
9
^
从左向右 ......
第一种:效率高
Map map = new HashMap();
Iterator iter = map.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
Object key = entry.getKey();
Object val = entry.getValue();
}
第二种:效率低,以后尽量少使用!
Map map = new HashMap();
......