文章目录

  • 一:Java语言学习
  • 二:J2EE方面
  • 三:理解并能合理运用设计模式
  • 四:注重用户体验
  • 五:自动测试与软件配置管理(SCM)实现
  • 六:熟悉常见的网络通信协议
  • 七:面向市场,永远对新技术保持渴望
  • 八:保持谦虚,三人行必有我师
  • 九:养成总结的习惯
  • 十:数学功底与算法知识
  • 十一:Java代码反编译与代码保护
  • 十二:努力成为某个行业或者领域骨干
  • 十三:提高语言与书面表达能力,掌握基础的项目管理知识
  • 十四:掌握英语,良好的读写能力(外企人员向上晋升的不二法门)
    • Java基础常见英语词汇
    • Jbuilder中常用英文(共33个)

一:Java语言学习

  对线程(thread),串行化,反射,网络编程,JNI技术,容器(Map,List, Iterator), 类加载器(ClassLoader),输入输出流,垃圾回收机制, 有比较深入的了解,最起码做过项目应用。
  有过Java项目的性能优化经验,最起码掌握一种性能监视工具的使用,熟悉JVM参数,最起码知道可以在JVM启动时指定不同垃圾回收机制,以及不同垃圾回收机制之间的差别,熟悉JVM参数优化。

二:J2EE方面

  最好知道JDBC规范是怎么回事情,面对Oracle数据库如果告诉你JDBC驱动不能用了,你还知道有OCI驱动可以。掌握常见的SQL语句,熟悉JMS, JNDI等组件,掌握一套web开发模式,从前台到后台,有能力整合好这样的框架。
  理解并掌握MVC思想,像SSH已经实现了MVC的分层,几乎不需要你自己再实现,假设你开发一个简单的Swing程序,你能MVC就说明你真的掌握了MVC的精髓。
  有能力在J2EE前端开发中构建自己的MVC模式,知道什么是WEB2.0,知道什么是SOA, SaaS, SaaP等含义

三:理解并能合理运用设计模式

  UML建模:知道并理解设计模式中蕴含的几种基本原则如:里氏替换原则, 开闭原则,合成复用原则,依赖倒置原则有很好的理解,并能举例说明。对常用的设计模式如工厂模式,单例模式,观察者模式,责任链模式,桥接模式等知道灵活运用,明白什么是回调(Callback)。
  最后用一位高人话来总结设计模式,它是为了让软件更容易被别人读懂,更容易维护而产生,设计模式本质是程序员之间的交流,如果A用工厂模式设计一个模块B来接替,A只要说该模块是工厂模式实现,B维护起来应该容易得多,所以设计模式是关于交流,不关于代码。切忌滥用设计模式。学会使用UML建模工具至少熟悉一种URL建模工具。

四:注重用户体验

  掌握KISS原则,知道欧卡姆剃刀原则:顾客就是上帝这个口号我们已经喊了N年了,程序员的劳动成果最终也需要转换为服务提供给客户,用户体验至关重要,常常看到的场景是功能实现了,软件很难使用,程序员有个很充足的理由我不是美工,其实注重用户体验跟美工八杆子也打不到一起,FoxMail的成功在很大程度是用户体验的成功,友好,清晰的用户提示,强的容错与纠错设计是获得好的用户体验的不二法门。
  傻瓜相机顾名思义傻子都会使用,这个就著名的KISS原则(Keep it simple and stupid)意思是UI设计要简单明了,傻子一看就知道怎么用,想想我们做出来的东西,对照说明书都不知道怎么用。另外一个就是最著名的例子IPhone手机外观设计,是典型的欧卡姆剃刀设计原则来完成人机交互。

五:自动测试与软件配置管理(SCM)实现

  知道什么是软件配置管理,知道Hudson — http://java.net/projects/hudson/运用该工具SCM,知道怎么获取测试代码覆盖率, Java有效代码行数(NCSS),完成firebug, JDepend等工具集成ant/maven。熟悉并注重在开发过程中使用JUnit单元测试,理解白盒测试规范。

六:熟悉常见的网络通信协议

  对HTTP协议,知道POST, GET的区别是什么,阅读过HTTP相关的RFC文档。学会使用sniffer工具查看数据包,帮助查找与调试程序,知道TCP与UDP的区别,知道并理解E—Mail发送与接受的协议如SMTP, POP3,IMAP等协议,了解MIME与Base64编码。知道组播是怎么回事情。

