- 浏览: 1741151 次
最新评论
-
xinglianxlxl:
有空看看,谢谢
eclipse经常未响应优化 -
code_xiaoke:
我觉得Lucene版本变化太大!! 对于版本的变动 太巨大了 ...
Lucene使用IKAnalyzer分词实例 及 IKAnalyzer扩展词库 -
jayant-xu:
...
BigDecimal加减乘除运算 -
jayant-xu:
[img][/img]大大
BigDecimal加减乘除运算 -
jayant-xu:
[*]案说法是否
BigDecimal加减乘除运算
文章列表
工厂方法模式和抽象工厂直接理解.
简单理解,抽象工厂是工厂方面模式的升华.在工厂的这个维度来再度扩展.
A.工厂方法
比如说,你的农场现在种植北方的蔬菜和水果.
Factory factory = new 北方农场();
Product product = factory.生产水果();
现在生产出来的产品就是水果(北方农场).
Product veggie = factory.生产蔬菜();
这就是生产蔬菜(北方农场).
B.抽象工厂
现在扩展下,引入大棚可以生产南方的蔬菜和水果了.
扩展工厂.增加一种南方农场的维度.
Factory southFactory = new 南方农场(); ...
面试了两家公司,自我感觉还不错.谈谈自己的感谢吧.老大总说做事要多总结. 在总结中提升自己.
面试了这么多自己也总结了些经验.面试前,做好准备,心里有谱,就不会临阵畏缩.
A公司,电子商务类的.
刚过去给了一个大餐,面试题,全部是逻辑问答题.(只需要描述大致的思路)
1.设计一个程序实现 生死病老 状态转化,比如 生 通过 "生病" 变成 病.
我是用工厂方法的设计模式回答他的.定义人的状态抽象类,里面有 变化的方法,生,死,病,老 实现这个接口. 如果传入的变化能够执行,那么做相应的处理.
2.角色登陆,业务有变更,老师有老师的登陆逻辑,学生有学生的登陆逻辑.
使用工厂 ...
1.前期整体把握不够,很多事情没想到,导致后面就出了一些问题.
2.不完全付出,就不要期待回报.
3.什么才是正确的方式.
4.太忙必定存在问题. (估算时间,没有估计缓存区)
5.多和其他人沟通.
6.自己成长关注不够,成长亮点,老大看不到.
7.做完的代码,老是修改. 导致问题. 写代码的时候,要考虑今后发展.
没想清楚 发现问题回头再改导致加班
详尽设计是一个保证
面对问题,找一个交流, 视野更加开阔.
事情对比,必须有一个明确的数据.
症状:运行一段时间后,通过jconsole查看内存占用。发现内存占用很高。用不了一两天,就报内存溢出。
解决过程:
A.通过review程序,看是否有重大错误.(代码review后,未发现重大问题)
B.通过jprofile 和 jmater对某些页面左性能测试.暴露了一些问题.过滤器,中对图片也进行编码.
C.后来还是有内存溢出的问题.
所以再用jprofile 查. 看不出问题. char[] 占用非常大200多M.
D.之后通过使用Memory Analyzer tool(MAT)工具,分析内存,终于找到问题的根本.
因为访问tomcat目录未被限制访问,访问后tomcat会把目录下所有文 ...
@echo off
if "%OS%" == "Windows_NT" setlocal
rem ---------------------------------------------------------------------------
rem Start/Stop Script for the CATALINA Server
rem
rem Environment Variable Prequisites
rem
rem CATALINA_HOME May point at your Catalina "build" ...
1.选用有意义的注释,用注释描述代码意图和约束,注释不能取代好的代码
2.在性能.商业价值.优雅.生产力几个因素上,没有必要追求所有的最优,开发者需要权衡,合理投入
3.使用渐进的方式来编程,寻找优化点,而不是追求一气呵成,除非有不可辩驳的理由,否则不要使用艰深的技术.模式,使用最简单的解决方案
4.让类的功能尽量集中,让模块尽量小..
5.Liskov替换原则告诉我们:任何继承后得到的派生类对象,必须可以替换任何被使用的基类对象,而且使用者不必知道任何差异.遵循此原则,相对于基类的对应方法,派生类服务应该不要求更多,不承诺更少,要可以进行自由的替换:如果新类可以替换已有的类,并且它们之间的关系 ...
1.一个错误是一次学习的机会而不是指责人的机会
2.面对一次临时改动就能修复的东西,好的表现是多想想,搞清楚它后面的机制,而不仅仅是修复它.不要坠入简单的修复代码中,要花时间保持代码的整洁
3.对事不对人.
4.设定期限,确 ...
JDK5的jconsole(+调试内存泄漏经验介绍 jps/jmap/jstat)
(2010-11-09 09:06:52)
转载
标签:
java
内存
泄漏
经验介绍
it
分类: IT
JDK5的jconsole(+调试内存泄漏经验介绍 jps/jmap/jstat)
jconsole工具介绍
Jconsole(Java Monitoring and Management Console)是从java5开始,在JDK中提供的java监控和管理控制台。用于对JVM中内存,线程和类等的监控。
基本配置
-本文使用java6,SUN JDK1.6.0_03,使用JDK1.5版本使用略有不 ...
package com.taobao.matrix.tbtry;
import java.util.Date;
public class Sizeof {
public static void main(String[] args) throws Exception {
// Warm up all classes/methods we will use
runGC();
usedMemory();
// Array to keep strong references to allocated objects
...
道陵 blog
http://bhshang.com/
t.sina.com.cn/bhshang
webx开源资料,留着以后用.
http://code.taobao.org/trac/Webx/wiki/ZhWikiStart
淘宝秒杀器
http://www.cnblogs.com/yufb/archive/2010/06/15/1758624.html
http://www.ttmiao.com/blog/
天天秒杀器.
试用中心秒杀 出来两天就出秒杀器了.
velocity 大会
http://velocity.oreilly.com.cn/index.php?func=slidesvideos
velocity 大会