
Java
文章平均质量分 83
Java
yeye19891224
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java 泛型详解
Java 泛型通过参数化类型提高了代码的复用性和类型安全性。泛型类、泛型接口、泛型方法和通配符泛型是 Java 泛型的四种主要形式。理解泛型的原理和使用方法,可以帮助我们编写更高效、更安全的代码。Java 泛型是 Java 5 引入的一项重要特性,它允许在定义类、接口和方法时使用类型参数,从而提高代码的复用性和类型安全性。泛型类是在类定义时使用类型参数的类。类型参数可以在类的成员变量、方法参数和返回值中使用。泛型方法是在方法定义时使用类型参数的方法。泛型接口是在接口定义时使用类型参数的接口。原创 2025-04-15 14:31:32 · 1182 阅读 · 0 评论 -
详解slf4j、log4j、logback、log4j2
笼统的讲就是slf4j是一系列的日志接口,而log4j logback是具体实现了的日志框架。接下来我们跟着官方文档详细的来看一下他们的关系。官方文档的这一段话已经明确描述了三者的关系。slf4j译为简单日志门面,是日志框架的抽象。而log4j和logback是众多日志框架中的几种这里写了几行简单的代码来验证一下。从运行结果可以看到,由于没有给出具体的logger实现,无法在控制台输出日志。也就是说我们在具体开发中,需要绑定一个日志框架,才能正常的使用slf4j。原创 2025-03-24 09:26:27 · 564 阅读 · 0 评论 -
Java8中时间日期库的20个常用使用示例
在Java 8之前,时间日期的格式化可是个技术活,我们的好伙伴SimpleDateFormat并不是线程安全的,而如果用作本地变量来格式化的话又显得有些笨重。多亏了线程本地变量,这使得它在多线程环境下也算有了用武之地,但Java维持这一状态也有很长一段时间了。这次它引入了一个全新的线程安全的日期与时间格式器。它还自带了一些预定义好的格式器,包含了常用的日期格式。比如说,本例 中我们就用了预定义的BASICISODATE格式,它会将2014年2月14日格式化成20140114。原创 2025-03-21 15:59:54 · 896 阅读 · 0 评论 -
logback 默认配置模板
在Spring boot使用是非常方便的,不需要我们有什么额外的配置,因为Spring boot默认支持的就是slf4j+logback的日志框架,想要灵活的定制日志策略,只需要我们在src/main/resources下添加配置文件即可,只是默认情况下配置文件的命名需要符合以下规则:logback.xmllogback-spring.xml其中logback-spring.xml是官方推荐的,并且只有使用这种命名规则,才可以配置不同环境使用不同的日志策略这一功能。首先介绍配置文件的关键节点:框架介绍原创 2025-02-11 13:42:09 · 598 阅读 · 0 评论 -
分析定位Java问题的方法和工具
MAT:用于分析OOM问题,帮助定位内存泄漏和内存占用过大的对象。Arthas:用于在线诊断Java应用,支持反编译、监控、热修复等功能,快速定位高CPU、死锁等问题。Wireshark:用于分析网络通信问题,抓取和分析网络数据包。通过合理使用这些工具,可以快速定位和解决Java应用中的各种问题,提升开发和运维效率。原创 2025-02-11 13:41:12 · 1028 阅读 · 0 评论 -
10 种超赞的 MyBatis SQL写法!
如果传递的是一个List,则mybatis会封装为一个list为key,list值为object的map,如果是array,则封装成一个array为key,array的值为object的map,如果自己封装呢,则colloection里放的是自己封装的map里的key值。此外,如果标签返回的内容是以AND 或OR 开头的,则它会剔除掉。使用时比较灵活, new一个这样的实体类,我们需要限制那个条件,只需要附上相应的值就会where这个条件,相反不去赋值就可以不在where中判断。原创 2024-09-25 14:48:09 · 991 阅读 · 0 评论 -
Java线程池实现原理
面对业务中使用线程池遇到的实际问题,我们曾回到支持并发性问题本身来思考有没有取代线程池的方案,也曾尝试着去追求线程池参数设置的合理性,但面对业界方案具体落地的复杂性、可维护性以及真实运行环境的不确定性,我们在前两个方向上可谓“举步维艰”。最终,我们回到线程池参数动态化方向上探索,得出一个且可以解决业务问题的方案,虽然本质上还是没有逃离使用线程池的范畴,但是在成本和收益之间,算是取得了一个很好的平衡。转载 2024-09-04 10:54:35 · 572 阅读 · 0 评论 -
SpringBoot中这样用ObjectMapper
而对象转String的方法每秒可以执行830万次,性能提升了300倍(看到结果的一瞬间我傻眼了,一度怀疑是写错代码了)!使用单例模式进行字符串转对象时性能可以提升18倍,而对象转String性能快了惊人的290万倍,所以在Spring中如何正确的使用ObjectMapper不用我再说了吧~老鸟们都知道,在创建工具类时要将工具类设置成单例的,这样不仅可以保证线程安全,也可以保证在系统全局只能创建一个对象,避免频繁创建对象的成本。可你要说没问题吧,在追求性能的同学眼里,这属实算是十恶不赦的代码了。原创 2024-05-07 17:22:16 · 727 阅读 · 0 评论 -
别再用“! = null”做判空了!Optional更好用!
他当时认为这是一个很简单和自然的想法,但后来发现这是一个非常糟糕的设计,因为它导致了无数的错误、漏洞和系统崩溃。他认为 null 是一种不明确的表示,它既可以表示一个值不存在,也可以表示一个值未知,也可以表示一个值无效。Optional 类是 java 8 中引入的一个新的类,它的作用是封装一个可能为空的值,从而避免空指针异常(NullPointerException)。总之,Optional 类是一个非常有用的类,它可以帮助我们更好地处理可能为空的值,提高代码的质量和效率。原创 2024-05-07 17:15:28 · 616 阅读 · 0 评论 -
对称加密非对称加密原理
对称加密、非对称加密,数字签名、数字证书公钥的信任:黑客可以伪造公钥,怎么判断公钥是真实的?原创 2024-05-07 17:04:50 · 1413 阅读 · 0 评论 -
Controller层代码就该这么写,简洁又优雅!
做好了这一切改动后,可以发现 Controller 的代码变得非常简洁,可以很清楚地知道每一个参数、每一个 DTO 的校验规则,可以很明确地看到每一个 Controller 方法返回的是什么数据,也可以方便每一个异常应该如何进行反馈。自动校验参数真的是一项非常必要、非常有意义的工作。而统一拦截异常的目的一个是为了可以与前面定义下来的统一包装返回结构能对应上,另一个是我们希望无论系统发生什么异常,Http 的状态码都要是 200 ,尽可能由业务来区分系统的异常。它的定位,我认为是「不可或缺的配角」。原创 2024-05-07 16:57:25 · 717 阅读 · 0 评论 -
二维码扫码登录原理
我们从登陆的本质触发,探索二维码扫码登录是如何做到的告诉系统我是谁向系统证明我谁在这个过程中,我们先简单讲了两个前提知识,一个是二维码原理,一个是基于 token 的认证机制。然后我们以二维码状态为轴,分析了这背后的逻辑: 通过 token 认证机制与二维码状态变化来实现扫码登录.需要指出的是,前面的讲的登录流程,它适用于同一个系统的 PC 端,WEB 端,移动端。转载 2024-01-30 16:55:20 · 232 阅读 · 1 评论 -
Callable与Future的介绍
Callable与Future两功能是Java在后续版本中为了适应多并法才加入的,Callable是类似于Runnable的接口,实现Callable接口的类和实现Runnable的类都是可被其他线程执行的任务。Callable的接口定义如下;public interface Callable { V call() throws Exception;}原创 2016-03-11 16:27:12 · 161 阅读 · 1 评论 -
认识程序时间
GMT、UTC、DST、CST、ISO-8601时间概念java date时间定义es date类型时间定义、转换、存储原创 2024-01-15 17:41:09 · 2117 阅读 · 0 评论 -
深入了解Java中的跳表
跳表是一种高效的数据结构,通过层级索引的方式在有序链表上实现了快速的查找和插入操作。虽然在Java标准库中并没有直接提供跳表的实现,但你可以通过自己实现或使用第三方库来享受跳表的优势。参考文献:[1]:跳表(跳跃表,skipList)总结-java版_java跳表-优快云博客。原创 2024-01-14 16:49:04 · 1091 阅读 · 1 评论 -
Java链表
链表结构,单项链表,双向链表,循环链表数据结构原创 2024-01-14 16:06:38 · 325 阅读 · 1 评论 -
认识JAVA数组
认识java数据结构,认识array的数据机构,class加载,字节码执行等。原创 2024-01-04 21:57:01 · 376 阅读 · 0 评论 -
Java算法的时间复杂度
Java的时间复杂度与空间复杂度原创 2023-12-15 18:24:04 · 1067 阅读 · 0 评论 -
欢迎使用优快云-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl原创 2016-07-21 10:23:39 · 124 阅读 · 0 评论