代码架构
nannan408
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
代码重构经验总结
由于重构直接关系到代码的质量,所以重构必须得到应有的重视。本文主要针对java重构,由于c#可能与java不一样,但我想思路应该差不多,可酌情看下. 1.重构在项目中扮演什么角色? 答:重构与代码功能编写同样重要,重构关心的是代码的质量,代码功能编写注重的是代码的功能实现,两者相辅相成。 2.重构需要在什么时候进行,原则是什么? ...2010-03-14 15:53:00 · 291 阅读 · 0 评论 -
架构师之enum枚举之(一)-----------如何判断枚举和字符串相等(最简便方法)
1.前言. 如题.2.代码.(1)代码串[code="java"]public class EnumTest { enum A { a, b, c, d; } public static void main(String[] args) { A aa = A.valueOf(A.class, "a");...2015-03-20 10:47:11 · 6417 阅读 · 1 评论 -
架构师之jdk的bug排查(一)---------------split的点号陷阱
1.前言. jdk1.6的lang包的split方法是有bug的,它不能有效识别A.b.c这种类型,导致截取长度始终是0.而对于其他字符,则无此问题.不知道官方有没有修复这个bug.2.代码[code="java"]String[] paths = "object.object2.prop11".split("'");System.out.println(paths.len...2015-03-20 15:01:52 · 204 阅读 · 0 评论 -
架构师之enum枚举之(二)--------直接判断String是否属于枚举中的一个
1.前言。 如题。2.代码。[code="java"]enum EnumExample { Teamreq,Matreq;}public class EnumTest { public static void main(String[] argc) { String str = "Matreq"; ...原创 2015-03-22 21:17:36 · 4009 阅读 · 0 评论 -
架构师之数字判断-----------------怎么判断一个字符串是个数字
1.前言. 如题.2.代码.[code="java"]方法1:public class NumberDemo { public static void main(String[] args) { String str1="1122.2.2"; String str2="111"; String str3="111.2"; String str4=...原创 2015-03-24 14:43:55 · 162 阅读 · 0 评论 -
架构师之mybatis-----timestamp转date丢失精度问题
1.前言. 如题.2.问题描述. 如果mapper.xml里面配置的查询结果类型是DATE,java端也是DATE那么保存的时候很容易丢失精度,导致保存的时候时间可能形如2015/3/23.3.解决方案. mapper.xml里面的时间都改为TIMESTAMP,形成良好习惯,即使java端是date,也不会在过程中丢失精度....2015-03-26 14:53:34 · 1244 阅读 · 0 评论 -
架构师之json-----------通过path查找指定数据
1.前言 如题。2.代码. [code="java"]import org.apache.commons.lang.StringUtils;import org.apache.log4j.Logger;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject...原创 2015-03-31 14:29:45 · 1199 阅读 · 0 评论 -
架构师之jetty使用----------------问题集锦
1.前言. 如题.2.问题描述. (1)com.opensymphony.xwork2.config.ConfigurationException: key:error.load.failed,jetty永远不能正常启动,正常进入servlet? 这是jdk造成的,项目全部把jre用jdk替换,包括jetty的运行环境,jettyjdk环境,eclipse环境最好和电脑jdk...2015-05-27 10:11:05 · 188 阅读 · 0 评论 -
架构师之bean---------------bean之间的数据copy
1.前言. 如题,bean不能强转,只能对应转换.一共有三种常用方法.2.代码. (1)BeanCopier[code="java"]public class AccountEntity { private int id; private Timestamp createTime; private BigDecimal balance; // Getter...原创 2015-06-01 18:05:47 · 206 阅读 · 0 评论 -
架构师之hibernate-------------------mysql类型对应java转换
1.前言. 如题.2.代码. [code="java"]Hibernate基本数据类型。(其中,boolean,yes_no和 true_false对应Java中的java.lang.Boolean)。 映射类型 Java类型 标准SQL字段类型 integer int or java.lang.Integer INTEG...原创 2015-06-02 18:29:31 · 185 阅读 · 0 评论 -
架构师之jdk8-------------------集合互相转换集锦
1.前言. 如题.这里主要介绍list,map等常用集合的jdk8新特性.2.例子. (1)list和list转换. stream().map,实现直接用另外一个list生成本list.不需要写很多代码[code="java"]List test= new List();//自己赋下值 if (test!= null && !test.isEmpty())...2015-06-04 11:34:08 · 195 阅读 · 0 评论 -
架构师之jdk8-----------------ConcurrentHashMap快速构建本地缓存和单例模式
1.前言。 本地缓存和复杂的单例写起来不仅效率低下,而且费时。ConcurrentHashMap+computeIfAbsent使得可以直接快速构建。2.例子. [code="java"]import java.util.HashMap;import java.util.HashSet;import java.util.Map;import java.util.c...原创 2015-06-04 15:33:29 · 772 阅读 · 0 评论 -
架构师之maven(三)---------junit测试可能遇到的问题
[color=blue][b]1.前言.[/b][/color] 如题.[color=blue][b]2.代码.[/b][/color][color=blue](1)类型转换错误[/color](1)问题描述[code="java"]org.mybatis.spring.MyBatisSystemException: nested exception is org.apa...2015-03-18 10:31:51 · 153 阅读 · 0 评论 -
架构师之maven(二)junit4.11+spring4.1的测试配置
1.前言. maven的junit测试是需要遵守一些规则的.2.步骤. (1)src和test的文件和class目录最好是默认的. (2)spring4的包不要少了 . (3)BaseTest写法.[code="java"]import org.junit.Test;import org.junit.runner.RunWith;import org....2015-03-16 17:15:25 · 276 阅读 · 0 评论 -
spring官方下载地址
SPRING官方网站改版后,建议都是通过 Maven和Gradle下载,对不使用Maven和Gradle开发项目的,下载就非常麻烦,下给出Spring Framework jar官方直接下载路径:http://repo.springsource.org/libs-release-local/org/springframework/spring/spring 4.0.x(Spring...原创 2015-03-16 10:10:05 · 163 阅读 · 0 评论 -
代码重构经验1(引用)
1.重构要求:1)安全第一,尤其是关键部分,应先做出一demo,各环节正常测试运行后无缝割接。 周五和下班前提交更要小心,更改后的代码一定要及时放cvs,并在提交时注明修改的地方或原因,告同组的项目组员。 2)重构要先有接口测试,重构后必须保证通过接口测试,因为现在的系统是一个正常运行的系统,如果把未测试通过的代码放服务器,势必会给公司带来损失。...原创 2010-02-19 13:41:04 · 314 阅读 · 0 评论 -
代码重构之浅谈代码重构(引用)
开发人员可能听到过"bad smell"这个词,这个词用在软件编码中是什么意思呢? 代码还有smell吗?当然没有,正如计算机病毒,bug等词一样,这只是个形象的说法。这个词在这里的意思是代码实现了需求,但是代码却不精炼,冗余,结构混乱,难读懂,难维护,难扩展等等。与之相对应的一个词是"refactor",即代码重构。我们在看些外国人写的程序时可以发现,他们的代码里一般会定义大量的类、接口、方法,...原创 2010-02-19 13:54:06 · 152 阅读 · 0 评论 -
Java设计模式之Adaptor适配器(引用)
字号:大 中 小 Java设计模式之Adaptor适配器。定义:将两个不兼容的类纠合在一起使用,属于结构型模式,需要有Adaptee(被适配者)和Adaptor(适配器)两个身份.public interface IRoundPeg{ public void insertIntoHole(String msg);}public interface ISq...原创 2010-02-19 14:27:13 · 189 阅读 · 0 评论 -
Ehcached等与Oscached的比较
1.前言. j2ee可以有很多Cache策略,Ehcached,memcached,oscached,redis等,总体来说,其他的都优于,oscached.2.具体内容。 因为oscached不支持分布式,不支持异步缓存,不提供批量缓存条目的接口,并且有NeedsRefreshException(当缓存条目过期或者不存在的时候,抛出异常,会将此时的key死锁。这个时候需要调用p...2013-05-22 16:05:54 · 221 阅读 · 0 评论 -
让ie6,7,8支持canvas,css3等主流html5技术
[b]1.前言。[/b] ie6,7,8支持html5,看起来比较难,其实有一种方法很通用,就是引入js和css,这种可插拔的引入对开发很有帮助。比如,下面是一个让网页支持canvas和css3的例子。[b]2.例子。[/b]下面是一个在canvas画布中显示一个红球的例子的html.[code="java"] fewfwe body {...2013-06-18 13:02:41 · 335 阅读 · 0 评论 -
axis2-如何已知uri或者xml生成客户端?
[b]1.前言[/b] 首先,需要下载axis2工具包,见附件,我这里是axis2-1.5.3的版本,axis2的官网http://axis.apache.org/axis2/java/core/download.cgi也可以直接下载,下面是配置步骤。[b]2.步骤[/b] (1)配置环境,首先jdk必须在环境变量中有,jdk的配置省略。除开jdk,还需要配置axis2的环境变量。...2013-11-06 10:23:13 · 309 阅读 · 0 评论 -
架构必知的一些架构术语(持续更新)
[b]1.SOA和SOAP[/b] 最大区别是一个是架构,一个是基于xml的对象传输协议。百度上是这样解释的: SOA,即面向服务的体系结构(Service-Oriented Architecture,也叫面向服务架构),是指为了解决在Internet环境下业务集成的需要,通过连接能完成特定任务的独立功能实体实现的一种软件系统架构。SOA是一个组件模型,它将应用程序的不同功能单元(称...2013-02-24 23:00:22 · 702 阅读 · 0 评论 -
hibernate 一级和二级缓存使用总结
hibernate的缓存分为一级缓存和二级缓存,一级二级和我们常说的cpu的一级二级是不一样的。这里的一级说的是session的缓存,是hibernate内置的,不能卸载。二级说的是SessionFactory中的外置缓存,SessionFactory的内置缓存是放映射数据和sql语句的,程序不能更改,也不算二级缓存。二级缓存可以配置和更改,并且动态加载和卸载。Hibernate还为查询结果...原创 2013-02-28 20:16:31 · 189 阅读 · 0 评论 -
spark+hadoop+cenos6.5+VitualBox4.3.6整合开发(一)安装centos6.5
[b]1.前言。[/b] 首先先感谢cctv和http://zhouchunyan500.blog.163.com/profile/这位叫白开水的成都女生。 vmware商业气味越来越浓,以至于我开始怀疑其是不是研究性企业。果断放弃vm转投vbox。网上资料很少,走得多了,自己的小道就成了路。开搞。[b]2.如何在virtualbox里面安装centos[/b] (1...2014-01-17 10:04:44 · 133 阅读 · 0 评论 -
linux集群之----------设置磁盘缓冲参数
1.前言。 如题。linux磁盘参数调优,要以集群目的为依据,如果强调安全,那么要适当降低写缓冲。如果强调写速度,那么要加大写缓冲。 2. 摘录。 [code="java"]一、2.6内核下/proc/sys/vm/dirty_ratio这个参数控制文件系统的文件系统写缓冲区的大小,单位是百分比,表示系统内存的百分比,表示当写缓冲使用到系统内存多少的时候,开始向磁盘...原创 2014-07-29 10:59:02 · 342 阅读 · 0 评论 -
架构师之Dos命令之setx-------常用来设置系统环境变量
1.前言。 如题。2.内容。用法为形如 [code="java"]@SETX PATH "%%JAVA_HOME%%\bin" [/code] 默认是用户变量,如果要为系统变量,则形如:[code="java"]@SETX PATH "%%JAVA_HOME%%\bin" /M[/code]3.注意事项。(1)setx的执行需要setx.exe,...2014-08-25 10:19:21 · 1092 阅读 · 0 评论 -
java 序列化和反序列化(针对字符串的例子)
1.前言. 摘自:http://blog.youkuaiyun.com/linminqin/article/details/76542762.例子.[code="java"]package lmiky.test.obj;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;impor...原创 2014-11-04 14:09:20 · 528 阅读 · 0 评论
分享