01 2021 档案

MySQL - MySQL索引实现原理:数据结构 + 算法原理
摘要:总结 必读!!!原文链接:http://blog.codinglabs.org/articles/theory-of-mysql-index.html 数据结构选择:MySQL普遍使用带“顺序访问指针”的B+Tree实现其索引结构。 数据结构选择B+树的原因:磁盘IO次数少 + 磁盘IO时间短 磁盘 阅读全文

posted @ 2021-01-31 23:26 frank_cui 阅读(673) 评论(0) 推荐(1) 编辑

MySQL - MySQL索引背后的数据结构及算法原理(深度好文)
摘要:原文链接:http://blog.codinglabs.org/articles/theory-of-mysql-index.html 摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此My 阅读全文

posted @ 2021-01-31 23:00 frank_cui 阅读(124) 评论(0) 推荐(0) 编辑

SpringCloud - Feign 动态代理拼接URL地址
摘要:总结 Feign:基于Feign的动态代理机制,根据注解和选择的机器,拼接请求URL地址,发起请求Feign包含了Ribbon,其中请求的URL中的IP地址,就是Ribbon的负载均衡来寻找的 Spring Cloud核心组件:Feign 现在订单服务确实知道库存服务、积分服务、仓库服务在哪里了,同 阅读全文

posted @ 2021-01-31 01:02 frank_cui 阅读(4667) 评论(0) 推荐(0) 编辑

SpringCloud - SpringCloud五大组件:Eureka, Feign, Ribbon, Hystrix, Zuul 大串讲!!!
摘要:拜托!面试请不要再问我Spring Cloud底层原理 目录 一、业务场景介绍 二、Spring Cloud核心组件:Eureka 三、Spring Cloud核心组件:Feign 四、Spring Cloud核心组件:Ribbon 五、Spring Cloud核心组件:Hystrix 六、Spri 阅读全文

posted @ 2021-01-30 23:49 frank_cui 阅读(243) 评论(0) 推荐(0) 编辑

SpringCloud - 分布式的CAP理论
摘要:总结 Zookeeper保证CP Eureka保证AP 分布式领域的CAP理论: C - Consistency 一致性 A - Availability 可用性 P - Partition tolerance 分区容忍性 CAP的理论提出这三者不可兼得,而“P分区容忍性”显然是不可或缺。 P - 阅读全文

posted @ 2021-01-30 18:09 frank_cui 阅读(491) 评论(0) 推荐(0) 编辑

SpringBoot - 什么是 spring boot?为什么要用 spring boot?
摘要:总结 Spring 是一个“引擎”; Spring MVC 是基于Spring的一个 MVC 框架 ; Spring Boot 只是一个配置工具,整合工具,辅助工具, 是一套快速开发整合包。 Spring 最初利用“工厂模式”(DI)和“代理模式”(AOP)解耦应用组件。 大家觉得挺好用,于是按照这 阅读全文

posted @ 2021-01-30 01:47 frank_cui 阅读(258) 评论(0) 推荐(0) 编辑

