- 博客(55)
- 资源 (6)
- 问答 (4)
- 收藏
- 关注
转载 Java内存管理机制【转载】
转载地址: http://www.cnblogs.com/qq78292959/archive/2011/07/25/2116123.htmlJava内存管理机制在C++语言中,如果需要动态分配一块内存,程序员需要负责这块内存的整个生命周期。从申请分配、到使用、再到最后的释放。这样的过程非常灵活,但是却十分繁琐,程序员很容易由于疏忽而忘记释放内存,从而导致内
2012-10-16 13:02:51 1000
转载 jdk与jre的区别
转载链接:http://www.cnblogs.com/myitm/archive/2011/05/03/2035942.htmljdk与jre的区别很多程序员已经干了一段时间java了依然不明白jdk与jre的区别。JDK就是Java Development Kit.简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Sof
2012-09-26 13:06:39 711
转载 java serialVersionUID作用
serialVersionUID作用: 序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性。有两种生成方式: 一个是默认的1L,比如:private static final long serialVersionUID = 1L; 一个是根据类名、接口名、成员方法及属性等来生成一个64位的哈希字段,比如: p
2012-09-26 12:52:18 751
原创 java单元测试 java.lang.OutOfMemoryError: Java heap space
eclipse运行个单元测试都内存溢出了:看了下,单元测试加载的bean太多了,ca....问题的根源是jvm虚拟机的默认Heap大小是64M,可以通过设置其最大和最小值来实现..设置下JAVA_OPTS=-Xms512m -Xmx512m就可以了。
2012-09-06 19:37:06 1419
转载 Sublime Text 2 注册码/破解方法
Sublime Text 2 是一款非常不错的代码编辑器,特别是UI界面和速度。但这也意味着这款软件的售价达到了50美元左右。虽然它也是一款免费的软件,但免费版的会不定期弹出付费购买页面。最近在网上找到一些资料,介绍一下Sublime Text 的破解及注册方法。最新Sublime Text 2.0.1 2217 版本破解注册方法:准备工具:十六进制编辑器,这里以Win
2012-09-03 12:44:01 3130 1
原创 保存一个package的存储过程的实例
保存一个package的存储过程的实例,以备后用package:create or replace package pkg_sync_XXXXXXXXXXXXXX_migrate is/** Created : 2012-4-16 14:12 description :**/--入口1:全量同步XXXXXXXXXXXXXXprocedure proc_sync_
2012-09-01 16:19:04 1974
原创 oracle里判断一个字段是不是数据或者字符串
用oralce里的translate函数:其语法如下:TRANSLATE ( expr , from_string , to_string )简单的说就是对expr内容,用to_string中的字符逐一替换from_string 中的字符比如:select translate('99999999999999', '\1234567890', '\') from dual;返回的是
2012-09-01 11:10:27 2261
原创 oracle sleep函数
SQL> declare v_count number:=0; begin for cc in (select * from test_map where rownum<10) loop dbms_output.put_line(cc.id||'->'||sysdate); dbms_lock.sleep(5);
2012-09-01 11:01:28 15281
原创 jar包下MANIFEST.MF 中的 Class-Path 设置
1. 基本格式 属性名称+:+空格+属性值 2. 没行最多72个字符,换行继续必须以空格开头 3. 文件最后必须要有一个回车换行 4. Class-Path 当前路径是jar包所在目录,如果要引用当前目录下一个子目录中的jar包,使用以下格式 子目录/xxx.jar 子目录/yyy.jar 技巧:多个jar包的引用,可
2012-08-29 12:52:18 41064 2
原创 maven引用JDK里的tools.jar时出现的问题
引用JDK里的tools.jar时出现的问题 为了解决tools.jar无法找到的问题,在pom.xml中加入如下配置信息: com.sun tools 1.6 system ${JAVA_HOME}/lib/tools.jar
2012-08-29 09:48:42 7169 1
翻译 构建自己的监测器【7】-Java Interactive Profiler 翻译文档
JIP是一个代码剖析工具非常类似于JDK附带的hprof工具。它的特点包括: 1.交互性,允许你在JVM运行过程中随时启动或结束剖析器而hprof是在程序启动时就开启JVM退出时结束。 2.没有本地代码,大部分剖析器都有一些本地组件(native component)因为这些剖析器使用了需要利用本地组件的JVMPI (Java Virtual Machine Profiling Interfa
2012-08-09 22:34:05 3986
原创 构建自己的监测器【6】-agentmain方式
在前面的一些例子中,已经用到了jdk5中premain和instrumentation的一些基本用法,给了我们很多惊喜,相当的给力。不过也有一些不方便的地方,由于其必须在命令行指定代理jar,并且代理类必须在main方法前启动。因此,要求开发者在应用前就必须确认代理的处理逻辑和参数内容等等,在有些场合下,这是比较困难的。比如正常的生产环境下,一般不会开启代理功能,但是在发生问题时,我们不希望停止应
2012-07-29 21:33:53 3974
原创 构建自己的监测器【5】-javassist
在前面的一些例子中,已经用到了javassist的一些功能,这里再补充一些,有些是从网上考来,有些例子自己写写。javassist和ASM很像,我没有很深的接触过ASM,只看过简单的例子,但是已经感觉很复杂了,要和字节码打交道,可不是好玩的事情。javassist和 asm都是动态创建、修改字节码的类库。我感觉主要区别是: asm的性能要好一些。javass
2012-07-29 19:45:20 3179
原创 构建自己的监测器【4】-java -D参数使用
java中可以传入的一个参数:-D ,它的说明 是这样的: -D= set a system property 设置一个系统参数和值 可以通过下面的代码获取到 java -D 的系统属性参数列表,代码如下:public static void main(String[] args) { printProperties();} public
2012-07-29 19:35:48 10054 1
原创 构建自己的监测器【3】-instrumentation
其实前一节已经看到过instrumentation了,就是在premain方法的参数里:public static void premain(String agentArgs, Instrumentation inst); java.lang.instrument 在jdk5之前的版本中是没有的,它是jdk5之后引入的新特性,这个特定将java的instrument功能从native库中解
2012-07-29 19:13:10 11095 4
原创 构建自己的监测器【2】-javaagent参数使用
javaAgent javaAgent是从JDK1.5及以后引入的,在1.5之前无法使用,也可以叫做java代理。1. 代理 (agent) 是在你的main方法前的一个拦截器 (interceptor),也就是在main方法执行之前,执行agent的代码。agent的代码与你的main方法在同一个JVM中运行,并被同一个system classloader装载,被同一的安
2012-07-29 19:12:04 42150 3
原创 构建自己的监测器【1】-监测工具
监测器(profiler):监测器的目的是什么?监测器主要是为了检测程序主要哪些地方耗费资源,可能包括cpu资源,内存资源等。利用监测器可以分析出方法的耗时,程序所占内存资源。根据监测器分析出的信息,可以进行有针对性的优化。现有的监测方式1. 最简单的方式 System.out.println() 这种方式应该开放最常用最简单的跟踪程序运行情况的方式了。 有一个方法:publ
2012-07-29 19:05:15 5651
原创 【shell脚本学习】2.linux shell变量
1.shell已经定义好的环境变量shell在开始执行时就已经定义好了一部分变量,这部分变量可以直接使用,也可以重新定义,常用的shell环境变量如下: HOME:用于保存用户宿主目录的完全路径名,比如用户 admin,HOME变量的值为:/home/adminPATH:用于保存用冒号分开的路径名,shell会按照这个值顺序搜索这些目录,找到第一个与命令名相同的可执行文件执行。
2012-06-25 22:54:14 1886
原创 【shell脚本学习】1.linux shell基础
最近有时做系统维护,简单的维护中会碰到一些脚本,有时会对这些脚本搞得晕头转向,耽误时间不说,也学不到任何东西。有种书到用时方恨少的感觉,不懂shell去做维护我感觉我要屎了,所以想系统的学习一下。1. Linux 脚本编写基础1.1 基本语法脚本的开头必须以#!/bin/sh#!后面的参数是告诉系统用什么程序去执行这个文件,在这个简单的例子中是用/bin/sh来执行程序的当
2012-06-18 23:02:57 1390
转载 [转]MongoDB学习笔记
http://hi.baidu.com/higuang/blog/item/7fce6f314a1a6d15ebc4af0e.html一、mongoDB的 官方网站是http://www.mongodb.org/ 到此下载数据库下载Windows 32-bit版本并解压缩,程序文件都在bin目录中,其它两个目录分别是C++调用是的头文件和库文件。bin目录中包含如下几个程序:1.
2012-06-16 14:08:41 871
原创 mongodb常用命令和基本知识
1、 db.copyDatabase("blog", "blog2") // 复制数据库 2、 db.dropDatabase() // 删除数据库 blog2 3 、在多台服务器之间复制数据库 db.copyDatabase("blog", "blog", "192.168.1.202") // 从源服务器复制 blog 数据库 。> use news
2012-06-16 14:04:55 1234
原创 shell脚本循环判断进程是否存在
#!/bin/sh02 03while true04do05 process=`ps aux | grep mysqld | grep -v grep`;
2012-06-15 16:57:40 2397 1
原创 linux下用vim比较文件
用vim比较文件1. 使用vim的比较模式打开两个文件: vim -d file1 file2或 vimdiff file1 file22. 如果已经打开了文件file1,再打开另一个文件file2进行比较: :vert diffsplit file2如果没有用vert命令,diffsplit则会分上下两个窗口。3. 如果已经用split
2012-06-15 16:50:34 1529
原创 oracle中类似indexof用法 instr函数
在oracle中没有indexof()函数但是提供了一个 instr() 方法 具体用法:select instr('保定市南市区','市',1,1)-1 from dual;解释:1. '保定市南市区' =>可以是表达式,也可以是具体数据 2. '市'=>为分离的标志,这里为两组数据中的“市”这个字 3. 第一个1为从左边开始,如果为-1,则从右边开
2012-06-15 15:05:13 37804
转载 软件架构设计的三个维度:面向对象、面向方面、面向服务。
面向对象:它解决的问题是系统内部结构的设计。 面向对象提出有三个主要目标:重用性、灵活性和扩展性,强调对象的“抽象”、“封装”、“继承”和“多态”。它能让人们以更加接近于现实世界的方式来思考程序,这点可以说是面向对象最大的进步。 面向方面:面向方面思想的提出能够弥补面向对象的缺陷。面向对象的方式不能实现横切关注点的分离,而面向方面正是为了解决这个问题。面向方面与面向对象一样都是解决系统内部结构
2012-06-12 13:26:23 1643
原创 【hadoop学习笔记】4.eclipse运行wordcount实例
新建一个hadoop工程,如图建一个运行wordcount的类,先不管他什么意思,代码如下/** * Project: hadoop * * File Created at 2012-5-21 * $Id$ */package seee.you.app;import java.io.IOException;import java.util.StringToke
2012-05-28 22:38:34 7235
原创 【hadoop学习笔记】3.hadoop eclipse 开发
eclipse中hadoop开发 安装hadoop插件。hadoop插件可以从网上下载,也可以自己编译,我用的是1.0.2,编译后再hadoop-1.0.2\build\contrib\eclipse-plugin可以找到 安装完hadoop的eclipse插件之后,需要配置hadoop的安装地址。如下图。 打开map/reduce视图 新建一个hadoop
2012-05-28 22:35:19 2611
原创 【hadoop学习笔记】2.hadoop相关命令
hdfs相关操作hadoop使用的是HDFS,能够实现的功能和我们使用的磁盘类似 1、查看文件列表./hadoop fs -lsyongkang@yongkang-OptiPlex-760:~/tools/hadoop-1.0.2/bin$ ./hadoop fs -lsWarning: $HADOOP_HOME is deprecated.
2012-05-28 22:34:22 1139
原创 【hadoop学习笔记】1.hadoop安装
环境:Ubuntu11.4 准备工作:a.先安装jdkb.修改/etc/hosts,绑定 10.16.110.7 master (最好不要用127.0.0.1 localhost 后面会出现意想不到的错误) 1.下载hadoop-1.0.2在linux下执行 wget http://apache.etoak.com/hadoop/common/hadoop-1
2012-05-28 22:32:20 994
转载 Jboss通常占用的端口
<br />Jboss通常占用的端口是1098,1099,4444,4445,8080,8009,8083,8093这几个,<br />默认端口是8080 <br />在windows系统中:<br /> 1098、1099、4444、4445、8083端口在/jboss/server/default/conf/jboss-service.xml中<br /> 8080端口在/jboss/server/default/deploy/jboss-web.deployer/server.xml中<br /> 8
2010-12-29 17:28:00 1349
转载 安装完MySQL 5.1,在最后配置启动服务时,出现could not start the service MySQL.Error:0 错误
<br />安装完MySQL 5.1,在最后配置启动服务时,出现could not start the service MySQL.Error:0 错误。在服务管理器里面同样启动服务错误“Mysql服务无法启动,显示错误1067”。<br />打开安装MySQL根目录下面的 /MySQL Server 5.0/data/*.err文件,你会发现 [ ERROR]Default storage engine (InnoDB) is not available 错误。<br />解决方法:第一种:打开MySQL
2010-12-29 17:22:00 2366
原创 【性能跟踪】btrace学习四--bBTrace example
BTrace Samples1.跟踪内存信息,用@OnTimer 这个annotation没几秒钟打印一次内存堆栈信息:import com.sun.btrace.annotations.BTrace;import com.sun.btrace.annotations.OnTimer;import static com.sun.btrace.BTraceUtils.*;@BTracepublic class TraceMemory { //heapUsage()/nonHeapUsage
2010-12-22 15:42:00 3648
原创 【性能跟踪】btrace学习三--bBTrace Annotation注解
Method Annotations1. @com.sun.btrace.annotations.OnMethod 定位目标类,方法,位置,且可定位多个。target class(es), target method(s) and "location(s)" within the method(s) 查找clazz中的类和方法。类可以是全路径定义或者正则。正则为//中间的。 /java .awt ..+/ 可以用annotation来确定定位范围。@javax.jw
2010-12-22 11:18:00 4492
原创 【性能跟踪】btrace学习二--btrace一个简单例子
btrace安装好了,就看一些语法吧。可以到btrace的官方帮助文档中去看,基本上就可以http://kenai.com/projects/btrace/pages/UserGuide下面以一个例子来说明:新建了一个工程,目录结构如下:
2010-12-21 21:58:00 17650 3
原创 【性能跟踪】btrace学习一--安装btrace
<br />最近公司里为了监控线上的类,方法的执行时间,结果等用到了这个开源的小工具,自己也学习了下,感觉比较简单,但是还是挺实用的。<br />这里做个学习笔记。<br /> <br />1.首先到网上下个Btrace包吧,官方网址是:http://kenai.com/projects/btrace<br />btrace不用怎么安装,下下来之后解压就可以直接使用了。window下,linux下都是一样的,这里就按window下的安装来说<br />下下来解压如下:<br /> <br /> <br />
2010-12-21 21:52:00 6198
转载 js性能测试
客户端动态输出table数据并展示表格,是web应用中较为常见的工作。对于循环打印输出tr,td本身是一件非常僵硬和暴力的编程办法,再加上最后绑定元素innerHTML字符流输出,系统所消耗的性能代价是非常高昂的,如果我们需要展现的数据非常庞大时,那么代价也是成倍的。然而这种动态输出表格的方法是大多数客户端程序员最常用的方法。那么基于最常用的方法,如何才能降低性能成本,改善用户体验,快速安
2010-11-21 16:35:00 1295
转载 [转] 提高JS性能注意事项
一.执行效率1. DOM1.1 使用DocumentFragment优化多次append说明:添加多个dom元素时,先将元素append到DocumentFragment中,最后统一将DocumentFragment添加到页面。该做法可以减少页面渲染dom元素的次数。经IE和Fx下测试,在append1000个元素时,效率能提高10%-30%,Fx下提升较为明显。服用前:
2010-11-21 16:25:00 517
转载 memcached全面剖析–5. memcached的应用和兼容程序
<br />原作者charlee、原始链接http://tech.idv2.com/2008/07/31/memcached-005/<br /> mixi案例研究<br />mixi在提供服务的初期阶段就使用了memcached。随着网站访问量的急剧增加,单纯为数据库添加slave已无法满足需要,因此引入了memcached。此外,我们也从增加可扩展性的方面进行了验证,证明了memcached的速度和稳定性都能满足需要。现在,memcached已成为mixi服务中非常重要的组成部分。<br />图1 现在
2010-11-14 22:32:00 487
转载 memcached全面剖析–4. memcached的分布式算法
<br />原作者charlee、原始链接http://tech.idv2.com/2008/07/24/memcached-004<br /> memcached的分布式<br />正如第1次中介绍的那样, memcached虽然称为“分布式”缓存服务器,但服务器端并没有“分布式”功能。服务器端仅包括 第2次、 第3次 前坂介绍的内存存储功能,其实现非常简单。至于memcached的分布式,则是完全由客户端程序库实现的。这种分布式是memcached的最大特点。memcached的分布式是什么意思?<br
2010-11-14 22:28:00 468
转载 memcached全面剖析–3.memcached的删除机制和发展方向
原作者charlee、原始链接http://tech.idv2.com/2008/07/10/memcached-001/<br />memcached是缓存,所以数据不会永久保存在服务器上,这是向系统中引入memcached的前提。本次介绍memcached的数据删除机制,以及memcached的最新发展方向——二进制协议(Binary Protocol)和外部引擎支持。memcached在数据删除方面有效利用资源数据不会真正从memcached中消失<br />上次介绍过, memcached不会释放已
2010-11-14 22:23:00 488
Java Interactive Profiler 翻译文档
2012-08-09
部署到docker中的程序,能否再调用docker的api启动另外的docker实例?
2021-05-23
一个rails实例,有点迷惑
2009-06-12
ruby前途如何呢
2009-06-11
请教rails的utf-8 bom编码问题
2009-06-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人