标签:类加载器

Java

JVM内存模型系列(堆、方法区以及对象和GC)

23

Harries 发布于 2020-07-26

上文已经介绍了JVM内存模型中线程私有的部分(虚拟机栈、本地方发栈、程序计数器),那么本篇文章就来探讨下JVM中线程共享的区域:堆、方法区 方法区 方法区是JVM规范中定义的一个逻辑内存,在JDK1.8以前对方法区的实现叫做“永久代”,然而在JDK1.8以后讲“永久代”废弃,改为...

阅读(455)评论(0)赞 (0)

Java

Unsafe介绍及CAS原理解析

1

hellas 发布于 2020-07-26

0.Unsafe介绍 JavaDoc说, Unsafe提供了一组用于执行底层的,不安全操作的方法。那么具体有哪些方法呢,我画了一张图。 可以看到Unsafe中提供了CAS,内存操作,线程调度,本机信息,Class相关方法,查看和设置某个对象或字段,内存分配和释放相关操作,内存地址...

阅读(65)评论(0)赞 (0)

Java

SpringBoot 原理深入及源码剖析

1

wenming.gapo 发布于 2020-07-25

SpringBoot 项目间接继承 spring-boot-dependencies,该文件对常用技术框架进行了统一版本管理,所以在SpringBoot 项目 pom.xml 引入spring-boot-dependencies管理的依赖文件不需要标注依赖文件版本号。引入 sta...

阅读(61)评论(0)赞 (0)

Java

Java中的动态代理

4

xirruiqiang 发布于 2020-07-25

Java中的动态代理 说起动态代理,首先想到的就是 Spring ,在 Spring 中有两种动态代理方式: JDK 动态代理和 Cglib 动态代理。 JDK动态代理 JDK 动态代理是 Java 本来就有的一种代理方式,关键类是 java.lang.reflect.Invoc...

阅读(36)评论(0)赞 (0)

Java

JVM-运行时数据区—方法区

9

xiaoli.wang 发布于 2020-07-25

在jdk7及以前,习惯上把方法区称为永久代。jdk8开始,使用元空间取代了永久代。 本质上,方法区和永久代并不等价。仅是对hotSpot而言的。《java虚拟机规范》对如何实现方法区,不做统一要求。例如:BEA JRockit/IBM J9中不存在永久代的概念。 现在看来,当年使...

阅读(38)评论(0)赞 (0)

Java

史上最全的Android面试题集锦(十)

xiaoli.wang 发布于 2020-07-24

原文链接: https://blog.csdn.net/xiangzh… 5、类加载器 程序在启动的时候,并不会一次性加载程序所要用的所有class文件,而是根据程序的需要,通过Java的类加载机制(ClassLoader)来动态加载某个class文件到内存当中的,从...

阅读(59)评论(0)赞 (0)

Java

全栈的自我修养: 0005 Java 包扫描实现和应用(Jar篇)

1

puefu.he 发布于 2020-07-24

<h1> 全栈的自我修养: 0005 Java 包扫描实现和应用(Jar篇) </h1> It’s not the altitude, it’s the attitude. 决定一切的不是高度而是态度。 Table of Conte...

阅读(43)评论(0)赞 (0)

Spring

Spring葵花宝典

3

wenming.gapo 发布于 2020-07-24

一 Spring简介 Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架 为了解决企业应用开发的复杂性而创建 二 Spring功能 1. 方便解耦 简化开发 Spring就是一个大工厂 专门负责生成Bean 可以将所有对象创建和依赖关系维护交给Spring...

阅读(41)评论(0)赞 (0)

Spring

SpringIOC容器设计

5

wenming.gapo 发布于 2020-07-24

在Spring IoC容器的设计中,作者设计了两个接口来表示容器 BeanFactory BeanFactory简单粗暴,可以理解为HashMap,key是BeanName,value是Bean实例,通常只提供put和get。这系列容器只实现了容器的最基本功能,可看做为简单容器。...

阅读(31)评论(0)赞 (0)

Java

Mybatis源码(四)—SqlSession完成动态代理

5

hanze 发布于 2020-07-23

