版权申明 原创文章:本博所有原创文章,欢迎转载,转载请注明出处,并联系本人取得授权。 版权邮箱地址:banquan@mrdwy.com 介绍一个自己写的超大整型数字的处理工具类,主要思路就是把整数用字符串存储,然后实现加减乘除等运算方法,运算主要的方式就是拆分成多个整型分别计算,但是要注意处理进位的问题。 package org.tcrow.number; /** * @author tcrow.luo * 10进制大数类型处理类 */ public class LongLong { /** * 表示正负,1表示正数,-1表示负数,0表示0 */ final int signum; /** * 拆解大数字符保存在整形数组中 */ final…

版权申明 原创文章:本博所有原创文章,欢迎转载,转载请注明出处,并联系本人取得授权。 版权邮箱地址:banquan@mrdwy.com SpringIOC启动顺序 加载并且保存Spring配置文件路径信息然后保存到configLocation中 刷新Spring上下文环境 创建并且载入DefaultListableBeanFactory(即BeanFactory) 根据DefaultListableBeanFactory创建XMLBeanDefinitionReader,用于后面读取xml配置文件信息 创建BeanDefinitionDelegate代理类,用于解析xml配置信息 解析xml中配置的、、、等不同的标签信息,以便于可以使用不同的解析器进行解析 通过XMLBeanDefinitionReader结合location路径信息读取Resources资源信息 使用BeanDefinitionDelegate代理类解析Bean元素并且依次进行实例化操作,实例化完毕之后将Bean信息注册(put)到BeanDefinitionMap中以便于可以下次继续使用 大表在生产环境不停机数据迁移 1、业务系统实现双写; 2、分批次同步历史数据; 3、同步完成后进行数据比对; 具体的实现没想好,…

版权申明 原创文章:本博所有原创文章,欢迎转载,转载请注明出处,并联系本人取得授权。 版权邮箱地址:banquan@mrdwy.com 使用场景 因为公司业务的原因,需要实现一个可以在指定时间执行一些任务的功能,比如订单发货通知,过期未付款订单删除,或者流程到期剩余24小时提醒等场景,需要支持由客户端发送一个任务,在指定才执行任务,并且允许客户端回收任务。 刚开始想到可以使用JDK的Timer、ScheduledExecutorService、或者调度框架Quartz等,使用定时器来执行,但是这就存在一个任务执行的实时性不够高的问题,不符合业务需求,另外由于业务量比较大,采用定时调度需要耗费巨大的资源来执行调度任务,比如定时器15分钟执行一次,那么15分钟内可能产生需要执行的任务太多了,调度服务执行不完,导致下次定时轮询到来时上一次轮询还没有结束。或者在不繁忙的时间,定时任务执行扫描任务库发现没有任务可以执行,这样会造成很多无意义的操作,无形中增加了数据库的压力。…

版权申明 原创文章:本博所有原创文章,欢迎转载,转载请注明出处,并联系本人取得授权。 版权邮箱地址:banquan@mrdwy.com 简介 我反复试了网上各种方法,都可能已经过时,或者无法使用,我这个办法主要的思路是登陆PC端的微信,然后使用抓包工具,通过获取公众号历史文章记录的接口解析出文章链接,截止本文发布该方法还有效,但不排除微信会修改规则。 先上代码 # # coding:utf-8 import http.cookiejar import json import time from urllib import request import requests…

版权申明 原创文章:本博所有原创文章,欢迎转载,转载请注明出处,并联系本人取得授权。 版权邮箱地址:banquan@mrdwy.com 问题难点 文本和数据的去重是经常要用到的重要操作,普通数量的文本处理并不存在技术上的难点,可以直接在内存中高效处理,但是如果涉及到的文本量达到了数十亿级别,直接在内存中处理文本去重工作几乎变成不可实现,例如假设有个文本中包含有20亿手机号码,每个手机号码共计11位数字,int最大值只能保存2^31-1=2147483647,不够表示手机号,因此只能用String或者long型来表示手机号。 Java基本数据类型 byte         1字节…