标签:类加载器

Java

Java的API设计实践

xubiao.zhuang 发布于 2019-01-19

Introduction 了解在设计Java API时应该应用的一些API设计实践。通常,这些实践很有用,并确保API可以在模块化环境中正确使用,例如OSGi和Java平台模块系统(JPMS)。有些做法是规定性的,有些则是禁止性的。当然,其他良好的API设计实践也适用。 OSGi...

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

Java

jvm类加载机制

1

dulong 发布于 2019-01-18

Java 虚拟机将字节流转化为 Java 类的过程。这个过程可分为加载、链接以及初始化 三大步骤。 加载是指查找字节流,并且据此创建类的过程。加载需要借助类加载器,在 Java 虚拟机中,类加载 器使用了双亲委派模型,即接收到加载请求时,会先将请求转发给父类加载器。 链接,是指将...

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

Java

dubbo源码解析(二十三)远程调用——Proxy

1

yeseng 发布于 2019-01-14

远程调用——Proxy 目标:介绍远程调用代理的设计和实现,介绍dubbo-rpc-api中的各种proxy包的源码。 前言 首先声明叫做代理,代理在很多领域都存在,最形象的就是现在朋友圈的微商代理,厂家委托代理帮他们卖东西。这样做厂家对于消费者来说就是透明的,并且代理可以自己加...

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

Java

十万级并发:阿里资深架构师常用的四种性能优化方式!

3

尖兵 发布于 2019-01-14

前言 一个很重要的知识环节。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于系统的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。 性能优化也是一样,如果项目着眼于尽快无BU...

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

Java

ThreadLocal 内存泄露的实例分析

3

songhua.gao 发布于 2019-01-13

前言 之前写了一篇 深入分析 ThreadLocal 内存泄漏问题 是从理论上分析 ThreadLocal 的内存泄漏问题,这一篇文章我们来分析一下实际的内存泄漏案例。分析问题的过程比结果更重要,理论结合实际才能彻底分析出内存泄漏的原因。 案例与分析 问题背景 在 Tomcat ...

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

Java

JVM进阶 — 浅谈Java Agent

dulong 发布于 2019-01-13

JVM并 不会限制Java Agent的数量 可以在JVM参数中包含多个-javaagent参数 也可以远程attach多个Java Agent JVM会按照参数的顺序或者attach的顺序,逐个执行Java Agent JRebal/Btrace/arthas等工具都是基于Ja...

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

Java

JVM(二)Java虚拟机组成详解

dulong 发布于 2019-01-13

导读:详细而深入的总结,是对知识“豁然开朗”之后的“刻骨铭心”,想忘记都难。 Java虚拟机(Java Virtual Machine)下文简称jvm,上一篇我们对jvm有了大体的认识,进入本文之后我们将具体而详细的介绍jvm的方方面面,而本文主要讲的是jvm的组成,了解了它,就...

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

Java

3年Java工程师面试必问!这些题一定要会!

3

yeseng 发布于 2019-01-13

前言 要说面试,程序员烦,公司也烦,面试官也烦,但没办法,鱼龙混杂的人太多,理论好写不了代码的程序员着实让公司头疼,因而面试的题目也越来越刁钻! 不过凡事都有两面性,面试也是激励程序员多看面试题,掌握知识不是吗? 以下推荐的Java面试题目,希望可以帮大家积累面试经验温习技术知识...

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

Spring

Spring AOP是什么?你都拿它做什么?

4

zhuangli 发布于 2019-01-12

为什么会有面向切面编程(AOP)?我们知道Java是一个面向对象(OOP)的语言,但它有一些弊端,比如当我们需要为多个不具有继承关系的对象引入一个公共行为,例如日志、权限验证、事务等功能时,只能在在每个对象里引用公共行为。这样做不便于维护,而且有大量重复代码。AOP的出现弥补了O...

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

Java

解读:Java 11 中的模块感知服务加载器

dulong 发布于 2019-01-10

Java 模块是一个自包含、自描述组件,隐藏了内部细节,为客户端使用提供接口、类和服务。Java 的 ServiceLoader 可以用来加载实现给定服务接口程序。Java 的服务加载机制可以通过库进行扩展,以减少样板代码,并提供一些有用的特性。 正文 本文要点 Java 模块是...

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

Java

一个Java程序员的2018年总结

1

yeseng 发布于 2019-01-06

大概有2个月没有真正的去写过文章了,这段时间的确是太忙了,先给各位读者道个歉。2018都过去快一周了,终于在周末的时候抽出了时间对2018进行总结。 在这匆匆的2018年中我阅读了很多书籍,结识了很多人,了解了很多不同的学习方法,也领略过一些高深莫测的源码,写过一些不精的技术文章...

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

Java

Android Classloader机制

3

yanxinchi 发布于 2019-01-06

java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 类的生命周期 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading)、验证(V...

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

Java

彻底搞懂jdk动态代理并自己动手写一个动态代理

zhuangli 发布于 2019-01-04

我们都知道牛逼轰轰的Spring AOP的实现的一种方式是使用JDK的动态代理(另一种是cglib,后面会介绍),大部分人也会用jdk的动态代理,不过没有研究过jdk的动态代理到底是怎么实现的。今天就来揭开他的神秘面纱; 1.原理源码剖析 首先我们先来讲一下JDK动态代理的实现原...

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

Java

Java核心技术36篇②——老生常谈 String、StringBuilder、StringBuffer

小丁 发布于 2019-01-02

[TOC] 字符串就是一连串的字符序列,Java提供了String、StringBuilder、StringBuffer三个类来封装字符串 String String 类是不可变类,String对象被创建以后,对象中的字符序列是不可改变的,直到这个对象被销毁 为什么是不可变的 j...

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

Java

Java虚拟机内存管理知识总结

9

changyuan.xu 发布于 2018-12-28

0、Java 对内存的划分: Java虚拟机规范将物理内存(主内存和CPU中的缓存、寄存器)划分为 程序计数器 、 Java 虚拟机栈 、 本地方法栈 、 Java 堆 、 方法区 五个区域,但并没有规定这些区域的具体实现,在其他地方听到的一些名词(如永久代、元空间等,这些都是方...

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

Java

Java SPI机制分析

zhuangli 发布于 2018-12-26

SPI概述 SPI全称为(Service Provider Interface) ,是JDK内置的一种服务提供发现机制;主要被框架的开发人员使用,比如java.sql.Driver接口,数据库厂商实现此接口即可,当然要想让系统知道具体实现类的存在,还需要使用固定的存放规则,需要在...

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

Java

为什么Java中有三种基础的类加载器?

1

xiaoli.he 发布于 2018-12-25

Java中有三种基础的类加载器 BootStrap、Extension、System 他们都有一个职能,就是从不同的包中加载类。 但是一个类加载器完全可以加载所有的类,为什么要有3种基础的类型的类加载器呢? 最佳答案 Java中有三种基础的类加载器主要为了安全。 1.2版本的JV...

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

Java

Java 静态代理和动态代理的使用及原理解析

4

darida 发布于 2018-12-24

代理模式是软件开发中常见的设计模式,它的目的是让调用者不用持有具体操作者的引用,而是通过代理者去对具体操作者执行具体的操作。 静态代理的实现 操作接口: public interface Operate { void doSomething(); } 复制代码 操作者: publ...

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