自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(130)
  • 资源 (7)
  • 收藏
  • 关注

原创 linux常见命令

场见操作查看内存大小//查看系统中文件的使用情况df -h//查看当前目录下各个文件及目录占用空间大小du -sh *//方法一:切换到要删除的目录,删除目录下的所有文件rm -f * /rm -rf *//方法二:删除logs文件夹下的所有文件,而不删除文件夹本身rm -rf log/*查找文件查找文件指定内容grep “内容关键字” filename查找指定内容...

2019-05-24 14:07:42 172 2

原创 数据库知识整合

只返回不同的值select distinct id from products;限制结果 从行5开始的第5行,第一个数位置,第二个为要检索的行数;select name from pr limit 5,5从mysql5开始,从第三行开始取4行limit 4 offset 3排序: 默认ASC升序,DESC降序,先降序排列,相同的升序排列如下,找出最贵的两个,...

2017-09-06 15:27:14 324 1

原创 一个做过的项目的小总结

项目简介项目主要是针对品牌广告迁移至竞价广告平台,在竞价平台实现品牌广告下单,取代以前品牌广告复杂的交互,降低品牌广告主的准入门槛。涉及系统上游(S):广告平台前端(S1),以及广告平台后端(S2)订单中心(C)下游(X): 库存平台(X1),类似于商品库; 结算平台(X2),类似于生成发票; 计费平台(X3),实时扣除账户余额落库记录:库存平台记录(R1),结算平台记录(R2),订单中心记录(R3),广告平台记录(R4),计费平台记录(R5)流程:在广告前端页面(S1)发起一次创建,

2022-02-07 18:24:12 354

原创 一些总结

techNetty Mina高性能和高可伸缩性网络应用程序的网络应用框架传统io缺点NIO的类库和API还是有点复杂,比如Buffer的使用Selector编写复杂,如果对某个事件注册后,业务代码过于耦合需要了解很多多线程的知识,熟悉网络编程面对断连重连、保丢失、粘包等,处理复杂NIO存在BUG,根据网上言论说是selector空轮训导致CPU飙升创建步骤即包含一个接收连接的线程池(也有可能是单个线程,boss线程池)以及一个处理连接的线程池(worker线程池)。b

2021-03-22 21:37:55 257

原创 日志规范输出

解决问题系统监控(qps,成功率,失败率,机器,组件监控(jvm,消息队列,数据库,缓存))业务监控(耗时,级别,成功率),异常排查 (链路追踪(全局log id),分支,异常,关键位,业务流程)日志规范格式化输出(%v,%s,%d或者{},{},{})分层级打印(info,debug,warn,err)只用一个日志工具类(log4j, logback)面向日志抽象类打印(slf4j) log.info/warn,方便后续升级或者日志框架替换日志文件命名统一,系统名,年月日时分秒,分

2020-12-29 16:37:57 486

原创 idea 常用快捷键

代码校验插件git 插件(拉取,对比,历史,合并,rebase)格式化/自带格式化自定义常使用快捷键全局文件搜索全局变量搜索跳进方法内部,找到变量定义back/forward 返回/跳转 上一个操作代码行快速删除行快速选择行快速选择内容快速跳转行...

2020-12-21 16:59:51 100

原创 怎样好好的用git

git 常用简单操作第一步 拉下你的代码,或者创建本地代码库,git initgit clonegit checkout -b branchname第二步 整一个开发要用的分支 git checkoutgit checkout -b创建新分支,分支名后,可以添加 origin 远程分支名,同步远程分支创建,git checkout -b master origin master分支间需要乱切时 git checkout branch第三步,提交代码是,注意comm

2020-12-08 18:40:07 112

原创 怎样写好一个接口文档

接口文档书写1. 前置描述产品文档,简单说明背景,接口用来干嘛的技术文档,说一说各方的具体实现,复杂的可以说下具体的设计思路,n个方案对比,贴上sql,ddl,dml设计,具体代码等具体能看的东西2. 方法概览方法路径,命名统一方法名称,命名统一方法类型 get/post…3. 参数定义参数命名统一,下划线,驼峰…类型定义明确,整形,长整型,浮点,对象,指针是否需要枚举 required Enuma a是否必填 optional int a //非必填必要备注,说

2020-12-08 17:03:30 1144

原创 后台开发常用运维命令