Spring MVC - 数据怎么从前端到后端?怎么得到request/session?
摘要:1.怎样在方法里面得到Request,或者Session? 这种方法时比较常见的一种 将HttpServletRequest作为Spring MVC 的方法参数传入。然后通过request间接的获取到session。 public void getSessionAction(HttpServletR 阅读全文

posted @ 2021-01-30 00:21 frank_cui 阅读(726) 评论(0) 推荐(0) 编辑

Spring - component-scan 或者 @Controller @Autowired注解的解析过程?
摘要:总结 1.使用asm技术扫描<context:component-scan base-package="xxxx">里,base-package路径下(以及jar包里的base-package目录)的.class文件,扫描有以下注解的class (判断一个类是否有注解,使用AnnotationMet 阅读全文

posted @ 2021-01-29 23:05 frank_cui 阅读(141) 评论(0) 推荐(0) 编辑

Annotation - 自定义注解如何实现?
摘要:一、自定义注解的定义 1.1 自定义注解的规则 1. Annotation型定义为@interface, 所有的Annotation会自动继承java.lang.Annotation这一接口,并且不能再去继承别的类或是接口.2. 参数成员只能用public或默认(default)这两个访问权修饰3. 阅读全文

posted @ 2021-01-29 22:15 frank_cui 阅读(322) 评论(0) 推荐(0) 编辑

Spring - BeanFactory和ApplicationContext有什么区别?
摘要:BeanFactory和ApplicationContext是Spring的两大核心接口,都可以当做Spring的容器。 (1)BeanFactory是Spring里面最底层的接口,是IoC的核心,定义了IoC的基本功能,包含了各种Bean的定义、加载、实例化,依赖注入和生命周期管理。Applica 阅读全文

posted @ 2021-01-29 14:45 frank_cui 阅读(180) 评论(0) 推荐(0) 编辑

Spring - Spring Bean的生命周期 / Spring Bean 的创建和销毁过程
摘要:新版本 - 循循善诱,容易理解 总结 1.涉及模版模式,Spring 能让用户定制 Bean 的创建过程--》指的是init-method,destory-method -- 这里的模板模式的实现,并不是标准的抽象类的实现方式,而是有点类似我们前面讲到的 Callback 回调的实现方式,也就是将要 阅读全文

posted @ 2021-01-29 14:34 frank_cui 阅读(194) 评论(0) 推荐(0) 编辑

Spring - Spring框架中的Bean是线程安全的么?如果线程不安全,那么如何处理?
摘要:Spring容器本身并没有提供Bean的线程安全策略,因此可以说Spring容器中的Bean本身不具备线程安全的特性,但是具体情况还是要结合Bean的作用域来讨论。 (1)对于prototype作用域的Bean,每次都创建一个新对象,也就是线程之间不存在Bean共享,因此不会有线程安全问题。 (2) 阅读全文

posted @ 2021-01-28 20:20 frank_cui 阅读(2303) 评论(0) 推荐(3) 编辑

项目管理 - 测试驱动模式 TDD(Test-Driven Development)
摘要:总结 1. 先写测试代码,并执行,得到失败结果 比如我们要写实现一个功能,当输入值大于等于0时返回true,当输入值小于0时返回false。按照tdd的步骤先要写一个肯定会失败的测试,注意测试代码先于实现代码,因为还没有实现代码,所以测试必定是失败的。 2. 快速实现代码让测试通过 先不管代码写的丑 阅读全文

posted @ 2021-01-28 01:21 frank_cui 阅读(184) 评论(0) 推荐(0) 编辑

项目管理 - Coding Standard
摘要:Code Structure 代码结构 命名保持规范,驼峰命名。 Boolean方法,起名要以"is" / "has"开头。 方法名称要是动词。 ...... Design Principles 设计原则 Apply the Single-Responsibility principle to in 阅读全文

posted @ 2021-01-28 00:54 frank_cui 阅读(80) 评论(0) 推荐(0) 编辑

项目管理 - SonarCube使用教程
摘要:一、SonarQube的安装使用 SonarQube是管理代码质量一个开放平台,可以快速的定位代码中潜在的或者明显的错误,本文将会介绍一下这个工具的安装、配置以及使用。 下载地址:http://www.sonarqube.org/downloads/ 本文下载的版本是sonarqube-6.7.6。 阅读全文

posted @ 2021-01-28 00:13 frank_cui 阅读(2468) 评论(0) 推荐(0) 编辑

Financial - 债券盈亏模型
摘要:CME(芝加哥商品交易所 Chicago Mercantile Exchange)公式 CME Group version = (livePrice - tradePrice) * "size of contract" * "number of contracts" 网站:https://www.c 阅读全文

posted @ 2021-01-27 22:32 frank_cui 阅读(124) 评论(0) 推荐(0) 编辑

Financial - 东方证券EfficiencyRatio量化回测 + 夏普率,最大回撤,胜率,阿尔法贝塔收益率
摘要:总结--请介绍下你如何运用EfficiencyRatio策略 1.“EfficiencyRatio效率比值” 概念是美国交易员 Perry J. Kaufman 佩里·考夫曼 提出的,是一种趋势强度的衡量。它的计算公式是: ER = N期间内价格总变化 / N期间内个别价格变化的绝对值 取值范围为- 阅读全文

posted @ 2021-01-27 21:38 frank_cui 阅读(992) 评论(0) 推荐(0) 编辑

Network - TCP三次握手,四次挥手 (Three-Way Handshake, Four-Way Wavehand)
摘要:QA tcp为什么要三次握手,两次不行吗? 两次握手只能保证单向连接是畅通的。 Step1 A -> B : 你好,B。 Step2 A <- B : 收到。你好,A。 这样的两次握手过程, A 向 B 打招呼得到了回应,即 A 向 B 发送数据,B 是可以收到的。 但是 B 向 A 打招呼,A 还 阅读全文

posted @ 2021-01-27 14:38 frank_cui 阅读(264) 评论(0) 推荐(0) 编辑

Java 基础 - 如何实现对象克隆?
摘要:方法1:实现 Cloneable 接口,重写 clone() 方法 实现 Cloneable 接口,重写 clone() 方法 --> 一般重写,就是调用super.clone() ...就是Object的native方法clone() 易错: 如果调用某个对象的clone(),但是该类没有实现 C 阅读全文

posted @ 2021-01-27 01:25 frank_cui 阅读(346) 评论(0) 推荐(0) 编辑

JVM - TLAB(Thread Local Allocation Buffer)本地线程分配缓冲
摘要:引入TLAB的原因 多线程环境下,在堆上创建对象很容易造成线程不安全现象。 可能出现线程A正在给对象O1分配内存M,指针还没来得及修改,线程B又同时使用了内存M来给对象O2分配内存的情况。 如何开启TLAB? 开启本地线程分配缓冲(Thread Local Allocation Buffer,TLA 阅读全文

posted @ 2021-01-26 20:10 frank_cui 阅读(358) 评论(0) 推荐(0) 编辑

JVM - 栈上分配 + 逃逸分析
摘要:总结 //例1:User类型的对象u就没有逃逸出方法test public void test(int x,int y ){ String s = “”; User u = …. ….. } //例2:User类型的对象u就逃逸出方法test public User test(int x,int y 阅读全文

posted @ 2021-01-26 19:01 frank_cui 阅读(80) 评论(0) 推荐(0) 编辑

Java 基础 - @Override 在重写抽象方法/接口方法是必要的么?
摘要:总结 不是必要的!有@Override注解,IDE会检查,重载是否规范,是否符合要求!否则会给出错误提示!没有@Override注解,要自己注意是否实现了所有的方法,方法签名是否正确等信息,很容易出错。 /** * Annotation type used to mark methods that 阅读全文

posted @ 2021-01-25 21:14 frank_cui 阅读(754) 评论(0) 推荐(0) 编辑

Java Collection - HashMap 和 Hashtable 有什么区别?
摘要:总结 1.线程安全性不同 HashMap线程不安全;(需要多线程操作的时候可以使用线程安全的ConcurrentHashMap。ConcurrentHashMap虽然也是线程安全的,但是它的效率比Hashtable要高好多倍。因为ConcurrentHashMap使用了分段锁,并不对整个数据进行锁定 阅读全文

posted @ 2021-01-25 15:59 frank_cui 阅读(105) 评论(0) 推荐(0) 编辑

Java 基础 - 序列化 与 transient关键字
摘要:transient总结 当有些属性不希望序列化时,transient关键字为我们提供了便利。你只需要实现Serilizable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中。 transient关键字只能修饰变量,而不能修饰方法和类 阅读全文

posted @ 2021-01-25 01:50 frank_cui 阅读(113) 评论(0) 推荐(0) 编辑

Java 基础 - String的字符串拘留
摘要:String的字符串拘留 String s="abcd" String s="abcd"是一种非常特殊的形式,和new 有本质的区别。它是java中唯一不需要new 就可以产生对象的途径。以String s="abcd";形式赋值在java中叫直接量,它是在常量池中而不是象new一样放在压缩堆中。  阅读全文

posted @ 2021-01-24 22:23 frank_cui 阅读(156) 评论(0) 推荐(1) 编辑

Java 基础 - 方法的调用(静态调用 vs 动态调用)?
摘要:总结 编译期间 确定 类的静态方法,构造方法,私有方法 方法的重载 运行期间 确定 方法的重写,重载 解析 编译期间就确定了。类的静态方法,构造方法,私有方法。 调用目标在程序代码写好、编译器进行编译时就必须确定下来。这类方法的调用称为解析。在Java语言中符合“编译期可知,运行期不可变”这个要求的 阅读全文

posted @ 2021-01-24 22:03 frank_cui 阅读(1084) 评论(0) 推荐(0) 编辑

Java 基础 - 包装类valueOf()的缓存
摘要:总结 1-valueOf()缓存使用到设计模式:享元模式 单例模式和享元模式都是为了避免重复创建对象,但是其本质是不一样的: 其实现方式不一样,单例是一个类只有一个唯一的实例,而享元可以有多个实例,只是通过一个共享容器来存储不同的对象。 其使用场景不一样, 单例是强调减少实例化提升性能,因此一般用于 阅读全文

posted @ 2021-01-24 13:55 frank_cui 阅读(286) 评论(0) 推荐(0) 编辑

Java 基础 - java中的byte类型
摘要:总结 1.为何byte的取值范围是[-128, 127] byte,即字节,由8位的二进制组成。在Java中,byte类型的数据是8位带符号的二进制数。所以byte类型的取值范围也是[-128, 127]。 Java规定,用[1000 0000]补表示-128: (-1) + (-127) = [1 阅读全文

posted @ 2021-01-24 11:57 frank_cui 阅读(632) 评论(0) 推荐(0) 编辑

Goldman Sachs
摘要:https://medium.com/@hch.hkcontact/goldman-sachs-top-50-leetcode-questions-q7-high-five-a933247c219a Coderpad describe how to implement HashMap Impleme 阅读全文

posted @ 2021-01-19 20:36 frank_cui 阅读(882) 评论(0) 推荐(0) 编辑

设计模式 - 单例模式
摘要:1.【不好的解法】只适用于单线程环境 缺陷:当两个线程同时执行到 if (instance == null) 时,两个线程均会创建一个实例 //只适用于单线程环境 public class Singleton{ //将无参构造函数私有化,避免外部自行初始化 private Singleton(){} 阅读全文

posted @ 2021-01-15 15:34 frank_cui 阅读(82) 评论(0) 推荐(0) 编辑

算法 - 三路快排(分为三部分 小于/等于/大于)
摘要:https://www.cnblogs.com/deng-tao/p/6536302.html 阅读全文

posted @ 2021-01-09 23:57 frank_cui 阅读(82) 评论(0) 推荐(0) 编辑

算法 - 前缀树Trie
摘要:leetcode官方解析(必看) https://leetcode-cn.com/problems/implement-trie-prefix-tree/solution/shi-xian-trie-qian-zhui-shu-by-leetcode/ Trie用处 Trie (发音为 "try") 阅读全文

posted @ 2021-01-06 15:24 frank_cui 阅读(204) 评论(0) 推荐(0) 编辑

Java 基础 - 原码,补码和反码
摘要:总结 1-正数的原码,反码,补码都一致;负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1) [+1] = [00000001]原 = [00000001]反 = [00000001]补 [-1] = [10000001]原 = [11111110]反 阅读全文

posted @ 2021-01-06 00:18 frank_cui 阅读(250) 评论(0) 推荐(0) 编辑

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

导航

统计

levels of contents
点击右上角即可分享
微信分享提示