面向对象编程(OOP)的三大特征 什么是封装? (1) 把对象的状态和行为看成一个统一的整体,将二者存放在一个独立的类中; (2) "信息隐藏", 把不需要让外界知道的信息隐藏起来,向外提供统一的方法用于设置和读取属性,保证外界安全访问功能; 把所有的字段使用private私有化,不准外界访问,把方 ...
分类:
编程语言 时间:
2018-04-08 19:48:11
阅读次数:
182
1·、static应用范围:可用于内部类、方法和变量。 2、标记一个方法为static,意味着这个方法,被所在类的所有实例公用,在类装载时初始化,被所有该类的实例共享,同时意味着: A、static方法内部不能引用非static变量。 B、static方法不能被子类重写为非static方法。 C、父 ...
分类:
其他好文 时间:
2018-04-01 20:51:49
阅读次数:
187
Java类的初始化 我们知道一个类(class)要被使用必须经过装载,连接。初始化这种过程。以下先对这三阶段做一个简单的描写叙述。之后会结合一个简单的样例来说明java中类的初始化过程。 在装载阶段,类装载器(Bootstrap ClassLoader 或者用户自己定义的ClassLoader) 把 ...
分类:
编程语言 时间:
2018-03-23 16:24:00
阅读次数:
250
作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。 单例模式的特点: 单例类只能有一个实例。 单例类必须自己创建自己的唯一实例。 单例类必须给所有其他对象提供这一实例。 饿汉式单例类 饿汉式是典型的空间换时间,当类装载的时候就会创建类的实 ...
分类:
编程语言 时间:
2018-03-20 22:57:38
阅读次数:
238
一、加载 装载类的第一阶段, 取得类的二进制流,并将它转换为方法区数据结构。 在Java堆中生成对应的java.lang.Class对象 二、链接 1、验证 目的:保证Class流的格式是正确的。 a) 文件格式的验证 是否以0xCAFEBABE开头 版本号是否合理 b) 元数... ...
分类:
其他好文 时间:
2018-03-02 18:46:06
阅读次数:
153
给一个系统定位问题的时候,知识、经验是关键基础,数据是依据,工具才是运用知识处理数据的手段 使用适当的虚拟机监控和分析的工具可以加快我们分析数据、定位解决问题的速度,本文主要介绍了几款服 务器上常用的命令行工具(jps、jstat、jinfo、jmap、jhat、jstack) jps:虚拟机进程状 ...
分类:
Web程序 时间:
2018-03-01 13:19:55
阅读次数:
203
JVM是根据运行时数据的存储结构来划分内存结构的,运行时数据包括java程序本身的数据信息和jvm运行java程序需要的额外数据信息。JVM运行时数据区:程序计数器:每条线程有一个独立的程序计数器,用于保存当前正常执行的程序的内存地址。堆动态内存分配。所有线程共享,在虚拟机启动时创建,可以处于物理上不连续的存储空间。此区域的唯一目的就是存放对象实例。方法区线程共享。当JVM使用类装载器装载某个类时
分类:
其他好文 时间:
2018-02-06 23:07:43
阅读次数:
203
原文地址 16年的时候花了一些时间整理了一些关于jvm的介绍文章,到现在回顾起来还是一些还没有补充全面,其中就包括如何利用工具来监控调优前后的性能变化。工具做为图形化界面来展示更能直观的发现问题,另一方面一些耗费性能的分析(dump文件分析)一般也不会在生产直接分析,往往dump下来的文件达1G左右 ...
分类:
其他好文 时间:
2018-01-28 23:19:51
阅读次数:
232
Java内存管理的进一步理解-模拟过程图解--转载 java的内存管理分为: 1、堆内存;2、栈内存;3、方法区;4、本地方法区 /* 1:方法区 方法区存放装载的类数据信息包括: (1):基本信息: 1)每个类的全限定名 2)每个类的直接超类的全限定名(可约束类型转换) 3)该类是类还是接口 4) ...
分类:
编程语言 时间:
2018-01-26 14:06:06
阅读次数:
159
编译和运行 编译时 编译时顾名思义就是正在编译的时候.那啥叫编译呢?就是编译器帮你把源代码翻译成机器能识别的代码.(当然只是一般意义上这么说,实际上可能只是翻译成某个中间状态的语言.比如Java只有JVM识别的字节码,C#中只有CLR能识别的MSIL.另外还有啥链接器.汇编器.为了了便于理解我们可以 ...
分类:
其他好文 时间:
2017-12-23 11:51:35
阅读次数:
158