java
文章平均质量分 64
gaoshan12345678910
这个作者很懒,什么都没留下…
展开
-
日志架构选型:彻底搞懂Log4j、Log4j2、LogBack、Slf4j之间的关系
日志架构选型:彻底搞懂Log4j、Log4j2、LogBack、Slf4j之间的关系转载 2024-06-19 14:32:44 · 158 阅读 · 0 评论 -
Java中最简单的添加日志链路的方式之一
Java中最简单的添加日志链路的方式之一转载 2024-06-18 15:14:37 · 112 阅读 · 0 评论 -
分页总页数计算公式
分页总页数计算公式转载 2023-02-16 13:57:55 · 393 阅读 · 0 评论 -
Sonarlint扫描报出“static“ base class members should not be accessed via derived types
Sonarlint扫描报出“static“ base class members should not be accessed via derived types转载 2023-02-01 18:05:44 · 1857 阅读 · 0 评论 -
图片base64的换行问题处理
有时,是后端临时生成一个图片,这时就需要把流返回给前端.如果采用base64编码的话,返回前端时,需要确定一下返回字符串的格式问题.标准的返回格式,如下,其中png表示图片类型,可以调整.data:image/png;base64,base64编码后的字符串实际开发中,发现返回的字符串,在图片还原的网站上,还原时,总是失败.定位问题的方法,先用同一个图片,在这个网站上,生成base64字符串.然后用自己写的代码,把这个图片也生成base64的字符串,看看两者的区别.经过对比原创 2022-02-28 11:29:51 · 9616 阅读 · 0 评论 -
深入理解java异常处理机制
转自http://blog.csdn.net/hguisu/article/details/61556361. 引子 try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解。不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单、听话。不信?那你看看下面的代码,“猜猜”它执行后的结果会是什么?不要转载 2017-04-09 16:12:12 · 508 阅读 · 0 评论 -
java中异常处理finally和return语句的执行顺序
转自http://blog.csdn.net/wangshihui512/article/details/51674148finally代码块的语句在return之前一定会得到执行如果try块中有return语句,finally代码块没有return语句,那么try块中的return语句在返回之前会先将要返回的值保存,之后执行finally代码块,最后将保存的返回值返回,finally转载 2017-08-04 16:37:40 · 319 阅读 · 0 评论 -
fastjson反序列化多层嵌套泛型类与java中的Type类型
public class ResultValue<T> { private static final long serialVersionUID = 1L; private String msg; private String code; private T data; private boolean success;}public class ReportHttpClientUtils { public static <T>.原创 2021-05-21 10:03:09 · 663 阅读 · 0 评论 -
JAVA动态代理
转自https://www.jianshu.com/p/9bcac608c714代理模式为其他对象提供一个代理以控制对某个对象的访问。代理类主要负责为委托了(真实对象)预处理消息、过滤消息、传递消息给委托类,代理类不现实具体服务,而是利用委托类来完成服务,并将执行结果封装处理。其实就是代理类为被代理类预处理消息、过滤消息并在此之后将消息转发给被代理类,之后还能进行消息的后置处理。代理类和被代理类通常会存在关联关系(即上面提到的持有的被带离对象的引用),代理类本身不实现服务,而是通过调用被代.转载 2021-02-25 15:07:28 · 75 阅读 · 0 评论 -
自己写jdk动态代理及说明
标准的jdk的动态代理原创 2021-02-25 14:58:21 · 143 阅读 · 1 评论 -
java 泛型
函数返回值泛型<T> T 与 T的用法public class myTest<T> { private <T> T method1(List<T> data) { ...// 输入的T类型可以随意 } private T method2(List<T> data) { ...// 输入的T类型受到主类myTestt<T>的限制,与T保持一致 }转自https://blog.csdn原创 2020-10-22 19:50:34 · 355 阅读 · 0 评论 -
JAVA HASHMAP的死循环
问题的症状从前我们的Java代码因为一些原因使用了HashMap这个东西,但是当时的程序是单线程的,一切都没有问题。后来,我们的程序性能有问题,所以需要变成多线程的,于是,变成多线程后到了线上,发现程序经常占了100%的CPU,查看堆栈,你会发现程序都Hang在了HashMap.get()这个方法上了,重启程序后问题消失。但是过段时间又会来。而且,这个问题在测试环境里可能很难重现。我们简单...转载 2019-12-04 16:34:23 · 93 阅读 · 0 评论 -
HashMap线程不安全的体现
HashMap线程不安全的体现前言:我们都知道HashMap是线程不安全的,在多线程环境中不建议使用,但是其线程不安全主要体现在什么地方呢,本文将对该问题进行解密。1.jdk1.7中的HashMap在jdk1.8中对HashMap做了很多优化,这里先分析在jdk1.7中的问题,相信大家都知道在jdk1.7多线程环境下HashMap容易出现死循环,这里我们先用代码来模拟出现死循环的情况:...转载 2019-12-04 15:27:37 · 1590 阅读 · 1 评论 -
openJDK源码下载
对于英文不好的同学,在国外的网站下载各种工具代码, 是非常痛苦的。今天分享下openJDK源码是如何下载的。1.打开openjdk网站 打开链接 链接为 http://hg.openjdk.java.net/2.点击想要下载的jdk的版本,如jdk8uopenjdk_download_0.png3.在新页面中找到jdk8u然后点击下面的jdk连接...转载 2019-12-04 14:58:47 · 225 阅读 · 0 评论 -
Oracle如何对JDK收费
今年4月16日,Oracle发布了新的JDK 8的更新,版本号为8u211和8u212。与以往不同的是,新版本的许可协议从BCL换成了OTN,这就意味着,你不能在生产环境使用这个版本了。如果你想继续使用8u211/8u212,或者之后发布的新版本,就需要给Oracle交钱了。当然,并不是你用了新版本的JDK就要交钱,这个时候要区分私用和商用:私用,是我总结的一个词,它包括”Personal...转载 2019-11-29 16:39:51 · 1364 阅读 · 0 评论 -
java初始化顺序-主要是final的说明
转自http://www.cnblogs.com/exspring/p/5315813.htmljava初始化顺序1、在任何事情发生之前,将分配给对象的存储空间初始化为0;2、从根基类开始递归,按照类中的声明顺序调用静态代码块、静态成员的初始化方法。但是有两个例外:定义为final非静态基本数据类型的成员变量此时也会被初始化;有且只有定义转载 2017-08-23 11:50:39 · 502 阅读 · 0 评论 -
谈谈HashMap线程不安全的体现-resize死循环
转自http://www.importnew.com/22011.html原文出处: HoseeHashMap的原理以及如何实现,之前在JDK7与JDK8中HashMap的实现中已经说明了。那么,为什么说HashMap是线程不安全的呢?它在多线程环境下,会发生什么情况呢?1. resize死循环我们都知道HashMap初始容量大小为16,一般来说,当转载 2017-10-11 11:27:50 · 1101 阅读 · 0 评论 -
Java中子类和父类相关方法的执行顺序
转自http://www.cnblogs.com/Qian123/p/6868437.html无意中看到下面一个题目,大家一起来看看最后的输出结果是什么。反正我看完之后,用IDE测试后感觉知识点得到巩固了。/** * 函数执行顺序测试 * Created by 萌小Q on 2017/5/17 0017. */public class ExeSeqTest { publ...转载 2018-08-16 20:30:13 · 197 阅读 · 0 评论 -
Class.getResource和ClassLoader.getResource的区别分析
转自http://swiftlet.net/archives/868在Java中获取资源的时候,经常用到Class.getResource和ClassLoader.getResource,本文给大家说一下这两者方法在获取资源文件的路径差异。Class.getResource(String path)path不以'/'开头时,默认是从此类所在的包下取资源;path以'/'开头时,则是从项目...转载 2018-11-30 17:08:10 · 124 阅读 · 0 评论 -
getResource()和getResourceAsStream以及路径问题
转自https://www.cnblogs.com/fei563786979/p/6064524.html用JAVA获取文件,听似简单,但对于很多像我这样的新人来说,还是掌握颇浅,用起来感觉颇深,大常最经常用的,就是用JAVA的File类,如要取得c:/test.txt文件,就会这样用File file = new File("c:/test.txt");这样用有什么问题,相信大家都知道,就是...转载 2018-11-30 17:33:49 · 154 阅读 · 0 评论 -
关于Java中的WeakReference
转自https://brightloong.github.io/2018/05/27/%E5%85%B3%E4%BA%8EJava%E4%B8%AD%E7%9A%84WeakReference/#more一. 简介 在看ThreadLocal源码的时候,其中嵌套类ThreadLocalMap中的Entry继承了WeakReferenc,为了能搞清楚ThreadLocal,只...原创 2019-10-09 17:00:32 · 98 阅读 · 0 评论 -
java代理(静态代理和jdk动态代理以及cglib代理)
转自http://blog.csdn.net/fighterandknight/article/details/51200470说到代理,脑袋中浮现一大堆代理相关的名词,代理模式,静态代理,jdk代理,cglib代理等等。记忆特别深刻的是,一次面试中,一位面试官问我,spring的AOP核心采用的设计模式是什么什么模式,阅读过24种设计模式,以及阅读过spring源代码的我竟然转载 2017-08-25 17:35:33 · 188 阅读 · 0 评论