w,查看运行时间,用户数,平均负载uptime,类似wcat /proc/cpuinfo ,查看cpu信息vmstat 进程,内存使用情况top 内存,cpu占用排行sar 命令 ,大保健工具,所有资源信息都可查看,可以打印历史信息,需安装,yum install -y sysstat //安装sar命令包du -sh * / du -sh filename 查看当前文件夹/文件大小linux命令搜索 https://man.linuxde.net/...

2020-09-08 17:29:10 177

原创 后台开发学习链接

语言goeffect go 中文版基础架构

2020-09-01 18:07:38 113

原创 项目性能评估

项目性能评估1 无单点 (服务层面)服务节点无状态,支持集群部署;在定时任务调度等单节点调度场景中,可使用分布式锁、分布式任务调度平台实现无单点,多节点集群部署;2 熔断能力 (服务层面)服务间调用支持达到一定阈值后自动熔断,并且具备熔断后自动恢复的能力;3 限流能力 (服务层面)设置服务能承载的流量负载阈值,支持过载保护;例如对外提供服务的高频接口,提供方限流;调用公共服务接口时,除公共服务提供方限流外,调用方也应该限流;4 降级能力 (服务层面)当依赖服务不可用,或系统负载比较高时,支持系统、

2020-08-27 16:16:43 275

原创 go 入门1 —— 基础语法

