- 博客(48)
- 资源 (4)
- 收藏
- 关注
原创 归并排序两种实现
1. 两个有序数组(arr1,arr2),在O(Math.max(arr1.length, arr2.length))时间复杂度范围可将arr1,与arr2归并为整体有序数组;空间复杂度为O(arr1.length + arr2.length);2. 将原数组先分割为N个最小归并单元 即arr1, arr2中各一个元素,此时arr1, arr2 是有序数组,满足第1条,可进行归并;归并结果为arr3为有序数组,且arr3.length = arr1.length + arr2.length;
2022-01-23 14:48:06
658
原创 字符串查找BM算法
假设主字符串与模式(匹配)字符串的字符编码范围是0~255;BM算法整体分为坏字符串匹配,与好前缀匹配,整体比较烧脑,算法过程介绍比较麻烦### 构建坏字符串hash表```javastatic final int SIZE = 256;// 构建字符与下表 hash表,若有重复,后面位置覆盖前面private void generateBC(char[] b, int m, int[] bc) { for (int i = 0; i < SIZE; i++)
2022-01-16 15:48:49
301
原创 heap, 堆与堆排序
数据结构堆堆是一种特殊的树,满足以下特性的树(????)可称为堆(Heap)1. 完全二叉树(假设N层树,第N层节点全靠左排列,1~(N-1)层是满二叉树),通常采用数组来存储2. 所有父节点小于等于(或大于等于)左右子节点采用数组存储,更节省空间,可通过数组下标计算出对应节点的父子节点下标值若从数组下标1开始存储数据当前节点下标=i,则父节点下标 = i/2,左子节点下标 = i*2,右子节点下标 = i*2+1;若从数组下标0开始存储数据当前节点下标=i,则父节点下标
2021-12-19 20:57:02
664
原创 Transacation 引发血崩问题分析与思考
事件回顾在业务高峰期并发量较大时引起大量事务不提交现象,并且业务线程基本被block、不能对外提供服务查询事务mysql事务:SELECT * from information_schema.INNODB_TRX it ;dump java应用栈信息:jstack $pid线上出问题期间没有dump到栈信息,直接回滚了代码版本,后续花费了大量时间进行压测验证,最后定位到类似以下代码出现问题@Transaction(transactionManager = "datasource1".
2021-11-20 19:44:12
1343
1
原创 快速排序三种实现
学习算法最快方式:直接看标准代码。 note :我们不为提高智商,我们仅仅想快速 「体验|接受」 算法的感觉看完代码后,拿出值和笔推画出代码的过程 | 或debug;如果有哪一行代码没有理解,很可能是(你的初始数据或case)没有推画或debug出对应的边界条件快速排序经典算法: public static void quick_sort(int[] arr, int l, int r) { if (l < r) { int mid...
2020-10-13 23:52:16
348
原创 dubbo 协议层【Protocol】分析
dubbo框架有很多通讯协议可供选择,不同通讯协议相当于实现RPC功能的不同路径将RPC功能类比成:“从A城市到B城市” 这么一件事情多种协议 可类比成 从A到B 有多种可选择的交通工具选择一种具体交通工具 就决定了:买什么票、司机是谁、舒适度、交通线路 ...dubbo的任何一种协议也规定【或默认】了 序列化方式、【长|短】链接、底层协议【http|tcp】、同步或异步、消息处理线程模型 ...
2020-09-20 08:43:54
1968
原创 dubbo Proxy Wrapper 代理类源码分析
几乎所有java相关框架都需要采用动态代理工具; 【个人理解有以下两点】强类型:java是强类型语言,在编译阶段有类型检测切面编程:在用户代码执行之前、之后... 织入通用处理逻辑dubbo提供的动态代理工厂有JdkProxyFactory,JavassistProxyFactory通过ProxyFactory接口的@SPI注解可看到默认实现是JavassistProxyFactory使用Javassist生成代理类文件的核心类有 Proxy, Wrapper
2020-09-06 21:13:16
532
2
原创 dubbo ExtensionLoader源码分析
几乎所有的dubbo框架接口实现类对象都在该类中创建;ExtensionLoader有涉及到对象工厂,插件扩展,SPI,IOC,自适应,包装类 等功能;将ExtensionLoader对应属性的curd弄清楚,则对上述功能就门清了
2020-09-06 20:49:12
1428
原创 dubbo filter链【AOP】源码分析
dubbo filter与servlet filter 或 XXX filter ... 设计思路一样在目标方法执行前, 后插入filter功能代码,实现类似AOP的能力多个filter在排好序后组成调用链执行;责任链设计模式dubbo filter 通常分为 :provider 和 consumer两种,通过 @Activate(group = CONSUMER) 注解中group参数可进行区分,服务调用方 只会加载执行“group = CONSUMER”的filter,
2020-09-06 20:03:48
557
原创 install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources 和uninitialized constant Gem:
centeros7 下安装ruby2.4.1 和rubygem2.6.12 在使用gem sources -a https://ruby.taobao.org/ 命令时遇到 问题1:Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources 问题2:uniniti
2017-06-03 12:38:07
7310
原创 tomcat 生成key
tomcat配置https,启用8443端口,java命令生成证书keytool -genkey -keyalg RSA -alias tomcatsso -dname "cn=localhost" -keystore
2015-07-14 17:36:18
1103
原创 mysql 存储过程
mysql version5.0 之前的版本是不支持存储过程的存储过程优点:原文如下:Typically stored procedures help increase the performance of the applications. Once created, stored procedures are compiled and stored in the d
2015-01-15 17:38:43
1045
转载 mysql引擎
作为一名Java开发者 MySQL 经常在使用,但大多时候只用到一些基本的 增删改查 对与MySQL的一些高级功能、底层实现还不是很了解,之前在面试的时候 被问到 MySQL的引擎有哪些,各有什么优缺点 ???我只能回答 呵呵......下面就这个问题做个总结资料来源 http://www.cnblogs.com/lina1006/archive/2011/04/29/2032
2015-01-15 10:52:34
581
转载 非对称加密算法RSA
文章转载于: http://snowolf.iteye.com/blog/381767RSA : 出现于1978年 用于数据加密、数据签名流程:甲方构建密钥对儿,将公钥公布给乙方,将私钥保留。甲方使用私钥加密数据,然后用私钥对加密后的数据签名,发送给乙方签名以及加密后的数据;乙方使用公钥、签名来验证待解密数据是否有效,如果有效使用公钥对数据解密。乙方使用公钥加密数据,
2015-01-03 19:24:30
547
原创 Java 多线程下载示例
项目结构:FileDownload.java:package com.wl.download;import java.io.File;import java.io.FileNotFoundException;import java.io.IOException;import
2014-12-27 14:33:01
952
原创 springmvc 零散配置
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.s
2014-12-04 15:17:59
537
原创 java send https request small instance
import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.security.KeyManagementException;import java.security.KeyStoreExcepti
2014-09-19 13:01:38
900
eclipse freemaker 插件
2015-08-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人