- 博客(14)
- 收藏
- 关注
原创 关于发布的问题
问题一般可以从两个方面考虑解决方案:管理和技术;管理层面通过制定流程和规则规范人的行为;技术层面通过一定的技术尽量把人解放出来;很多时间单以管理或技术都难以达到效果,必须双管甚至多管齐下,现在我们面临的发布问题目前就是这样一种情况。自从09年进公司到现在,发布上的问题个人觉得还是有所改善,记得当时经常发布搞到晚上十点十一点那是太正常的事情,而且我们的配置管理同学也会不厌其烦的把那些发布...
2011-07-07 13:11:59
175
原创 软件随想
软件是什么东西? 一个从人开始从人结束的东西:由人提出需求、人进行系统分析、设计和编码,人进行测试和维护,人直接或间接的使用软件提供的服务;整个过程都没有离开人,所以软件的问题本质上就是人的问题。关于软件的价值: 软件最大的价值在于能够无限期、无次数限制的使用也不会坏掉。而且一旦开发出来其快速再生产(拷贝)的能力使其几乎没有成本。这样看上去软件似乎很完美但问题是软件是给人用...
2011-04-20 08:55:43
136
原创 NAT与ARP小结
不同负载均衡方式对网络结构和网络服务器配置有不同的要求,下面两个是与之关系比较紧密的技术。下面分别简要介绍各自原理和工作过程: NAT(Network Address Translation)网络地址转换,主要针对IP v4地址不足提出的一种应对办法。其基本思想是为某个公司或单位分配一个或少量IP地址用于传输Internet流量,而在公司内部每台机器有自己的内部IP,内部机器之间通过内部...
2011-04-19 22:36:33
1228
原创 jdk与jre的区别
今天看HashMap的源码有一处地方不是特别明白,于是在eclipse中想通过调试观察HashMap的运行状态。可是一执行到HashMap里面IDE就提示:无法设置断点。原来我的eclipse中执行环境默认设置的是jre路径,只要改成JDK路径就可以正常调试了。这是因为默认在jre的jar包中编译的debug开关应该是关闭的,因此class文件中没有包含支持调试的数据如行号等,所以无法支持...
2011-01-05 22:59:06
94
原创 错综复杂的依赖关系
传说中的“六度分隔理论”说最多只要通过六个不同的朋友,就可以联系到世界上所有其他不同的人。即任何人只要通过六个不同的其他人就可以跟任何其他人建立联系。这个所谓的六度理论如果应用到jar包依赖上,却是一个非常恐怖的事情。试想如果你依赖了六个不同的jar包,而通过这些jar你依赖到全世界所有其他的jar包去了,那就真的挂了。 当然上面只是一个玩笑,但是现实情况我们的jar依赖也很复杂,...
2010-11-18 22:20:06
252
原创 Numerical Comparison
网上看到的一句不错的打油诗:锄禾日当午,不如coding苦,对着C++,一调一下午。 以下内容摘自Java Language Specificaton 3rd:503页:Numerical Comparison Operators =The type of each of the operands of a numerical comparison operator mu...
2010-11-18 21:58:36
267
原创 单例实现方式总结
单例模式即确保一个类只有一个实例,并提供一个对实例的全局访问点。Java语言中实现的关键是静态实例变量和私有构造方法;按照构造实例时机不同分为:饿汉式和饱汉式。饿汉式:public class EagerSingleton{ private static EagerSingleton singleton = new EagerSingleton();...
2010-10-18 19:07:58
106
原创 框计算
宏观计算方式:单机计算,分布式计算,网格计算,云计算,框计算; 微观计算方式:指令,语句,函数,对象,构件组装,服务组装; 软件工程视角:需求分析与理解,架构设计与实现,测试与维护; 数据流:正反馈系统:从框计算定义看,主要做的事情就是:需求理解--->资源整合--->最终用户需要的服务。框计算框架最主要就是要做到按需计算,而这一概念在软件工程...
2010-10-17 00:01:26
170
原创 The "Double-Checked Locking is Broken" Declaration 翻译
这是原文地址:http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html,里面涉及到了很多方面的技术:多核,多处理器,JMM,JVM等。第一遍翻译有点粗糙,翻译不正确或不准确的地方大家帮忙指正下,后面第二遍我再修饰下。这篇文章主要讲述的是多线程环境下,如何通过双检锁的方式来实现对象的延迟加载或初始化。其实任何技术...
2010-09-13 08:41:13
188
原创 Abstract、Virtualization and Servicing
抽象、虚拟化、服务化虽然是三个不同的词,但是本质上它们是为了同一个目标,即可复用的结果。复用是软件开发一直追求的目标,各种软件技术也都是为了更好的复用而设计。进程是对CPU的抽象,逻辑地址空间是对物理内存的抽象,正是通过抽象实现了多个系统任务“并行”的跑在一个CPU上;虚拟机通过对物理机器的抽象,实现了多个系统同时跑在一个物理机器上。抽象的好处是显而易见的,忽略繁琐的细节留下最本质的东西...
2010-09-08 12:35:37
109
原创 Java常见序列化与反序列方法总结
人和电脑在很多方面都是十分相似的,大脑可以看成电脑主机,五官/身体等表面器官就是显示器、鼠标等外设。这篇文章就是想把计算机跟人做类比YY一下序列化和反序列化的机制、用途。 如果你是初学者,心里肯定会问究竟什么是序列化/反序列化?其实我现在正在序列化而你正在反序列化:我在写这篇博客的时候就是把大脑中的想法和思想经过梳理写成连续的文字,这就是序列化,而你在读这篇博客的时候把...
2010-09-05 06:44:30
126
原创 Java内部类使用和说明
内部类:定义在其他类里面的类。使用内部类的理由:1.内部类方法能够访问外部类的任何数据成员包括私有成员。2.对同一个包的其他类,内部类是不可见的。3.匿名内部类能够方便的定义回调而不用写太多方法。非静态内部类没有默认的构造函数,非静态内部类的构造函数都有一个外围类对象的引用。内部类的特殊语法规则:1.相对内部类,引用其外部类隐式对象的形式:OuterClass.this2.调用内部类的构造函数...
2010-09-03 06:55:39
162
原创 WebX Control模板清理工具简介
随着业务不断变化,项目代码很多东西也要随之进行调整或者说重构比如:文件命名跟业务不符甚至造成混淆,文件存放路径不合理等。对于强类型的Java语言进行文件重命名或包结构调整是很简单的事,IDE能够帮我们搞定一切。如果调整的是页面模板,要保证不出错我们必须格外小心谨慎。为了尽量减少出错的可能我们可以开发一些小工具按照指定的规则帮我们检查错误。在重构项目中,主要针对Webx的control.vm进行...
2010-08-23 09:19:27
124
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人