CommonsBeanutils1学习速记
前置知识 TemplatesImpl中的字节码加载流程 1 2 3 TemplatesImpl.newTransformer() ->TemplatesImpl.getTransletInstance() ->TemplatesImpl._class[_transletIndex].newInstance() 其中 …
标签 · Java学习路
前置知识 TemplatesImpl中的字节码加载流程 1 2 3 TemplatesImpl.newTransformer() ->TemplatesImpl.getTransletInstance() ->TemplatesImpl._class[_transletIndex].newInstance() 其中 …
Java System Properties 随你怎么叫:配置参数/启动属性/环境变量/系统属性,都可以,反正大概率都是指Java System Properties 为了方便和统一,本文下面统一叫做:JVM 启动参数
前情提要 紧接此文的前情提要 在找到对应端口对应的文件目录后,有点绝望,JDK 目录连上了我的知识点,却击碎了我的幻想 但是咱不是善于认输的人,有没有什么办法可以看到正在运行的java进程的相关配置参数或者环境变量呢? 答案:有的,所以如下 但是即使知道了环境变量,由于是通过案例通过Tomcat部署(移植到类中直接运行失败),所以也无法排除是否是Tomcat发起连接还是业务代码 …
What’s LDAP Lightweight Directory Access Protocol -> LDAP 直译:轻量级目录访问协议(Directory -> 又可译为电话簿),但是意义不准确 不管是目录还是电话簿,核心点为查找 即 Directory 服务内部的数据组织形式是树形结构,这样做的目的是方便查找。其最开始存在的目的是做白页、黄页类应 …
OK,又到了喜闻乐见的Java基础知识环节 What’s JNDI JNDI,即Java Naming and Directory Interface,直译为 Java命名与目录接口 Java表明了这个玩意儿大概率只在Java中存在
What’s JPA JPA(Jakarta Persistence API)是一个规范,定义了Java应用程序中持久性的一组概念。JPA提供了一个对象关系映射(ORM)层,允许开发人员使用Java对象进行工作,而无需手动转换对象导向范式和关系数据库之间的差异。JPA实现如Hibernate和EclipseLink处理Java对象和数据库表之间的转换,使开发人员免 …
What’s EJB EJB => Enterprise Java Beans 直译:企业 Java Beans EJB 的官方解释: 商务软件的核心部分是它的业务逻辑。业务逻辑抽象了整个商务过程的流程,并使用计算机语言将他们实现。 所谓:"业务逻辑" 我们注意到在EJB 的概念中主要提到的就是"业务逻辑"的封装,而这个 …
概念多且杂,且看且过 JAVA & J2EE Java和Java EE(也可称J2EE,其中的故事)是两个不同概念 Java不仅指一种语言,也可以指一种软件系统的流派 目前JAVA有三个平台:
自定义类加载器的使用 根据前文,不管是Bootstrap ClassLoader还是ExtClassLoader等,这些类加载器都只是加载指定的目录下的jar包或者资源。如果在某种情况下,我们需要动态加载一些东西呢?
ClassPath是Java中一个重要的环境变量,弄懂他对于Java运行环境的理解有重大的帮助 ClassPath是什么 CLASSPATH直译过来是类路径,是Java环境配置中要设置的一个环境变量,就是.class文件的路径,表示JVM从哪里去寻找要运行的class文件,CLASSPATH = D:\java表示执行java命令时去D:\java目录中去找需要被执行的 …
前文有提到Java的默认ClassLoader有三种,且三种的ClassLoader会加载不同的Java类。 他们加载的类的路径在哪? 是否可以进行设置? 本文做一个初步探讨 全量输出 在不配置任何参数的情况下,执行MainTest.java查看默认路径 MainTest.java内容如下
本章深入了解Java字节码以及加载Java字节码的类加载器相关姿势! Java字节码 Java 在刚刚诞生之时曾经提出过一个非常著名的口号: “一次编写,到处运行(write once,run anywhere)”,这句话充分表达了软件开发人员对冲破平台界限的渴求。“与平台无关”的理想最终实现在操作系统的运用层上: 虚拟机提供商开发了许多可以运行在不同平台上的虚拟机,这些虚拟机 …
CC6链 CC6 Demo学习,以及踩坑记录 CC6 Demo CC6能够解决CC1高版本无法利用的问题,先看看CC6链 调用栈 1 2 3 4 5 6 7 8 9 10 11 12 13 /* Gadget chain: java.io.ObjectInputStream.readObject() java.util.HashMap.readObject() …
假设读者已经了解HashMap版非经典CC1链的构造原理。 如此提到了非经典版的CC1链,代表经典版CC1链和HashMap版有一定出入。 经典版CC1链使用的Map类为LazyMap而非HashMap
代理模式 代理模式是常用的java设计模式。 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。简单的说就是 …
设计模式 设计模式简介 设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。
假设读者已经掌握(笔者博客里的前置文章内涉及技术的)基础知识 本文章目的是分析CC链之1 Demo,以及补充相关前置知识,并尝试解决CC1链必要性问题,即CC1的必要路径和可选路径
什么是RMI RMI (Remote Method Invocation) 模型是一种分布式对象应用,使用 RMI 技术可以使一个 JVM 中的对象,调用另一个 JVM 中的对象方法并获取调用结果。这里的另一个 JVM 可以在同一台计算机也可以是远程计算机。因此,RMI 意味着需要一个 Server 端和一个 Client 端。 Server 端通常会创建一个对象,并使之可以被 …
本章是 D4n的Java安全入门 第一篇,望大佬指正,小白避坑