我和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 ...
随机推荐
- Mybaits属性和元素
元素有select . insert . delect . updatae属性有: restType:主要用于查找返回的结果类型 parameterTpye:主要用于增删改返回的结果类型 以下关于re ...
- vmware网络连接
vmware提供桥接模式网络连接.网络地址转换 (NAT).仅主机模式网络连接和自定义网络连接选项,用于为虚拟机配置虚拟网络连接.在安装 vmware 时,已在主机系统中安装用于所有网络连接配置的软件 ...
- JAVA操作Mongo 数组模糊查询
引入mongo-java-driver-3.0.4 jar 工具类 //mongodb 连接数据库工具类public class MongoDBUtil { //不通过认证获取连接数据库对象 publ ...
- maven上传jar包或pom文件到远程仓库
一. 步骤 有时候,项目中打好的jar包或pom文件需要上传到远程仓库,步骤总结如下: 安装好maven,网上有很多教程,默认已安装 工程中的settings.xml增加相应的server账号密码: ...
- PageHelper大致逻辑
简单涉及以下几个类: PageHelper PageMethod PageParam PageInterceptor implement Interceptor PageHelperAutoC ...
- Angular 依赖注入的错误 NullInjectorError, No provider for XXX
一.在module的providers区域里,为pipe维护具体的实现类 二.如果不想改动module.ts,可选择直接在组件中注入
- 关于精准UWB人员定位系统解决方案
WB技术, 目前主要应用在室内定位.人员定位系统等定位领域.近年来被应用在无线定位和雷达测距应用中,因此作为民用雷达和民用测距取得了较快的发展.而今天,我们主要要来介绍的产品就是UWB技术的芯片DW1 ...
- .net core 添加省市区三级联动以及编辑时显示选中的城市。
1 @model Core.Net.Model.CoreNetBuild.CoreNetPrejectAllocation; 2 @using Core.Net.Common.Core.Net.Cor ...
- shell_Day04
grep程序 Linux下有文本处理三剑客 -- grep sed awk grep:文本 行过滤工具 sed: 文本 行编辑器(流编辑器) awk:报告生成器(做文本输出格式化) grep 包含三个 ...
- 商城登录/三方登录OAUTH2/单点登录