
java基础
妖四灵.Shuen
这个作者很懒,什么都没留下…
展开
-
Springboot 中文乱码问题
最近刚好项目上遇到了中文乱码问题,也刚好记录一下检查编译环境的编码:File --> Setttings --> Editor --> File Encodings,这下边设置三个地方的编码格式配置JDK全局编码:如图在系统环境变量中增加一个变量:JAVA_TOOL_OPTIONS 值为 -Dfile.encoding=UTF-8,如果是项目发布,就在启动的时候加入该JVM 参数设置maven打包插件的编码<plugin> <!--打包成可原创 2020-07-10 15:57:37 · 9442 阅读 · 0 评论 -
HttpUtils(JAVA)
import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.apache.http.HttpEntity;import org.apache.http.NameValuePair;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.config.Requ..原创 2020-07-10 10:32:41 · 7927 阅读 · 0 评论 -
如何获取 动态代理类class 类文件的信息(无插件)
在看dubbo源码时,发现dubbo调用过程设计到了很多动态代理类技术,但是这些动态代理类都是运行在内存中的,没有生成class文件,不了解到这些动态代理类的内容,就不知道他的调用过程是什么?所以在网上找了很多的方式进行尝试,JDK 和 CGLIB 的方式比较简单,只需要进行参数配置但是javassist的获取就很麻烦,下面将展示如何获取动态代理生成的类信息主要工具:jvm的HSDB工具操作系统:windows系统jdk版本:jdk1.81.断点(让程序保持运行状态)2.原创 2020-06-18 17:56:18 · 1333 阅读 · 0 评论 -
如何获取JDK 动态代理的类文件$Proxy.class文件信息
有时候我们在代码里面实现了动态代理,一般不会生成显示的类class文件,但是我们如果想看生成的代理类 内部代码怎么办可以这么弄:JDK动态代理文件的生成有两个条件:1、必须在main方法中执行,直接用junit的test方法调用无法生成2、在main方法最前面增加System.getProperties().put("sun.misc.ProxyGenerator.saveGeneratedFiles","true"); 配置,这样会输出代理class文件System.getPrope原创 2020-06-18 16:54:46 · 1674 阅读 · 0 评论 -
JAVA SPI机制深入详解
1.什么是SPI SPI全称Service Provider Interface,是Java提供的一套用来被第三方实现或者扩展的接口,它可以用来启用框架扩展和替换组件。SPI的作用就是为这些被扩展的API寻找服务实现。2.SPI和API的使用场景 API (Application Programming Interface)在大多数情况下,都是实现方制定接口并完成对接口的实现,调用方仅仅依赖接口调用,且无权选择不同实现。从使用人员上来说,API 直接被应用开发人员使用。 ...原创 2020-06-16 15:34:34 · 13559 阅读 · 0 评论 -
RSA 算法工具类(纯JDK,无引入jar)
下面是RSA 生成公私钥加解密 加签验签的功能类,(注:不支持RSA2)开放平台签名算法名称 标准签名算法名称 备注 RSA2 SHA256WithRSA 强制要求 RSA 密钥的长度至少为 2048 RSA SHA1WithRSA 对 RSA 密钥的长度不限制,推荐使用 2048 位以上 由于计算能力的飞速发展,从安全性角度考虑,尽可能考虑RSA2,该算法在摘要算法上比 SHA1WithRSA 有更强的安全能力。目前 SHA1WithRSA 的签..原创 2020-06-12 11:14:33 · 13378 阅读 · 0 评论 -
linux下 安装jdk
一、首先下载linux版本jdkjdk官网:http://www.oracle.com/technetwork/java/javase/downloads/index.html根据自己需求选择下载的版本我这边是linux 64位操作系统现在会要求注册然后才能下载这是我自己使用的版本链接:https://pan.baidu.com/s/19n5g9IAm_hv6c5jLvxPYYw提取码:m3yc2.将文件上传到服务器3 解压文件(1)命令行进入/us..原创 2020-05-22 15:04:41 · 12370 阅读 · 0 评论 -
HashMap深入理解(源码,设计原理深入剖析)
哈希表是什么?散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Hash) 函数。思考:多个 key 通过散列函数会得到相同的值,这时候怎么办?1原创 2020-05-15 10:47:27 · 12815 阅读 · 0 评论 -
从0开始带你成为jvm实战高手(狸猫技术窝)
这个专栏确实很优秀,JVM讲得很详细,甚至很多场景可以直接上生产,适合 初中高级以及 架构 大数据开发者 都可以学习希望大家尊重作者的知识,购买正版专栏课程,88元并不贵,但收获的是能陪伴你一生的知识个人看了第三版的 JVM纸质书籍 结合这个专栏 后面也会作点总结,也欢迎大家观看下面是前往通道,以及部分 目录,项目目录可以微信扫进去看看...原创 2020-05-13 12:00:52 · 17676 阅读 · 0 评论 -
数组与链表的区别深入理解
链表链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域(单链表只有后指针,双向链表有前后两个指针)。链表的分类:单向链表、双向链表及循环链表单向链表链表中最简单的一种是单向链表,它包含两个域,一个信息域和一个指针域。这个链接指向列表中的下一个节点,而最后一个节点则指向一个空值。原创 2020-05-13 10:02:50 · 13528 阅读 · 0 评论 -
java四种引用类型
背景:每种编程语言都有自己操作内存中元素的方式,例如在 C 和 C++ 里是通过指针,而在 Java 中则是通过“引用”。 java不同于c/c++,它不需要程序员自已来管理内存(分配,释放内存),java 会自己来管理内存,比如销毁某些不再被使用的对象。这些操作都是在一个后台线程默默进行(Garbage Collector Thread),也就是垃圾收集器线程,根据jvm实现的策略来释放对象内存。但是程序编写者却无法控制这个后台线程,无法让它在你想要的时候开始释放内存,销毁对象,按照你的规定来销毁那些原创 2020-05-11 10:04:53 · 12781 阅读 · 0 评论 -
JDK1.8 新时间日期API学习笔记
目录前言预备知识LocalDate、LocalTime、LocalDateTime、Instant继承关系图时间对象创建时间信息获取时间信息修改时间格式化(获取指定格式字符串)时间比较时间戳(Instant)计算时间差(Period、Duration、ChronoUnit)java.time.Periodjava.time.Duration...原创 2020-02-24 18:49:11 · 12843 阅读 · 0 评论