自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

熙熙小学姐

最怕你碌碌无为,却安慰自己平凡可贵。

  • 博客(19)
  • 收藏
  • 关注

原创 数据库导出markdown database-doc-generator

database-doc-generator数据库文档生成器,可以生成.doc .html md文档,支持Mysql、postgresql,可以使用下载zip包或者下载源码的方式。本文介绍的是通过下载源码的方式进行的。从码云上找到的下载资料https://gitee.com/enilu/database-doc-generator按照文档一步一步执行即可。找到了一个springb...

2019-10-26 14:49:01 726

原创 亿级请求下多级缓存

什么是多级缓存所谓多级缓存,即在整个系统架构的不同系统层级进行数据缓存,以提升访问效率,这也是应用最广的方案之一。整体流程如上图所示:1)首先接入Nginx将请求负载均衡到应用Nginx,此处常用的负载均衡算法是轮询或者一致性哈希,轮询可以使服务器的请求更加均衡,而一致性哈希可以提升应用Nginx的缓存命中率,相对于轮询,一致性哈希会存在单机热点问题,一种解决办法是热点直接推送到接...

2019-10-12 17:15:37 435

原创 CDN

1.什么是CDN?空间换时间的策略。CDN的全称是Content Delivery Network,内容分发网络。CDN是构建在网络之上的内容分发网络。 CDN使用户就近获取所需内容,降低网络阻塞,提高用户访问响应速度和命中率。 CDN依靠部署在各地的边缘服务器,包括中心平台的负载均衡、内容分发、调度等功能模块。2.有CDN的时候用户流量web流程和无CDN的时候有什么区别?...

2019-10-12 16:48:47 195

原创 各种排序算法的时间与空间复杂度

