![](https://img-blog.csdnimg.cn/20191218202921832.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java编程
认真研读Java源码,剖析内中逻辑,把自己的所学分享给大家。
志波同学
做一个有担当的程序猿,为互联网贡献自己的一份力量
展开
-
"大中台小前台战略"之中台的定义
什么是中台最近网络上有很多阐述企业中台的文章和评论,大家对中台的理解不尽相同,我自己也是一知半解,通过查阅资料,与朋友一起讨论,最终形成这篇文章。文章内容仅代表个人观点,如有不正之处,欢迎批评指正,谢谢大家。通过调查发现,中台并不是新生事物,在企业的管理中已经存在很久了,主要作用是为了快速支撑前台业务的发展,使得项目能够快速落地,达到增效降本的目的。以信托公司为例,企业的前中后台的划分如下:...原创 2020-01-21 17:32:23 · 2594 阅读 · 0 评论 -
Homebrew 更换为国内镜像(阿里巴巴开源镜像、中科大镜像、清华镜像)
定义Homebrew 是一个包管理器,主要用来管理 mac 操作系统的包,现在也支持 linux 操作系统的包管理。Homebrew 通过 tap 方式定义源,官方默认提供了 brew、homebrew-core 、homebrew-cask 、homebrew-bottles 四个常用的源(仓库),用户也可以通过 tap 定义自己的源。本文主要讲解官方提供的四个常用的源的作用及国内镜像配置方式...原创 2019-09-28 02:52:45 · 23438 阅读 · 1 评论 -
Linux编程:命令行选项单横线“-”与双横线“--”的区别
一个减号后面跟的参数必须是单字符参数,可以多个参数写在同一个减号后面。例如:tar -xcvf ×××两个减号后面跟的参数必须是多字符参数(单词),一个“–”只能跟一个参数。例如:tar --help...原创 2019-08-27 14:43:35 · 7221 阅读 · 0 评论 -
Java编程:maven项目中导入本地的jar依赖
1、在 maven 工程的根目录(指的是 pom 所在的目录)创建 libs 文件夹,将要导入的 jar 包放到该目录下,如下所示:--app----src----libs------kaptcha-2.3.jar----pom.xml2、在 pom.xml 文件中,按照如下方式引入依赖包,其中 ${basedir} 代表工程根目录,之后就可以正常使用该 jar 包了。 <!...原创 2019-08-05 16:01:05 · 7353 阅读 · 0 评论 -
经典数据结构:二叉查找树、平衡二叉树、红黑树、B树、B+树、B*树的定义及解惑
1、二叉搜索树1、B 树是指多路搜索树,不是指二叉搜索树。2、B 树和 B- 树是同一个概念,因为 B 树的英文名称为 B-tree ,所以很多人把 B-tree 译作 B- 树。...原创 2019-04-30 23:56:50 · 1866 阅读 · 0 评论 -
Mysql:整型数据类型详解,其中有一个知识点是我们比较容易忽略的
Mysql 整型类型TINYINTTINYINT[(M)] [UNSIGNED] [ZEROFILL] M默认为4 8位二进制数。带符号的范围是-128到127。无符号的范围是0到255。SMALLINTSMALLINT[(M)] [UNSIGNED] [ZEROFILL] M默认为616位二进制数。带符号的范围是-32768到32767。无符号的范围是0到6553...原创 2018-05-14 16:20:14 · 1459 阅读 · 0 评论 -
go编程:浅析go程序初始化顺序
在一个 go 程序中通常包含:包、常量、变量、init()、main()等元素,如果同时存在多个包,包之间存在依赖关系,每个包中存在多个 init 函数,每个文件中存在多个 init 函数,那么问题来了,他们之间的执行顺序是什么样的?通过本文我们来对它们之间的执行顺序做尽可能详尽的说明。如有不正之处,欢迎批评指正。包的执行顺序在 main 包中的 go 文件默认总是会被执行同包下的...原创 2017-08-31 15:58:34 · 13747 阅读 · 3 评论 -
MySQL:浅析 Impossible WHERE noticed after reading const tables
使用 EXPLAIN 执行计划的时候,在 Extra 中偶尔会看到这样的描述:Impossible WHERE noticed after reading const tables字面上的意思是:读取const tables表之后, 没有发现匹配的行。 通过示例我们重现一下该场景。首先创建两张表,班级表(class),学生表(student)。CREATE TABLE `class` ( `i原创 2017-08-25 15:26:01 · 26945 阅读 · 2 评论 -
MySQL EXPLAIN 一: 输出格式详解
本文详细介绍 MySQL 数据库的 EXPLAIN 语句,旨在帮助 MySQL 开发人员更好的通过 EXPLAIN 语句分析 Sql 语句的执行计划。如有不正之处,欢迎批评指正。为了保证内容的权威性,我选择了翻译 Mysql5.7 官方文档8.8.2 EXPLAIN Output Format 章节的内容。英文地址:https://dev.mysql.com/doc/refman/5.7/en/ex翻译 2017-08-23 11:11:11 · 4417 阅读 · 2 评论 -
Activiti5.22:删除工作流引擎自动创建的外键约束
Activiti 工作流引擎自带建库脚本,同时生成了索引、外键等信息。为了降低外键约束对数据库造成的性能影响,我们需要将外键删除,下文描述删除外键的工程。注:在互联网系统设计中尽量保持数据库表的原子性设计。一、查找创建外键的 sql 语句在 Activiti 中databaseSchemaUpdate属性设置建表策略,值为 true 是,如果没有表,自动创建表,否则不自动创建表。在 IntelliJ原创 2017-08-15 18:40:42 · 11922 阅读 · 4 评论 -
Mysql错误:Unable to connect to remote host. Catalog download has failed.
最近由于工作的需要安装了 Mysql5.7.17,之后的每天上午十点都会弹出一个命令行窗口,如下: ===================== Start Initialization ==================== MySQL Installer is running in Community mode. Initializing product requirem原创 2017-08-14 11:07:10 · 20754 阅读 · 6 评论 -
深度学习:Windows7_64位 安装 TensorFlow(CPU版本)及常见问题
本文的目的是记录在 Windows7_64位操作系统上安装 TansorFlow 的过程,出现的问题及其相应的解决方法。如有不正之处,欢迎批评指正。TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从流图的一端流动到另一端计算过程。原创 2017-08-11 11:49:59 · 6376 阅读 · 1 评论 -
互联网金融:为什么贷前风控需要进行手机号码验证(联通、移动、电信)
在进行贷前风控时,国内的互联网借贷平台大都要求进行手机号码验证(电信运营商验证),验证方式为:通过用户输入的手机号、运营商服务密码,获取用户的通话记录等信息。那么手机号码验证的目的是什么呢?我总结了一下几点,分享给大家,如有不正之处、欢迎批评指正。填写手机号码验证首先验证该号码是否常用,通过注册时间、联系人、联系频率来做基本认证,避免通过新手机号进行骗贷的情况发生。验证联系人中是否存在黑名单用户原创 2017-06-28 11:26:24 · 8232 阅读 · 0 评论 -
Activiti系列:activiti5.22数据库表结构说明
表前缀说明ACT_RE RE表示Repository资源库,保存流程定义,模型等设计阶段的数据。ACT_RU RU表示Runtime运行时,保存流程实例,任务,变量等运行阶段的数据。ACT_HI 表示History历史,保存历史实例,历史任务等流程历史数据。ACT_ID ID表示Identity身份,保存用户,群组,关系等组织机构相关数据(Activiti中的组织机构过于简单,仅用于演示。)原创 2017-06-15 11:15:46 · 13076 阅读 · 5 评论 -
数据库:Mysql中“select ... for update”排他锁分析
Mysql InnoDB 排他锁用法: select … for update;例如:select * from goods where id = 20018 for update;排他锁的申请前提:没有线程对该结果集中的任何行数据使用排他锁或共享锁,否则申请会阻塞。for update仅适用于InnoDB,且必须在事务块(BEGIN/COMMIT)中才能生效。在进行事务操作时,通过“for upd原创 2017-01-04 19:38:55 · 86594 阅读 · 14 评论 -
Mysql语法:navicat for mysql 添加注释
在 navicat 中有三种注释的书写方式:以 # 开头的字符串,可以多个 # 连续以 – 开头的字符串,注意:只能是 – ,而且 – 后面需要加一个半角空格以 /* */ 包围的字符串,类似于 Java 中的注释,但是 // 开头是不允许的 SELECT * from s_user; # 这注释持续到行尾SELECT * from s_user; -- 这注释持续到行尾SELE原创 2016-12-05 18:47:55 · 39199 阅读 · 4 评论 -
Linux命令行三:压缩 zip / 解压缩 unzip 命令
zip 命令通过zip命令可以将目录或者文件压缩成扩展名为“.zip”的压缩文件。 语法:zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]参数: -f 仅将源目录下的发生变更的文件压缩到zip文件中,源目录下新增的文件不进行压缩。 -u 与-f参数类似,但是除了更新的文件外,也原创 2016-11-10 18:34:05 · 3911 阅读 · 0 评论 -
Linux命令行二:远程复制命令 scp
在 linux 下 scp 命令主要用来在不同主机之间做数据(文件或者目录)的安全拷贝的。scp 命令可以将数据(文件或者目录)从本地计算机中拷贝到远程计算机中,或者从远程计算机中拷贝数据(文件或者目录)到本地计算机,scp 命令使用安全加密协议,所以在远程拷贝数据的时候会比较安全,不会被黑客截取。如有不正之处,欢迎批评指正。一、scp 命令命令行规则:scp [-12346BCpqrv] [-c原创 2016-11-03 11:49:05 · 7437 阅读 · 0 评论 -
Linux命令行一:本机复制命令 cp
Linux为我们提供了两个用户文件复制的命令: cp 和 scp。cp 用于在单linux系统上进行文件复制,不能进行跨服务器复制。scp 是secure copy的简写,用于在Linux下进行远程文件复制的命令,scp是加密传输的。本文我们介绍 cp 命令,下一篇文章介绍 scp 命令。cp命令用法:cp [选项]… [-T] 源文件 目标文件 或:cp [选项]… 源文件… 目录原创 2016-11-01 18:50:58 · 4115 阅读 · 0 评论 -
Javascript中页面加载完成(ready)事件分析
页面加载完成有两种事件:documnet.ready,表示文档结构已经加载完成(不包含图片等非文字媒体文件)document.onload,指示页面包含图片等文件在内的所有元素都加载完成。JQuery中的ready方法就是documnet.ready(),包含如下3中写法:$(function(){ // do something});$(document).ready(functi原创 2016-08-30 20:18:11 · 5390 阅读 · 0 评论 -
互联网金融一:大额支付系统、小额支付系统介绍
在做第三方支付系统的时候,我们总是会听说到两个词:大额支付系统、小额支付系统,那么这两个支付系统的却别是什么呢?如下,是人民银行官方给出的解答。 大额支付系统: 一、什么是大额实时支付系统? 大额实时支付系统(简称大额支付系统)是中国人民银行按照我国支付清算需要,利用现代计算机技术和通信网络开发建设,处理同城和异地跨行之间和行内的大额贷记及紧急小额贷记支付业务,人民银行系统的贷记支付业务以及即转载 2016-08-10 14:03:51 · 14304 阅读 · 0 评论 -
移动端App与后台服务的对接方案
1. 方案一 优点: 1) 模块划分清晰,模块间相互独立,互不影响; 缺点: 1)移动端app需要通过两个域名访问门户系统、运营系统提供的服务; 2)需要提供统一的登录接口、权限校验接口;2. 方案二 AppServer请求转发如下图所示: 优点: 1)AppServer整合各系统提供接口,移动端app通过统一的AppServer服务进行数据访问;原创 2016-06-18 13:31:41 · 28606 阅读 · 0 评论 -
数据缓存-数据分级策略
互联网系统的数据可以划分为以下3类: 1、核心业务数据:比如用户订单表、商户订单表 2、用户相关数据:用户基本信息、头像、简介、爱好等 3、配置信息:数据库配置、分库分表配置等如果以上所有数据的读操作数据库上完成,系统的性能将会大打折扣,也正是为了解决这个问题,才出现了memcached、redis等内存数据库,如何合理、高效的使用内存数据库呢?我们引入数据分级的策略来解决这个问题。我们将互联原创 2016-06-06 17:16:07 · 7127 阅读 · 0 评论 -
面向对象程序设计-继承与多态
前面我们讨论了如何在 JavaScript 语言中实现对私有实例成员、公有实例成员、私有静态成员、公有静态成员和静态类的封装。这次我们来讨论一下面向对象程序设计中的另外两个要素:继承与多态。 1 又是几个基本概念 为什么要说又呢? 在讨论继承时,我们已经列出了一些基本概念了,那些概念是跟封装密切相关的概念,今天我们要讨论的基本概念,主要是跟继承与多态相关的,但是它们跟封装也有一些联系。 1.原创 2016-06-02 15:48:57 · 7496 阅读 · 1 评论 -
【zookeeper系列】ZK典型的应用场景
很久之前就想写几篇关于zookeeper的文章了,正好这段时间闲下来了,写几篇博客一方面梳理一下自己的知识体系,另一方面分享给大家便于大家学习。Zookeeper 简称ZK,初次接触Zookeeper,大家首先想到的就是Zookeeper的应用场景,主要是用来解决什么问题,归纳起来主要是以下五方面的内容。一、统一命名服务(Name Service)分布式应用中,通常需要有一套完整的命名规则,既能原创 2016-06-02 15:16:50 · 10414 阅读 · 0 评论 -
【负载均衡】四层和七层负载均衡的区别
(一) 简单理解四层和七层负载均衡: ① 所谓四层就是基于IP+端口的负载均衡;七层就是基于URL等应用层信息的负载均衡;同理,还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡。 换句换说,二层负载均衡会通过一个虚拟MAC地址接收请求,然后再分配到真实的MAC地址;三层负载均衡会通过一个虚拟IP地址接收请求,然后再分配到真实的IP地址;四层通过虚拟IP+端口接收请求,然后再分转载 2015-12-14 18:38:52 · 4546 阅读 · 0 评论 -
Spring编程:proxy-target-class="true" 与proxy-target-class="false"的区别
<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/>proxy-target-class属性值决定是基于接口的还是基于类的代理被创建。如果proxy-target-class 属性值被设置为true,那么基于类的代理将起作用(这时需要cglib库)。如果proxy-targ原创 2015-11-16 14:20:40 · 6291 阅读 · 0 评论 -
【Nginx】location 匹配规则详解
转自:Nginx之location 匹配规则详解,非常感谢作者的分享。关于一些对location认识的误区 1.location 的匹配顺序是“先匹配正则,再匹配普通”。 矫正: location 的匹配顺序其实是“先匹配普通,再匹配正则”。我这么说,大家一定会反驳我,因为按“先匹配普通,再匹配正则”解释不了大家平时习惯的按“先匹配正则,再匹配普通”的实践经验。这里我只能暂时解释下,造成这种误解转载 2015-11-05 17:37:49 · 5532 阅读 · 0 评论 -
【数据库】Join连接
1:INNER JOIN 内连接,也叫等值连接,inner join产生同时符合A表和B表的一组数据。 如图:2:LEFT JOIN 左连接从A表(左)产生一套完整的记录,与匹配的B表记录(右表) .如果没有匹配,右侧将包含null,在Mysql中等同于left outer join。 如图:3:RIGHT JOIN 同Left join,AB表互换即可。 4:Cross join 交原创 2015-10-26 11:11:25 · 4253 阅读 · 0 评论 -
【数据库】关系型数据库和NoSQL数据库
关系型数据库,是建立在关系模型基础上的数据库,其借助于集合代数等数学概念和方法来处理数据库中的数据。主流的oracle、DB2、MS SQL Server和mysql都属于这类传统数据库。NoSQL数据库,全称为Not Only SQL,意思就是适用关系型数据库的时候就使用关系型数据库,不适用的时候也没有必要非使用关系型数据库不可,可以考虑使用更加合适的数据存储。主要分为临时性键值存储(memcac原创 2015-10-23 11:35:51 · 6703 阅读 · 0 评论 -
【算法】Hash一致性算法详解
一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简 单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正得到应用。 一致性hash算法提出了在动态变化的Cache环境中,判定哈希算法好坏的四个定义: 1、平衡性(Balance):平衡性原创 2015-10-21 15:25:16 · 4546 阅读 · 0 评论 -
【软件设计】软件设计特性
1、可用性 可用性是在某个考察时间,系统能够正常运行的概率或时间占有率期望值。考察时间为指定瞬间,则称瞬时可用性;考察时间为指定时段,则称时段可用性;考察时间为连续使用期间的任一时刻,则称固有可用性。它是衡量设备在投入使用后实际使用的效能,是设备或系统的可靠性、可维护性和维护支持性的综合特性。2、安全性 为防止把计算机内的机密文件泄露给无关的用户,必须采取某种安全保密措施,这些措施的有效程序如何原创 2015-10-08 14:50:13 · 5696 阅读 · 1 评论 -
【IO】同步,异步,阻塞,非阻塞 (亡羊补牢篇)
写的太好了,必须转载一下。 作者:historyasamirrorIO - 同步,异步,阻塞,非阻塞 (亡羊补牢篇)转载 2015-09-09 20:56:59 · 5346 阅读 · 0 评论 -
【Nginx】错误 413 Request Entity Too Large 的解决方法
产生该错误的原因,客户端发送的实体主体部分比服务器能够或者希望处理的要大。 一般情况下我们看不到这个状态码。 因为浏览器不会发送太大的数据给网站,但是服务器间的接口交互可能会出现该问题。nginx出现这个问题的原因是请求实体太长了。一般出现这种情况是Post请求时Body内容Post的数据太大了,如上传大文件过大、POST数据比较多。解决方法: 打开nginx主配置文件nginx.conf,找到原创 2015-09-09 10:39:19 · 15864 阅读 · 0 评论 -
【文档编辑器】Sublime Text 编辑器安装 Package Control插件
Sublime 文本编辑器安装 Package Control插件有两种方式:1、简单安装;2、手动安装。本文将翻译 Package Control 官网中介绍的详细安装方法。 英文地址:https://packagecontrol.io/installation#st3翻译 2015-09-02 10:48:51 · 5990 阅读 · 0 评论 -
【Csdn】博客排名第一名、第二名
截止2015-09-02 07:29 Csdn博客排名: 第一名:yuanmeng001 第二名:phphot关于第一名【袁萌】,好多年前就看过他写的文章了,目前仍然在Csdn上发表博客; 关于第二名【phphot】,比较奇怪的是从2009-07-17 21:05之后就再也没有发表过博客了,也不知道博主去干嘛了;原创 2015-09-02 07:31:49 · 8275 阅读 · 3 评论 -
【程序设计】定时任务调度平台需求说明书
1. 定时任务调度平台需求说明书 1.1. 概述 本文档详细的描述了定时任务的需求,明确了定时任务的开发内容。供需求人员、设计人员、开发人员、测试人员参考。 定时任务包含任务管理、任务执行、任务预警、日志查询、回调接口、预警服务六部分内容。 1.2. 任务管理 1.2.1. 任务分类 任务分为两种类型: 任务一:周期性的执行业务处理任务 我们采用定时时间、前置任务想结原创 2015-09-02 06:52:31 · 7633 阅读 · 1 评论 -
【Nginx】基于HTTP的反向代理
一、安装步骤:cd /appwget http://nginx.org/download/nginx-1.6.3.tar.gzunzip nginx-1.6.3.tar.gzcd /app/nginx-1.6.3./configuremakemake install二、nginx.conf文件中配置负载均衡worker_processes 1;events { worker_原创 2015-09-01 18:50:47 · 7117 阅读 · 0 评论 -
【Nginx】基于TCP的反向代理
Nginx默认只支持http的反向代理,想要支持tcp的反向代理,需要在编译时增加tcp代理模块【nginx_tcp_proxy_module】一、安装步骤:cd /appwget http://nginx.org/download/nginx-1.6.3.tar.gzunzip nginx-1.6.3.tar.gzwget https://github.com/yaoweibin/nginx_原创 2015-09-01 18:33:59 · 10103 阅读 · 2 评论 -
【nginx】nginx proxy_pass指令"/"注意事项
1)proxy_pass末尾不带”/”server { listen 80; server_name www.baidu.com; location /hello/ { proxy_pass http://server:8080; }}2)proxy_pass末尾带”/”server { listen 80; server_原创 2015-08-31 16:31:44 · 7382 阅读 · 0 评论