- 博客(15)
- 资源 (3)
- 收藏
- 关注
原创 基于Netty的高性能双向通讯框架
源码double-connect: 双全工通讯源码概述当我们期望开发一个高性能的基于tcp的通讯框架时(例如:自研一个rpc调用框架或者封装一个并发量为百万级的游戏通讯框架),虽然netty已经极大程度上帮我们封装了nio,但面对netty仍需要我们学习、踩坑。因此,我们将netty进一步封装简化,使用极少的代码(比例,10行左右)就可快速开发一个服务端和客户端。基于该框架,我们开发了内网穿透工具内网穿透工具源码快速上手//创建一个服务端Server serv...
2021-09-24 19:01:46
351
原创 基于rabbitmq死信队列实现运行时秒级定时任务框架
源码: 朗月/基于rabbitmq的任意时长秒级定时任务框架 (gitee.com)https://gitee.com/beiding/delay-task简述当我们面对一些及时性比较高的场景时,比如,秒杀活动在活动开始前十分钟预热要下架相关商品,活动结束后又要将相关商品自动上架;再比如,租房系统房租到期需要做结算。我们第一个想到的解决方案是使用一个定时任务每个10分钟扫一次库。但当数据量较大时,对数据库而言这无疑是一场灾难,而且轮询的粒度为10分钟精度太差。直接使用rabbitm...
2021-09-22 18:49:24
549
原创 开源一款Java实现的代码生成引擎
概述 生成代码是快速项目开发和交付的关键,但是代码生成器在网上扒拉又找不到合适的,所以,痛定思痛自己撸了一套代码生成器。这套代码生成器,在我自己的平台中得到了应用,效果还可。将这款代码生成器开源的目的,一方面有利于技术交流,集思广益使其更加完善,功能更加强大;另一方面,也避免了重复造轮子,使代码复用。这套代码生成器采用了类似于vue以及AngularJs前端框架那样双向绑定式的编程模式,所以编写模板时基本上懂点前端就能立刻上手,学习成本低。应用场景1. 基于该代码生成器可开发类似于...
2020-11-23 08:50:07
736
原创 使用vue数据辅助器,对于vue或angular等支持双向绑定的数据进行套壳,使ViewModel支持业务逻辑,从而是代码更合理
//套壳函数,套壳函数function wrap(Ht, core) {//可以配置辅助对象的key,默认是$ let key = wrap.key ? wrap.key : '$' if (typeof Ht !== 'function') { throw new Error('参数1必须是函数') } if (typeof core !== 'object') { throw new Error('参数2必须是对象') } //对core进行套壳处理 .
2020-09-18 18:40:45
190
原创 快速替换SpringBoot上下文中的Bean
SpringBoot 上下文动态改变Bean如果使用使用 beanFactory.removeBeanDefinition(“b”); 会导致依赖该Bean的其他Bean失效,例如a是依赖b创建的,那么当b被removeBeanDefinition,那么a就会随着a的销毁而失效需要被重建,在有些情况下我们期望这样。但另一些情况并没有这样操作的意义,例如:a创建的时间代价非常大,或者a的重复创建会导致异常(例如端口占用)等。所以就需要另一种方法替换Bean下面展示一些 内联代码片。 Def
2020-07-13 21:13:12
1677
1
原创 Spring Boot 自定义类加载器 重启项目
URLClassLoader classLoader = (URLClassLoader) ClassLoader.getSystemClassLoader();URLClassLoader urlClassLoader = new URLClassLoader(classLoader.getURLs(), null);//TODO 一定要设置线程上下文类加载器,因为Spring Boo...
2020-05-03 23:38:46
4524
1
原创 使用Cglib进行动态代理的重点
示例:public class InstanceProxyUtils { //被代理的对象 public static class T { public void f() { System.out.println("测试"); } } public static class TMethodInvo...
2020-03-29 15:03:35
117
原创 使用模板将数据实体渲染为Excel或使用模板将Excel提取为数据实体的组件:template-excel
近期,由于需要对项目中的数据进行治理,设计到大量Excel文件的读取。为了简化工作,开发了template-excel组件。本项目已在gitee上开源,源码地址:https://gitee.com/beiding/template-excel。demo地址:https://gitee.com/beiding/template-excel-demo安装及使用: 1 添加m...
2019-12-31 11:57:45
839
原创 基于Java实现的内网穿透工具
源码地址:https://gitee.com/beiding/mynat功能描述:将内网地址穿透,使其可在公网地址访问。不仅可穿透http协议,mysql、redis、rabbitmq等数据库或中间件也可穿透。适用场景:持有的公网地址数量有限,但服务较多,无法将大量的服务放置在具有公网ip的主机上。使用限制:该穿透工具只能穿透具有tcp协议的子协议,例如http、mysql...
2019-10-23 09:43:44
1649
1
原创 Spring通用标签库
使用标签库:<%@ taglib uri="http://www.springframework.org/tags" prefix="s" %>两个重要的标签: 一.<s:message>:按照键值对的形式从信息源中加载并呈现信息 参数: .code:信息的键 准备: 1.在RootConfig生成一个MessageSource的Bean ...
2018-07-15 20:34:14
2285
原创 布局引擎Apache_Tiles
问题:如果大量的jsp页面具有相同的页面结构,例如页面的顶端都有一个页眉,低端都有一个页脚,左侧都有一个菜单栏,对于每个页面都要复制粘贴相同的一些代码.为了解决这个问题使用Tiles技术Apache_Tiles:通过"生成一个模板,将内容主体嵌入模板中"的方案去除重复代码配置: 在WebConfig中添加两个Bean:一定要去掉InternalResourceViewResolver不然Tiles...
2018-07-15 19:35:28
304
原创 使用Thymeleaf替代jsp
这是一项可以使用纯html替代jsp的方案,在spring中只需要配置三个bean以及编写使用指定命名空间html文件即可.对html文件的修改并不能即时生效,必须在重启项目对html文件重新编译后才会生效配置: 在webconfig下:生成三个bean @Bean //生成模板解析器 public ITemplateResolver templateResolver() { //首先要拿到...
2018-07-15 19:34:44
4049
原创 Spring表单标签
spring用来提交表单,校验的标签库使用的标签库:http://www.springframework.org/tags/form重要的标签: 1.<fm:form>:被渲染成form表单 属性: .modelAttribute:在使用该标签之前必须在Model中添加一个JavaBean,本属性要和JavaBean的key对应 2.<fm:input>:...
2018-07-15 19:33:49
367
原创 自定义控件形状
继承View类或其子类**必须具有两个参数的构造函数>>只会呈现最终结果,在自定义View类中不能实现动画自定义形状:重写两个方法:一.onMeasure(int widthMeasureSpec, int heightMeasureSpec) //测量大小,两个参数分别是宽和高的尺寸以及模式AT_MOST,EXACTLY,UNSPECIFIED(分别对应match_p
2017-11-02 22:16:32
740
mynat-client.jar
2019-10-23
mynat-center.jar
2019-10-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人