java
文章平均质量分 62
zhangmengjlu
这个作者很懒,什么都没留下…
展开
-
JVM内存限制(最大值)
目前在跑一个数据量加大的程序,在32位win7下的eclipse中,-Xmx开到了1500m后,再增加就无法启动了,找了下说法如下:JVM内存限制(最大值)首先JVM内存限制于实际的最大物理内存,假设物理内存无限大的话,JVM内存的最大值跟操作系统有很大的关系。简单的说就32位处理器虽然可控内存空间有4GB,但是具体的操作系统会给一个限制,这个限制一般是2GB-3GB(一般来说Wi原创 2013-08-05 13:49:21 · 966 阅读 · 0 评论 -
Java 内存划分
Java 内存划分: 在Java内存分配中,java将内存分为:方法区,堆,虚拟机栈,本地方法栈,程序计数器。其中方法区和堆对于所有线程共享,而虚拟机栈和本地方法栈还有程序计数器对于线程隔离的。每个区域都有各自的创建和销毁时间。程序计数器: 作用是当前线程所执行的字节吗的行号指示器。Java的多线程是通过线程轮流切换并分配处理器执行时间方式来实现的。因此,每个线程为了能在切换后能恢复到正确原创 2013-04-12 12:55:53 · 318 阅读 · 0 评论 -
【转载】addShutdownHook的用处
Runtime.getRuntime().addShutdownHook(shutdownHook); 这个方法的含义说明: 这个方法的意思就是在jvm中增加一个关闭的钩子,当jvm关闭的时候,会执行系统中已经设置的所有通过方法addShutdownHook添加的钩子,当系统执行完这些钩子后,jvm才会关闭。所以这些钩子可以在jvm关闭的时候进行内存清理、对象销毁等转载 2013-03-22 15:39:08 · 426 阅读 · 0 评论 -
【转载】Java的GC机制
http://wenku.baidu.com/view/8e94283710661ed9ad51f3b9.html### 1.Java中finalize()的作用一主要是清理那些对象(并非使用new)获得了一块“特殊”的内存区域。程序员可以用finalize()来操作。 程序员都了解初始化的重要性,但常常会忘记同样也重要的清理工作。毕竟,谁需要清理一个int呢?但在使用程序库时,转载 2013-04-22 22:59:40 · 285 阅读 · 0 评论 -
OSGi框架下的Bundle部署时的一些注意事项
将自己机器上的DOcean、StoreAccess、BookService、Cache四个Bundle部署到另外一台机器上时出现了一些问题:1、自己之前的eclipse 3.5(Galileo)中装了一个画UML图的插件Green,即http://www.cse.buffalo.edu/faculty/alphonce/green,然后在新机器上这个插件不能用了,程序运行时报错。然后需要去原创 2013-04-07 12:30:47 · 998 阅读 · 0 评论 -
JVM——main()方法的执行
例子:[html] view plaincopypublic class Lava { private int speed = 5; void flow(){ System.out.println("flow"); } } [html]转载 2013-03-24 21:36:48 · 666 阅读 · 0 评论 -
java多线程学习记录
1、使用Executor框架进行多线程调度,ExecutorService下的接口public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime,原创 2013-09-05 21:12:08 · 461 阅读 · 0 评论 -
NIO资料汇总
Buffer 类定义了一个可以线性存放primitive type数据的容器接口。Buffer主要包含了与类型(byte, char…)无关的功能。值得注意的是Buffer及其子类都不是线程安全的。每个Buffer都有以下的属性:capacity这个Buffer最多能放多少数据。capacity一般在buffer被创建的时候指定。limit在转载 2013-08-08 18:30:45 · 464 阅读 · 0 评论 -
【转载】内存泄漏和内存溢出的区别
内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。内存泄漏 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄漏堆积后果很严重,无论多少内存,迟早会被占光。memory leak会转载 2013-07-29 18:24:43 · 440 阅读 · 0 评论 -
【转载】AOP技术本质
2.2 AOP技术本质2.2.1 技术概览AOP(Aspect-Oriented Programming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时候,OOP则显得无能为力。也就是说,OO转载 2013-09-04 18:36:35 · 875 阅读 · 0 评论 -
【转载】深入探讨 Java 类加载器
http://www.ibm.com/developerworks/cn/java/j-lo-classloader/类加载器是 Java 语言的一个创新,也是 Java 语言流行的重要原因之一。它使得 Java 类可以被动态加载到 Java 虚拟机中并执行。类加载器从 JDK 1.0 就出现了,最初是为了满足 Java Applet 的需要而开发出来的。Java Appl转载 2013-04-27 10:17:56 · 342 阅读 · 0 评论 -
【转载】java多线程调度
多线程有两种实现方法,分别是继承Thread类与实现Runnable接口 同步的实现方面有两种,分别是synchronized,wait与notifysynchronized实现互锁 wait/notify实现消息通讯 一、认识多任务、多进程、单线程、多线程 要认识多线程就要从操作系统的原理说起。 以前古老的DOS操作系统(V 6.22)是单任务的,转载 2013-05-07 00:09:39 · 862 阅读 · 0 评论 -
java数据类型
java的基本数据类型数据类型 大小 范围 默认值 byte(字节) 8 -128 - 127 0shot(短整型) 16 -327原创 2013-08-07 20:57:53 · 400 阅读 · 0 评论 -
【转载】4大 Java OSGi 框架比较 (Knopflerfish, Apache Felix, Equinox, Spring DM)
OSGi正在成为一种趋势,越来越多的项目采用了OSGi,越来越多的中间件都开始采取了OSGi的标准。身为一名Java开发人员,如果你还对OSGi结构一无所知,那你真的有点Out了。 什么是OSGi OSGi的名称来源于其开源组织的名称Open Services Gateway initiative,OSGi是一个标准,它致力于提供给Java项目一个模块化的底层环转载 2013-04-27 23:25:08 · 437 阅读 · 0 评论 -
【转载】单例模式的使用场景
单例模式 (摘) 单例模式顾名思义,就是只有一个实例单例模式的要点 显然单例模式的要点有三个;一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。在下面的对象图中,有一个"单例对象",而"客户甲"、"客户乙" 和"客户丙"是单例对象的三个客户对象。可以看到,所有的客户对象共享一个单例对象。而且从单例对象到自身转载 2013-08-08 15:33:12 · 483 阅读 · 0 评论 -
java中Integer的比较的问题
public class Test { public static void main(String[] args) { Integer iobj1=3; Integer iobj2=3; Integer iobj3=300; Integer iobj4=300; System.out.println(iobj1 == iobj2);//true Syste原创 2013-07-29 15:09:23 · 326 阅读 · 0 评论 -
【转载】Java GC(垃圾收集)
在Java内存运行时的各个部分中,程序计数器、虚拟机栈、本地方法栈三个区域随线程生而生灭而灭,栈中的栈帧随方法的进入和退出而有条不紊的进行入栈和出栈操作。因此这几个区域的内存分配和回收都具有确定性,不需要过多考虑回收的问题。 但是Java堆和方法区则不一样,一个接口中的多个实现类需要的内存可能不一样,一个方法中的多个分支需要的内存也不一样,我们只有在程序处于运行期才能知道创建哪些对象,这部转载 2013-04-22 22:47:58 · 530 阅读 · 0 评论 -
解决乱码的方法
1、public static String[] readTXTFile2Sentence(File file) throws IOException{InputStream fis=new FileInputStream(file);InputStreamReader isrUnicode = new InputStreamReader(fis, "Unicode");原创 2013-03-24 21:19:10 · 449 阅读 · 0 评论 -
【转载】Java synchronized详解
Java synchronized详解第一篇:使用synchronized在编写一个类时,如果该类中的代码可能运行于多线程环境下,那么就要考虑同步的问题。在Java中内置了语言级的同步原语--synchronized,这也大大简化了Java中多线程同步的使用。我们首先编写一个非常简单的多线程的程序,是模拟银行中的多个线程同时对同一个储蓄账户进行存款、取款操作的。在程序中我们转载 2013-04-22 22:36:05 · 420 阅读 · 0 评论 -
JVM组成
1 JVM 简介JVM 是我们Javaer 的最基本功底了,刚开始学Java 的时候,一般都是从“Hello World ”开始的,然后会写个复杂点class ,然后再找一些开源框架,比如Spring ,Hibernate 等等,再然后就开发企业级的应用,比如网站、企业内部应用、实时交易系统等等,直到某一天突然发现做的系统咋就这么慢呢,而且时不时还来个内存溢出什么的,今天是交易系统报了Stac转载 2013-03-24 21:34:38 · 523 阅读 · 0 评论 -
【转载】Java线程池的分析和使用
原文发表于InfoQ:http://www.infoq.com/cn/articles/java-threadPool 1. 引言合理利用线程池能够带来三个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不转载 2013-08-08 15:45:06 · 510 阅读 · 0 评论 -
数据订正时的一些总结
前段时间进行5000w条数据的订正,开了3个线程,因为预发机器是一台,且运行了其他的一些服务,所以CPU的load>1,导致了影响其他服务的响应(比如,其他使用数据库的服务的访问速度变慢明显,收到了DBA的警报),同时每片2000条数据的处理速度由最初的3000-4000ms上升为10000-20000ms;后来改到了线上的beta集群(100台机器),且屏蔽了其他服务后,每片2000条数据的处理原创 2013-09-28 23:59:05 · 2068 阅读 · 0 评论