摘要:
一、简介 位置: jdk 下面的 bin 目录下,一般为 15/16 KB 这些工具大多是 类库的一层薄包装,其主要的功能代码是在 tools 类库中实现的。 tools.jar 中的类库不属于 Java 的标准 API ,因此测试只针对 HotSpot 虚拟机; 如果程序是 JDK 1.5 的,开 阅读全文
摘要:
JVM 内存结构 虚拟内存:将一些磁盘空间当做内存使用; 一、 JVM 内存划分 jdk 中 1.7 和 1.8 中间有区别 JVM 在运行 Java 程序的过程中会将其所管理的内存划分为若干个不同的数据区域,JVM 管理的内存包括以下几个运行时数据区域:(下面为 JVM 运行时内存数据区域) | 阅读全文
摘要:
首先编写一个动态代理实例 运行程序结果: 通过改变sun.misc.ProxyGenerator.saveGeneratedFiles系统属性,可以将动态代理生成的class文件输出(默认只在内存,不会写到硬盘),得到Proxy0.class文件,使用反编译工具可以得到Proxy0.class文件, 阅读全文
摘要:
首先代码编译的结果是字节码而不是本地机器码了; 物理机的执行引擎是直接建立在处理器、硬件、指令集和操作系统层面上的,而 虚拟机执行引擎是由自己实现的,因此可以自行制定指令集与执行引擎的结构体系,并且能够执行那些不被硬件直接支持的指令集格式 。 Java 虚拟机规范中制定了虚拟机字节码执行引擎的概念模 阅读全文
摘要:
分析工具:IDEA + Jclasslib + WinHex(IDEA 中可以使用 HexView 代替) Java 虚拟机不和包括 java 在内的任何语言绑定,它只与 “Class” 特定的二进制文件格式关联,实现 JVM 与语言无关系,例如 Groovy、Scala 等均可以在 JVM 上运行 阅读全文
摘要:
一、类加载(Class Loading) 在Java代码中, 类的加载、连接和初始化过程都是在程序运行期间完成的 。(类从磁盘加载到内存中经历的三个阶段),造成运行虽然慢点,但是 Java 里动态拓展的语言特性就是依赖运行期动态加载和动态连接的特性 ; 示例:可以编写一个面向接口的应用程序,然后等到 阅读全文
摘要:
SSM框架原理,作用及使用方法 Spring SpringMVC SpringBoot MyBatis 阅读全文
摘要:
知识点学习 阅读全文
摘要:
消息队列 阅读全文
摘要:
Socket网络编程 Netty基础 Netty高级 阅读全文
摘要:
MySQL常用SQL查询 阅读全文
摘要:
阅读全文
摘要:
项目版本管理控制流程规范 应用系统单点切换解决方案 IDEA的配置和使用 常用软件的安装 Linux 本地通过隧道经跳转机访问内网数据库服务器(Xshell、Navicat、Mysql) 阅读全文
摘要:
JUC多线程及并发包 不分主题面试题 阅读全文
摘要:
线程基础知识回顾 线程基础 并发编程高级 Disruptor并发框架 阅读全文
摘要:
Redis1 Redis2 阅读全文
摘要:
JVM基础 类加载器深入解析与阶段分解 字节码 虚拟机字节码执行引擎 从字节码角度理解动态代理 Java内存结构 JVM 垃圾回收 虚拟机性能监控和故障处理工具 阅读全文
摘要:
Lambda表达式 阅读全文
摘要:
第1章:内容介绍 第2章:设计模式七大原则 第3章:UML 类图 第4章:设计模式概述 第5章:单例设计模式 第6章:工厂模式 第7章:原型模式 第8章:建造者模式 第9章:适配器模式 第10章:桥接模式 第11章:装饰者设计模式 第12章:组合模式 第13章:外观模式 第14章:享元模式 第15章 阅读全文