七:面向市场,永远对新技术保持渴望

  计算机技术的发展日新月异,做为IT行业的软件开发人员要不断的给自己充电,更新自己的技术与时代保持同步,同时还要面向市场。
  华为总裁任正非说过—“华为的技术革新必须面向市场”,作为程序员同样要有市场意识,很多人都后悔没有在android刚出来的时候加以关注学习。那些很早关注android开发技术的很多程序员因此获得丰厚回报。
  如今HTML5得到越来越多的浏览器厂家支持,你是否已经跟上脚步,开始学习。

八:保持谦虚,三人行必有我师

  乔帮主说他要保持初心,努力学习,我等更应该保持谦虚,IT技术发展日新月异,在你眼中不可能实现的技术,也许别人早已经有思路,保持谦虚就有机会吸取别人身上的长处。
  古人有云:满招损,谦受益。一个得道的高人更是说出了“下下人,上上智”的禅语。永远不要拒绝帮助你周围的人解决难题,解决难题是进步最快途径,不要放弃任何一次可以提升自己技术与能力的机会。

九:养成总结的习惯

  上学的时候老师常让写小结,也没总结出来所以然,以至于工作以后再也不提这档子事情,建议每个项目做完以后对自己都有个小结,总结自己在项目里面学到了什么,反问自己能不能完成在不需要别人帮助的情况下自己完成这样的系统搭建,是否熟悉与掌握项目中所用到的技术,即使有些东西不是你负责完成的但是什么也不能阻挡一颗求知的心。
  总结要尽量详细记录你遇到那些难题是怎么一个一个的解决的,下次再遇到你是否可以很快解决或者避免这样的问题。有总结才有提高。
  孔子曰:学而不思则罔,如果我们只是coding到吐血,不思考,不总结提高,永远不可能有能有本质提高,秦相李斯有云:"泰山不让土壤,故能成其大,河海不择细流,故能就其深”,点滴积累不断总结方能量变导致质变。

十:数学功底与算法知识

  用任何编程语言开发应用,都离不开核心算法支持,很多国外的软件单单从UI上看,恐怕写几年程序的人都可以模仿,但是UI之下的那些真实深浅不一,相信不是你想模仿就可以模仿的,为什么我们越来越山寨,因为我们没有核心竞争力,对于程序员来说算法与数学显然是他最重要的核心竞争力之一。
  《算法导论》 《编程珠玑》等书绝对值得读十遍。微软亚洲研究院视觉计算组负责人在一次演讲中说到他们招人的标准是“三好学生-数学好,编程好,态度好"。可是现实的普遍情况却是-微机原理闹危机,汇编语言不会变,实变函数学十遍。计算机基础知识被大家普遍忽视。从今天开始好好学习吧!!!

十一:Java代码反编译与代码保护

  Java编译产生字节码,因而可以被轻松的逆向工程(反编译),微软的C#生产的DLL也一样可以被轻松反编译。正式由于这个原因产生了许多Java开源的代码保护工具,而Proguard是其中佼佼者,已经被google集成在android之中用于Java代码保护。访问这里了解更多

十二:努力成为某个行业或者领域骨干

  面对漫长的职业生涯,要想不被淘汰,必须具备一招鲜吃遍天下的能力,选择自己感兴趣的方向,努力而深入的研究,计算机技术发展到今天已经细分很细,努力研究一种Java开源框架或者开源HTTP服务器源码或者研究过网络爬虫源码或者WEBKIT内核,不愁没有人要你。
  如果你是非常了解金融,企业ERP,证券,保险,移动应用行业的应用开发业务的人,一样不用愁工作。这些知识不随语言而改变,努力做一个有核心竞争力的Java程序员。

十三:提高语言与书面表达能力,掌握基础的项目管理知识

  文档与语言表达能力是最好的向外界展现自己能力的方式,很多程序员编程能力很高,表达能力一般,Linux能够成功,除了归功于网络社区的力量之外,也得益于Linux作者本人给各大基金会写信,宣传推广,试想如果没有良好的书面语言表达能力,即使Linux系统再优秀,却无法被准确表达,失去各大基金会的支持, Linux还会像今天这么好的局面嘛。所以重视文档,重视提升沟通与表达能力,才有可能成为Java系统程序员。
  掌握基本的2/8原则,会将模块细化分配给不同的人,预见并控制项目风险,把握项目进度,优化流程,合理的时间管理,了解TDD,熟悉敏捷开发模式,常规软件开发模式。

十四:掌握英语,良好的读写能力(外企人员向上晋升的不二法门)

例如:

Java基础常见英语词汇

