java
文章平均质量分 58
WINGZINGLIU
一只JAVA菜鸡
展开
-
BPAAS化相关概念
举一个例子,线下门店最常见的例子是部分租户的定制化需求,我们可以根据不同的业务身份(这块由框架去实现,比如配置文件与扩展点的绑定关系),走不同的扩展点,这样就能实现更丰富的组合。这种就可以由框架去实现,来达到合理利用资源的目的。领域能力是一个组成领域服务的分子,比如新建商品的领域服务内,可能会有新建参数校验领域能力、重复性校验领域能力、业务参数校验领域能力,新建商品领域能力、商品变动后操作其他相关数据的领域能力等等组成。领域能力是由一个扩展点实现的,扩展点的参数、名称是固定的,就类似于接口和实现类的关系。原创 2023-06-13 22:03:40 · 484 阅读 · 0 评论 -
如何保证接口的幂等性
如何保证幂等性原创 2023-02-01 13:27:36 · 489 阅读 · 1 评论 -
Spring如何解决循环依赖的
Spring到底是是怎么解决循环依赖的,以及设计三层缓存的原因。原创 2022-11-29 11:46:35 · 421 阅读 · 0 评论 -
使用Redis解决高并发方案 以及 思路讲解
使用redis解决分布式项目下的高并发秒杀问题,附带思路,以及一步步解决常见、不常见的bug原创 2022-11-17 16:02:40 · 5227 阅读 · 0 评论 -
CountDownLatch解析以及常用方法
CountDownLatchCountDownLatch是一个可以使其他线程等待某些线程执行完毕后再进行执行的工具类。用我个人的理解来说的话,就是它提供了一个await()方法来阻塞当前线程,直到countDown()方法使得计数器递减到0之后,对阻塞队列中线程进行唤醒,来达到一种等待的效果。CountDownLatch的常用方法CountDownLatch(int count); //构造方法,创建一个值为count 的计数器。 await();//阻塞当前线程,将当前线程加入阻塞原创 2020-07-09 16:18:12 · 1690 阅读 · 0 评论 -
自定义注解进行入参校验,附代码及原理浅析
自定义注解项目开放接口的时候通常需要对接口入参进行一定的校验,此文章拿最常见的非空验证进行举例。首先配置一个自定义注解类/** * 接口参数非空校验注解 */@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)@Documented@Inheritedpublic @interface ApiParamValidate { String value();}...原创 2020-07-06 18:03:22 · 1444 阅读 · 0 评论 -
Arrays.asList生成的list无法进行修改原因附源码解析java.lang.UnsupportedOperationException
我们在使用Arrays.asList生成list,再对生成的list进行操作,例如增加元素,删除元素等等会报一个java.lang.UnsupportedOperationException异常,即不支持操作类型异常。之前在文档中有看到一句话asList方法会返回一个由数组生成的固定大小的 List。为什么生成的list是固定长度呢,我们平时在使用arrayList的时候存在一个扩容机...原创 2020-04-15 18:17:55 · 842 阅读 · 0 评论 -
Arrays.asList的源码解析
在日常开发中我们经常把数组转换成list类型,使用到的方法是java.util.Arrays.asList();但是可能出现的一个问题是结果不是如我们所期盼的,比如以下代码:int[] array = { 1, 2, 3 };List list = Arrays.asList(array);System.out.println(list.size());可能很多朋友都觉得这个li...原创 2020-04-07 20:10:01 · 339 阅读 · 0 评论 -
Lamba表达式简析
Java8的一个新特性:Lamba表达式Lambda 表达式是一种匿名函数 Lambda 表达式没有声明的方法,也没有访问修饰符、返回值声明和名字 当某个方法只使用一次,而且定义很简短,使用lamba替代之尤其有效,这样,你就不必在类中费力写声明与方法了Lambda 表达式 Lambda 表达式通常使用 (argument) -> (body)(type1 arg1, t...原创 2019-02-25 14:50:03 · 867 阅读 · 0 评论 -
去除集合中重复的元素的3个方法(set newlist 递归)
利用Set去除集合中重复字符串元素首先list和set的一大区别就是set不可包含重复的元素,这样就可以利用这一特性自动筛选掉重复的数据。利用set去重是比较便捷的方法,但是要注意hashset是无序且唯一的,会导致新生成的集合顺序发生改变。 ArrayList list = new ArrayList(); list.add("aa"); list.add("...原创 2019-02-14 11:15:53 · 1320 阅读 · 0 评论 -
JAVA实现自动弹出公告栏 可设置24小时内不显示
公司因每次停机更新导致用户的操作不便,所以希望我能做一个公告页出来,进行分析大概自己给自己拟定了一下需求。进入首页,如果有存在有效时间内的、状态为正常的公告则自动弹出框进行显示。 弹出框有关闭和24h内不再显示按钮,优化用户已经知晓通知后的使用体验。24小时之后公告继续弹出。 当有新的公告时,就算用户设置24小时不弹出也需要弹出以保证公告的传达性。 用户可以手动点击首页查看公告按钮进行查...原创 2019-02-12 10:53:54 · 4939 阅读 · 1 评论 -
java.util.ConcurrentModificationException异常原因(附源码分析)
前言今天看书看到关于for-each相比jdk1.5之前的for循环的优缺点,有一个地方说道"for-each循环中不能使用list.remove()"草草就带过去了,自己不太理解为什么,然后决定自己写一个简单的Demo进行测试一下。public class WingzingDemo { public static void main(String[] args) { ...原创 2019-02-27 14:36:29 · 469 阅读 · 1 评论 -
Integer的数值比较所引发的思考
IntegerInteger是int的包装类,int则是java的一种基本数据类型 //Integer 类在JDK1.0的时候就有了,它是一个类,是 int 基本数据类型的封装类Integer变量必须实例化后才能使用,而int变量不需要 //如1中,Interger为包装类而int为基本数据类型Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象...原创 2018-10-08 11:07:02 · 307 阅读 · 0 评论 -
java中的super关键字 以及构造方法调用时间
super关键字可以理解为父类的,即调用父类的变量,方法等等。1、直接引用 和this类似,super直接指向父类,来取得父类中的成员,super.xxx来引用。 2、与父类中的成员变量或方法重名时class Country { String name; void value() { name = "中国"; }}class Ci...原创 2018-08-01 21:30:05 · 416 阅读 · 0 评论