JNDI
一、JNDI 简介 JNDI(Java Naming and Directory Interface,Java命名和目录接口) 是一个应用程序设计的 API,一种标准的 Java 命名系统接口。JNDI 提供统一的客户端 API,通过不同的访问提供者接口JNDI服务供应接口(SPI)的实现,由管理者将 JNDI API 映射为特定的命名服务和目录系统,使得 Java 应用程序可以和这些命名服务和目录服务之间进行交互。 ...
一、JNDI 简介 JNDI(Java Naming and Directory Interface,Java命名和目录接口) 是一个应用程序设计的 API,一种标准的 Java 命名系统接口。JNDI 提供统一的客户端 API,通过不同的访问提供者接口JNDI服务供应接口(SPI)的实现,由管理者将 JNDI API 映射为特定的命名服务和目录系统,使得 Java 应用程序可以和这些命名服务和目录服务之间进行交互。 ...
1、RMI是什么 Java RMI用于不同虚拟机之间的通信,这些虚拟机可以在不同的主机上、也可以在同一个主机上;一个虚拟机中的对象调用另一个虚拟上中的对象的方法,只不过是允许被远程调用的对象要通过一些标志加以标识。这样做的特点如下: ...
CC4 环境: Commons-Collections 4.0 https://mvnrepository.com/artifact/org.apache.commons/commons-collections4/4.0 xml 1 2 3 4 5 6 7 8 <dependencies> <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-collections4 --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-collections4</artifactId> <version>4.0</version> </dependency> </dependencies> JDK 8u65 分析: 以 ChainedTransformer.transform 为出发点,往回找 ...
再次深入学习动态加载字节码: 动态加载字节码 1、什么是Java的字节码 严格来说,Java字节码(ByteCode)其实仅仅指的是Java虚拟机执行使用的一类指令,通常被存储在.class文件中。 ...
环境: JDK 8u71: https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html Comoons-Collections 3.2.1 CC6 链分析: 在 CC1 中分析过 JDK 8u71之后的 AnnotationInvocationHandler.readObject 的写法改变,导致 CC1 链用不了,也就是说: AnnotationInvocationHandler.readObject AnnotationInvocationHandler.invoke.memberValues.get 这半条链子用不了,所以要找一个替代,这个替代也应该调用了 LazyMap.get 方法,之后的链子和 CC1 一样。 ...
环境 1、JDK-8u65 https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html 注意:国家不要选为国区,国区对应的 8u65 下载的时候会自动下载 8u111 等高版本! 2、Maven-commons-collections 3.2.1 https://mvnrepository.com/artifact/commons-collections/commons-collections/3.2.1 xml 1 2 3 4 5 6 <!-- https://mvnrepository.com/artifact/commons-collections/commons-collections --> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.2.1</version> </dependency> 3、修改 sun 包-方便调试 https://hg.openjdk.org/jdk8u/jdk8u/jdk/rev/af660750b2f4 ...
Java 反序列化 1、序列化与反序列化 1.1 什么是序列化&反序列化 序列化:将内存中的对象压缩成字节流 反序列化:将字节流转化成内存中的对象 1.2 为什么有序列化技术 序列化与反序列化的设计就是用来传输数据的。 ...
1、SpringBoot 简介 1.1 什么是 SpringBoot 随着 Spring 不断的发展,涉及的领域越来越多,项目整合开发需要配合各种各样的文件,慢慢变得不那么易用简单,违背了最初的理念,甚至人称配置地狱。Spring Boot 正是在这样的一个背景下被抽象出来的开发框架,目的为了让大家更容易的使用 Spring 、更容易的集成各种常用的中间件、开源软件; ...
1、Spring简介 Spring 官网 Spring 5.2.0 官方文档 GitHub - spring-projects/spring-framework: Spring Framework spring-webmvc xml 1 2 3 4 5 6 <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.0.RELEASE</version> </dependency> 1.1、优点 Spring是一个开源的免费的框架 Spring是一个轻量级的、非入侵式的框架 控制反转(IOC),面向切面编程(AOP) 支持事物的处理,对框架整合的支持 总结一句话:Spring就是一个轻量级的控制反转(IOC)和面向切面编程(AOP)的框架 ...
JAVA EE 32-Servlet路由技术&JDBC&Mybatis数据库 tomcat端口占用解决: 1、关闭占用程序: plain 1 2 3 4 5 6 ::查看 8005 和 8080 端口的占用情况 netstat -ano | findstr "8005 8080" ::使用 tasklist 命令查看占用端口的进程名称 tasklist | findstr "PID" ::关闭占用端口的进程 taskkill /F /PID 'PID' 2、修改端口 ...