序号 英文 寓意 序号 英文 寓意
1 OO: object—oriented 面向对象 56 Throw 抛出
2 OOP:object—oriented programming 面向对象编程 57 Throws (投掷)表示强制异常处理
3 Object 对象 58 Throwable (可抛出的)表示所有异常类的祖先类
4 JDK:Java development kit java开发工具包 59 Lang:language 语言
5 JVM:javavirtual machine java虚拟机 60 Util 工具
6 Compile 编绎 61 Display 显示
7 Run 运行 62 Random 随机
8 Class 63 Collection 集合
9 System 系统 64 ArrayList (数组列表)表示动态数组
10 out 输出 65 HashMap 散列表,哈希表
11 print 打印 66 Swing 轻巧的
12 line 67 Awt:abstract window toolkit 抽象窗口工具包
13 variable 变量 68 Frame 窗体
14 type 类型 69 Size 尺寸
15 get 得到 70 Title 标题
16 operation 操作,运算 71 Add 添加
17 array 数组 72 Panel 面板
18 parameter 参数 73 Layout 布局
19 method 方法 74 Scroll 滚动
20 function 函数 75 Vertical 垂直
21 member—variable 成员变量 76 Horizonatal 水平
22 member—function 成员函数 77 Label 标签
23 set 设置 78 TextField 文本框
24 public 公有的 79 TextArea 文本域
25 private 私有的 80 Button 按钮
26 protected 受保护的 81 Checkbox 复选框
27 default 默认 82 Radiobutton 单选按钮
28 access 访问 83 Combobox 复选框
29 package 84 Event 事件
30 import 导入 85 Mouse 鼠标
31 static 静态的 86 Key
32 void 无(返回类型) 87 Focus 焦点
33 extends 继承 88 Listener 监听
34 parentclass 父类 89 Border 边界
35 base class 基类 90 Flow
36 super class 超类 91 Grid 网格
37 child class 子类 92 MenuBar 菜单栏
38 derived class 派生类 93 Menu 菜单
39 override 重写,覆盖 94 MenuItem 菜单项
40 overload 重载 95 PopupMenu 弹出菜单
41 final 最终的,不能改变的 96 Dialog 对话框
42 abstract 抽象 97 Message 消息
43 interface 接口 98 Icon 图标
44 implements 实现 99 Tree
45 exception 异常 100 Node 节点
46 Runtime 运行时 101 Jdbc : javadatabase connectivity java数据库连接
47 ArithmeticException 算术异常 102 DriverManager 驱动管理器
48 ArrayIndexOutOfBoundsException 数组下标越界异常 103 Connection 连接
49 Next 下一个 104 Statement 表示执行对象
50 NullPointerException 空引用/空指针异常 105 Preparedstatement 表示预执行对象
51 ClassNotFoundException 类没有发现异常 106 Resultset 结果集
52 Try 尝试 107 Close 关闭
53 Catch 捕捉 108 executeQuery 执行查询
54 Finally 最后
55 NumberFormatException 数字格式异常(字符串不能转化为数字)

Jbuilder中常用英文(共33个)

序号 英文 寓意 序号 英文 寓意
1 File 文件 18 Message 消息
2 New 新建 19 Source 源文件
3 NewProject 新建项目 20 Bean 豆子
4 New Class 新建类 21 Properties 属性
5 NewFile 新建文件 22 Make 编绎
6 Openproject 打开项目 23 Build 编绎
7 Open file 打开文件 24 Rebuild 重编绎
8 Reopen 重新打开 25 Refresh 刷新
9 Closeprojects 关闭项目 26 Project properties 项目属性
10 Close all except… 除了…全部关闭 27 Defaultproject properties 默认的项目属性
11 Exit 退出 28 Run 运行
12 Rename 重命名 29 Debug 调试
13 View 视图 30 Tools 工具
14 Panes 面板组 31 Preferences 参数配置
15 Project 项目 32 Configure 配置
16 Content 内容 33 Libraries
17 Structure 结构

标记此文,时刻提醒自己:路漫漫其修远兮,吾将上下而求索。愿与君共勉!