参考:https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/preface.md主要内容为,基本类型,流程控制,对象接口,方法调用,异常等方面package mainimport ( "errors" "fmt" "runtime" "time")const ( aaaa=1...

2020-04-27 10:45:29 204

原创 广告基础术语

缩写 全称 中文名 含义DM direct market 直接营销 快餐传单campaign 计划 ad group 广告组 creative 广告创意 advertiser 广告主 出资方,需要投广告的人或代理medium 媒体 变现平台,手机,应用,搜索引擎audience 受众 使用媒体的人brand awareness 品牌广告 借助媒体的力量快速接触大量用户,达到宣传品牌...

2020-04-23 10:38:58 817

转载 redis分布式限流,计数器,令牌桶

分布式限流方案计数:简单,双倍临界情况漏桶:恒定速度,不能应对峰值令牌桶:允许一定突然,丢掉部分请求有待商榷,令牌桶普遍用得多一些成熟方案可见,阿里Sentinel:https://sentinelguard.io/zh-cn/docs/basic-implementation.html令牌桶方案实现方案一、在提供给业务方的Controller层进行控制。1、使用guava提供工具库...

2020-03-26 21:33:13 825 4

原创 网络请求流程和性能评估

2020-01-19 12:38:32 144 1

原创 常见网络安全,dos攻击

2020-01-19 12:34:03 606

原创 线程状态|线程池流程简介

2020-01-19 09:58:33 138

原创 灰度发布

灰度发布灰度意义无灰度:升级慢,人力散,回滚难,成功率低有灰度,预发验证,发现差异,可提前部署,切流量升级,影响范围小灰度策略 选型 金丝雀 蓝绿 滚动 内容 ...

2020-01-19 09:31:58 187

原创 git 常见命令

git config --global user.name “zhangxing”git config --global user.email "[email protected]"git pullgit statusgit log 显示所有提交过的版本信息git add .git commit -m “describe”git commit -a 除了将暂存区里的...

2019-05-29 14:29:58 134

原创 spring Ioc源码阅读

源码阅读spring coreioc类名关系子主题 1factory关系aopApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:aop02.xml"); Mat math = ctx.getBean("math", Mat.class);Abstract...

2019-04-17 18:44:39 269

原创 sprinboot系列九——微服务三——eureka客户端使用feign

使用testboot这个项目why?feign集成ribbon和hystrix,操作更加方便,传参更便捷使用testbootpom <!-- SpringCloud 整合 Feign --><!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-ope...

2019-04-11 20:04:05 183

原创 sprinboot系列八——微服务二——Ribbon使用hystrix熔断

继续用上文testBoot这个项目pom <!-- hystrix 熔断器--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix...

2019-04-11 17:50:54 211

原创 python——找出重复数字

一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。class Solution: # 返回[a,b] 其中ab是出现一次的两个数字 def FindNumsAppearOnce(self, array): # write code here dic={} list=[] fo...

2019-04-10 23:34:42 1886

原创 python——树深度

# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: def TreeDepth(self, pRoot): ...

2019-04-10 21:56:08 603

原创 python——统计一个数字在排序数组中出现的次数

二分法,找到值后左右扩展class Solution: def GetNumberOfK(self, data, k): # write code here length=len(data) ll=length start=0 end=length-1 place=-1 tim...

2019-04-09 22:43:25 1673

原创 sprinboot系列七——微服务一——eureka注册中心集群搭建

集群组件以及关系部署(eureka-client *2 ,ribbon 1 ,eureka-server3)eureka-clienteureka-client:微服务的服务具体实现,单节点具体服务注册,注册到同一eureka集群可实现集群部署ribbon:负载均衡,客户端访问的是该节点,实现多种负载均衡策略eureka-serverEurekaServer同时也是EurekaClie...

2019-04-09 17:09:26 304

原创 python算法——java版堆排序,最小堆排序topN

input为数组,k为求的top值 public ArrayList<Integer> GetLeastNumbers_Solution(int [] input, int k) { ArrayList<Integer> it=new ArrayList(); //临界判断 ...

2019-04-04 10:49:35 415

原创 sprinboot系列六——整合swagger

配置pom:<!-- swagger RESTful API 文档 --><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.2.2&lt...

2019-04-03 17:49:28 187

原创 sprinboot系列五——整合springmvc,访问静态页面,模板页面,静态资源

文件引入pom引入:<!-- web开发,包含tomcat和mvc--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exc...

2019-04-03 13:40:45 3599

原创 sprinboot系列四——接入redis,mysql(mybatis,mybatisplus,druid连接池)

redis接入配置文件pom添加: <!-- redis --> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> </dependency> ...

2019-04-03 11:42:38 991

原创 sprinboot系列三——接入log4j2

导入依赖log4j2依赖lmax完成异步日志 <!-- log4j2 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId>...

2019-04-03 11:04:26 221

原创 sprinboot系列二——多环境打包

思路为,先排除所有版本的文件,然后在根据命令动态加载其中一个或者多个多环境结构最外层propertise如下(activatedProperties 以下三处需一致):# 指定执行环境#app#<!-- activatedProperties1 -->spring.profiles.active=@activatedProperties@sit的properties如...

2019-04-01 15:50:09 161

原创 sprinboot系列一——搭建并发布多模块springboot应用

1,创建maven的project,maven选quickstart2,创建子module,maven选quickstart,添加相互依赖添加模块是报错,改父pom文件的packaging属性,jar改为pom即可pom.xml <packaging>pom</packaging>创建成功后,项目层级如下:service涉及其他模块依赖,在service模块...

2019-03-30 18:36:46 243

原创 java LRU算法简单实现

LRU:最近最少使用基本思路:获取刷新,设置刷新,列满移除结构双map一个map存key,value,实现查询时间O(1)另一个存node,实现定位节点并删除O(1)linkedlist 存放节点数据,记录阈值,除开linked原有功能,将node对象从私有变为公有,新增插入返回节点,显示删除节点的功能package listT;import java.util.HashMa...

2019-03-15 13:00:10 531

原创 二叉树,红黑树,B树,B+树对比

结论:平衡二叉查找树(AVL)运用于搜索,结构简单,节点维护方便,深度较深,适用于内存B树结构层级较低,搜索次数低于二叉树,运用于磁盘搜索,结构复杂,维护成本高红黑树,相比二叉树,结构稍复杂,层次更低,插入,修改,删除更快,统计性能相比AVL低,适用于内存...

2019-02-14 17:03:41 1869

原创 分布式锁实现(mysql redis zk)

1 mysql方式利用insert 和 delete控制2 redisprivate static final String LOCK_SUCCESS = &quot;OK&quot;; private static final String SET_IF_NOT_EXIST = &quot;NX&quot;; private static final String SET_WITH_EXPIRE_...

2018-12-13 16:04:34 334

原创 sping国际化

spring定义了MessageSource接口来实现国际化,它引入了java.util.Locale,并用getMessage方法加载国际化信息。也就是说,spring国际化的原理还是引用了java的那一套,不过把它引入到了spring容器中。新建文件和xml文件内容如下:xml:&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;&a

2018-12-10 16:48:40 133

原创 disruptor 框架使用以及ringbuffer原理解析

Disruptor概述子主题 1生产者消费组框架子主题 2使用子主题 11.建Event类(数据对象)2.建立一个生产数据的工厂类,EventFactory,用于生产数据;3.监听事件类(处理Event数据)4.实例化Disruptor,配置参数,绑定事件;5.建存放数据的核心 RingBuffer,生产的数据放入 RungBuffer。ringbuffer它...

2018-10-29 09:57:05 6332

原创 mycat初步认识

mycat原理主要根据对sql的拦截,然后经过一定规则的分片解析、路由分析、读写分离分析、缓存分析等,然后将SQL发给后端真实的数据块,并将返回的结果做适当处理返回给客户端。子主题 2分片拆分水平拆分要把一个表按照某种规则把数据划分到不同表或数据库里常用规则*ID*日期*特定字段取模优点*拆分规则抽象好,join操作基本可以数据库内完成*不存在单库大数据,...

2018-10-23 14:33:18 168

原创 并发总纲

并发并发基础JMM线程通信消息传递AQSAbstractQueuedSynchronizer同步器用来构建锁或者其它同步组件的基础框架,使用int表示同步状态,通过内置的fifo队列完成资源获取线程的排队工作getstatesetstatecompareAndSetState实现同步队列双链表基于CAS死循环设置尾节点通过获取同步状态成功设置首节...

2018-10-17 10:49:16 134

spring ioc aop 源码阅读pdf

首先想说说IoC(Inversion of Control,控制倒转)。这是spring的核心,贯穿始终。所谓IoC,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系。这是什么意思呢,举个简单的例子,我们是如何找女朋友的?常见的情况是,我们到处去看哪里有长得漂亮身材又好的mm,然后打听她们的兴趣爱好、qq号、电话号、ip号、iq号………,想办法认识她们,投其所好送其所要,然后嘿嘿……这个过程是复杂深奥的,我们必须自己设计和面对每个环节。传统的程序开发也是如此,在一个对象中,如果要使用另外的对象,就必须得到它(自己new一个,或者从JNDI中查询一个),使用完之后还要将对象销毁(比Connection等),对象始终会和其他的接口或类藕合起来。

2019-04-17

spring 666 boot 启动构建发布demo

springboot 启动构建发布demo,Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

2019-03-30

IO 流程图,逻辑思维图

IO是面向流的,数据只能从一端读取到另一端,不能随意读写。NIO则是面向缓冲区的,进行数据的操作更方便了 IO是阻塞的,既浪费服务器的性能,也增加了服务器的风险;而NIO是非阻塞的。 NIO引入了IO多路复用器,效率上更高效了。

2018-10-09

Linux内核设计与实现(原书第3版

《Linux内核设计与实现(原书第3版)》主要内容包括:进程管理、进程调度、时间管理和定时器、系统调用接口、内存寻址、内存管理和页缓存、VFS、内核同步以及调试技术等。同时《Linux内核设计与实现(原书第3版)》也涵盖了Linux 2.6内核中颇具特色的内容,包括CFS调度程序、抢占式内核、块I/O层以及I/O调度程序等。《Linux内核设计与实现(原书第3版)》采用理论与实践相结合的路线,能够带领读者快速走进Linux内核世界,真正开发内核代码。《Linux内核设计与实现(原书第3版)》适合作为高等院校操作系统课程的教材或参考书,也可供相关技术人员参考。

2018-09-25

kafka生产者源码

kafka生产者流程图,源码分析,(png)

2018-09-25

redis设计与实现(超清)和Kafka技术内幕:图文详解Kafka源码设计与实现.郑奇煌

redis设计与实现(超清)和Kafka技术内幕:图文详解Kafka源码设计与实现.郑奇煌,大佬推荐基础入门书籍

2018-05-28

微信公众号

微信开发基本流程实现,基于java,实现对接,自定义菜单,自动回复,带订阅用户信息跳转,必须掌握哪些基础知识,必备哪些基础技能这是一个很大的范围,我说你需要会java,会服务端编程,会javascript,会php,会数据库,会数据结构,会算法,等等等等。这些就是积木,而一个微信公众号就是一个项目,由那些积木搭成。当然,学习那些语言什么的,地方很多...自行学习。学会了那些,你也不能马上就能搭公众号。这里列出几个拿来与项目相关的学习地方,但与基础无关。一份官方文档:微信公众平台开发者文档;里面有很多的代码demo一本书:微信公众平台应用开发 (豆瓣)一系列视频:初识Java微信公众号开发;Java微信公众号开发进阶GitHub有很多开源的代码可以学习。

2017-09-08

空空如也

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

TA关注的人

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