我和Java这些年的故事(五)
时光荏苒,我来到了IBM。和慕名已久的WebSphere Application Server(WAS)打起了交道。
之前我搞过Weblogic,对应用服务器的特性有了一定的了解。但WAS无疑更为庞大,复杂。那个年代,WAS在银行、大的企业如华为用友都有一定的应用。
能和如此神圣的中间件打交道,我倍感荣幸。进入WAS部门后,开始接触web service,那时web service和SOA正大行其道。EJB虽然风头已过,但也还是J2EE服务器不可或缺的主体。
我的主要工作是做集成测试,俗称SVT, 还有FVT,在IBM这样的名称多得让人眼花缭乱,以至于新手进去的第一门功课是熟悉各种称谓。测试的目的是找bug,比的是谁发现的bug最多,最有价值,而不是比谁完成得快。人家一个case跑两个月,你跑两周就完事,但你并不会受到称赞,反而会被老外chanllenge。这个道理我后来才明白,因此也对测试工作多了一份了解和敬畏。
那时管理源代码用的是CMVC,一个内部的工具,IBM的clearcase太重,内部貌似用的不多,git还没有流行呢。在CMVC上,我浏览了不少老外写的代码,代码逻辑很清晰,注释详尽,命名合理,唯一就是行数太多,有的达到上万行。我想,这大概是一个个补丁堆叠出来的吧,因为一个文件常常是经历了多个开发者,几年的历史,要重构,时间不允许,代价太大。
业余我也搞搞小工具开发,把java包装成exe,还做了一个内部的知识库系统,没做好,原因是自研,而不是直接采用开源产品。
ERWW和e-trade是两个经典的J2EE应用,代码写得是比较优美的。
也经常去客户那里宣讲web service和WAS使用,当然,最令人头疼的是客户生产系统上遇到的各种疑难杂症,如内存泄露,事务问题。刚开始,我对OOM工具使用还不太熟练,也遇到一些尴尬的时候。
同事鹏涛开发了一个JVM问题诊断工具,我也不甘其后,开发了一个wsadmin图形化工具,用来方便得管理多个was环境,便在其上执行wsadmin脚本。可惜没有推广使用起来。
当时觉得IBM的工作环境、氛围是很不错的,谁料到外面的世界正在悄然变化呢?以阿里为代表的一些国内公司正在迅速崛起。甚至今日头条、饿了么、美团也开始崭露头角,而我浑然不知。
我和Java这些年的故事(五)的更多相关文章
- 20145205 《Java程序设计》实验报告五:Java网络编程及安全
20145205 <Java程序设计>实验报告五:Java网络编程及安全 实验要求 1.掌握Socket程序的编写: 2.掌握密码技术的使用: 3.客户端中输入明文,利用DES算法加密,D ...
- JAVA GC之标记 第五节
JAVA GC之标记 第五节 OK,我们继续昨天最后留下的问题,什么是标记?怎么标记? 第一个问题相信大家都知道,标记就是对一些已死的对象打上记号,方便垃圾收集器的清理. 至于怎么标记,一般有两种方 ...
- Java反射的小故事
Java反射的小故事: 首先定义一个Java类 package com.xiaoysec.test; public class Person { private String name; privat ...
- java之jvm学习笔记五(实践写自己的类装载器)
java之jvm学习笔记五(实践写自己的类装载器) 课程源码:http://download.csdn.net/detail/yfqnihao/4866501 前面第三和第四节我们一直在强调一句话,类 ...
- JAVA之旅(十五)——多线程的生产者和消费者,停止线程,守护线程,线程的优先级,setPriority设置优先级,yield临时停止
JAVA之旅(十五)--多线程的生产者和消费者,停止线程,守护线程,线程的优先级,setPriority设置优先级,yield临时停止 我们接着多线程讲 一.生产者和消费者 什么是生产者和消费者?我们 ...
- “全栈2019”Java多线程第三十五章:如何获取线程被等待的时间?
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...
- Java反射机制demo(五)—获得并调用一个类中的方法
Java反射机制demo(五)—获得并调用一个类中的方法 这个demo在使用反射机制操作属性之前,主要原因是因为在.class文件字节码中,方法排在属性的前面. 1,获得一个类中的方法 先看一下方法和 ...
- 20145221 《Java程序设计》实验报告五:网络编程及安全
20145221 <Java程序设计>实验报告五:网络编程及安全 实验要求 掌握Socket程序的编写 运行TCP代码包,结对进行,一人服务器,一人客户端 掌握密码技术的使用 利用加解密代 ...
- Java 设计模式系列(十五)观察者模式(Observer)
Java 设计模式系列(十五)观察者模式(Observer) Java 设计模式系列目录(https://www.cnblogs.com/binarylei/p/10198698.html) Java ...
- Java 设计模式系列(十五)迭代器模式(Iterator)
Java 设计模式系列(十五)迭代器模式(Iterator) 迭代器模式又叫游标(Cursor)模式,是对象的行为模式.迭代子模式可以顺序地访问一个聚集中的元素而不必暴露聚集的内部表象(interna ...
随机推荐
- How to Use Arrays and Vectors
array it needs a constant value const int seq_size = 18; int pell_seql[seql_size]; //defined a const ...
- Python算法教程_中文版书籍 程序员必备 免费下载
Python算法教程_中文版免费下载地址 提取码:55kh 内容简介 · · · · · · 本书用Python语言来讲解算法的分析和设计.本书主要关注经典的算法,但同时会为读者理解基本算法问题和解 ...
- promethues【centos7】时间同步
Promethues和Grafana展示的监控突然消失了,服务器检查发现没什么异常. 当打开promethus网页后,发现有一个错误提示: Warning! Detected 60.44 second ...
- # huawei--流策略+NAT+单臂路由
huawei--流策略+NAT+单臂路由 项目要求: 公司内部有两个网段,分别为192.168.1.0/24和192.168.2.0/24,使用路由器R1实现单臂路由,并配置流策略,使192.168. ...
- software_programming
2020-04-04 12:05:43 todo list Java8 实战2> chapter2 行为参数化 业务逻辑的隔离 DSL
- leecode75. 颜色分类
75. 颜色分类 给定一个包含红色.白色和蓝色.共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色.白色.蓝色顺序排列. 我们使用整数 0. 1 和 2 分别表示 ...
- 安装jdk,tomcat,oracle,PL/SQL的一些问题
仅限于自己学习使用 新进公司,需要安装jdk1.6,tomcat6, oracle和pl/sql 先是jdk1.6,安装后配置环境变量,都在系统变量里,在cmd,分别打出 java -version, ...
- 15、java递归解决迷宫问题
递归真是一个.看着简单,听着简单,写不出来,想不到.以前也不是不理解递归,也不是看不懂递归的代码,但说实话真的很难想到自己去用这个递归也很难理清楚这个递归到底从哪里开始到哪里结束,将哪个步骤作为 一个 ...
- go语言学习教程
go语言学习教程 集合了连接go routine.go连接redis.go连接kafka等示例 https://github.com/fastbpmn/go-study TRANSLATE with ...
- 【转载】synopsys中工具介绍,VCS,DC,PT等
https://blog.csdn.net/fangxiangeng/article/details/80981536