Java
YukonHuang
这个作者很懒,什么都没留下…
展开
-
Java类之间的关联关系
Java类之间的关联关系UML类图中的关系分为四种:泛化、依赖、关联、实现;关联关系又可以细化为聚合和组合。一、泛化(Generalization)泛化是父类和子类之间的关系,子类继承父类的所有结构和行为。在子类中可以增加新的结构和行为,也可以覆写父类的行为。一般用一个带空心箭头的实线表示泛化关系,UML图如下:泛化对应Java中继承关系,即子类继承父类中出privat转载 2013-07-07 23:54:55 · 493 阅读 · 0 评论 -
ByteBuffer用法小结
在NIO中,数据的读写操作始终是与缓冲区相关联的.读取时信道(SocketChannel)将数据读入缓冲区,写入时首先要将发送的数据按顺序填入缓冲区.缓冲区是定长的,基本上它只是一个列表,它的所有元素都是基本数据类型.ByteBuffer是最常用的缓冲区,它提供了读写其他数据类型的方法,且信道的读写方法只接收ByteBuffer.因此ByteBuffer的用法是有必要牢固掌握的.1.创建B转载 2014-09-09 22:42:05 · 391 阅读 · 0 评论 -
深入探讨 Java 类加载器
类加载器(class loader)是 Java™中的一个很重要的概念。类加载器负责加载 Java 类的字节代码到 Java 虚拟机中。本文首先详细介绍了 Java 类加载器的基本概念,包括代理模式、加载类的具体过程和线程上下文类加载器等,接着介绍如何开发自己的类加载器,最后介绍了类加载器在 Web 容器和 OSGi™中的应用。转载 2014-08-11 23:45:08 · 281 阅读 · 0 评论 -
Java 类加载顺序
JAVA类首次装入时,会对静态成员变量或方法进行一次初始化,但方法不被调用是不会执行的, 静态成员变量和静态初始化块级别相同,非静态成员变量和非静态初始化块级别相同。先初始化父类的静态代码--->初始化子类的静态代码-->初始化父类的非静态代码--->初始化父类构造函数--->初始化子类非静态代码--->初始化子类构造函数原创 2014-08-11 22:46:17 · 352 阅读 · 0 评论 -
Spring中ClassPathXmlApplicationContext类的简单使用
一、简单的用ApplicationContext做测试的话,获得Spring中定义的Bean实例(对象).可以用:ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");RegisterDAO registerDAO = (RegisterDAO)ac.getBean("Reg转载 2014-06-13 23:15:14 · 468 阅读 · 0 评论 -
Java虚拟机 - 对象引用强度
无论是通过计数算法判断对象的引用数量,还是通过根搜索算法判断对象引用链是否可达,判定对象是否存活都与“引用”相关。引用主要分为 :强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Weak Reference)、虚引用(PhantomReference) 四种,引用的强度依次骤减。强引用:就是指在代码之中普遍存在的,类似:“Ob转载 2014-03-16 00:06:08 · 556 阅读 · 0 评论 -
Java虚拟机 - JDK可视化监控工具
1.JConsole JConsole工具在JDK/bin目录下,启动JConsole后,将自动搜索本机运行的jvm进程,不需要jps命令来查询指定。双击其中一个jvm进程即可开始监控,也可使用“远程进程”来连接远程服务器。进入JConsole主界面,有“概述”、“内存”、“线程”、“类”、“VM摘要”和"Mbean"六个页签:内转载 2014-03-16 00:05:25 · 606 阅读 · 0 评论 -
Java虚拟机 - 对象访问
对象访问会涉及到Java栈、Java堆、方法区这三个内存区域。如下面这句代码:[java] view plaincopyprint?Object objectRef = new Object(); Object objectRef = new Object(); 假设这句代码出现在方法体中,"Object objectRef” 这部转载 2014-03-15 23:55:38 · 454 阅读 · 0 评论 -
Java虚拟机 - 内存调优
JVM调优主要是针对内存管理方面的调优,包括控制各个代的大小,GC策略。由于GC开始垃圾回收时会挂起应用线程,严重影响了性能,调优的目是为了尽量降低GC所导致的应用线程暂停时间、 减少Full GC次数。代大小调优最关键参数:-Xms、 -Xmx 、-Xmn 、-XX:SurvivorRatio、-XX:MaxTenuringThreshold、-XX:PermSize、-XX转载 2014-03-16 00:12:21 · 517 阅读 · 0 评论 -
Java虚拟机 - 垃圾收集器
HotSpot JVM收集器Serial串行GC收集器ParNew并行GC收集器Parallel Scavenge并行回收GC收集器Serial Old串行GC收集器Parallel Old并行GC收集器CMS并发GC收集器G1收集器垃圾收集器参数总结HotSpot JVM收集器 上面有7中收集器,分为两块,上面为新生代收集转载 2014-03-16 00:01:51 · 560 阅读 · 0 评论 -
Java虚拟机 - 垃圾收集算法
目录(?)[+]跟踪收集器标记 - 清除算法 复制算法 标记 - 整理算法引用计数收集器跟踪收集器跟踪收集器采用的为集中式的管理方式,全局记录对象之间的引用状态,执行时从一些列GC Roots的对象做为起点,从这些节点向下开始进行搜索所有的引用链,当一个对象到GC Roots 没有任何引用链时,则证明此对象是不可用的。下图中,对象Objec转载 2014-03-15 23:59:40 · 386 阅读 · 0 评论 -
Java虚拟机 - 体系结构 内存模型
一Java技术体系模块图二JVM内存区域模型方法区虚拟机栈本地方法栈堆 新生代老年代程序计数器 三直接内存一:Java技术体系模块图二:JVM内存区域模型1.方法区也称"永久代” 、“非堆”, 它用于存储虚拟机加载的类信息、常量、静态变量、是各个线程共享的内存区域。默认转载 2014-03-15 23:53:05 · 479 阅读 · 0 评论 -
eclipse启动tomcat, http://localhost:8080无法访问
症状:tomcat在eclipse里面能正常启动,而在浏览器中访问http://localhost:8080/不能访问,且报404错误。同时其他项目页面也不能访问。关闭eclipse里面的tomcat,在tomcat安装目录下双击startup.bat手动启动tomcat服务器。访问htt://localhost:8080/能正常访问tomcat管理页面。症状原因:转载 2014-03-15 23:31:39 · 1434 阅读 · 0 评论 -
Java虚拟机 - 对象内存分配与回收
对象优先在Eden上分配大多数情况下,对象优先在新生代Eden区域中分配。当Eden内存区域没有足够的空间进行分配时,虚拟机将触发一次 Minor GC(新生代GC)。Minor GC期间虚拟机将Eden区域的对象移动到其中一块Survivor区域。大对象直接进入老年代所谓大对象是指需要大量连续空间的对象。虚拟机提供了一个XX:Pretenure转载 2014-03-16 00:03:14 · 509 阅读 · 0 评论