Java程序员掉发系列——程序员的成长之路相关推荐

  1. Java程序员掉发系列——程序员必须认识的英文单词(汇总)

    原创 Java程序员掉发系列--程序员必须认识的英文单词(汇总) 2019-11-07 09:45:48 程序yang 阅读数 692更多 分类专栏: Java基础知识点(Java SE) 版权声明: ...

  2. 程序员掉发算工伤?程序员的你应该如何防止Tu头?

    前几天刷到一个"女孩子出门一身穿搭价值多少"的短视频.视频中被采访的美女腼腆一笑:我是女程序员,这一身行头5万多. 神马?!5万多? 细细数来才知道,衣服+鞋子+包包=700多元, ...

  3. 三菱Q PLC案例程序,三菱Q系列程序。 QD75MH总线伺服本案例是液晶电视导光板加工

    三菱Q PLC案例程序,三菱Q系列程序. QD75MH总线伺服本案例是液晶电视导光板加工,此案例采用三菱Q系列PLC. 有QD75MH定位模块SSNET总线伺服,QJ61BT11N 远程主站和远程IO ...

  4. 三菱A系列程序改成Q系列程序,实例说明 包含原程序与改后的程序,方便对照

    三菱A系列程序改成Q系列程序,实例说明 包含原程序与改后的程序,方便对照 程序里包含模数和数模转换模块,通信模块的应用 控制上包含模拟量控制和简单的PID控制,顺序结构 现工厂PLC升级换代,尤其是A ...

  5. 从程序员到架构师的最佳技术成长之路

    我把程序员到架构师的技术成长之路分为几个典型的阶段:工程师 - 高级工程师 - 技术专家 - 初级架构师 - 中级架构师 - 高级架构师,总的成长原则是每个阶段都需要"积累经验.拓宽视野.深 ...

  6. 程序员突破内卷大法:软件架构师成长之路(干货系列,说人话接地气)

    内卷严重,最近一直有人问我,怎么才能成长成为一名真正的软件架构师,我沉思良久. 回首看从业20年所走过的路,从技术小白一步一步成长起来,做了十多年的架构师和首席架构师,做CTO也六七年了,略有一些心得 ...

  7. 四年时间,从一个浑浑噩噩的程序员到csdn博客专家的成长之路

    文章目录 本文只做记录总结篇,如有不适请轻喷 写在前面 浑水摸鱼的大学四年 学习之路极其长远 怎么会突然写博客 侵权问题 写博客是一件很享受的东西 人生短暂,展望未来 本文只做记录总结篇,如有不适请轻 ...

  8. 程序员福音 【完整的Java开发环境搭建】 系列篇

    原文地址 BY Jason 文章目录 原文地址 Java开发环境搭建 统一问题解决(更新中) 1. vim常用操作命令 2. 关于Linux防火墙开放端口问题 环境安装目录(更新中) Docker安装 ...

  9. 高薪程序员Java面试题精讲系列汇总

    因CSDN没有分类归纳博客的功能,所以特写本帖汇总<高薪程序员面试题精讲系列>教程,方便大家查阅!希望各位小伙伴可以从我的拙作中掌握Java的高频面试题,也希望各位可以多给予指教!目前本系 ...

最新文章

  1. redis主从复制实验,使用ruby
  2. 在虚拟机上linux系统上上网
  3. 点云处理软件Pointscene
  4. android开发常用的颜色值
  5. 【转】C#中相同不同程序集存在相同的命名空间的时候的冲突解决办法
  6. azure云数据库_如何使用SQL Data Sync同步Azure SQL数据库和本地数据库
  7. Spark解决的问题与体系结构
  8. [转载]MySQL各类SQL语句的加锁机制
  9. 2.数据中台 --- 什么是数据中台
  10. Fastlane基础介绍
  11. [RK3399][Android7.1] HDMI Debug
  12. centos 7 64位虚机上android4环境运行
  13. ppt制作弹跳的小球动画效果_PPT制作弹跳的小球动画效果实例教程
  14. ZEMAX | HUD 设计实例
  15. java生成条形码~~使用barcode4j在线生成条形码
  16. Layui数据表格监听单元格编辑恢复原值
  17. xxl-job——简介
  18. jpeg图像质量参数及icc信息提取
  19. 使用js与画布实现小型植物大战僵尸
  20. 相机光学(七)——光源

热门文章

  1. 苏州大学计算机专业课872考研真题1999~2022含答案解析大纲专业课PPT 百度网盘分享 黄金典藏版
  2. 实体门店为什么要做共享股东模式
  3. 智能家居的春天来临 集成商还会在吗?
  4. 顶象App加固——助力微投证券融入IOS生态
  5. 2023养老展/山东养老服务业展/济南老年用品展/老龄产业展
  6. 编写类的步骤编写测试类
  7. Keras深度学习实战(37)——手写文字识别
  8. xboxone硬盘坏的表现_硬盘或移动硬盘认不到时,应该怎样进行故障的检测才正确...
  9. Html网页制作图片选择
  10. Html怎么判断ie5,css怎样判断IE浏览器?