随笔分类 - java
摘要:对于绝大部分JAVA工程师而言,大部分的关键字也是能够看懂的,但还是相当一部分比较不常见的关键字,妨碍了代码阅读。 本文力图收集一些个人认为在CRUD机械工作中可能比较少见的一些关键字/保留字。 此类关键字主要用于修饰方法和类。 收集过程会持续一段时间,现在暂时没有时间也没有必要找出个人为人需要整理
阅读全文
摘要:总体而言,泛型(通用类型)是一个好东西,它是一个工程上起到好处的东西,对于性能、安全等并没有什么帮助。 在java工程上,泛型属于必须掌握的,理由如下: 1.各种源码中基本上都有泛型,无论是java基础源码还是Spring或者阿帕奇的,不掌握这个,你读不懂。你没有方法绕过它 2.有了泛型,某种程度上
阅读全文
摘要:本文主要讨论方法中变量作用域。不涉及类属性变量、静态变量、线程变量共享等。 虽然知道某类变量的作用域非常重要,但是没有太多需要说的,因为许多东西是显而易见,不言自明。 在大部分情况下,或者在老一点版本中,java语法看起来都比较正常,或者说相对古典。 但是随着JAVA版本的迭代,已经愈发向JAVAS
阅读全文
摘要:Collection 翻下词典,有许多含义: 收集;聚集;(常指同类的)收藏品;募捐,募集;作品集;聚积;取走;一群人;拿走;(常为季节性推出的)系列时装(或家用品);一批物品 选择“集合”作为翻译名,我觉得可行,除非我们现在重新创造一个汉语词组。 对于CRUD和非CRUD,集合都是一个无比重要的东
阅读全文
摘要:之所以单独把这个列出来,是因为本人被一个源码给震撼了。 所以,本人目的是看看这个震撼实现,并模仿,最后把常规的实现也贴上,让读者可以看到相对完整的实现 注:本文代码基于JDK17 一、让人震撼的代码 Collectors.toList() public static <T> Collector<T,
阅读全文
摘要:java提供了抽象类和接口,总体是好事。 有的OOP语言并没有接口的概念,但相当一部分其实用其它方式实现了JAVA中接口类似的功能。 如果不太清楚二者的区别,难免在面临具体业务的时候,在二者之间摇摆。 实际上,关于抽象类和接口的共同点和不同点没有什么可以写的。 设计原则原则让我们尽量基于接口编程(I
阅读全文
摘要:常规的问题此处略,因为网络上到处都是,这里主要讨论三个问题: 1.数据库的时间戳类型(含微秒)对应java的什么类型 java的常见时间类型比较多: java.util.Date java.sql.Date java.sql.Timestamp java.util.Calendar java.tim
阅读全文
摘要:一、前言 正则表达式这个东西,基本哪一种语言都有。 例如数据库的oracle,前后端高级编程语言。 很多工具也支持正则,例如至少ue,Notepad++,好一点的编程ide(eclipse,idea,vscode)。 正则实在是一个利器,是程序员必须掌握的一个技能。 如果工作了几年,正则还用不明白,
阅读全文
摘要:CRUD即CREATE,READ,UPDATE,DELETE的首字母的合写,意思是增读改删。前人为了便于发音和理解,改为增删改查。 CRUD基本上是软件开发中中相当部分功能的最小功能模块构成,虽然软件的功能并不总是CRUD,但对于信息的操作就只有这四个了。 我们现在还是这么称呼,一个方面是因为大部分
阅读全文
摘要:最近因为某些原因,又要用stream,所以耗费了一些时间,做了一些例子,以便自己后续参考。 环境: windows11 jdk 17 spring 2.6.7 Article类代码: package study.base.lambda.stream; import java.util.ArrayLi
阅读全文
摘要:由于某些缘故,公司的产品需要升级,但并不希望花费大量时间重写前端代码(原来的就不是前后分离的)。所以虽然spring和springboot都升级为最新的版本,但是依然还是需要支持jsp,并继续用打包为war。 本文中的例子百分百可以执行。 一、概述 升级的理由: java1.8已经用得太久了,就快不
阅读全文
摘要:导出结果为excel是相对常见的业务需求,大部分情况下只需要导出简单的格式即可,所以有许多可以采用的方案。有些方案还是很容易实现的。 一、可用的解决方案 目前可以有几类解决方案: 字处理企业提供的解决方案 -- 目前这个还没有看到,大概这些企业不屑于与民争利或者因为某些理由没有直接参与。例如微软,金
阅读全文
摘要:一般的应用的编程,用到ConCurrentHashMap的机会很少,就象大家调侃的一样:只有面试的时候才用得着。 但还是有。 网上关于这个的资料,多如牛毛,大部分是原理分析和简单例子。 原理的核心就一个:并发Map其实是多个HashTable拼凑的,可以在写的时候具有更小的锁粒度,它适用于读多写少的
阅读全文
摘要:很多时候并发需要考虑线程安全,但也有很多时候和线程安全毛关系都没有,因为并发最大的作用是并行,线程安全仅仅是并发的一个子话题。 例如常常会用于并发运算,并发i/o。 下文是一个练习笔记。 运行环境:windows 11,jdk17 1.Pojo--StudentExamScoreSummary pa
阅读全文
摘要:本文阐述使用多数据源的额场景,以及如何使用springboot的配置多数据源。 关于后者,主要是直接引用其它博文:https://blog.csdn.net/u012060033/article/details/123759694 如果不想了解不太必要知道的,建议查看 https://www.cnb
阅读全文
摘要:一般情况下,我们并不推荐在服务端做基础的数据校验,因为这有一个很主要的问题:它加重了服务器的负载,如果并发多,这种负载就更加明显。 如果我们跟踪一个简单的Controller方法执行过程,就会发现Spring的一个http请求所需要执行的代码实在太多了。 因为这种特性,所以spring很适合用于开发
阅读全文
摘要:spring对于事务的实现的确是它的一大优点,节省了程序员不少时间。 关于事务,有许多可以聊的内容,例如实现方式、实现原理、传递特性等。 本文讨论传递特性中的REQUIRES_NEW,NESTED。 如果想了解更多可以看官网和下面这个url: SpringAOP学习--Spring事务简介及原理_程
阅读全文
摘要:此二者在日常编程中,用得太频繁,所以多少有必要记录下,便于需要的时候翻翻。 但鉴于它们的后代太多,逐一牢记有有点难度,所以学习上应该把握以下几点即可: 含义 重要区别 常用的实现类和工具 关注要点:有序性,唯一性,更新速度,查找速度,线程安全,更新方式 在日常工作中,应当在思考设计目的的基础上选择需
阅读全文
摘要:异常处理可以前端处理,也可以后端处理。 从稳妥的角度出发,两边都应该进行处理。 本文专门阐述如何在服务端进行http请求异常处理。 一、常见的异常类型 当我们做http请求的时候,会有各种各样的可能错误,比较常见的例如: 1.服务类异常 2.接口异常,而接口异常有各种各样的情况 究极就是接口的异常。
阅读全文
摘要:注: WebMvcConfigurationSupport是spring5.x的配置方式。如果是6.x,则是通过实现WebMvcConfigurer的方式实现(建议再加上@EnableWebMvc) WebMvcConfigurationSupport是mvc的核心配置。开发spring,了解和掌握
阅读全文