- 浏览: 23873 次
- 性别:
- 来自: 重庆
文章列表
WinClub第一期-常用工具的使用技巧
- 博客分类:
- WinClub
引子:成都有Qclub,OpenPartyChengdu等社区组织,虽然我在公司也宣传了这些社区组织的一些活动,但是去参加的人也就几个平时比较活跃的同事,可能也是因为这两个组织每次活动的地点都在软件园造成的吧。某次睡醒无事,思索 ...
浅析HotSpot内存管理与分析工具
- 博客分类:
- java
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,就可以直接用这些函数做一些字符串的处理。看起来也比< ...