标签:字节码

Java

Spring系列__04AOP简介

4

xiaoli.he 发布于 2019-09-17

今天来介绍一下AOP。AOP,中文常被翻译为“面向切面编程”,其作为OOP的扩展,其思想除了在Spring中得到了应用,也是不错的设计方法。通常情况下,一个软件系统,除了正常的业务逻辑代码,往往还有一些功能性的代码,比如:记录日志、数据校验等等。最原始的办法就是直接在你的业务逻辑...

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

Java

线上问题排查神器 Arthas

2

xiaoli.wang 发布于 2019-09-17

之前介绍过 BTrace, 线上问题排查神器 BTrace 的使用 ,也说它是线上问题排查神器。 都是神器,但今天这个也很厉害,是不是更厉害不好说,但是使用起来非常简单。 如果你用 BTrace 的话,需要事先写好探测脚本,然后上传到需要排查问题的服务器,然后执行命令。 比方说获...

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

Java

JVM 执行 Java 程序时的内存区域划分

1

hanze 发布于 2019-09-17

在学习 Java 虚拟机(后面简称: JVM )中的垃圾回收机制(GC)之前,先需要了解 在 JVM 中的 Java 程序(class 文件)加载到内存之后到底是怎么存的。在阅读了 JVM规范 和周志明的 《深入理解Java虚拟机(第2版)》 之后,总结一下JVM中的内存划分以及...

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

Java

Java 反序列化工具 gadgetinspector 初窥

31

xiaoli.he 发布于 2019-09-17

作者:Longofo@知道创宇404实验室 时间:2019年9月4日 起因 一开始是听@Badcode师傅说的这个工具,在Black Hat 2018的一个议题提出来的。这是一个基于字节码静态分析的、利用已知技巧自动查找从source到sink的反序列化利用链工具。看了几遍作者在...

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

Java

为何Spring MVC可获取到方法参数名,而MyBatis却不行?【享学Spring MVC】

8

hanze 发布于 2019-09-17

每篇一句 胡适:多谈些问题,少聊些主义 前言 Spring MVC 和 MyBatis 作为当下最为流行的两个框架,大家平时开发中都在用。如果你往深了一步去思考,你应该会有这样的疑问: 在使用 Spring MVC 的时候,你即使不使用注解,只要参数名和请求参数的key对应上了,...

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

Spring

RestTemplate相关组件:ClientHttpRequestInterceptor【享学Spring MVC】

5

xirruiqiang 发布于 2019-09-17

每篇一句 做事的人和做梦的人最大的区别就是行动力 前言 本文为深入了解 Spring 提供的Rest调用客户端 RestTemplate 开山,对它相关的一些组件做讲解。 Tips:请注意区分 RestTemplate 和 RedisTemplate 哦~ ClientHttpR...

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

Spring

为何Spring MVC可获取到方法参数名,而MyBatis却不行?【享学Spring MVC】

8

likai 发布于 2019-09-17

每篇一句 胡适:多谈些问题,少聊些主义 前言 Spring MVC 和 MyBatis 作为当下最为流行的两个框架,大家平时开发中都在用。如果你往深了一步去思考,你应该会有这样的疑问: 在使用 Spring MVC 的时候,你即使不使用注解,只要参数名和请求参数的key对应上了,...

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

Java

Serializable & Parcelable

1

hellas 发布于 2019-09-17

所谓对象的序列化其实就是把JVM运行过程中生成的对象通过特殊的处理手段转换为字节形式的文件。转换之后就可以将其永久保存到磁盘中,或者以字节流进行网络传输。 在Android中使用Intent传递数据时,基本数据类型可以直接传递,而比较复杂的引用类型的数据就需要先将对象序列化再进行...

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

Java

进击的 Java ,云原生时代的蜕变

6

zhuangli 发布于 2019-09-16

