`
文章列表
引子:成都有Qclub,OpenPartyChengdu等社区组织,虽然我在公司也宣传了这些社区组织的一些活动,但是去参加的人也就几个平时比较活跃的同事,可能也是因为这两个组织每次活动的地点都在软件园造成的吧。某次睡醒无事,思索 ...
4月15号在公司给大家分享了下Hotspot的内存管理和分析工具,以下是分享内容: Java运行时数据区 HotSpot是JDK默认的虚拟机实现。 根据《Java虚拟机规范》,得知Java运行时数据区由下图组成: PC(program counter)寄存器:每一条 Java虚拟机线程都有自己的 PC(Program Counter)寄存器,PC 寄存器用于保存 Java 虚拟机正在执行非native方法的的字节码指令的地址。 JVM Stack:java虚拟机栈,每一条 Java 虚拟机线程都有自己私有的 Java 虚拟机栈,java虚拟机栈用于存储栈帧。 Native M ...
这段时间在抽空学习scala,学肯定就要先把IDE装好,选择就是Eclipse scala ide插件,http://scala-ide.org/ 安装好打开pom文件: 看detail报如下异常: java.lang.NullPointerException at org.eclipse.jface.preference.PreferenceConverter.getColor(PreferenceConverter.java:205) at scala.tools.eclipse.util.EclipseUtils$PimpedPreferenceStore.getColor(E ...
            第二部分第二篇关于第二部分剩余部分,包括Module,Aggregate,Factory,Repository.          Module作为一种粗粒度的建模和设计元素,在Module内部应该是高内聚的,Module之间应该是低耦合的。系统的领域模型通常可以分为几个Module,比如电子商务的领域就可以大致分为商品,订单,促销,支付,库存等Module。          Aggregate通过定义清晰的所属关系和边界,并避免混乱,错综复杂的对象关系网来实现模型的内聚。Aggregate就是一组相关对象的集合,作为数据修改的单元。每一个Aggregate具有 ...
第二部分:模型驱动的构造块  先截一张图来说明下这部分的大致内容          通过Layered Architecture将系统划分为用户界面层,应用层,领域层,基础设施层,从而将模型隔离在领域层中。用户界面层或者说表示层用于展示系统用户所能看到的界面等,应用层用于调用领域层的对象来解决一些业务问题,显示一些任务状态等,应用层不应包含业务逻辑。领域层是真正反映业务实质的层,应包含业务规则与业务知识,是软件的核心。 MVC模式就是一种将应用层与领域层分开的一种设计模式。          与model-drive design对应的一种模式叫做smart-ui,smart-ui是 ...
第一部分:让领域模型发挥作用 从一个PCB的专用软件工具的设计为例,逐步的与领域专家交谈,得到一个适用的模型,从这个例子中,作者描述出了与领域专家一起消化知识提炼模型的过程。 当开始编写软件时,其实我们知 ...
23 条:不要在新代码中使用原生态类型          Java 1.5 加入了泛型,即类型参数,在 1.5 之前可以将任意对象放入集合中,所以在从集合中取出来的时候都需要做强制类型转换,这就有可能导致 ClassCastException 。 1.5 加入泛型后,就得到了在编译期间检查的好处了。虽然在运行时泛型会做擦除,泛型的目的应该还是减少 ClassCastException 和一些表述上的优势。比如 List<Date> 就是存放 Date 的一个 list ,而在 1.5 以前就是一个 List ,可以放任何东西, ...
第三章 对于所有对象都通用的方法 第8条 覆盖equals时请遵守通用约定 一般来说,没有逻辑相等的概念的时候都不要覆盖equals方法。或者说超类已经提供的符合子类equals的方法。当然,类时私有的也不应该覆盖。 覆盖equals方法的情况一般会是“值类(value class)”。覆盖equals方法时应该遵守它的通用约定:
  今天开始看Effective Java 2nd,坚持每天抽大概2小时来看,每天30页左右,看完后写读书笔记。 第二章 创建和销毁对象        第1条 考虑用静态工厂方法代替构造器        此处静态工厂和设计模式中的工厂模式并不能直 ...
接触过sql的人都知道,sql里面有一些内置函数,比如count(),sum(),max(),min()等。今天先学习一下mysql中一些日期函数:   函数 描述 NOW() 返回当前的日期和时间 CURDATE() 返回当前的日期 CURTIME() 返回当前的时间 DATE() ...
4月份在做一个项目的时候,本机开发环境是windows,我在本机装了一个resin3.1.11,项目打包放入resin目录中webapp里面,启动,正常运行。然后呢,我就想在linux下面测测性能,然后就在公司内网的一个linux环境里面装了resin3.1.11,死活启不了,看了日志后,resin竟然找不到spring配置文件,我就纳闷了都是resin3.1.11,为什么windows能正常启动运行,linux下面就不行了。。。上百度搜了搜,果然有同样遭遇的人: 原web.xml ,spring配置部分classpath:aplicationcontext-*.xml 在classpa ...
5月份的时候在做一个HTTPSQS(HTTP Simple Queue Service )的应用开发的时候遇到了这个异常Software caused connection abort: recv failed,百度了一下发现如下说明:   software caused connection abort: recv failed java.net.SocketException: Software caused connection abor ...
Eclipse选中变量名,相同变量都变色显示 的设置: java文件的设置"Window"-"preferences"-"Java"-"Editor"-"Mark Occurrences"复选框勾选 js文件的设  置"Window"-"preferences"-"web"-"javascript"-"Mark Occurrences"复选框勾选 。   其实eclipse中有很多方便我们编程 ...
写过servlet的人都知道,可以通过HttpServletResponse中的getWriter方法获取对客户端的输出流,但是如果在调用getWriter之前未设置编码(既调用setContentType或者setCharacterEncoding方法设置编码),HttpServletResponse则会返回一个用默认的编码(既ISO-8859-1)编码的PrintWriter实例。这样就会造成中文乱码。而且设置编码时必须在调用getWriter之前设置,不然是无效的。比如:   PrintWriter out = resp.getWriter();resp.setContentType( ...
jstl中内置了一些处理字符串的常用函数,要使用这些常用函数呢,需要在jsp文件开头处加入一段代码: <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> 然后在jsp中调用函数的方式:${ns:methodName(args....)}  其中ns对应上段代码中声明的prefix 即fn。 有了这些函数就可以省去一些代码。比如不必将某些不是string的变量转换成string,就可以直接用这些函数做一些字符串的处理。看起来也比< ...
Global site tag (gtag.js) - Google Analytics