自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (3)
  • 收藏
  • 关注

原创 基于Netty的高性能双向通讯框架

源码double-connect: 双全工通讯源码概述当我们期望开发一个高性能的基于tcp的通讯框架时(例如:自研一个rpc调用框架或者封装一个并发量为百万级的游戏通讯框架),虽然netty已经极大程度上帮我们封装了nio,但面对netty仍需要我们学习、踩坑。因此,我们将netty进一步封装简化,使用极少的代码(比例,10行左右)就可快速开发一个服务端和客户端。基于该框架,我们开发了内网穿透工具内网穿透工具源码快速上手//创建一个服务端Server serv...

2021-09-24 19:01:46 255

原创 基于rabbitmq死信队列实现运行时秒级定时任务框架

源码: 朗月/基于rabbitmq的任意时长秒级定时任务框架 (gitee.com)https://gitee.com/beiding/delay-task简述当我们面对一些及时性比较高的场景时,比如,秒杀活动在活动开始前十分钟预热要下架相关商品,活动结束后又要将相关商品自动上架;再比如,租房系统房租到期需要做结算。我们第一个想到的解决方案是使用一个定时任务每个10分钟扫一次库。但当数据量较大时,对数据库而言这无疑是一场灾难,而且轮询的粒度为10分钟精度太差。直接使用rabbitm...

2021-09-22 18:49:24 465

原创 开源一款Java实现的代码生成引擎

概述 生成代码是快速项目开发和交付的关键,但是代码生成器在网上扒拉又找不到合适的,所以,痛定思痛自己撸了一套代码生成器。这套代码生成器,在我自己的平台中得到了应用,效果还可。将这款代码生成器开源的目的,一方面有利于技术交流,集思广益使其更加完善,功能更加强大;另一方面,也避免了重复造轮子,使代码复用。这套代码生成器采用了类似于vue以及AngularJs前端框架那样双向绑定式的编程模式,所以编写模板时基本上懂点前端就能立刻上手,学习成本低。应用场景1. 基于该代码生成器可开发类似于...

2020-11-23 08:50:07 658

原创 使用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 145

原创 快速替换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 1532 1

原创 Spring Boot 自定义类加载器 重启项目

URLClassLoader classLoader = (URLClassLoader) ClassLoader.getSystemClassLoader();URLClassLoader urlClassLoader = new URLClassLoader(classLoader.getURLs(), null);//TODO 一定要设置线程上下文类加载器,因为Spring Boo...

2020-05-03 23:38:46 4183 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 90

原创 使用模板将数据实体渲染为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 680

原创 基于Java实现的内网穿透工具

源码地址:https://gitee.com/beiding/mynat功能描述:将内网地址穿透,使其可在公网地址访问。不仅可穿透http协议,mysql、redis、rabbitmq等数据库或中间件也可穿透。适用场景:持有的公网地址数量有限,但服务较多,无法将大量的服务放置在具有公网ip的主机上。使用限制:该穿透工具只能穿透具有tcp协议的子协议,例如http、mysql...

2019-10-23 09:43:44 1571 1

使用Java实现的内网穿透工具

使用场景你的服务运行在某个非公网ip的主机上,无法从外部访问到你的服务,而恰好你有一台具有公网ip的主机。

2019-10-21 12:41:13 831

原创 Spring通用标签库

使用标签库:<%@ taglib uri="http://www.springframework.org/tags" prefix="s" %>两个重要的标签: 一.<s:message>:按照键值对的形式从信息源中加载并呈现信息 参数: .code:信息的键 准备: 1.在RootConfig生成一个MessageSource的Bean ...

2018-07-15 20:34:14 2214

原创 布局引擎Apache_Tiles

问题:如果大量的jsp页面具有相同的页面结构,例如页面的顶端都有一个页眉,低端都有一个页脚,左侧都有一个菜单栏,对于每个页面都要复制粘贴相同的一些代码.为了解决这个问题使用Tiles技术Apache_Tiles:通过"生成一个模板,将内容主体嵌入模板中"的方案去除重复代码配置: 在WebConfig中添加两个Bean:一定要去掉InternalResourceViewResolver不然Tiles...

2018-07-15 19:35:28 242

原创 使用Thymeleaf替代jsp

这是一项可以使用纯html替代jsp的方案,在spring中只需要配置三个bean以及编写使用指定命名空间html文件即可.对html文件的修改并不能即时生效,必须在重启项目对html文件重新编译后才会生效配置: 在webconfig下:生成三个bean @Bean   //生成模板解析器 public ITemplateResolver templateResolver() { //首先要拿到...

2018-07-15 19:34:44 3919

原创 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 309

原创 自定义控件形状

继承View类或其子类**必须具有两个参数的构造函数>>只会呈现最终结果,在自定义View类中不能实现动画自定义形状:重写两个方法:一.onMeasure(int widthMeasureSpec, int heightMeasureSpec) //测量大小,两个参数分别是宽和高的尺寸以及模式AT_MOST,EXACTLY,UNSPECIFIED(分别对应match_p

2017-11-02 22:16:32 681

mynat-client.jar

下载mynat-client.jar(信使),使用java将其启动。使用“set center [调度中心主机]:[内部通信端口]|[信使连接密码]”设置调度中心相关参数。使用“set target [被穿透服务的主机]:[被穿透服务的端口]”,设置被穿透的服务。使用“start”启动。需要配合mynat-center.jar(调度中心)使用https://download.csdn.net/download/qq_35284533/11904350

2019-10-23

mynat-center.jar

mynat-center.jar是mynat工具的服务端,下载后使用java将其启动。使用“create [本地监听端口]|[内部通信端口]|[信使连接密码]”创建一组监听,例如,create 80|8888|123。参数说明:[本地监听端口]是实际服务的代理,即访问该端口与访问被穿透服务的内网端口效果一致;[内部通信端口]是信使和调度中心交互的端口,信使通过该端口与调度中心交互,包括信使向调度中心注册、调度中心将流量转发至信使、调度中心向信使发送指令等都是通过该端口完成的。[信使连接密码]信使如果需要连接至调度中心,必须配置连接密码,调度中心只会将流量转发至通过了密码校验的信使。 需要配合mynat-client.jar(信使)使用

2019-10-23

反编译软件

用来将jar包反编译为源码,简单实用.用来将jar包反编译为源码,简单实用.用来将jar包反编译为源码,简单实用.

2017-10-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除