JVMTI 2022-03-08 Java生态中有一些非常规的技术,它们能达到一些特别的效果。这些技术的实现原理不去深究的话一般并不是广为人知。这种技术通常被称为黑科技。而这些黑科技中的绝大部分底层都是通过JVMTI实现的。 形象地说,JVMTI是Java虚拟机提供的一整套后门。通过这套后门可以对虚拟机方方面面进行监控,分析。甚至干预虚拟机的运行。 下面先介绍下哪些黑科技是通过JVMTI实现的,再详细的介绍JVMTI。 JVMTI可以用来实现哪些黑科技 使用JVMTI对class文件加密 有时一些涉及到关键技术的class文件或者jar包我们不希望对外暴露,因而需要进行加密。使用一些常规的手段(例如使用混淆器或者自定义类加载器)来对class文件进行加密很容易被反编译。反编译后的代码虽然增加了阅读的难度,但花费一些功夫也是可以读懂的。使用JVMTI我们可以将解密的代码封装成.dll,或.so 文件。这些文件想要反编译就很麻烦了,另外还能加壳。解密代码不能被破解,从而也就保护了我们想要加密的class文件。 使用JVMTI实现应用性能监控(APM) 在微服务大行其道的环境下,分布式系统的逻辑结构变得越来越复杂。这给....
JavaFX 相关资源 2021-12-09 JavaFX 相关资源 凯璇大帝 2021-02-14 22:41:27 265 收藏 3 版权 Libraries, Tools and Projects(类库,工具和项目) Advanced-Bindings for JavaFX(8) - 高级绑定是一组有用的帮助程序和自定义绑定实现,如java.lang.Math或Switch-Case作为JavaFX绑定。 assertj-javafx - JavaFX属性和绑定的AssertJ断言。 AnchorFX - JavaFX平台的Docking框架。 AnimateFX - 包含即用型动画的JavaFX库。 BootstrapFX - BootstrapFX是Twitter Bootstrap for JavaFX的部分端口。 CalendarFX - CalendarFX是JavaFX 8的日历框架。它包含一组专业的自定义控件,可用于为任何类型的应用程序实现日历UI。 CssFX - 通过在正在运行的应用程序中提供JavaFX CSS重新加载功能来提高开发人员的工作效率。可用作独立库或集成在Scenic View中。 Co....
Log4j.properties配置详解 2021-11-18 [Java]Log4j.properties配置详解 2008-11-18 23:42:47| 分类: Java |字号 订阅 一、Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局)。这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出。综合使用这三个组件可以轻松地记录信息的类型和级别,并可以在运行时控制日志输出的样式和位置。 Loggers Loggers组件在此系统中被分为五个级别:DEBUG、INFO、WARN、ERROR和FATAL。这五个级别是有顺序的,DEBUG < INFO < WARN < ERROR < FATAL,分别用来指定这条日志信息的重要程度,明白这一点很重要,Log4j有一个规则:只输出级别不低于设定级别的日志信息,假设Loggers级别设定为INFO,则INFO、WARN、ERROR和FATAL级别的日志信息都会输出,而级别比INFO低的DEBUG则不会输出。 Appenders 禁用和使用日志请求只是Log4j的基本功能,Log4j日志系统....
java正则表达式 2021-07-02 "^\d+$" //非负整数(正整数 + 0) "^[0-9][1-9][0-9]$" //正整数 "^((-\d+)|(0+))$" //非正整数(负整数 + 0) "^-[0-9][1-9][0-9]$" //负整数 "^-?\d+$" //整数 "^\d+(\.\d+)?$" //非负浮点数(正浮点数 + 0) "^(([0-9]+\.[0-9][1-9][0-9])|([0-9][1-9][0-9]\.[0-9]+)|([0-9][1-9][0-9]))$" //正浮点数 "^((-\d+(\.\d+)?)|(0+(\.0+)?))$" //非正浮点数(负浮点数 + 0) "^(-(([0-9]+\.[0-9][1-9][0-9])|([0-9][1-9][0-9]\.[0-9]+)|([0-9][1-9][0-9])))$" //负浮点数 "^(-?\d+)(\.\d+)?$" //浮点数
Http Header详解 有更新! 2019-05-13 HttpClient — Http Header详解 2018年02月05日 13:57:57 静禅 阅读数:903 资料转载自:https://kb.cnblogs.com/page/92320/ HTTP(HyperTextTransferProtocol)即超文本传输协议,目前网页传输的的通用协议。HTTP协议采用了请求/响应模型,浏览器或其他客户端发出请求,服务器给与响应。就整个网络资源传输而言,包括message-header和message-body两部分。首先传递message-header,即http header消息 。http header 消息通常被分为4个部分:general header, request header, response header, entity header。但是这种分法就理解而言,感觉界限不太明确。根据维基百科对http header内容的组织形式,大体分为Request和Response两部分。 Requests部分 Header 解释 示例 Accept 指定客户端能够接收的内容….
httpclient-4.5.2官方教程 有更新! 2019-05-13 HttpClient-4.5.2官方教程完整翻译 2018年08月11日 15:51:35 SmilingRon 阅读数:1654 HttpClient 4.5.2 前言 – 超文本传输协议(HTTP)可能是当今互联网上使用的最重要的协议。 网络服务,支持网络的设备以及网络计算的发展继续扩大了HTTP协议在用户驱动的Web浏览器之外的作用,同时增加了需要HTTP支持的应用程序的数量。 尽管java.net包提供了通过HTTP访问资源的基本功能,但它并不能提供许多应用程序所需的全部灵活性或功能。 HttpClient试图通过提供一个高效的,最新的,功能丰富的包来实现最新的HTTP标准和建议的客户端来填补这个空白。 为扩展而设计,同时为基本的HTTP协议提供强大的支持,任何构建HTTP感知的客户端应用程序(例如Web浏览器,Web服务客户端或利用或扩展HTTP协议进行分布式通 信的系统)的HttpClient都可能是有用的。 HttpClient scope 基于HttpCore的客户端HTTP传输库 基于经典(阻塞)I / O 内容不可知的 HttpClient 不是什么 HttpC….
Dom4j完整教程 有更新! 2019-05-13 Dom4j完整教程 转自:https://blog.csdn.net/chenweitang123/article/details/6255108 目录 1、DOM4J简介 2、XML文档操作1 2.1、读取XML文档: 2.2、获取根节点 2.3、. 新增一个节点以及其下的子节点与数据 2.4、 写入XML文件 2. 5、 遍历xml节点 2.6、创建xml文件 2.7、修改节点属性 2.8、删除节点 2、XML文档操作2 2.1、Document对象相关 1、读取XML文件,获得docum....
jmap查看内存使用情况与生成 有更新! 2019-05-13 jmap查看内存使用情况与生成heapdump jmap查看内存使用情况与生成heapdump 如果想分析自己的JAVA Application时,可以使用jmap程序来生成heapdump文例: jmap -heap 1234 (1234为进程号) jmap是JDK自带的一个工具,非常小巧方便,其支持参数如下: ** -heap:**打印heap空间的概要,这里可以粗略的检验heap空间的使用情况。 例: jmap -heap 12345 输出: Attaching to process ID 2657, please wait… Debugger attached successfully. Client compiler detected. JVM version is 1.5.0_16-b02 using thread-local object allocation. Mark Sweep Compact GC Heap Configuration: MinHeapFreeRatio = 40 &....