技术
文章平均质量分 56
猫哥灬01
话不在多,在于精
展开
-
MAC 下载基础命令
MAC 下载基础命令原创 2023-02-17 10:39:20 · 1513 阅读 · 0 评论 -
GRPC整体学习
grpc整体学习原创 2022-08-08 16:02:51 · 337 阅读 · 0 评论 -
面试专栏
https://www.jianshu.com/c/fcaea5adc8fe转载 2019-11-09 12:23:41 · 113 阅读 · 0 评论 -
分布式流平台之kafka 问题自检
如何保证数据的横向伸缩? 如何支持一个主题的多生产者,多消费者同模式 如何使消息分布均衡 如何保证消息的至少一次和仅一次? 如何解决消息的重复问题 数据存储在磁盘,如何保证传递性能 如何保证多消费者可以重复消费同一个消息?...原创 2019-03-18 09:44:04 · 108 阅读 · 0 评论 -
数据的载体之链式队列
package com.jd.testjava.algorithm.datastructure;/** * 链式队列 * * @author lichenyang8 * @date 2019/3/28 */public class LinkedQuene { private class Node { private String item; ...原创 2019-03-28 09:25:50 · 84 阅读 · 0 评论 -
Vue基本语法
storestate(状态,用于存储数据)Vuex 使用单一状态树——是的,用一个对象就包含了全部的应用层级状态。至此它便作为一个“唯一数据源 (SSOT)”而存在。这也意味着,每个应用将仅仅包含一个 store 实例。单一状态树让我们能够直接地定位任一特定的状态片段,在调试的过程中也能轻易地取得整个当前应用状态的快照。computed(计算属性)1. 响应式的 : 及时更新数...原创 2019-04-17 15:53:29 · 436 阅读 · 0 评论 -
一、Java基础系列之集合
ListArrayList可以进行快速查找 注意扩容,默认大小为10,每次扩size>>1 (也就是1/2),底层使用Arrays.copyOfLinkedList可以操作头节点和尾节点,因此可以当作队列,栈使用 缺点:查找时需要遍历CopyOnWriteArrayList场景:可以支持 边查询,边写入,写入时不影响查询 实现:底层写方法使用Reentrant...原创 2019-05-30 10:00:23 · 341 阅读 · 0 评论 -
二、Java基础系列之并发包
CompletionServiceExecutorCompletionService= Executor + LinkedBlockingQueue典型的适配器模式线程池 = Runnable + ExecutorAbstractExecutorServicesubmitexecuteFutureForkJoinTaskFu...原创 2019-05-30 10:00:31 · 373 阅读 · 0 评论 -
HTTP协议(转)
转自:https://www.cnblogs.com/lexiaofei/p/6943690.htmlHTTP协议扫盲(二)HTTP协议的请求方法、请求头和响应头一、HTTP请求方法Http协议定义了很多与服务器交互的方法,最基本的有4种,分别是GET,POST,PUT,DELETE.一个URL地址用于描述一个网络上的资源,而HTTP中的GET, POST, PUT, DEL...转载 2019-04-18 08:38:11 · 604 阅读 · 0 评论 -
回调的实现
js<%@ page pageEncoding="utf-8" contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>跨域测试</title> <script src="js/jquery-1.7.2.js...原创 2019-04-18 09:55:33 · 422 阅读 · 0 评论 -
数据的载体之数组栈
package com.jd.testjava.algorithm.datastructure;/** * 数组栈 * * @author lichenyang8 * @date 2019/3/28 */public class ArrayStack { private String[] data; //表示数组有效元素个数 private int N =...原创 2019-03-28 09:05:31 · 137 阅读 · 0 评论 -
数据的载体之链式栈
package com.jd.testjava.algorithm.datastructure;/** * 链式栈 * 链表其实就1个节点 就是头节点 * * 操作都是保存数据,移动指针 * @author lichenyang8 * @date 2019/3/28 */public class LinkedStack { private Node first = n...原创 2019-03-28 07:41:02 · 246 阅读 · 0 评论 -
二、内功算法之连通性问题快速合并实现
判断在一个网络中,两个点是否连通 数学建模 如何表示整个网络中的点? 如何表示两个点连通? 如何将给定的点连通? 数据结构选取 用树表示整个网络 两个点的根节点相同则为连通 将两个点的根节点改为一样则表示将两点连通 代码实现 package com.jd.testjava.algorithm;/** * 连通性问题 * 使用树结...原创 2019-03-25 10:47:51 · 172 阅读 · 0 评论 -
三、内功算法之连通性问题快速合并优化
问题:为避免生成很高得树,影响节点查询性能。处理:合并时,判断树高,将小树合并在大树下。代码实现package com.jd.testjava.algorithm;/** * 连通性问题 * 使用树结构实现 * 快速合并算法优化(将小树合并到大树下面,避免大树合并到小树,高度成倍增长) * 带权(高度)快速合并算法 * * @author lichenyang8 *...原创 2019-03-25 10:49:57 · 252 阅读 · 0 评论 -
四、内功算法之连通性问题路径压缩优化查询
问题:虽然不会生成很高得树,但是在查询时还是一步一步得查找根节点,这块还能优化思路:在查询根节点时,将当前得根节点设置为爷爷节点,从而下次在查询时,原查询路径缩短为一半,节点越多,效果越明显。代码实现package com.jd.testjava.algorithm;/** * 连通性问题 * 使用树结构实现 * 快速合并算法优化(将小树合并到大树下面,避免大树合并到小树,...原创 2019-03-25 10:54:57 · 205 阅读 · 0 评论 -
Hystrix 熔断机制简记
熔断手段:隔离、限流、降级隔离GroupKeyCommandKeyThreadPoolKey限流ExecutionIsolationStrategy设置策略THREAD 线程池SEMAPHORE 信号量(*)降级重写HystrixCommand父类 getFallback()原理图是否缓存是否用断路器断路器恢复机制在发生熔断后默认5秒后将状态改为半...原创 2019-03-25 17:42:58 · 1401 阅读 · 0 评论 -
五、内功算法之算法性能分析和预测
性能分析总的耗费时间就是访问内存的次数 重点观察for循环 该算法能否处理大型数据 时间复杂度最好达到nlogn以下预测幂定律 将输入数据成倍增加 观察每次的运行时间结果,从而数学建模,绘制几何图形,该直线的斜率a,则算法的时间复杂度为n^a.普林斯顿大学时间复杂度分类处理问题的规模...原创 2019-03-26 08:21:05 · 231 阅读 · 0 评论 -
六、内功算法之算法性能优化
3-SUM问题任给一堆数,从中任选3个,相加和为0.常规实现3个for循环public int count(int[] ids){ int count = 0; int length = ids.length; for (int i = 0; i < length; i++) { for (int j ...原创 2019-04-01 13:16:54 · 352 阅读 · 0 评论 -
一、内功算法之连通性问题快速查找实现
判断在一个网络中,两个点是否连通 数学建模 如何表示整个网络中的点? 如何表示两个点连通? 如何将给定的点连通? 数据结构选取 用数组存储整个网络中的点 给每个点取值,并用数组下标和点值相对应 数组元素相等则表示两个点连通 将两个下标对应的元素修改为相同,则表示将给定的点连通 代码实现 /** * 连通性问题方法 */publ...原创 2019-03-24 13:11:37 · 181 阅读 · 0 评论 -
排序算法思想与实现
场景:快速: 大量 无序 归并:大数据 外排序是否基本有序: 有 - > 归并 无 ->快速快速排序适合场景:无序,对稳定性没有要求时 特点:速度快,但是不稳定 核心思想 找到基准数,第一次以第一个元素为基准 从后往前比,比基准数小的,移到数组头部 从前往后比,比基准数大的,移到数组尾部 把基准数放入中间位置 publi......原创 2019-04-01 09:28:47 · 228 阅读 · 0 评论 -
服务器编程必经之路之Netty入门
首先理解概念 (概念这种东西,个人愚见,第一遍肯定是看不懂的,想要看懂就多看不同的博客,看多了就懂了)异步回调 其实就是观察者模式 调用方在发起请求的同时传递一个回调函数 处理方在处理完请求后调用该回调函数 形成异步回调 事件驱动 首先注册事件类型和回调函数 然后等待对应的事件类型发生时,会调用该回调函数 NIO 非阻塞同步IO 就是Linux内核中有一个事件表,OS...原创 2019-05-24 15:05:49 · 275 阅读 · 0 评论 -
mysql 可重复读实现
MVCC(Multi-Version Concurrency Control,中文翻译过来叫多版本并发控制)具体实现分析InnoDB的MVCC,是通过在每行记录后面保存两个隐藏的列来实现的,这两个列,分别保存了这个行的创建时间,一个保存的是行的删除时间。这里存储的并不是实际的时间值,而是系统版本号(可以理解为事务的ID),每开始一个新的事务,系统版本号就会自动递增,事务开始时刻的系统版本号会作...原创 2019-05-26 15:24:52 · 8432 阅读 · 3 评论 -
五大基本算法之 基础算法实现
大致套路求总共多少 - 用分治法求最大 - 用动态规划求是否存在 - 用二分(先排序)数组和字符串 - 大部分可以用双指针法哈希可以降低时间复杂度对数字的操作就是 n % 10 n/10数字判断回文,反转后和原来相等二分查找public int binarySearch(int[] a, int l,int r, int k){ while(l &l...原创 2019-08-01 09:13:11 · 555 阅读 · 0 评论 -
五大基本算法思想之分治法
What分治法是将一个难以直接解决的大问题,分割成一些规模较小的相同问题,小问题解决,大问题随之解决。分治法在每一层递归上都有三个步骤: step1 分解:将原问题分解为若干个规模较小,相互独立,与原问题形式相同的子问题; step2 解决:若子问题规模较小而容易被解决则直接解,否则递归地解各个子问题 step3 合并:将各个子问题的解合并为原问题的解。经典例题全...原创 2019-07-20 20:16:42 · 536 阅读 · 0 评论 -
五大基本算法思想之动态规划和贪心算法
使用场景: 一个大问题可以拆分成多个小问题,每个小问题有最优解(最值) ,则大问题有最优解。把一根绳子剪成多段,并且使得每段的长度乘积最大。我们先考虑能否把大问题分解成小问题,分解后的小问题也存在最优解,如果把小问题的最优解组合起来能否是整个问题的最优解,这就是动态规划求解贪心算法注意是找合适的值(本例中的3和2) 并用数学归纳法证明。public class JianSheng...原创 2019-07-13 19:05:47 · 1502 阅读 · 0 评论 -
五大基本算法思想之递归回溯
使用场景: 求解所有可行方案。 整个过程有多个步骤,每个步骤有多个选择,从中选出可行方案八皇后在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法public class EightQueen{ public static int[][] arry=new int[8][8];//棋盘,放皇后 pub...原创 2019-07-13 15:48:56 · 413 阅读 · 0 评论 -
内功算法之思维套路
while 操作双指针 替换 双层for循环 题目:两个数组取交集 【1,2,3】 和 【2,3,4】 ==》 【2,3】第一想法就是通过双层for实现,但是时间复杂度为O(n*n)可以优化1. 排序Arrays.sort2. 比较private static List<Integer> intersect(int[] a, int[] b) { ...原创 2019-07-08 11:15:46 · 164 阅读 · 0 评论 -
SpringCloud之踩的坑
springboot和springcloud版本冲突https://blog.csdn.net/qq_22326625/article/details/88557919 父项目(pom.xml)<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0"...原创 2019-06-25 18:47:40 · 587 阅读 · 0 评论 -
HttpClient java.net.SocketException: Connection reset 问题
原因: 服务器返回了“RST”时,如果此时客户端正在从Socket套接字的输出流中读数据则会提示Connection reset”; 服务器返回了“RST”时,如果此时客户端正在往Socket套接字的输入流中写数据则会提示“Connection reset by peer”。 解决:重连全部重连 HttpClients.custom().setConnection...原创 2019-06-18 08:45:12 · 6402 阅读 · 0 评论 -
探索微服务
什么是微服务 一些 相互协作但又各自独立的服务群 SpringCloud的功能 配置管理 服务发现 断路器 智能路由 微代理 控制总线 全局锁 决策竞选 分布式会话 集群状态管理 1、外部或者内部的非Spring Cloud项目都统一通过API网关(Zuul)来访问内部服务.2、网关接收到请求后,从注册中心(Eureka)获取可用服务3......原创 2019-06-21 11:26:18 · 122 阅读 · 0 评论 -
Spring源码拜读之Spring的事件驱动
入口ContextLoaderListener 底层使用java.util.EventListener (Java中的事件机制,也就是观察者模式)java中的事件机制的参与者有3种角色:1.event object:事件状态对象,用于listener的相应的方法之中,作为参数,一般存在与listerner的方法之中2.event source:具体的事件源,比如说,你点击一个bu...原创 2019-06-20 09:12:25 · 372 阅读 · 0 评论 -
Spring源码拜读之SpringIOC实现
SpringIOC 实现bean工厂(就是一堆map)public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFactory implements ConfigurableListableBeanFactory, BeanDefinitionRegistry, Serializable {...原创 2019-06-20 09:01:39 · 344 阅读 · 0 评论 -
Spring源码拜读之总体介绍
核心模块 spring-core:依赖注入IOC与DI的最基本实现 spring-beans:Bean工厂于Bean的装配 spring-context:IOC容器 spring-aop:面向切面编程的应用模块,整合asm、cglib、jdkProxy spring-websocket:主要是与web前端的全双工通讯协议 spring-webflux:一个新的非阻塞函数式Re...原创 2019-06-06 11:58:41 · 857 阅读 · 0 评论 -
Nginx配置详解
https://blog.csdn.net/wangbin_0729/article/details/82109693转载 2019-05-30 18:34:31 · 70 阅读 · 0 评论 -
开发服务之MQ服务器关键实现
AtomicReference 对对象的原子操作,原子是指不会被cpu所打断 服务器的不同状态用枚举表示,写在抽象类Service中,具体服务器实现类继承该service,然后每次在进行服务器操作时,先判断状态是否正常 状态字段存储在AtomicReference引用中...原创 2019-05-23 09:35:21 · 309 阅读 · 0 评论 -
读大型网站系统与Java中间件实践(曾宪杰)感悟
集群 是一个 1+1 > 2 的模式 最开始有1台服务器,随着流量的增加 不能只单单增加一个服务器,而是同时还要增加一个管理者服务器 集群本身也是一种分片 可以实现高容量,高并发,高可用(三高) 管理者服务器的三种模式 代理模式 增加代理服务器控制后面服务器的选取 名称服务器 将服务节点的地址存储在名称服务器中,服务节点的变更会同步到名称服务器 请求者获取所...原创 2019-05-26 17:59:13 · 234 阅读 · 0 评论 -
mysql 锁
InnoDB 的行锁是实现在索引上的,而不是锁在物理行记录上。也就是说,如果访问没有命中索引,也无法使用行锁,将要退化为表锁。所以InnoDB 务必建好索引,否则锁粒度较大,会影响并发mysql锁主要有三类: 行锁, 间隙锁, 临键锁构建表test(id pk,num key)。id num 3 3 5 5 7 7 10 7 1...原创 2019-05-26 16:01:47 · 196 阅读 · 0 评论 -
LVS NP Nginx tomcat 的关系
LVS层 HA + 安全NP 层 VIP 分流导量Nginx层 增加并发 tomcat 最大200 nginx最大5w共同点:都是负载均衡 寻址不同点: 职能不同原创 2019-05-31 09:50:39 · 146 阅读 · 0 评论 -
mysql 事务
ACID1.原子性(atomicity):一个事务必须视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不可能只执行其中的一部分操作,这就是事务的原子性。2.一致性(consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A向B转账,不可能A扣了钱,B却没收到。3.隔离性(isolation):一个事务所...原创 2019-05-26 15:56:07 · 101 阅读 · 0 评论 -
你知道钩子Hook吗
what钩子,本质就是一个方法。(不同的场景对钩子的定义不同)windows 的消息处理中,钩子是一个监听器的回调函数模板方法模式中,通过继承的方式来决定一个方法是否执行,钩子是这个用于判断的抽象方法why用处:当你在设计时有一个方法是根据子类的具体实现判断其是否执行时,可以将该判断方法设置为钩子方法场景:当订单满足100元时,免邮费howpublic abstr...原创 2019-03-12 11:05:16 · 376 阅读 · 0 评论