09 2020 档案
摘要:本篇文章的思维导图 一、JVM的简单介绍 1.1 JVM是什么? JVM (java virtual machine),java虚拟机,是一个虚构出来的计算机,但是有自己完善的硬件结构:处理器、堆栈、寄存器等。java虚拟机是用于执行字节码文件的。 1.2 JAVA为什么能跨平台? 首先我们可以问一
阅读全文
摘要:前言 有一个Spring源码阅读环境是学习Spring的基础。笔者借鉴了网上很多搭建环境的方法,也尝试了很多,接下来总结两种个人认为比较简便实用的方法。读者可根据自己的需要自行选择。 方法一:搭建基础Spring项目 思路就是创建一个最基本的spring项目,通过下载源码,可以实现阅读源码的需求。优
阅读全文
摘要:JDK动态代理 JDK动态代理核心是两个类:InvocationHandler和Proxy 举个栗子 为便于理解,首先看一个例子: 希望实现这样一个功能:使用UserService时,只需关注自己的核心业务逻辑的实现,对于日志功能的打印,由系统的公共服务完成。 首先定义一个业务类的接口:UserSe
阅读全文
摘要:接上一篇Spring AOP系列(一)— 代理模式,本篇来聊聊动态代理。 动态代理与静态代理的区别 要想了解动态代理与静态代理的区别,需要有两个前置知识点:java程序是如何执行的以及类加载机制。 java程序执行过程 将java源码(.java文件)通过编译器(javac.exe)编译成JVM文件
阅读全文
摘要:Spring AOP系列(一)— 代理模式 AOP(Aspect Oriented Programming)并没有创造或使用新的技术,其底层就是基于代理模式实现。因此我们先来学习一下代理模式。 基本概念 定义 代理模式,为对象提供一种代理,以控制对这个对象的访问。 角色 代理模式也称为委托模式,一般
阅读全文
摘要:栈 栈(Stack)的基本性质是先进后出(LIFO) 1 栈的实现 从上图中可以分析,栈的基本操作有:入栈、出栈 定义我们要实现的栈的API: public class Stack<Item> { Stack(); //构造函数 void push(Item item); //添加一个元素 Item
阅读全文
摘要:正则表达式 一、正则表达式是什么 正则表达式(Regular Expression)是一种文本模式,使用单个字符串来描述、匹配一系列某个句法规则的字符串。正则表达式由普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")组成。 本文只对正则表达式的一些基本使用做说明,在开发过程中掌握基
阅读全文