作者| 易立 阿里云资深技术专家 导读: 云原生时代的来临,与Java 开发者到底有什么联系? 有人说,云原生压根不是为了 Java 存在的。 然而,本文的作者却认为云原生时代,Java 依然可以胜任“巨人”的角色 。作者希望通过一系列实验,开拓同学视野,提供有益思考。 在企业软...

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

Java

Synchronized 实现原理

20

xirruiqiang 发布于 2019-09-16

锁可以让临界区互斥执行,还可以让释放锁的线程向同一个锁的线程发送消息 锁的释放要遵循Happens-before原则(锁规则:解锁必然发生在随后的加锁之前) 锁在Java中的具体表现是 Synchronized 和 Lock 锁的释放 线程A释放锁后,会将共享变更操作刷新到主内存...

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

Java

【深入浅出-JVM】(75):class 装载

4

尖兵 发布于 2019-09-16

过程 装载 条件 主动使用 class时 创建一个类的实例 (new 、反射、克隆、反序列化) 调用类的静态方法(invokestatic) 使用类或接口的静态字段(getstatic、putstatic) 使用 reflect反射 初始化子类,先初始化父类 main方法的类 例...

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

Java

【深入浅出-JVM】(76):classloader

3

wenming.gapo 发布于 2019-09-16

方法 public Class loadClass(String name) throws ClassNotFoundException 通过类名发挥这个类的Class实例 protected final Class defineClass(b...

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

Java

一文读懂类加载机制

3

xirruiqiang 发布于 2019-09-16

类记载过程 多个java文件经过编译打包生成可运行的jar包,最终由java命令运行某个主类的main函数启动程序,这里首先需要通过类加载器把主类加载到jvm。 主类在运行过程中如果使用到其他类,会逐步加载这些类。 注意,jar包里的类不是一次性全部加载的,是使用时才加载的。 从...

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

Java

玩转Ysoserial-CommonsCollection的七种利用方式分析

33

xiaoli.he 发布于 2019-09-16

引言 CommonsCollection在java反序列化的源流中已经存在了4年多了,关于其中的分析也是层出不穷,本文旨在整合分析一下ysoserial中CommonsCollection反序列化漏洞的多种利用手段,从中探讨一下漏洞的思路,并且对于ysoserial的代码做一下普...

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

Java

Java SE基础巩固(七):反射

songhua.gao 发布于 2019-09-15

我第一次听说反射这个概念是在《Java编程思想》中看到的,说起这书我有些忧伤,当时自学Java,没有前辈指导,自己摸着石子过河,随便网上搜一下入门书籍,竟然清一色的推荐《Java编程思想》(当时大概2016年初,也许只是我当时知识辨别能力比较低的原因),现在看来,该书确实不适合入...

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

Java

java系列之初始虚拟机

2

小丁 发布于 2019-09-15

JVM不单单只支持Java语言,也支持其他语言(Scala、Kotlin、Groovy等等) 区块链2.0–以太坊(比特币是区块链1.0) 中提供了EVM的虚拟机,它的实现和JVM类似,基于栈、生成脚本编译成字节码来执行。知识通用。(理论大于实际) 虚拟机历史 了解即可,无需关注...

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

Java

java系列之反射原理及动态代理模式

19

xiaoli.he 发布于 2019-09-15

反射之中包含了一个「反」字,所以了解反射我们先从「正」开始。 一般情况下,我们使用某个类时必定知道它是什么类,是用来做什么的。于是我们直接对这个类进行实例化,之后使用这个类对象进行操作。 反射则是一开始并不知道我要初始化的类对象是什么,自然也无法使用 new 关键字来创建对象了。...

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

Java

java系列之泛型

43

likai 发布于 2019-09-15

通过两段代码我们就可以知道为何我们需要泛型 实际开发中,经常有数值类型求和的需求,例如实现int类型的加法, 有时候还需要实现long类型的求和, 如果还需要double类型的求和,需要重新在重载一个输入是double类型的add方法。 定义了一个List类型的集合,先向其中加入...

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