
Java
文章平均质量分 70
阿湯哥
用心生活!爱每一天!
展开
-
Java中代理的实现方式
在Java中,有多种方式可以实现代理,包括:invoke()invoke()Enhancer这些代理方式各有特点,可以根据具体需求选择适合的方式。静态代理相对简单,但需要为每个目标类编写一个代理类;JDK动态代理适用于基于接口的代理;CGLIB动态代理适用于没有实现接口的类的代理。原创 2023-09-16 15:59:49 · 590 阅读 · 0 评论 -
Spring如何实现Quartz的自动配置
如果想在应用中使用Quartz任务调度功能,可以通过Spring Boot实现Quartz的自动配置。以下介绍如何开启Quartz自动配置,以及Quartz自动配置的实现过程。原创 2023-03-22 21:10:34 · 2696 阅读 · 0 评论 -
[WARNING] Unable to autodetect ‘javac‘ path, using ‘javac‘ from the environment.
我是在IDEA -> Maven Setting -> Runner -> Environment variables 新增用户环境环境变量。请尝试设置一下JAVA_HOME。且此时你又发现有这个警告的时候。原创 2023-01-20 17:32:00 · 3154 阅读 · 0 评论 -
应用软件保护方法
应用软件保护方法从应用软件的角度,也许确实没有办法来防止软件被最终破解,因为一旦软件发布,所有的防卫方法也就都固定了下来,可是攻击和破解的方式却是无穷的,破解只是时间问题。我们真正能做的,就是尽量增加软件被破解的难度和包括破解的时间成本。当然也包括平衡我们自己要保护的软件本身的价值,来采取合适的保护措施。分类保护方法备注线索隐藏(1)隐藏或者加密关键信息和提示 (2)核心检测代码加密关键字,避免使用和License文件或者界面提示信息同样的明文,例如: “incorrect_u原创 2022-05-27 10:20:54 · 587 阅读 · 0 评论 -
JCA - 核心类和接口 - Provider类
JCA - 核心类和接口 - Provider类Provider类如何请求和提供Provider实现安装Provider安装Provider类注册Provider静态注册动态注册设置Provider权限Provider类方法Provider类术语“加密服务提供者(CSP)”(在本文档中与“Provider”可互换使用)是指提供JDK安全API加密功能子集的具体实现的一个或一组包。Provider类是这种包或一组包的接口。它有用来访问Provider名称,版本号和其他信息的方法。请注意,除了注册加密服务的转载 2022-04-24 22:01:37 · 1524 阅读 · 0 评论 -
JCA - 核心类和接口
JCA - 核心类和接口本节介绍JCA提供的核心类和接口:Providerand Securityclasses,SecureRandom, MessageDigest, Signature, Cipher, Mac, KeyFactory, SecretKeyFactory, KeyPairGenerator, KeyGenerator, KeyAgreement, AlgorithmParameters, AlgorithmParameterGenerator , KeyStore, and C转载 2022-04-24 21:25:28 · 277 阅读 · 0 评论 -
JCA - 核心类和接口 - Cipher类
JCA参考参考Java ™ Cryptography Architecture (JCA) Reference GuideJCA-Java加密框架转载 2022-04-18 18:50:54 · 1069 阅读 · 0 评论 -
JDK8支持算法列表
JDK8支持算法列表referenceEvery implementation of the JDK 8 platform must support the specified algorithms in the table that follows. These requirements do not apply to third party providers. Consult the release documentation for your implementation to see if an原创 2022-04-15 16:35:02 · 855 阅读 · 0 评论 -
Java ClassLoader机制
Java ClassLoader机制Java类加载流程Classloader加载顺序双亲委托loadClass方法自定义类加载器参考Java类加载流程Java语言系统自带有三个类加载器:Bootstrap ClassLoader最顶层的加载类,主要加载核心类库,%JRE_HOME%\lib下的rt.jar、resources.jar、charsets.jar和class等。另外需要注意的是可以通过启动jvm时指定-Xbootclasspath和路径来改变Bootstrap ClassLoader的原创 2022-04-14 20:41:55 · 837 阅读 · 1 评论 -
XX:MaxPermSize or XX:MaxMetaspaceSize
XX:MaxPermSize or XX:MaxMetaspaceSize原创 2022-04-01 18:22:25 · 2950 阅读 · 0 评论 -
调用cxf-rest服务时float被强转为int问题
调用cxf-rest服务时float被强转为int问题最近使用cxf-rest开发一个rest接口(由于是老系统,所以使用技术比较旧),在对接口进行测试的时候,有如下用例:Json字段类型为float,Java Object字段类型为Integer,预期返回 NumberFormatException 错误。实际执行过程中发现并未抛错,而是将float强转为int。经查服务端使用的是codehaus.jackson进行的转换,经过代码追踪发现在将Json转换为Java Object时,如果Json字原创 2022-03-09 16:26:02 · 189 阅读 · 0 评论 -
java.lang.OutOfMemoryError: Metaspace
java.lang.OutOfMemoryError: Metaspace近日做系统迁移,迁移完成后系统CPU持续负载报警,经查看日志中存在多条java.lang.OutOfMemoryError: Metaspace错误信息,具体日志如下:Caused by: java.lang.InternalError: BMH.reinvoke=Lambda(a0:L/SpeciesData<L>,a1:L)=>{t2:L=MethodHandleImpl.array(a1:L);t3:原创 2022-03-07 18:27:43 · 4431 阅读 · 0 评论 -
solute a JVM crash prblem
这里写自定义目录标题## A fatal error has been detected by the Java Runtime Environment:## SIGSEGV (0xb) at pc=0x00007f2131436325, pid=198, tid=139778620061440## JRE version: Java(TM) SE Runtime Environment (8.0_20-b26) (build 1.8.0_20-b26)# Java VM: Java HotS原创 2021-10-12 14:42:28 · 350 阅读 · 0 评论 -
HttpClient的超时设置
HttpClient的超时设置最新线上出现任务积压,通过jstack导出线程堆栈信息,发现所有的线程都卡在HTTP请求执行阶段。"eis-processor-pool-28" #6480 prio=5 os_prio=0 tid=0x00007f0af6e42800 nid=0x1328f runnable [0x00007f1229fdd000] java.lang.Thread.State: RUNNABLE at java.net.SocketInputStream.socketRead0原创 2020-09-21 15:59:01 · 1337 阅读 · 0 评论 -
jstack、jmap、jstat
jstack详解转载 2020-08-28 18:56:35 · 4102 阅读 · 0 评论 -
Linux下解决CPU占用率100%问题的步骤
CPU占用率100%问题的解决步骤1. 确定cpu占用率高的进行ID - PID2. 查看进程中cpu占用率高的线程ID - TID3. 将线程ID - TID 转换成16进制 - XTID4. 将进程中的所有线程输出到文件5. 在输出文件中查找对应的线程ID我们经常会解决一些cpu占用率100%的问题,有些问题可能比较容易分析,比如正在处理大文件、或进行复杂运算。但是有些问题往往隐藏的比较深,因此需要进行稍微专业一点的分析,看看是哪些进程占用了cpu资源,进而分析是进程中的哪些线程占用了cpu资源,最终原创 2020-08-10 16:07:17 · 6743 阅读 · 0 评论 -
如何使用TypeReference将类型A的list转换成类型B的list
如何使用TypeReference将类型A的list转换成类型B的list1. 引入Maven Dependency2. 转换代码示例在代码编写时经常涉及到将一种类型的list转换成另一种类型的list。可以使用fasterxml的ObjectMapper来实现。1. 引入Maven Dependency<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind --><de原创 2020-07-01 09:29:31 · 2806 阅读 · 0 评论 -
如何解决 fastjson autoType is not support 问题
如何解决fastjson autoType is not support问题1. 添加白名单配置全局对象配置jvm启动参数配置fastjson.properties文件2. 打开autoType功能配置全局对象配置jvm启动参数配置fastjson.properties文件Maven Configuration Sample参考fastjson版本升级后执行程序报 autoType is not support.可以考虑通过以下两种方式解决:1. 添加白名单配置全局对象在通过JSON, JSONA原创 2020-06-30 22:47:14 · 18300 阅读 · 0 评论 -
Java8-新的日期和时间API
Java8-新的日期和时间API1. LocalDate、LocalTime、Instant、Duration以及Period1.1 使用LocalDate和LocalTime1.2 合并日期和时间1.3 机器的日期和时间格式1.4 定义Duration或Period2. 操纵、解析和格式化日期2.1 使用TemporalAdjuster2.2 打印输出及解析日期-时间对象3. 处理不同的时区和历...原创 2019-11-06 15:50:11 · 344 阅读 · 0 评论 -
Caffeine源码浅析
https://www.jianshu.com/p/3434991ad075https://www.cnblogs.com/liujinhua306/p/9808500.htmlhttps://blog.youkuaiyun.com/zhuyu19911016520/article/details/81946202https://www.jianshu.com/p/15d0a9ce37dd原创 2019-11-04 20:06:07 · 1982 阅读 · 0 评论 -
Java使用Joda-Time处理日期和时间
1. Maven配置2. Joda-Time微架构3. 初识 org.joda.time.DateTime4. 创建Joda-Time4.1 获取当前系统时间4.2 通过给定的毫秒值创建4.3 通过给定的对象创建4.4 通过指定字段值创建5. Joda-Time日期操作6. Joda-Time日期格式化7. 一些源码7.1 计算指定年的毫秒数的方法7.2 将UTC毫秒数切换成本地时区对应的毫秒数8. 功能示例8.1 获取本周的开始日期和结束日期8.2 获取当前日期的所属周原创 2019-04-25 14:59:04 · 5177 阅读 · 1 评论