自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (1)
  • 收藏
  • 关注

原创 spring cloud

什么叫spring cloudspring cloud生态:提供了快速构建微服务的组件。Spring mvcSpring boot概念在spring框架下,基于约定优于配置的规范的衍生产物。只要依赖spring-boot-starter-web的jar包——解决了不同依赖之间的版本问题,就会自动内置一个tomcat容器。 还会影响项目结构。 默认提供配置文档application.properties 使用starter启动依赖,如果是web starter,会默.

2020-09-13 21:00:44 328

原创 分布式架构

本章从BIO、NIO到AIO的演进过程开始,介绍网络IO的通信原理。然后,介绍Netty的基本设计原理,带大家用Netty手写一个Tomcat和一个RPC框架。接着,深入分析Netty的源码,掌握Netty的核心组件如BootStrap、EventLoop、Pipeline、Promise、Future等,最后,将带大家完成一个消息推送系统,模拟百万链接性能调优。...

2020-09-11 16:36:02 299

原创 设计模式——Flyweight 享元模式

核心通过【池】的概念对象的数量个数进行控制,而且可以最大程序的复用对象。关键字:细粒度的对象、共享对象实现public class SignInfo { private String id; private String location; private String subject; private String postAddress; @Override public String toString() { retu

2020-07-28 18:04:05 216

原创 软件设计 六大原则

前言:所有的原则缩写都是英文的首字母,如开闭原则(Open Closed Principle)是OCP。开闭原则(Open Closed Principle)核心Software entities like classes, modules and functions should be open for extension but closed for modifications.对扩展开放,对修改关闭。作用定义了新增和修改代码时的理想方案。优缺点优点:对旧代码无影...

2020-05-25 11:25:17 282

原创 python line_profiler 代码性能分析、 memory_profiler 代码内存消耗分析

作用按行分析代码性能消耗,主要是时间安装pip install line_profilerpip install wrapt使用写一个单独的装饰器,代码如下:import wraptfrom line_profiler import LineProfilerlp = LineProfiler()def lineprofile_wrapper(): @wrapt.decorator def wrapper(func,instance,args,kwar

2020-05-15 14:21:19 597

原创 sql 关键字执行顺序

结论结论先行,顺序如下展示:(1)from(2) join(3)on(4)where(5)group by(6)avg,sum....(7)having(8)select(9)distinct(10)order by(11)top背景一条sql 脚本为什么会有顺序的问题?其实就是大家看待问题的粒度不同。在sql的执行过程中,每一关键字的执行都会产出一个【虚拟表】,虚拟表作为下一级处理的输入。验证方法关键字AS 推理关键字 AS 就是在 执行的...

2020-05-15 09:41:07 359

转载 (转)一条sql执行顺序

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/qq_25186987/article/details/54311384收起理解sql语句的执行顺序对优化sql非常重要,那么sql语句的执行顺序是怎样的呢,以一条简单的的语句做分析:这一条语句包含我们经常用到的一些关键字,select,from,where,group by,order by,它的执行顺序如下:...

2020-05-15 09:11:29 177

原创 UML六种箭头的含义

每次都是懒,然后查到别人的描述。我感觉在我的脑子里印象不深刻。还是要自己写一篇。不同的箭头,代表着不同类之前的关系。被箭头指的类都是父类,基类,类A使用类B的类A。六种如下:(组聚泛实关依)——从强到弱,而且箭头的笔画越来越少。组合特征类A组合类C,类C没有独立的生命周期,如A-书柜与C-木板。 书柜有木板,被指的是书柜。 组合是是聚合的加强版。类A有一个成员变量为类C...

2020-04-18 23:33:59 1151

原创 设计模式(三)——singleton模式

核心通过设置构造函数为私有,且成员变量为自己的静态类实例来控制某类的实例只能为一个。实现class singleVV{ private static singleVV viviChou = new singleVV();//可以设置为private,也可以不用。 private singleVV(){//构造函数一定要设置为private,使得不可以通过new生成对象...

2020-04-12 15:09:35 173 1

原创 设计模式(二)——factory method模式

核心使用template method模式,在工厂基类(即父类)的函数A中封装抽象函数的调用细节,子类中实现抽象函数的实现细节。工厂基类函数A的函数返回值类型一定是产品类的类型。加粗的地方就是factory模式与template method模式不同的地方,template method注重的是父类封装函数调用细节,子类直接使用的关系。factory模式强调的是工厂类中的方法封装调用需要子...

2020-04-12 14:26:15 195 1

原创 设计模式(一)——template method模式

开始写设计模式,不想要很大的篇幅去描述概念的东西。简而言之并通俗易懂,这就是最大的收获。核心父类实现函数之前间的调用逻辑。实现abstract class father{ public abstract void function1(); public abstract void function2(); public void funtionVV(){...

2020-04-11 00:52:03 113

原创 nginx的常用配置

PROXY_PASS与 UWSGI_PASS相同点都是配置转发不同点使用的协议不一样。PROXY_PASS 使用http/https通信协议进行转发。UWSGI_PASS使用通信协议为uwsgi。为什么使用uwsgi,有其他的文章的提过uwsgi对于http协议有好处。感兴趣的同学可以去google一下。proxy_pass使用location 地址B { pro...

2020-03-17 22:17:45 391

原创 常用的Linux网络命令

curl概念用来模拟http请求的发送,并接受到具体的响应报文。用法curl url :模拟HTTP GET请求,返回整个网页的内容 curl -I url 返回这个网页的header——这里是大写i字母 curl -i url 返回网页header + 内容 curl -X POST url -d '{"PARAMS":"xxx"}':模拟HTTP POST请求,返回整个...

2020-02-26 21:19:24 308

原创 sqlalchemy数据库连接异常

遇到这种情况,小记一下。发现服务运行得好好的,连接数据库的时候隔一段时间就会报数据库连接异常,看了一下日志报一个“error during Connection reset by peer”——报错十分直观 ,就是数据库主动断开了连接。查询发现sqlserver设置了X分钟的超时时间,如果超过这个时间数据库连接线程没有任何操作,sqlserver会主动把连接断开以节约资源。所以,如果数据库...

2019-10-24 10:33:05 1320

原创 pycharm 报错

报错突然有一天,pycharm出现了不停的indexing我以为是解释器的问题,想重新配置一下。然后发现又报了一个错:project level deployment servers are not currently supported. please create one of two links above.凉。。折腾了一个小时左右引入问题的原因我之前有代码在其他项目...

2019-08-26 16:55:40 4015 4

转载 (转)软件需求分析——非功能性需求

版权声明:本文为CSDN博主「雀跃的饼饼」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/wr98442878/article/details/89926824前言:需求分为功能需求和非功能性需求,常常会因为注重功能需求而忽略了非功能性需求,以下是对常见几类非功能性需求的小小总结,以后再慢慢补充。非功...

2019-08-08 14:52:52 2023

原创 jdbc连接不同数据库的配置

主要是url部分不同url写法如下sqlserverurl = jdbc:sqlserver://localhost:1433;DatabaseName=mydbmysqlurl = jdbc:mysql://localhost/myDB?db2url = jdbc:db2://localhost:5000/masteroracleurl = jdbc:...

2019-08-06 22:04:15 481

原创 dbmonster连接sqlserver

目录dbmonster介绍写的理由配置dbmonster的前提下载dbmonster配置dbmonster步骤dbmonster.properties配置dbmonster-schema.xml配置配置环境变量CLASSPATH官方文档官方文档主要查看点列类型dbmonster介绍什么是dbmonsterdbmonster是用来造大量数据库数...

2019-08-06 21:41:26 268

原创 git 冲突

目录前言git 正常操作上传本地代码git合并分支冲突场景——分支状态变为merging冲突原理冲突解决方式IDE处理git tortoise前言如果你要在linux下解决git代码的冲突,因为很麻烦,而且很费时。本文不推荐在linux环境下解决冲突,如果你硬要在linux下,推荐命令find. -name "*.java" |xargs...

2019-08-01 16:00:07 485 1

原创 加密与加签的区别

结论先行加密用公钥加密,私钥解密。加签是私钥加签,公钥解签。加密与加签作用场景的不同前提公钥与私钥是成对,所以一个公钥对应一个私钥,一个私钥也只能对应一个公钥——你能在多项式复杂度内找到一个私钥对应的多个公钥,那这种加密方法本质就是不安全的。(一夫一妻制)用公钥加密的,只能用私钥解密。用私钥加密的,只能用公钥解密。私钥只能握在自己手里,公钥可以发给很多人。...

2019-07-21 21:39:42 4192

原创 sqlserver 分页方法

本文分别介绍三种sqlserver分页方式。并开启statistics做为统计。开启统计:--清理DBCC DROPCLEANBUFFERSDBCC FREEPROCCACHE--开启统计信息SET STATISTICS TIME ONSET STATISTICS IO ON使用top方法一:优点:通用,第一页可以直接把第二个数字2设置为0即可。统计结果表明,主要的...

2019-07-06 22:07:26 5273

原创 sqlserver 查看脚本执行时间

方法一:--开启统计信息SET STATISTICS TIME ONSET STATISTICS IO ONGO select * from XXX --这里写执行的脚本,没有分号GO执行后在输出的消息体里查看:占用时间:当前这一步的总时间。如果占用时间比CPU时间大很多,那开销主要用于IO上。逻辑读:从数据缓存读取的页数。数字越小,性能越好。在性能调优中这个数字...

2019-07-06 21:07:08 2505

原创 java序列化问题

与外部系统对接时,遇到一个问题记录一下。对接系统使用的都是国际标准的RSA加密方式,实现语言是java。我们这边开发系统的时候使用python。在RSA解密的时候解析不出正确的源文。怀疑原因:由于java默认提供的序列化机制——实现java.io.Serializable接口并生成序列化ID,这样子就可以通过java.io.ObjectInput和java.io.ObjectOutput实...

2019-06-20 16:51:00 152

原创 sqlserver 死锁监控

sqlserver日志默认没有记录死锁的。所以如果没有提前配置监控的情况下,你无法找到死锁的日志进行定位。所以大家有时候会看到别人文章里写什么事务日志,扩展事件等方式去查找历史的sqlserver出现的死锁原因这是没有办法的。所以,提前配置死锁监控很重要。死锁监控配置(1)sqlserver日志监控打开1222和1204跟踪,这样子死锁的信息会记录在error log中。这样子可以...

2019-06-07 22:32:42 4020

原创 sqlserver implict_transactions

什么是implict_transactionsimplict_transactions是指sqlserver帮你把所有的DDL脚本自动封装成事务。不需要你显式写BEGIN TRAN关键字来指明事务。这里有一个很有意思的文档,写的很有趣:http://www.msbiguide.com/implicit-transactions-in-sql-server/开启implict_tr...

2019-06-05 10:55:47 422

原创 sqlserver 执行计划

一个很好的手册分享,执行计划里的属性解释官方文档:https://docs.microsoft.com/zh-cn/sql/relational-databases/showplan-logical-and-physical-operators-reference?view=sql-server-2017想复杂的事情简单说,在看执行计划的其他文章的时候,发现直接上很复杂的DDL脚本来讲解,这样...

2019-05-31 16:24:28 4516

原创 sqlserver latch

什么是bool poolsqlserver运行内存分为两类,一类是bool pool;一类是非bool pool.开发人员只需要关注一点,bool pool是内存区域即可。pin与spinpinpin是对对象内容的请求。可以与get一起理解 ,get是对对象的请求。举例有一个蛋糕切成8块,对某个蛋糕的请求就是get,而对申请到的蛋糕具体的哪一块就是pin。spin中...

2019-05-30 17:30:42 1061

原创 聚集索引与非聚集索引

索引能提高速度的原因是找到待搜索数据范围的开始和结束位置,然后根据头尾把中间的数据快速的取出来。索引其实是把查询语句所需要的少量数据添加到索引分页中,查询的时候通过访问少量的索引分页就可以到可以快速的确定搜索数据范围的开始和结束位置。索引存在的目的是在大量数据中找寻少量数据时,提高查询速度。查询!查询!查询!所以试图用索引增加IUD(insert\update\delete)操作效率的人就把枕...

2019-05-29 17:31:38 299

转载 GIT撤销操作

转https://www.cnblogs.com/wancy86/p/5848024.html先显示提交的log$ git log -3commit 4dc08bb8996a6ee02fAuthor: Mark <xxx@xx.com>Date: Wed Sep 7 08:08:53 2016 +0800 xxxxxcommit 9cac9ba765...

2019-03-20 17:22:08 106

原创 MySQL——日志、事务、索引

       前提概要:MySQL的原生引擎是MyISAM。因为MyISAM在日志层面不支持redo log,在事务层面不支持事务。所以才引入存储引擎InnoDB。MySQL用的是WAL(write-ahead log)机制,先写日志再写磁盘——这样子的好处在于可以实现crash safe。先介绍完概念再分析。日志篇:在MySQL引入InnoDB后,redo log和binlog是两种My...

2019-02-18 17:44:00 249

翻译 MySQL——一条SQL语法执行过程和顺序

      存储引擎:直接与磁盘操作,负责对数据的直接所有操作。存储引擎主流有InnoDB,MyISAM,Memory。       数据库连接为长连接。长连接如果长时间未使用会自动断开,wait_timeout是控制长连接空闲时长,默认为8小时。可以使用show processlist查看被数据库长连接的情况。      数据库使用长连接后内存消耗会特别快,所以需要定时断开长连接,以方便...

2019-02-18 15:10:12 265

原创 真随机数生成原理

原理:rand()函数利用操作系统的种子来生成伪随机数。 如果系统的种子没有变化,每次调用rand函数 生成的伪随机数序列都是一样的。 所以只要系统种子是真随机,那生成的随机数是真正意义上的“随机” 作时间作为种子是真随机的种子值。 srand(unsigned seed)通过参数seed改变系统提供的种子值,在使用rand()函数之前,先利用srand函数改变系统种子值 。所以每次生...

2019-01-15 17:04:50 904

转载 服务器、客户端 、DMZ

转https://zhidao.baidu.com/question/585191668.html公司有一堆电脑,但可以归为两大类:客户机、服务器。所谓客户机就是主动发起连接请求的机器,所谓服务器就是被动响应提供某些服务的机器。服务器又可以分仅供企业内网使用和为外网提供服务两种。所以,如果把您的对外提供服务的服务器放到企业内网,一旦被攻陷入侵,黑客就可以利用这台机器(肉机)做跳版,利用局域网...

2018-09-30 15:00:22 544

原创 mybatis double String

mybatis中,SQL API的参数类型是double,数据库是varchar类型,发现用mybatis操作的时候,会损失精度,直接四舍五入。解决办法:方法一:把参数类型从double改成String。然后用Double.toString(XX)把double转成String。方法二:把数据库的字段类型改成decimal(13,2)...

2018-05-23 16:01:19 2571

原创 java ExecutorService 线程池

最近在做项目时,需要用到线程池。我不喜欢一开始上来就讲底层,因为这样子很深奥。对于线程池,java jdk 1.7里会有对应的接口ExecutorService与实现类newCachedThreadPool /newFixedThreadPool /newScheduledThreadPool 。这篇博客里推荐新手先看看,因为如果只关注怎么用,先不扔源码的话,是够用的。《java Executor...

2018-05-18 16:55:21 198

原创 JAVA HttpClient重发、超时不生效

HttpClient真的是一个神奇的东西,版本之间差异过大,V4.3之前,V4.3以后V4.5以前,V4.5以后都几本是不兼容。所以JAVA在这一块的开发真的是十分头疼。这位仁兄在深深的被折磨后很好的帮我们总结了HTTP不同版本超时。然而,本人在HttpClient 4.3.6版本下,试了无数次。。还是走不通。虽然已经把RequestConfig加到配置里面了,而且断点跟踪也看到配置已配好,也加在...

2018-05-18 15:53:35 6336 2

原创 spring mybatis 事务不生效

在配置spring的时候,使用注解@transactional不生效。日志会打出那种closing no transactional sqlsession。在排查下发现,在spring对于在applicationContext.xml与dispatcher-servlet.xml所声明的bean是不一样的。如果在dispatcher-servlet.xml中引入mybatis的配置,则可以生效。如...

2018-05-15 19:29:31 421

原创 Spring解析不了Ajax框架传递过来的POST参数

前端用Ajax框架传递过来的URL参数,用request.getParamer取不到对应的参数值。可以用如下方法获取:request.setCharacterEncoding("utf-8");ServletInputStream in = request.getInputStream();String s = IOUtils.toString(in);log.info("reqStr = ...

2018-05-14 16:32:04 317

原创 Qjuery+AJAX的js编写的前端界面与后端java servlet通讯

前端界面用JQuery.Ajax()的data的方法来传递数据时,即没有用GET方法传递参数,主要是看HTTP请求里Entity的字段里的Content-Type里的值。如果Content-Type里的值为multipart/form-data;表示在jquery ajax方法中的data里面是有文件流的。前端: var saveAlbum = function () { ...

2018-04-24 21:26:36 210

原创 在spring mvc +javaweb项目中利用 tomcat和mybatis连接sqlserver

写java web应用时需要连接sqlserver数据库的步骤如下:安装tomcat。打开myeclipse,需要把自己安装的jdk与tomcat都引入,不要用自带的。(这一步很重要)jdk配置:window --&gt; preferencesJava --&gt; Installed JREs先不管当前的配置,选择ADDADD之后选择standard VM,然后点击next在新弹出框中,这里就...

2018-04-23 21:35:21 684

dbmonster-core-1.0.3.zip

dbmonster配置好的包,不需要再手动加dbmonster.properties和dbmonster-schema.xml

2019-08-06

空空如也

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

TA关注的人

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