6 红豆和绿豆

尚未进行身份认证

暂无相关描述

等级
TA的排名 1k+

如何针对一个页面有多个模块进行可扩展的设计

使用抽象工厂设计,兼容不同客户端有不同的模块针对不同的模块进行抽象针对多个服务的调用,可以并发的调用缩短整个页面的响应时间packagehomepage;importorg.springframework.util.CollectionUtils;importjava.util.HashMap;importjava.util.List;importjava.ut...

2019-06-23 15:36:00

找到一个类所有的子类

WelcomeLatestversionofReboundisversion0.2ReboundisaJavalibraryforlookingupsubclassesofagivenclassorinterfaceusingJavareflection.Reboundallowsyourtolookupyourclasses...

2019-06-03 20:04:13

java动态编译

我曾经见过一个“规则引擎”,是在应用系统web界面直接编写java代码,然后保存后,规则即生效,我一直很是奇怪,这是如何实现的呢?实际这就好像jsp,被中间件动态的编译成java文件,有被动态的编译成class,同时又动态的加载到classloader中。所以,本质上,纯java得规则引擎,是100%可以实现的。1、动态生成java源代码。这个过程太过简单,直接略过。2、动态编译。...

2019-05-04 23:05:23

实现一个简单的内存分页功能

packagepage;importjava.io.Serializable;importjava.util.List;publicclassResponseimplementsSerializable{privateListlist;privatebooleanhasMore;privateintnextPageNo;...

2019-05-04 20:10:46

购物车

功能:购物车一般有的功能,查询购物车,新增购物车,删除购物车,清空购物车,修改购物车(先删除在增加)设计:购物车id,商品id,skuId,数量,用户id,用户名字,商户id,购物车类型,购物车记录状态,扩展属性,版本功能实现查询购物车:根据用户id查询用户加购的所有商品加:先查询购物车该商品时候已经存在,如果存在,则数量+1否则新增一条记录。如果用户连续点击+的时候...

2019-05-04 12:55:14

购物车下单方案

背景:目前很多电商系统中都有自己的购物车,购物车下单的方案方案:(1)可以使用预下单的方案,就是在提交订单之前,先调用下单接口,把扩展信息数据放到tair中,然后返回一个uuid的值,下单的时候,把这个uuid透传过来,这样就可以解决浏览器无法透传大量参数的问题。下单根据uuid的信息获取购物车信息。(2)下单的时候只透传基本的商品id,然后在下单的时候反查购物车,获取商品的扩展信息...

2019-05-03 21:05:30

消息的使用

背景:很多大型互联网公司,数据都是最终一致性,因为访问量巨大,需要大量的机器来承载用户的访问,有的系统不能承载着么大的流量,因此可以考虑使用异步消息的方式,实现数据最终的一致性消息:目前消息有很多中间件,notify,metaq一种是基于推送,一种是基于拉取,如果使用notify,基于推送的方法,业务方需要足够的机器接收消息,防止机器被打挂,meatq根据自己业务能力设置拉取的速度。...

2019-05-03 17:43:09

针对同时调用多个系统,如何保证数据的一致性

背景:目前很多公司都是面向分布式系统开发,因此需要考虑数据的一致性,比如发布一个商品,可以落商品基本的信息在一个表,商品的规则在一个表,商品的模版信息在一个表,商品的sku信息在一个表,如何保证表单提交的时候,保证数据的一直性思路(1)看商品的设计,如果商品提供原子操作,那么业务方就无法使用数据库的保证多个表的操作在一个事物中执行,需要外围自己想办法保证事务的一致性,可以选择分...

2019-05-03 17:31:10

Spring 的getBeanNamesForType和getBean联合使用

(1)Spring的getBeanNamesForType(interface.class)1、获取applicationContext,通过ApplicationAware自动注入2、getBeansOfType、getBeanNamesForType  Map<String,Interface>result=applicationContext().getBe...

2019-04-25 20:00:40

GroovyClassLoader类进行java调用groovy脚本

1目的动态执行任务或者扩展功能,需要java动态执行groovy代码2项目依赖<dependencies><dependency><groupId>org.codehaus.groovy</groupId><artifactId>groovy-all</artifactId>...

2019-04-07 20:58:42

Supplier的使用

背景:如何将一个域关联的属性搞到一个类中,可以使用Supplier这个类publicclassSupplierTest{publicenumPersonEnum{NAME("name",PersonEnum::getName),AGE("age",PersonEnum::getAge);...

2019-04-06 00:49:12

BiFunction的使用

背景:如果一个商家有A,B二个门店,想把A的属性复制给B主要使用BiFunction的使用实现:publicinterfaceCopyRule{/***对in执行拷贝结果到out中.**@paramin*@paramout*@return*/booleancopy(Cop...

2019-02-19 22:09:51

BiPredicate的使用如编写一个简单的规则校验,使用枚举实现对一些参数的校验

publicinterfaceCheckRule{/***是否校验通过*@paramr*@paramdataClump*@return*/booleanisValid(Userr,DataClumpdataClump);/***当此条校验不通过的时候,对应的错误码是...

2019-02-19 21:51:15

日期处理类 org.apache.commons.lang3.time.DateUtils

org.apache.commons.lang3.time之DateUtils commons-lang3-3.3.2   /**    * 以秒为标准时间的毫秒数    */    publicstaticfinallongMILLIS_PER_SECOND=1000   /**    *以分钟为标准时间的毫秒数    */    publ...

2019-01-31 11:38:49

人机交互游戏实现

背景:如何实现人机交互游戏,比如paceman这个吃豆人的游戏,ghost就是电脑自动移动,paceman就是人操作,如何实现这个游戏?方案:(一)需要使用客户端与服务端建立长链接的方式进行通讯,目前使用Netty通讯,实现长链接。Netty自己开发一个server,根据入参数返回一个json字符串。 写好这个server需要了解:(1)TCP协议:三次握手、四次挥手、tcp如何保...

2019-01-27 16:14:54

Git命令集合

git学习指南从远程拉取分支gitcheckout-b本地分支名origin/远程分支名 git的合并流程gitcheckout-biss53gitcommit-a-m'addedanewfooter[issue53]'gitcheckoutmastergitcheckout-bhotfixgitcommit-a-...

2019-01-12 18:43:06

服务端优化小结

(1)场景一,如果一个集合有是一个商品集合,集合的元素有1000个,如果一次查询1000个商品,则可能会出现超时的情况,因此需要改造。场景一的改造方案:将1000个元素的集合进行拆分为50个元素为一个集合,50是一个根据数据库性能评估出的一个数据,这个值可以动态调整,List<List<String>>然后就是并发调用还是for循环调用,这里可以使用异步线程也可以同步...

2019-01-01 17:27:13

MD5生成16进制的工具方法

MessageDigestmd=MessageDigest.getInstance("MD5");md.update(str.getBytes());md5=newBigInteger(1,md.digest()).toString(16);

2019-01-01 14:09:26

dalgen代码生成工具

https://www.jianshu.com/p/e2b5d5a16bf01.   简介        目前项目中的common-dal层代码还是主要靠人工去写,这就引入一个问题,数据库一点修改那么common-dal层对应的sql-map文件,dao和对应的实现,以及对应的数据库DO对象也都要跟着需要修改,不能保证修改的一致性,和修改对应的工作量大等问题。引入dalgen就是解决上述问...

2018-11-13 11:10:20

定时任务的使用

背景:一说到定时任务,就是在指定的时间触发。目前可以使用quartz来实现,如果项目使用spring,也可以使用spring的集成定时任务。如果你的项目就一台服务器,那没问题,如果是多个应用服务端,那定时任务在每个机器都会执行。因此在分布式情况下,触发一个定时任务,多个机器可以并发的执行任务,完成一个任务。可以考虑使用数据分割,数据捞取,任务执行的思想,充分利用集群的资源去执行。如果一个系...

2018-11-12 16:50:44

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。