各种排序算法的时间复杂度和空间复杂度排序算法 平均时间复杂度 最好情况 最坏情况 空间复杂度 冒泡排序 O(n2) O(n) O(n2) O(1) 选择排序 O(n2) O(n2) O(n2) O(1) 插入排序 O(n2) O(n) O(n2) O(1) 希尔排序 O(n l...

2019-10-10 20:34:41 146

原创 Mysql的常用配置参数

基本配置:datadir:指定mysql的数据目录位置,用于存放mysql数据库文件、日志文件等。  配置示例:datadir=D:/wamp/mysqldata/Datadefault-character-set:mysql服务器默认字符集设置。  配置示例:default-character-set=utf8skip-grant-tables:当忘记mysql用户密码的时候...

2019-10-10 00:31:08 402

原创 Java Web基础

Http协议HTTP是实现客户端和服务器端通信的重要协议。一个完整的请求消息是由请求行、请求头和实体内容三部分组成。HTTP请求行包含三个部分,分别是请求方式、资源路径和使用的HTTP版本。GET /index.html HTTP/1.1GET是请求方式,index.html是请求资源路径,HTTP/1.1是通信使用的协议版本。GET方式参数放在请求行中的资源路径后面...

2019-10-09 20:53:57 356

转载 Java NIO核心组件学习

背景知识同步、异步、阻塞、非阻塞首先,这几个概念非常容易搞混淆,但NIO中又有涉及,所以总结一下[1]。同步:API调用返回时调用者就知道操作的结果如何了(实际读取/写入了多少字节)。 异步:相对于同步,API调用返回时调用者不知道操作的结果,后面才会回调通知结果。 阻塞:当无数据可读,或者不能写入所有数据时,挂起当前线程等待。 非阻塞:读取时,可以读多少数据就读多少然后返回,写...

2019-10-09 20:36:23 168

原创 Java找出数组中第二大的值

题目:给出一个数组{7,3,19,40,4,7,1};找出第二大的值思路:定义两个变量:一个变量用来存储数组的最大值,初始为数组首元素。另一个变量用来存储数组元素的第二大数,初始值为最小负整数,然后遍历数组元素。实现: public static int findSecMax(int[] arr) { int max = arr[0]; //...

2019-10-09 20:14:43 5573 2

原创 Java 求 1到n各阶乘的和

题目:1-n阶乘之和分析:1的阶乘是1 2的阶乘是1*2 3的阶乘是1*2*3 4的阶乘是1*2*3*4 .........代码:public static long factorialSum(int num) { long sum = 0; long temp = 1; for (int i = 1; i <= n...

2019-10-09 19:37:34 5872

原创 Dubbo的服务启动依赖检查配置

dubbo的服务启动依赖检查,指的是当启动服务时,如果存在不可用的依赖时,直接抛出异常,从而阻断spring初始化完成,以便在上线时发现问题。这种看似非常合理的检查,有时候却会给系统带来很大的困扰。比如A的consumer依赖了B的provider,同时B的consumer也依赖A的provider,这是什么?这就叫循环依赖。如果依赖双方均没有启动着的实例(比如所有的服务都挂了,等待重启),那...

2019-10-08 10:14:27 535

原创 Java的锁

常见的锁有synchronized、volatile、偏向锁、轻量级锁、重量级锁、公平锁/非公平锁、独享锁和共享锁。1.synchronizedsynchronized是并发编程中接触的最基本的同步工具,是一种重量级锁,也是Java内置的同步机制,synchronized提供了互斥性和可见性,可以保证并发的安全。synchronized实现原理synchronized是内置在JVM...

2019-10-07 21:33:35 147

原创 数据库三范式

数据库设计要遵循三范式规则。数据表的设计规范,一套越来越严格的规范体系(如果需要满足N范式,首先要满足N-1范式)。第一范式1NF:字段原子性字段原子性,字段不可再分割。关系型数据库,默认满足第一范式注意比较容易出错的一点,在一对多的设计中使用逗号分隔多个外键,这种方法虽然存储方便,但不利于维护和索引(比如查找带标签java的文章)第二范式:消除对主键的部分依赖...

2019-10-06 20:41:00 174

原创 Mysql优化

概述为什么要优化系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比如何优化设计数据库时:数据库表、字段的设计,存储引擎 利用好MySQL自身提供的功能,如索引等 横向扩展:MySQL集群、负载均衡、读写分离 SQL语句的优化字段设计尽量使用整型表示字符串,存储...

2019-10-06 20:33:08 147

原创 Java常用的加密算法

本文从对称加密和非对称加密展开论述。简介:对称加密: 加密和解密的秘钥使用的是同一个. 非对称加密:与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。对称加密算法:密钥较短,破译困难,除了数据加密标准(DES),另一个对称密钥加密系统是国际数据加密算法(IDEA),它比DES的加密性好,且对计算机性能要求也没有那么高....

2019-10-06 15:20:26 307

原创 Hystrix使用方式

1.Hystrix是什么Hystrix是一款开源容错插件,具有依赖隔离,系统容错降级等功能,还有请求合并等功能。2、为什么要进行隔离实际工作中,分布式、微服务遍地开花,一个服务经常要调用其他的服务,dubbo的RPC调用,http调用,在调用过程中,因为网络等原因,造成某个服务调用超时,如果没有熔断机制,此时的调用链路会一直阻塞在这里,在高并发的环境下,如果每个请求都卡在这个的话,服务...

2019-10-05 21:58:06 202

原创 Hystrix功能介绍

1、什么是Hystrix在一个分布式系统中,必然会有部分系统的调用会失败。Hystrix是一个通过添加超时容错和失败容错逻辑来帮助你控制这些分布式系统的交互。Hystrix通过隔离服务之间的访问,阻止他们之间的级联故障以及提供后背选项来实现这些,所有新而这些都用来提高系统的整体弹性。2、Hystrix用来做什么Hystrix被设计用来解决一下几个方面通过第三方(一般来源...

2019-10-05 21:38:18 2746

原创 Dubbo入门

dubbo作为当前国内热门的RPC框架,其基本原理、配置调优等是面试中会经常问到的,了解这些或者知道这些配置项的存在对工作也会事半功倍,遇到类似的问题可以不再去问那个广告满天飞的某度了。1. Dubbo简介Dubbo |db|是一个由阿里巴巴开源的、分布式的RPC(Remote Procedure Call Protocol-远程过程调用)和微服务框架,现为Apache顶级项目。Dub...

2019-10-04 20:28:29 99

原创 策略模式

定义:定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化不会影响到使用算法的用户处理掉if...else...类型:行为型适用场景系统有很多类,而他们的区别仅仅在于他们的行为不同 一个系统需要动态地在几种算法中选择一种优点开闭原则 避免使用多重条件转移语句 提高算法的保密性和安全性缺点客户端必须知道所有的策略类,并自行决定用哪一个策略类 ...

2019-10-04 19:51:42 105

原创 观察者模式

定义:定义了对象之间一对多依赖,让多个观察者对象同时监听某一个主题对象,当主题对象发生变化时,它的所有观察者都会收到通知并更新类型:行为型适用场景关联行为场景,建立一套触发机制优点观察者和被观察者之间建立一个抽象的耦合 观察者模式支持广播通信缺点观察者之间由过多的细节依赖,提高时间消耗及程序复杂度 使用要得当,要避免循环调用实现观察者模式使用三个类 Subject...

2019-10-04 19:43:23 108

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除