![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
it三哥
15年互联网老兵,擅长电商类架构
展开
-
java bean 为什么要实现 serializable 接口
java bean 为什么要实现 serializable 接口1、为什么要实现serializable 接口实现了serializable接口的类,可以被 ObjectOutputStream 转换为字节流写入文件,同时也可以被ObjectInputStream再转换为内存中的对象。2、对象序列化用在什么场景将内存中的对象保存到文件或者数据库(mybatis框架编写持久层)需要在网络中传输对象(rpc调用)3、serialVersionUID变量的定义JVM在反序列化时,需要使用 ser原创 2021-03-18 13:31:01 · 369 阅读 · 1 评论 -
深入理解java代理
##一文彻底搞懂java动态代理为什么要使用代理代理模式,是设计模式的一种,旨在增强某个类的功能。现代编程,提倡高内聚低耦合。当想对已有模块增加功能时,要尽可能不动或者少动原代码。代理模式,提供了很好的解决方案。通过静态代理或动态代理,生成一个新的类,与被代理类产生关联,从而实现被代理类的功能增强。代理的基本思想1、代理类与被代理类实现同一个接口,或继承同一个父类;2、代理类实现被代理...原创 2019-12-27 11:28:02 · 298 阅读 · 0 评论 -
zuul中header处理的问题
记录两个使用zuul的坑1. 在zuul的filter中拦截不到header这个问题查了半天,最终发现直接请求ip加端口可以拦截,使用nginx反向代理后,丢失。nginx默认request的header的那么中包含’_’时,会自动忽略掉。解决方法是:在nginx里的nginx.conf配置文件中的http部分中添加如下配置:underscores_in_headers on; (默认 ...原创 2019-08-31 13:32:17 · 1010 阅读 · 1 评论 -
java8注解原理
注解声明@target说明的是Annotation所修饰的对象范围,常用的可选值有 TYPE,FIELD,METHOD,PARAMETER@Retention定义 Annotation 生命周期。可选值 source、class和runtime。source仅出现在源代码中,编译时丢弃,如lombok的@DATA注解;class 编译在class文件中,被虚拟机忽略;runtime ...原创 2019-06-28 13:33:59 · 302 阅读 · 0 评论 -
maven添加本地library
最靠谱的方法使用 mvn install命令,将本地的jar包安装至本地仓库中,可以用mvn命令,也可以用warpper,即mvnw命令。命令如下:./mvnw install:install-file -DgroupId=cfca -DartifactId=cfca-Dversion=1.0 -Dpackaging=jar -Dfile=src/main/resources/libs/S...原创 2019-05-14 11:42:19 · 1620 阅读 · 0 评论 -
java乱码问题两例
最近遇到两个乱码问题,一个是在mac本地写好的图形验证码,一个是springboot写入mysql中文乱码。一、图形验证码乱码产生乱码原因:生成图形验证码的字体,本地有,centos服务器上没有。解决方法:1、生成图片的setFont方法指定为 “Times New Roman”2、将 TIMES.TTF 上传服务器,路径 /usr/share/fonts3、执行命令 fc_cach...原创 2018-12-17 19:02:23 · 188 阅读 · 0 评论 -
idea中去掉mybatis的 xml中的黄色背景
环境:springboot1.3.3 mybatis3.3.0 idea2017.2.1问题:mybatis的 xml中总出现黄色背景,如图mybatis的 xml中的黄色背景解决方法:Preference->Editor->Inspections去掉SQL的语法检查,问题解决。...原创 2018-12-10 15:24:02 · 1974 阅读 · 1 评论 -
mybatis+spring boot, mapper 提示Could not autowire
这里写自定义目录标题背景:springboot1.3.3 mybatis3.3.0 idea2017.2.1问题:mapper提示 could not autowire解决方法:修改idea配置,将spring 的severity的值设置为"warning", 如下...原创 2018-12-10 12:10:33 · 336 阅读 · 0 评论 -
对JVM的理解
1、为什么要学习jvmjava语言最大的特点是平台无关性,而JVM是Java跨平台使用的根本。Java既是编译型语言(编译为字节码)也是解释型语言,Java的编译程序首先将我们的源码编译为字节码,然后在不同平台,JVM执行字节码时,它会把字节码解释为具体平台的机器指令。学习jvm有助于我们深入理解java如何与操作系统打交道,有助于我们通过调整JVM相关参数提高Java应用的性能。2、...原创 2019-07-16 18:46:37 · 182 阅读 · 0 评论 -
SpringBoot 编译时出现Unable to find a single main class的解决方法
今天一个Maven项目突然jenkins编译不通过了,报错内容如下:[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.3.6.RELEASE:repackage (default) on project quickpass-trafficcard-common: Execution...原创 2018-11-15 14:48:23 · 2927 阅读 · 0 评论