标签:字节码

Java

浅谈 Android Dex 文件

17

xiaoli.wang 发布于 2018-11-16

概述 为什么要了解 Dex 文件 了解了 Dex 文件以后,对日常开发中遇到一些问题能有更深的理解。如:APK 的瘦身、热修复、插件化、应用加固、Android 逆向工程、64 K 方法数限制。 什么是 Dex 文件 在明白什么是 Dex 文件之前,要先了解一下 JVM,Dalv...

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

Java

不可不说的Java“锁”事

18

小丁 发布于 2018-11-15

前言 Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码来自JDK 8)、使用场景进行举例,为读者介绍主流锁的知识点,以及不同的锁的适用场景。 Java中往往是按照是否含有某一特性来定义锁,我们通过特性将锁进...

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

Java

深入理解Java虚拟机总结

15

Harries 发布于 2018-11-15

基础了解 Java 程序的执行过程:Java 源代码文件(.Java文件)-> Java Compiler(Java编译器)->Java 字节码文件(.class文件)->类加载器(Class Loader)->Runtime Data Area(运行时数...

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

Java

深入拆解 Java 虚拟机

3

Harries 发布于 2018-11-15

开篇词 | 为什么我们要学习Java虚拟机? 01 | Java代码是怎么运行的? 02 | Java的基本类型 03 | Java虚拟机是如何加载Java类的? 04 | JVM是如何执行方法调用的?(上) 05 | JVM是如何执行方法调用的?(下) 06 | JVM是如何处...

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

Java

使用 javassist 修改字节码实现 eureka-client 监听服务启动

xiaoli.wang 发布于 2018-11-15

项目中一些服务需要监听其他微服务的启动信息,需要监听到启动后主动向其发请求拉取一些配置等。 可是 eureka-client 并未提供监听其他服务启动的事件, eureka-server 倒是提供了事件, 可以在自己的 eureka-server 中监听服务启动,监听后发送服务启...

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

Java

Eclipse Jetty 9.4.13 发布,支持 Java 11

puefu.he 发布于 2018-11-14

Eclipse Jetty 9.4.13 发布了,此版本包含大量的 bug 修复和改进,支持 Java 11 进行时与字节码,同时将 ASM 更新到 7.0 版以支持 Java 11 运行时和字节码。 具体更新如下: 2191 支持 JPMS 2431 更新到 Junit 5 2...

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

Java

JVM内存区域

3

changyuan.xu 发布于 2018-11-14

Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为多个区域,这些区域各有自己的用途以及独特的创建和销毁时间,今天就带着大家来揭开这些不同的数据区域的面纱 先来一张最经典的图: 今天我们来学习一下图片上方的程序计数器、方法区、栈、堆几个部分。 1.程序计数器 程序计数...

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

Java

代理模式看着一篇就够了

hanze 发布于 2018-11-13

public interface Person { String searchHouse(); } 复制代码 public class MasterProxy implements Person { private Person person; public MasterProx...

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

Java

Java中的装箱、拆箱

yeseng 发布于 2018-11-13

装箱:将基本数据类型转换为包装器类型 拆箱:将包装器类型转换为基本数据类型 装箱与拆箱的过程时自动进行的,因此称为“自动装箱”、“自动拆箱”,属于编译期的语法糖。 以基本类型int与包装类型Integer为例讨论。既然是编译期的语法糖,那么直接分析编译出来的字节码即可,可以使用j...

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

Java

Java架构-Java JDK 动态代理

3

likai 发布于 2018-11-12

代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用...

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

Java

Java 反射机制那些事

1

xiaoli.he 发布于 2018-11-12

前不久学习了反射机制,来总结下。 在此之前,回顾下java程序的编译运行过程,分为三个阶段:源码(.java文件)进过编译生成字节码文件(.class文件),然后jvm加载字节码文件执行程序(runtime)。 前两个步骤(编译阶段)是在硬盘上完成的,后一个步骤(运行阶段)是在内...

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

Java

JVM的结构

8

Harries 发布于 2018-11-12

结合《深入理解Java虚拟机:高级特性及最佳实践》、《实战Java虚拟机——JVM故障诊断与性能优化》、油管视频,下图是我对JVM结构的总结: 要理解JVM的结构,其实可以从java程序怎么运行的角度去理解: java程序运行的是class文件,所以需要 类装载子系统 来把cla...

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

Java

理解 Java 中的 Synchronized

2

Harries 发布于 2018-11-10

阅读本文至少要知道 synchronized 用来是干什么的… 需要的前置知识还有 Java 对象头和 Java 字节码的部分知识,相关知识读者可以在《深入理解 Java 虚拟机》中找到。 synchronized 的使用 synchronized 有三种使用方式,三种方式锁住的...

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

Java

Kotlin中的反射

dulong 发布于 2018-11-09

博客地址sguotao.top Java中的反射机制,使得我们可以在运行期获取Java类的字节码文件中的构造函数,成员变量,成员函数等信息。这一特性使得反射机制被常常用在框架中,想要比较系统的了解Kotlin中的反射,先从Java的反射说起。 Java中的反射 通常我们写好的.j...

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

Java

charles授权分析与破解

4

xirruiqiang 发布于 2018-11-09

最近charles又更新了,对于有强迫症的人来说,无法接受这个事实,果断前往 官网 下载安装。 兴奋的点击了软件图标,突然间,天气骤变,窗外电闪雷鸣,罗盘不停的转动,电脑风扇也疯狂的转。老夫掐指一算,不好!今天不适宜使用charles,可是已经来不及了。此时,心跳逐渐加快,砰!砰...

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

Java

java多线程那点事儿

18

小丁 发布于 2018-11-08

前段时间应隔壁部门大佬的邀约,简单地帮他们部门的童靴梳理了下多线程相关的内容,客串了一把讲师【因为部门内有不少是c#转java的童鞋,所以讲的稍微浅显了些】 ok,按照个人习惯先来大纲 知识点: 1)进程 多线程的相关概念 涉及到CPU调度 稍微谈下JVM内存模型 程序计数器 2...

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

Java

从字节码看java中 this 隐式传参具体体现

yanxinchi 发布于 2018-11-08

从字节码看java中 this 隐式传参具体体现,也发现了 static 与 非 static 方法的区别所在! static与非static方法都是存储java的方法区。在static 方法中,没有this引用,因此无法使用当前类中所定义的变量,而非static方法则会默认传入...

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