随笔分类 - JAVA基础
摘要:shell脚本输出JAVA线程堆栈和JVM内存使用情况 #!/bin/bash SERVER_NAME=XXX DEPLOY_DIR=/user_projects/domains/${SERVER_NAME}/ #启动语句中能识别应用的关键字 outDir=/u02/coreprd/corelog/
阅读全文
摘要:JAVA容器详解 类继承结构图 HashMap 1. 对象的HashCode是用来在散列存储结构中确定对象的存储地址的。 2. 如果两个对象的HashCode相同,即在数组中的地址相同。而数组的元素是链表。这两个对象会放在同一链表上。 3. 如何确定是同一个对象? 通过equals方法。 4. Ha
阅读全文
摘要:基础概念 在介绍I/O原理之前,先重温几个基础概念: 1 操作系统与内核 操作系统:管理计算机硬件与软件资源的系统软件内核:操作系统的核心软件,负责管理系统的进程、内存、设备驱动程序、文件和网络系统等等,为应用程序提供对计算机硬件的安全访问服务 2 内核空间和用户空间 为了避免用户进程直接操作内核,
阅读全文
摘要:一、JAVA运行时数据区 1、堆(-Xmx与-Xms):所有线程共享. 目的:用来存放对象实例。所有对象实例和数组都要在堆上分配内存。JAVA堆是垃圾收集器管理的主要区域。 内存不够时会报OutOfMemoryError:java heap space异常。 堆分为:新生代(Eden from to
阅读全文
摘要:public static void main( String args[] ){ String REGEX = "\\bcat\\b"; String INPUT = "cat cat cat cattie cat"; Pattern p = Pattern.compile(REGEX); Mat
阅读全文
摘要:原地址:https://www.cnblogs.com/flyingeagle/articles/7102282.html Java动态代理机制详解(JDK 和CGLIB,Javassist,ASM) 一.class文件简介及加载 Java编译器编译好Java文件之后,产生.class 文件在磁盘中
阅读全文
摘要:JAVA类的加载和初始化 一、类的加载和初始化过程 JVM将类的加载分为3个步骤: 1、加载(Load):class文件创建Class对象。 2、链接(Link) 3、初始化(Initialize) 其中 链接(Link)又分3个步骤,如下图所示: 类什么时候才被初始化: 1)创建类的实例,也就是n
阅读全文
摘要:设计模式 策略模式:算法的切换 状态模式:状态的切换,但是状态和行为相关 命令模式:请求者和执行者解耦 模板模式:定义骨架,变化的部分设置成抽象方法给子类实现。 访问者模式:对象结构不变,不同访问人员不同操作。 装饰者模式:不改变原有类的基础上,添加新功能。(加功能后类型不变) ps:添加的多个功能
阅读全文
摘要:JAVA中的浅拷贝与深拷贝 浅拷贝:实现Clonenable接口并覆盖clone()方法 深拷贝:
阅读全文
浙公网安备 33010602011771号