标签:final

Java

Java JDK 动态代理(AOP)使用及实现原理分析[精品长文]

7

likai 发布于 2019-07-20

愿我所遇之人,所历之事,哪怕因为我有一点点变好,我就心满意足了。 一、什么是代理? 代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。 代理模式UML图: 简单...

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

Java

关于Spring AOP与IOC的个人思考[精品长文]

4

yeseng 发布于 2019-07-20

愿我所遇之人,所历之事,哪怕因为我有一点点变好,我就心满意足了。 在阅读本文前,强烈建议阅读: Java JDK 动态代理(AOP)使用及实现原理分析 AOP是Spring提供的关键特性之一。AOP即面向切面编程,是OOP编程的有效补充。使用AOP技术,可以将一些系统性相关的编程...

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

Spring

[Spring-Cloud-Alibaba] Sentinel 整合RestTemplate & Feign

darida 发布于 2019-07-19

Sentinel API Github : WIKI Sphu (指明要保护的资源名称) Tracer (指明调用来源,异常统计接口) ContextUtil(标示进入调用链入口) 流控规则(针对来源属性) @GetMapping("/test-sentinel-api...

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

Java

java.lang.NumberFormatException: Infinite or NaN原因之浮点类型除数为0结果探究

小丁 发布于 2019-07-19

背景 在对Double类型的数据进行计算操作,将结果转化为BigDecimal时抛出了下面的异常,进行了Debug才发现了问题原因,同时也暴露出了自己在一些基础知识上还有些欠缺。 Exception in thread "main" java.lang.Num...

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

Java

一文搞懂Spring-AOP原理

1

puefu.he 发布于 2019-07-19

PointCut这个接口有两部分组成,分别是 ClassFilter 和 MethodMatcher ,其实可以很好的理解,如何定义一个切入点?我们在定义切入点的时候,就是想对某一个类的全部方法,或者对某一个类的部方法进行切入,因此在判断能否作用到方法上的时候,先判断是否类能够匹...

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

Java

面试HashMap之追命5连问

5

xiaoli.wang 发布于 2019-07-19

1、HashMap底层实现数据结构? 总的来说,HashMap就是 数组+链表 的组合实现,每个数组元素存储一个链表的头结点,本质上来说是哈希表“拉链法”的实现。 HashMap的链表元素对应的是一个静态内部类Entry,Entry主要包含key,value,next三个元素 在...

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

Java

乐字节Java构造器(构造方法|构造函数)、方法与内存分析

4

puefu.he 发布于 2019-07-19

一、 构造器(构造方法|构造函数) 在创建对象时(new),必会调用一个特殊的方法,这个方法是初始化对象信息的为new服务的。这个方法称为“构造器” 使用 new + 构造方法创建一个新的对象。 构造函数是定义在 Java类中的一个用来初始化对象的函数。 构造函数与类同名且没有返...

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

Java

[Java并发-26] 软件事务内存:借鉴数据库的并发经验

yanxinchi 发布于 2019-07-19

实际上我们天天都在写并发程序,只不过并发相关的问题都被类似 Tomcat 这样的 Web 服务器以及 MySQL 这样的数据库解决了。尤其是数据库,在解决并发问题方面,可谓博大精深,它的 事务机制非常简单易用 ,能甩 Java 里面的锁、原子类十条街。很显然对于我们要借鉴一下。 ...

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

Java

Java底层:GC相关

20

xiaoli.he 发布于 2019-07-19

垃圾回收之垃圾标记算法 对象被判定为垃圾的标准: 该对象没有被其他对象引用 判定对象是否为垃圾的算法: 引用计数算法,优点:执行效率高,程序执行受影响较小;缺点:无法检测出循环引用的情况,容易导致内存泄露 通过判断对象的引用数量来决定对象是否可以被回收 每个对象实例都有一个引用计...

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

Java

MyBatis从入门到精通(十三):使用discriminator鉴别器映射

1

刘莉莉 发布于 2019-07-19

最近在读刘增辉老师所著的《MyBatis从入门到精通》一书,很有收获,于是将自己学习的过程以博客形式输出,如有错误,欢迎指正,如帮助到你,不胜荣幸! 本篇博客主要讲解鉴别器映射discriminator标签的简单用法。 1. 明确需求 在设计之初,sys_role表的enable...

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

Java

JVM中方法调用的实现机制

3

songhua.gao 发布于 2019-07-19

Published: 19 Jul 2019 Category: JVM 本文将要介绍一下Java 8和Java 9中JVM是如何进行方法调用的。这是JVM内部实现的基础机制,如果你想理解JVM的just-in-time(JIT)编译器或者进行应用程序调优的话,这些是必需的背景知...

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

Java

2019 0ctf final Web Writeup(二)

24

zhuangli 发布于 2019-07-19

前言 接 之前文章 留下的坑,主要分析了java Tapestry的一个从文件读取到反序列化RCE的一个漏洞和ocaml的一个小trick。 hotel booking system 发现Tapestry版本号,同时发现该网站是Tapestry的demo,在github已开源: ...

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

编程技术

移动架构 (二) Android 中 Handler 架构分析,并实现自己简易版本 Handler 框架

17

xubiao.zhuang 发布于 2019-07-19

Android 的消息机制主要指 Handler 的运行机制,先来看下 Handler 的一张运行架构图来对 Handler 有个大概的了解。 Handler 消息机制图: Handler 类图: 以上图的解释: 以 Handler 的 sendMessage () 函数为例,当...

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

Java

让人抓头的Java并发(四) 阻塞队列–CPU飙升排查案例

1

changyuan.xu 发布于 2019-07-18

在上一篇文章中给大家介绍了牛批的AQS,大致讲解了JUC中同步的思路。本来还没想好这一篇应该写点什么,刚好上周某个同事的代码出现问题,排查后发现是使用阻塞队列不当导致的,所以本篇决定介绍下阻塞队列。 真实案例分析 错误案例: 说来也是挺巧的,那天一位同事iMac换了Macbook...

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

Spring

Spring Ioc之BeanDefinition的加载

yanxinchi 发布于 2019-07-18

本文研究Spring配置文件解析到注册的过程。 我们写个demo来进行debug XmlBeanFactory bf = new XmlBeanFactory(new ClassPathResource("iocbeans.xml")); 复制代码 第一步获取...

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

Java

java垃圾回收与内存分配

dulong 发布于 2019-07-18

一般判断对象是否已经“死去”有两种方法,一个是 引用计数法 ,还有一个是 可达性分析法 。 引用计数算法 给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能在被使用的。 而java虚拟机中并不是通过...

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

Java

RxJava 的源码解析(一) 主要的角色

2

darida 发布于 2019-07-18

RxJava 目前已经是 3.x 版本了,但是我司一直在用 1.x 的版本;所以我准备去从 RxJava 1.x 开始,去看它的源码结构,从源码中去理解 RxJava 中的一些概念和实现原理。其实我对 RxJava 也只是会用,没有系统的去了解;我希望我自己能够从源码里面理解他的...

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