- 博客(107)
- 资源 (8)
- 收藏
- 关注
原创 Axure组件库
没想到啊,居然还有画原型的一天找了几个组件库收藏一下https://ux.ant.design/download/Ant_UX_Axure.ziphttps://github.91chi.fun//https://github.com/duzyn/material-axure-library/archive/refs/heads/master.ziphttp://t.xiazai163.com/down/Bootstrap4_Theme_Library_itmop.com.ziphttp
2022-09-07 09:25:15
2805
2
原创 RabbitMQ实战
RabbitMQ 作为目前应用相当广泛的消息中间件,在企业级应用、微服务应用中充当着重要的角色。特别是在一些典型的应用场景以及业务模块中具有重要的作用,比如业务服务模块解耦、异步通信、高并发限流、超时业务、数据延迟处理等。其中课程的学习链接地址:RabbitMQ实战教程-@rabbitlistener,rabbitlistener-Java视频教程-编程语言-优快云程序员研修院RabbitMQ 官网拜读首先,让我们先拜读 RabbitMQ 官网的技术开发手册以及相关的 Features,感兴.
2021-11-23 18:17:33
902
转载 Spring MVC 之 处理Date类型
在使用Spring MVC的项目中,我们经常需要遇到处理时间类型的字段。一般情况下大家可能都是通过String来接收这个对象,然后再把它转化成Date类型。如何能够优雅的处理这些时间类型的字段呢?下面我来分享一下我总结的一些方法。一、Input假如我们有一个User对象里面有一个birthday属性。一般情况下大家在使用Spring MVC的时候可能都是使用String字段来接收。然后再把它...
2019-12-26 20:51:58
494
原创 DispatcherServlet与ContextLoaderListener的对比
https://www.cnblogs.com/caryfang/p/5675178.htmlhttps://blog.youkuaiyun.com/sadfishsc/article/details/51027873https://blog.youkuaiyun.com/bingguang1993/article/details/90718473
2019-12-25 17:44:25
198
转载 Spring MVC的父子容器
1.背景在使用Spring MVC时候大部分同学都会定义两个配置文件,一个是Spring的配置文件spring.xml,另一个是Spring MVC的配置文件spring-mvc.xml。在这里给大家抛个问题,如果在spring.xml和spring-mvc.xml文件中同时定义一个相同id的单例bean会怎样呢?大家可以先思考一下再继续往下看。我做了个实验,结论是:容器中会同时存在两...
2019-12-23 11:36:27
263
转载 JDK和Spring中SPI的实现原理和区别
SPI 简介service provider interface JDK内置的中服务发现机制一种动态替换发现的机制此图使用(https://www.jianshu.com/p/46aa69643c97)作者画的使用方式实现方式:写service 具体对外提供的接口public interface DriverService { String getName(...
2019-12-20 11:49:36
590
1
原创 flask打印线程信息
# -*- coding: utf-8 -*-import osimport sysimport threadingimport tracebackimport signalimport tempfilefrom datetime import datetimeimport timeimport faulthandlerdef test(): while True...
2019-12-17 14:58:24
512
原创 解决flask中文乱码的问题
配置app.config,如下:#此配置项请谨慎使用app.config['JSON_AS_ASCII'] = False/Trueapp.config['JSONIFY_MIMETYPE'] ="application/json;charset=utf-8"
2019-12-09 18:15:15
798
转载 解决pip install慢的方法
常在使用python的时候需要安装各种模块,而pip是很强大的模块安装工具,但是由于国外官方pypi经常被墙,导致不可用,所以我们最好是将自己使用的pip源更换一下,这样就能解决被墙导致的装不上库的烦恼。网上有很多可用的源,例如豆瓣:http://pypi.douban.com/simple/ 清华:http...
2019-12-05 12:42:52
174
原创 mysql同步数据到Elasticsearch
数据在存储在关系型数据库(如mysql)中,我们怎样将这部分数据转移到elasticsearch中。这篇文章将介绍一个同步神器:logstash-input-jdbc安装在官网下载最新的安装包: wget https://artifacts.elastic.co/downloads/logstash/logstash-6.7.1.tar.gz 解压并...
2019-11-22 17:14:40
342
转载 mysql中binlog_format模式与配置详解
mysql复制主要有三种方式:基于SQL语句的复制(statement-based replication, SBR),基于行的复制(row-based replication, RBR),混合模式复制(mixed-based replication, MBR)。对应的,binlog的格式也有三种:STATEMENT,ROW,MIXED。① STATEMENT模式(SBR)每一条会...
2019-11-14 15:15:35
455
转载 Spring中的事件机制
1. 什么是事件监听机制在讲解事件监听机制前,我们先回顾下设计模式中的观察者模式,因为事件监听机制可以说是在典型观察者模式基础上的进一步抽象和改进。我们可以在JDK或者各种开源框架比如Spring中看到它的身影,从这个意义上说,事件监听机制也可以看做一种对传统观察者模式的具体实现,不同的框架对其实现方式会有些许差别。典型的观察者模式将有依赖关系的对象抽象为了观察者和主题两个不同的角色,多个...
2019-10-25 11:54:57
226
转载 并发收集器 CMS(Concurrent Mark-Sweep)
1.总体介绍:CMS(Concurrent Mark-Sweep)是以牺牲吞吐量为代价来获得最短回收停顿时间的垃圾回收器。对于要求服务器响应速度的应用上,这种垃圾回收器非常适合。CMS是用于对tenured generation的回收,也就是年老代的回收,目标是尽量减少应用的暂停时间,减少full gc发生的几率,利用和应用程序线程并发的垃圾回收线程来标记清除年老代。在启动JVM参数加上-XX...
2019-10-15 17:30:03
1095
原创 gunicorn日志配置
logconfig_dict = { 'version':1, 'disable_existing_loggers': False, 'loggers':{ "gunicorn.error": { "level": "DEBUG",# 打日志的等级可以换的,下面的同理 "handlers": ["error_...
2019-09-27 09:39:06
6735
2
原创 Spring Boot Admin 集成自定义监控告警------钉钉机器人
1.本文基于 Spring Boot Admin 2.0.1 和1.5.7版本有所出入,通过查看别的集成源码,新增集成钉钉机器人2.钉钉自定义机器人,参考文档 https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.64Ddtm&treeId=257&articleId=105735&docType...
2019-08-28 15:56:35
2508
3
原创 Sleuth+Zipkin服务追踪
服务追踪Spring Cloud Sleuth实现了一种分布式的服务链路跟踪解决方案,通过使用Sleuth可以让我们快速定位某个服务的问题。官方文档地址如下:http://cloud.spring.io/spring-cloud-static/spring-cloud-sleuth/2.0.1.RELEASE/single/spring-cloud-sleuth.html一些概...
2019-08-28 11:24:59
6294
转载 Google Guava官方教程(中文版)
引言Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 、I/O 等等。 所有这些...
2019-08-27 15:46:39
2645
原创 Zookeeper的功能以及工作原理
1.ZooKeeper是什么?ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户2.ZooKeeper提供了什么?1)文件系统2)通知机制3.Zookeeper文件系统每个子...
2019-08-27 14:56:43
141
转载 Java高级特性——反射
概述定义JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。用途在日常的第三方应用开发过程中,经常会遇到某个类的某个成员变量、方法或是属性是私有的或是只对系统应用开放,这时候就可以利用Java的反射机制通过反射来获取所需的私有成员或是方...
2019-08-27 14:53:05
159
转载 Zookeeper分布式锁代码实现
原生API操作ZK什么叫原生API操作ZK呢?实际上,利用zookeeper.jar这样的就是基于原生的API方式操作ZK,因为这个原生API使用起来并不是让人很舒服,于是出现了zkclient这种方式,以至到后来基于Curator框架,让人使用ZK更加方便。有一句话,Guava is to JAVA what Curator is to Zookeeper。说明:在初始化Zoo...
2019-08-27 11:24:34
190
原创 Zookeeper实现分布式锁
在学习分布式锁之前,需要首先了解一下Zookeeper的[临时顺序节点]。什么是临时顺序节点?让我们来回顾一下Zookeeper节点的概念:Zookeeper的数据存储结构就像一棵树,这棵树由节点组成,这种节点叫做Znode。Znode分为四种类型:1.持久节点 (PERSISTENT)默认的节点类型。创建节点的客户端与zookeeper断开连接后,该节点依旧存在 。2.持久节点顺...
2019-08-26 16:54:18
153
原创 ETCD、Consul、Zookeeper、Etcd、Eureka对比
Feature Consul zookeeper etcd euerka 服务健康检查 服务状态,内存,硬盘等 (弱)长连接,keepalive 连接心跳 可配支持 多数据中心 支持 — — — kv存储服务 支持 支持 支持 — 一致性 raft paxos raft...
2019-08-22 19:36:09
1664
原创 python 使用redis
1、redis连接redis提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使用官方的语法和命令,Redis是StrictRedis的子类,用于向后兼容旧版本的redis-py。redis连接实例是线程安全的,可以直接将redis连接实例设置为一个全局变量,直接使用。如果需要另一个Redis实例(or Redis数据库...
2019-08-21 15:49:12
153
原创 Mysql误操作后使用binlog2sql快速回滚
一、总体解释:DML(data manipulation language): 它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言 DDL(data definition language): DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类...
2019-08-20 19:42:19
350
原创 详细分析MySQL事务日志(redo log和undo log)
详细分析MySQL事务日志(redo log和undo log)分类: 数据库系列undefined转载请务必在文章最开头标明原文地址本文原创地址:博客园骏马金龙https://www.cnblogs.com/f-ck-need-u/archive/2018/05/08/9010872.html强烈谴责大量盗文狗:波波说运维,说不定你们的文章也已被抄袭innodb事务日志包...
2019-08-19 11:01:13
345
原创 ThreadLocal详解
ThreadLocal是什么ThreadLocal是一个本地线程副本变量工具类。主要用于将私有线程和该线程存放的副本对象做一个映射,各个线程之间的变量互不干扰,在高并发场景下,可以实现无状态的调用,特别适用于各个线程依赖不通的变量值完成操作的场景。从数据结构入手下图为ThreadLocal的内部结构图ThreadLocal结构内部从上面的结构图,我们已经窥见ThreadLo...
2019-08-14 17:46:42
97
转载 CompletableFuture 使用详解
1、 runAsync 和 supplyAsync方法CompletableFuture 提供了四个静态方法来创建一个异步操作。public static CompletableFuture<Void> runAsync(Runnable runnable)public static CompletableFuture<Void> runAsync(Runnab...
2019-08-13 14:35:50
224
原创 java8 stream接口终端操作 count,anyMatch,allMatch,noneMatch
<p>对于中间操作和终端操作的定义,请看<a href="https://blog.youkuaiyun.com/qq_28410283/article/details/80634725" rel="nofollow" data-token="86e8956c2bcb3c3cc7a3033c6ce4dc52"&g...
2019-08-12 17:39:21
3559
转载 解读Class类文件结构
语言无关系的关键在 于 JVM 和 字节码;Java虚拟机不与任何编译成class字节码的语言绑定,只要能够编译成有效的Class字节码都解析执行。一、Class文件结构 任何一个Class文件都对应着唯一 一个类或接口的定义信息,但反过来说,类或接口并不一定都得定义在文件里(譬如类或接口也可以通过类加载器直接生成)。问题: 当出现超过8位字节码来表示的数据项怎么办呢...
2019-08-01 17:51:12
231
原创 代理模式
一、代理模式例子先看一个例子,是有关于打游戏杀怪兽的。 //先定义一个游戏者接口 public interface IGamePlayer { //登陆游戏 public void login(String user, String password); //杀怪,网络游戏的主要角色 p...
2019-08-01 11:06:46
121
原创 java性能调优及问题追踪--Btrace的使用
在生产环境中经常遇到格式各样的问题,如OOM或者莫名其妙的进程死掉。一般情况下是通过修改程序,添加打印日志;然后重新发布程序来完成。然而,这不仅麻烦,而且带来很多不可控的因素。有没有一种方式,在不修改原有运行程序的情况下获取运行时的数据信息呢?如方法参数、返回值、全局变量、堆栈信息等。Btrace就是这样一个工具,它可以在不修改原有代码的情况下动态地追踪java运行程序,通过hotswap技术,动...
2019-07-31 17:37:13
153
转载 浅谈PageHelper插件分页实现原理及大数据量下SQL查询效率问题解决
前因:项目一直使用的是PageHelper实现分页功能,项目前期数据量较少一直没有什么问题。随着业务扩增,数据库扩增PageHelper出现了明显的性能问题。几十万甚至上百万的单表数据查询性能缓慢,需要几秒乃至十几秒的查询时间。故此特地研究了一下PageHelper源码,查找PageHelper分页的实现方式。一段较为简单的查询,跟随debug开始源码探寻之旅。 public Res...
2019-07-25 11:36:05
957
转载 MySQL创建自定义哈希索引
MySQL创建自定义哈希索引如果存储引擎不支持哈希索引,则可以模拟像Memory存储引擎一样创建哈希索引,这样可以享受哈希索引的便利,例如只需要很小的索引就可以为超长的键创建索引。思路很简单:在B-Tree基础上创建一个伪哈希索引。这和真正的哈希索引不是一回事。因为还是使用真正的哈希索引进行查找,但是它使用哈希值而不键本身进行索引查找。你需要做的就是在查询的where子句中手动指定使用哈希...
2019-07-25 09:44:03
966
转载 Hystrix熔断
Hystrix熔断 熔断其实是在降级的基础上引入了重试的机制。当某个时间内失败的次数达到了多少次就会触发熔断机制,具体的流程如下案例演示1.创建项目 创建一个普通的SpringCloud项目2.导入依赖 在基础依赖之外我们只需要导入Hystrix的依赖即可<dependency> <groupId>org.springfr...
2019-07-23 16:40:20
202
转载 sharding-jdbc分库分表
一、前言一般来说,随着业务的发展数据库的数据量会越来越多,当单表数据超过上千万时执行一些查询sql语句就会遇到性能问题。一开始可以用主从复制读写分离来减轻db压力,但是后面还是要用分库分表把数据进行水平拆分和垂直拆分。实现分库分表目前我知道的方式有两种,第一种是使用mycat中间件实现,第二种是使用sharding-jdbc实现。相比较而言,sharding-jdbc引入一个jar包...
2019-07-19 18:45:30
240
转载 分库分表
Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。不太严格的讲,对于海量数据的数据库,如果是因为表多而数据多,这时候适合使用垂直切分,即把关系紧密(比如同一模块)的表切分出来放在一个server上。如果表并不多,但每张表的数据非常多,这时候适合水平切分,即把表的数据按某种规则(比如按ID散列)切分到多个数据库(server)...
2019-07-18 18:26:21
107
原创 springboot使用RestTemplate+httpclient连接池发送http消息
简介1、RestTemplate是spring支持的一个请求http rest服务的模板对象,性质上有点像jdbcTemplate。2、RestTemplate底层还是使用的httpclient(org.apache.http.client.HttpClient)发送请求的。3、HttpClient可以做连接池,而发送消息的工具类可以使用RestTemplate,所以如果你的项目需...
2019-07-18 14:47:10
659
转载 Centos7环境下搭建Nginx+Lua+Redis进行数据存取
1.安装依赖环境yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel2.安装LuaJITcd /usr/local/mkdir LuaJITcd /usr/local/LuaJITwget http://luajit.org/download/LuaJIT-2.0.2.tar.gz...
2019-07-18 12:23:11
578
转载 nginx代理缓存设置
(1)缓存介绍1.代理服务器端缓存作用减少后端压力,提高网站并发延时2.缓存常见类型服务器端缓存:代理缓存,获取服务器端内容进行缓存浏览器端缓存3.nginx代理缓存:proxy_cache(2)代理缓存配置1.缓存配置#vim /usr/local/nginx/conf/nginx.conf upstream node { server 192.9.191....
2019-07-17 16:41:02
462
原创 HTTP缓存SpringMVC实现
@RequestMapping("/cache") public ResponseEntity<String> cache( HttpServletRequest request, //为了方便测试,此处传入文档最后修改时间 @RequestParam("millis") long lastModifie...
2019-07-17 15:46:48
184
mysql-connector-java-5.1.44
2017-10-19
SpringBoot揭秘 快速构建微服务体系
2017-10-13
SecureCRT8.1+注册机
2017-10-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人