标签:struct

The Clean Architecture

1

likai 发布于 2019-04-20

Robert C. Martin (Uncle Bob) 原文: https://blog.cleancoder.com/u… 译:祝坤荣 在过去几年我们看到关于系统架构的很多想法。这些包括: Alistair Cockburn的六边形架构(也叫做端口与适配器),St...

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

Spring之Bean的生命周期

1

hanze 发布于 2019-04-20

二、生命周期方法说明 接口 方法 说明 BeanFactoryPostProcessor postProcessBeanFactory 在Bean对象实例化之前执行, 通过beanFactory可以获取bean的定义信息, 并可以修改bean的定义信息。这点是和BeanPostP...

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

利用JAVA调试协议JDWP实现反弹shell

8

尖兵 发布于 2019-04-20

前面已经有两篇文章介绍了有关反弹shell的内容,使用Java反弹shell和 绕过exec获取反弹shell 。之前的文章主要聚焦如何使用java来反弹shell。网上的各种文章也是将各种反弹shell的一句话的写法。但是鲜有文章分析不同反弹shell的方式之间的差异性,以及反...

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

手撸lombok

Harries 发布于 2019-04-20

拥抱 lombok,它会帮助我们解决一些让我们很烦躁的问题 去掉 Setter 和 Getter @Setter @Getter public class UserDTO { @NotNull private String username; @NotNull private i...

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

走进c#

2

Harries 发布于 2019-04-19

本周项目逐渐完工,没有发现什么重大问题,所以一直在写.net的实验,.net框架大部分使用的是以c#编写的,上课的时候也仔细听了一下,也算对c#有些了解,之前先学的java,对比java,感觉c#有其他的特性(也可能java也有,只是我不熟悉),在这里总结一下(本文只是个人的理解...

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

Android编译期插桩,让程序自己写代码(二)

4

hellas 发布于 2019-04-19

在上篇文章 Android编译期插桩,让程序自己写代码(一) 的前言部分我放了一张图,用来说明编译期插桩的位置和相应的技术。这里,我还打算这张图来开篇。 AspectJ 在上图中,我们可以清楚的看到AspectJ的插桩位置是.java与.class之间。这很容易使人联想到编译器。...

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

JDK动态代理的理解与分析

6

hellas 发布于 2019-04-19

前言 java的设计模式中有一项设计模式叫做代理模式,所谓代理模式,就是通过代理方来操作目标对象,而不是自己直接调用。代理又分为静态代理和动态代理,静态代理就是针对每个被代理对象写一个代理类,操作不够优雅;动态代理,可以根据接口动态的生成代理类,这动态生成的类不需要自己书写,jd...

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

Spring系列(一):Spring MVC bean 解析、注册、实例化流程源码剖析

1

zhuangli 发布于 2019-04-19

最近在使用Spring MVC过程中遇到了一些问题,网上搜索不少帖子后虽然找到了答案和解决方法,但这些答案大部分都只是给了结论,并没有说明具体原因,感觉总是有点不太满意。 更重要的是这些所谓的结论大多是抄来抄去,基本源自一家,真实性也有待考证。 要成为一名优秀的码农,不仅能熟练的...

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

Spring基本概念及其面试题

4

邓龙华 发布于 2019-04-18

Spring框架是一个为Java应用程序的开发提供了综合、广泛的基础性支持的Java平台。Spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。Spring框架本身亦是按照设计模式精心打造,这使得我们可以在开发环境中安心的集成Spring框架,不必...

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

Java虚拟机08——Java内存模型与线程

6

songhua.gao 发布于 2019-04-18

绝大多数的运算任务都不可能只靠处理器“计算”就能完成,处理器至少要与内存交互,如读取运算数据、存储运算结果等。由于计算机的存储设备与处理器的运算速度有接数量级的差距,所以现代计算机系统都不得不加入一层读写速度尽可能接近处理器运算速度的高速缓存(Cache)来作为内存与处理器之间的...

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

树结构与Java实现

4

wenming.gapo 发布于 2019-04-18

树结构与Java实现 目录 前言 提到『树』这种数据结构,相信很多人首先想到的就是『二叉树』。 的确,二叉树作为一种重要的数据结构,它结合了数组和链表的优点,有很多重要的应用。 我们都知道,数组的特点是查询迅速,根据index可以快速定位到一个元素。但是,如果要插入一个元素,就需...

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

Java虚拟机08——Java内存模型与线程

6

zhuangli 发布于 2019-04-18

绝大多数的运算任务都不可能只靠处理器“计算”就能完成,处理器至少要与内存交互,如读取运算数据、存储运算结果等。由于计算机的存储设备与处理器的运算速度有接数量级的差距,所以现代计算机系统都不得不加入一层读写速度尽可能接近处理器运算速度的高速缓存(Cache)来作为内存与处理器之间的...

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

树结构与Java实现

4

xubiao.zhuang 发布于 2019-04-18

树结构与Java实现 目录 前言 提到『树』这种数据结构,相信很多人首先想到的就是『二叉树』。 的确,二叉树作为一种重要的数据结构,它结合了数组和链表的优点,有很多重要的应用。 我们都知道,数组的特点是查询迅速,根据index可以快速定位到一个元素。但是,如果要插入一个元素,就需...

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

Java虚拟机08——Java内存模型与线程

6

xubiao.zhuang 发布于 2019-04-18

绝大多数的运算任务都不可能只靠处理器“计算”就能完成,处理器至少要与内存交互,如读取运算数据、存储运算结果等。由于计算机的存储设备与处理器的运算速度有接数量级的差距,所以现代计算机系统都不得不加入一层读写速度尽可能接近处理器运算速度的高速缓存(Cache)来作为内存与处理器之间的...

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

树结构与Java实现

4

dulong 发布于 2019-04-18

树结构与Java实现 目录 前言 提到『树』这种数据结构,相信很多人首先想到的就是『二叉树』。 的确,二叉树作为一种重要的数据结构,它结合了数组和链表的优点,有很多重要的应用。 我们都知道,数组的特点是查询迅速,根据index可以快速定位到一个元素。但是,如果要插入一个元素,就需...

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

Spring中Bean解析:从DOM对象到Bean的定义对象

changyuan.xu 发布于 2019-04-18

1. Bean的定义对象 Spring中Bean的定义对象,由以下接口BeanDefinition来定义,其代码如下: http://www.easysb.cn/2019/04/275.html public interface BeanDefinition extends At...

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

浅谈动态追踪技术

3

小丁 发布于 2019-04-18

本文主要介绍了动态追踪技术,并举例说明动态追踪技术的应用。 身为一个SRE,工作中经常会遇到各种奇奇怪怪的服务异常问题。这些问题在staging(测试环境)没有发现,但放到真实的生产环境就会碰到,最关键的是难以复现,某些问题可能是几个月才会复现。 初次碰到可能会手忙脚乱,暴力的解...

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

Spring——为什么会有循环依赖(源码)

4

xiaoli.wang 发布于 2019-04-18

我看到都有个疑问 为什么这样就会有问题呢 我自己实例化没有任何问题啊 但我突然又想到 我们的关注重点是 我们知道Spring实例化(无论单例还是多例)会先进入getBean 接着会进入doGetBean 它的源码重点大致如下(不了解的话 请去看下 Spring启动过程——源码分析...

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