虚拟机类加载器

虚拟机类加载器类加载阶段中,“通过一个类的全限定名来获取描述该类的二进制字节流”这个动作放到Java虚拟机外部实现,以便让应用程序决定如何去获取所需的类,这提供了极大的灵活性。实现这个动作的代码被称为“类加载器”(ClassLoader)。类与类加载器对于任意一个类,必须由加载它的类加载器和这个类本


Java BigInteger源码分析

最近一直碰到RSA加密,不可避免的涉及到大数运算,这在Python中不是问题,但是在Java和JS中,可能需要了解一下其底层实现。原因还是在于我使用Python加密的结果整了一会才在Java中复现。Java中RSA加密String pubkeyStr = "0100011111111111


mybatis-plus-generator模板

适用于IDEA项目结构public class MybatisPlusGen { public static void main(String[] args) { String userDir = System.getProperty("user.dir");


关于Spring的PostProcessor

关于Spring的各种PostProcessor首先要明确一点,实例化、填充属性与初始化三者的区别实例化(instantiateBean):bean的创建,可以理解为new一个实例,在Spring中通过反射完成填充属性(populateBean):填充Autowire的属性初始化(invokeIni


Spring中ApplicationContext扩展接口

Spring中ApplicationContext额外接口参考官方文档注:本文中的ApplicationContext是指应用程序上下文,而不是特指ApplicationContext接口。通过MessageSource接口实现国际化国际化简单来说就是在不修改内部代码的情况下,根据不同语言及地区显示


虚拟机类加载机制

虚拟机类加载Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以直接使用的Java类型,这个过程被称为虚拟机的类加载机制。注意:此处Class文件并非特指具体在磁盘上中的文件,而应当是一串二进制字节流,无论其以何种形式存在,包括但不限于磁盘文件、网


某网站加密参数分析

某网站登陆参数分析目标地址:aHR0cHM6Ly9wYXNzcG9ydC5rb25nemhvbmcuY29tL2xvZ2lu只有password是加密的,其他参数固定,看到这里,我知道,我已经赢了。全局搜索password,不要只关注JS通过login函数,定位到登录接口然后就是不停地debug了,


Java动态代理

Java动态代理动态代理在Java中有着广泛的应用,比如Spring AOP、Hibernate数据查询、测试框架的后端mock、RPC远程调用、Java注解对象获取、日志、用户鉴权、全局性异常处理、性能监控,甚至事务处理等。本文主要介绍Java中两种常见的动态代理方式:JDK原生动态代理和CGLI


Spring事务

Spring事务本文参考:Spring官方文档事物的类型本地事务:普通事务,独立一个数据库,能保证在该数据库上操作的ACID。分布式事务:涉及两个或多个数据库源的事务,即跨越多台同类或异类数据库的事务(由每台数据库的本地事务组成的),分布式事务旨在保证这些本地事务的所有操作的ACID,使事务可以跨越


虚拟机对象探秘

虚拟机对象探秘注:若无特别说明,均指HotSpot虚拟机对象的创建过程当虚拟机遇到一条字节码new指令时,首先去检查这个指令的参数能否在常量池中定位到一个类的符号引用,并检查该符号引用代表的类是否已被加载、解析和初始化过。如果没有,执行相应的类加载过程类加载完成之后,为Java对象分配内存。对象所需