JAVA基础
liwenshui322
这个作者很懒,什么都没留下…
展开
-
深入探讨 Java 类加载器
原文地址: http://www.ibm.com/developerworks/cn/java/j-lo-classloader/ 类加载器是 Java 语言的一个创新,也是 Java 语言流行的重要原因之一。它使得 Java 类可以被动态加载到 Java 虚拟机中并执行。类加载器从 JDK 1.0 就出现了,最初是为了满足 Java Applet 的需要而开发出来的。Java转载 2014-02-18 22:53:28 · 662 阅读 · 0 评论 -
用“逐步排除”的方法定位Java服务线上“系统性”故障
原博客地址:http://techblog.youdao.com/?p=961 一、摘要 由于硬件问题、系统资源紧缺或者程序本身的BUG,Java服务在线上不可避免地会出现一些“系统性”故障,比如:服务性能明显下降、部分(或所有)接口超时或卡死等。其中部分故障隐藏颇深,对运维和开发造成长期困扰。笔者根据自己的学习和实践,总结出一套行之有效的“逐步排除”的方法,来快速定位Ja转载 2016-01-29 14:34:52 · 624 阅读 · 0 评论 -
HeapDumpOnOutOfMemoryError堆转储实践和一些分析
原博客地址:http://epy.iteye.com/blog/1914455 使用了标志-XX:+HeapDumpOnOutOfMemoryError,JVM会在遇到OutOfMemoryError时拍摄一个“堆转储快照”,并将其保存在一个文件中。 对如下一段代码,【代码1】 Java代码 public static void main(Stri转载 2015-07-23 16:58:49 · 1714 阅读 · 0 评论 -
Java自带的性能监测工具用法简介——jstack、jconsole、jinfo、jmap、jdb、jsta、jvisualvm
JDK内置工具使用 一、javah命令(C Header and Stub File Generator) 二、jps命令(Java Virtual Machine Process Status Tool) 三、jstack命令(Java Stack Trace) 四、jstat命令(Java Virtual Machine Statistics Monitoring To转载 2015-07-23 14:27:15 · 744 阅读 · 0 评论 -
JVM内存配置详解
原博客地址: http://vanadiumlin.iteye.com/blog/1267857 前段时间在一个项目的性能测试中又发生了一次OOM(Out of swap sapce),情形和以前网店版的那次差不多,比上次更奇怪的是,此次搞了几天之后啥都没调整系统就自动好了,死活没法再重现之前的OOM了!问题虽然蹊跷,但也趁此机会再次对JVM堆模型、GC垃圾算法等进行了一次系统梳理; 基转载 2015-07-22 10:23:33 · 382 阅读 · 0 评论 -
Java的内存机制
原博客地址:http://www.cnblogs.com/xwdreamer/archive/2012/04/01/2428857.html 0.参考资料: http://www.j2megame.org/index.php/content/view/2246/125.html 1.Java的内存机制 Java 把内存划分成两种:一种是栈内存,另一种是堆内存。在函数中定义转载 2015-07-21 14:15:29 · 349 阅读 · 0 评论 -
Hashmap简介
原博客地址: http://beyond99.blog.51cto.com/1469451/429789 1. HashMap概述: HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 2. HashMap的数据结构: 在j转载 2015-03-09 21:30:01 · 392 阅读 · 0 评论 -
通过继承进行设计
当我们以一个现成类为基础建立一个新类时,如首先选择继承,会使情况变得异常复杂。一个更好的思路是首先选择“合成”——如果不能十分确定自己应使用哪一个。合成不会强迫我们的程序设计进入继承的分级结构中。同时,合成显得更加灵活,因为可以动态选择一种类型(以及行为),而继承要求在编译期间准确地知道一种类型。下面这个例子对此进行了阐释: interface Actor { void act(); }原创 2015-02-01 16:26:04 · 474 阅读 · 0 评论 -
java 构建器的调用顺序
一. 构建器的调用遵照下面的顺序: (1) 调用基础类(父类)构建器,一直到最底层的父类Object类。原因是,在构建子类的时候,必须保证父类已经构建完成,不然子类在构造函数中使用父类的public或者protected属性或者方法的时候,无法保证稳定正确。 (2) 按声明顺序调用成员初始化模块。(在类本身里面,也是需要先初始化属性,然后调用构造器。因为,构造器也会可能使用类本身的属性原创 2015-02-01 15:56:18 · 614 阅读 · 0 评论 -
java 内部类
在Java 1.1 中,可将一个类定义置入另一个类定义中。这就叫作“内部类”。内部类对我们非常有用,因为利用它可对那些逻辑上相互联系的类进行分组,并可控制一个类在另一个类里的“可见性”。 内部类好处1:方便隐藏实现细节。比如一个接口,我写一个private的内部类实现这个接口,那么这个private的内部类只对所属的类可见。对于所有其他类都不可见。如下代码所示:(因为正常原创 2015-01-31 14:18:25 · 368 阅读 · 0 评论 -
java ArrayList与LinkedList知识点
一 ArrayList 1. arraylist里面是通过数组实现的 /** * The array buffer into which the elements of the ArrayList are stored. * The capacity of the ArrayList is the length of this array buffer原创 2015-01-10 11:57:33 · 900 阅读 · 0 评论 -
java静态数据的初始化
举一个例子原创 2014-09-24 22:09:24 · 735 阅读 · 0 评论 -
使用NIO包实现Socket通信
原文地址:http://blog.csdn.net/kongxx/article/details/7288896 Java Socket实战之一 单线程通信 Java Socket实战之二 多线程通信 Java Socket实战之三 传输对象 Java Socket实战之四 传输压缩对象 Java Socket实战之五 使用加密协议传输对象 前面几篇文章介绍了使转载 2014-02-19 10:58:27 · 577 阅读 · 0 评论 -
(转)Java服务化系统线上应急和技术攻关,你必须拥有的那些应用层脚本和Java虚拟机命令
原文博客:https://www.jianshu.com/p/46a120f9e5a3 无论是技术开发人员还是架构设计人员都是在实践中成长起来的,他们通过实践进行总结,总结后把经验升华并再次应用到实践中去,进一步提供生产效率。 本文介绍笔者在互联网公司里线上应急和技术攻关过程中积累的应用层脚本和Java虚拟机命令,这些脚本和命令在发现问题和定位问题的过程中起到关键作用,在特定的问题环境下,堪称快速转载 2018-01-30 15:30:18 · 749 阅读 · 1 评论