在使用Mybatis时一般都会写个Dao接口,然后调用方法时,总结通过dao.方法完成sql查询,使用时代码如下: public interface UserMapper { //根据id查找 User selectById(int id); //一对多根据id查找 UserAn...

阅读(45)评论(0)赞 (0)

Java

深入探究JVM之对象创建及分配策略

4

changyuan.xu 发布于 2020-07-22

@ 目录 前言 Java是面向对象的语言,所谓“万事万物皆对象”就是Java是基于对象来设计程序的,没有对象程序就无法运行(8大基本类型除外),那么对象是如何创建的?在内存中又是怎么分配的呢? 正文 一、对象的创建方式 在Java中我们有几种方式可以创建一个新的对象呢?总共有以下...

阅读(58)评论(0)赞 (0)

Spring

为什么 SpringBoot 的 Jar 可以直接运行?

3

hellas 发布于 2020-07-22

来源: http://fangjian0423.github.io/2017/05/31/springboot-executable-jar/ 当然,你如果直接说 Jar 文件执行时最朴素的本质,从META-INF里读取 Main-Class ,以此做为入口来执行,也没毛病。下面...

阅读(65)评论(0)赞 (0)

Java

从零开始实现一个插件化框架

6

xirruiqiang 发布于 2020-07-22

什么是插件化 概念 插件化技术最初源于免安装运行 apk 的想法,这个免安装的 apk 就可以理解为插件,而支持插件的 app 我们一般叫宿主。宿主可以在运行时加载和运行插件,这样便可以将 app 中一些不常用的功能模块做成插件,一方面减小了安装包的大小,另一方面可以实现 app...

阅读(57)评论(0)赞 (0)

Java

Java SPI机制实现与源码分析

2

wenming.gapo 发布于 2020-07-21

0. 前言 本文着重于实现一个基于 Java SPI 的 demo 以及对其实现原理的解析,即 ServiceLoader 类源码分析。 其实最初想写这篇文章的原因是在之前的一次面试中,被面试官问到关于 Java SPI 的问题,但没能说出让他满意的答案,所以才想着整理一篇 SP...

阅读(49)评论(0)赞 (0)

Java

三、Apache Dubbo学习整理—扩展点加载机制(1)

1

yeseng 发布于 2020-07-21

这篇比较枯燥,先记录下来。等着理解更深后,会使用通俗易懂的语言进行描述。 复制代码 一、背景描述 dubbo是一个扩展性特别强的框架,基于JAVA的SPI思路改良后的Dubbo SPI,使接口和实现完全解耦。提供注册中心,通信协议,序列化等的扩展方式。而且自身在设计过程中针对不同...

阅读(43)评论(0)赞 (0)

Java

SpringBoot 源码解析 —— SpringApplication 源码分析

21

刘莉莉 发布于 2020-07-21

点击上方 " Java指南者 "关注,  星标或置顶一起成长 免费送 1024GB 精品学习资源   正常的 SpringBoot 应用程序 一个正常的 SpringBoot 项目的启动类中常见代码如下: @SpringBootApplic...

阅读(36)评论(0)赞 (0)

编程技术

深度分析:想成为java架构师你首先得了解的JVM的类加载机制,看完你就懂了

8

songhua.gao 发布于 2020-07-19

简单说,首先是".java"代码文件编译成".class"字节码文件,然后类加载器把".class"字节码文件中的类加载到JVM中,接着JVM来执行这些类的代码。 二、类加载过程 类加载到使用,经历以下过程 加载->...

阅读(40)评论(0)赞 (0)

Java

JDK的BUG导致的内存溢出!反正我是没想到还能有续集。

77

zhuangli 发布于 2020-07-19

这是why的第 57 篇原创文章 荒腔走板 大家好,我是 why,欢迎来到我连续周更优质原创文章的第 57 篇。 老规矩,先来一个简短的荒腔走板,给冰冷的技术文注入一丝色彩。 上面这个图是我的第一台笔记本电脑,从上面的标签可以看到,是购于 2012 年 6 月 10 日,那一天是...

阅读(40)评论(0)赞 (0)