自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(122)
  • 资源 (3)
  • 收藏
  • 关注

原创 jvm问题总结

第一步:使用top命令查看进程占用CPU的情况,获取PID。 第二步:使用top -H -p命令获取进程中线程信息(其中H:显示进程中线程的情况,p表示进程pid) top -H -p 16243 第三步:获取最高的线程pid(十进制,装换成十六进制),十进制转十六进制可以手动计算也可以用python-c "print hex(线程PID)" 第四步:查看线程...

2019-01-10 15:12:41 290

原创 互联网传输原理流程

概括五层模型应用层传输层网络层链路层实体层

2018-12-12 10:10:49 5405 1

原创 桥接模式

简述如果系统中某个类存在两个独立变化的维度,通过该模式可以将这两个维度分离出来,时两者可以独立扩展。该模式使用一种巧妙的方式处理继承存在的问题,用抽象关联取代了传统的多层继承。使类之间的静态继承关系转换为动态的对象组合关系,使得系统更加灵活,并易于扩展,同时有效的控制了系统类的个数。...

2018-11-08 10:52:47 152

原创 适配器模式

模式定义将一个接口换成客户希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作,其别名为包装器。适配器模式即可以作为类结构模式,也可以作为对象结构型模式。结构模式类适配器模式结构如下:对象适配器模式结构图...

2018-11-06 11:36:03 190

原创 结构型模式

结构型模式可以描述两种不同的东西:类与类的实例(即对象)。根据这一点,结构型模式可以分为类结构模式和对象结构型模式。类结构型模式关心类的组合,由多个类可以组合成一个更大的系统,在类结构型模式中一般只存在继承和实现的关系;而对象结构型模式关心类与对象的组合,通过关联关系使得在一个类中定义另外一个类的实例对象,然后通过该对象调用其方法。...

2018-10-26 17:05:18 1191 2

原创 单例模式

保证一个类仅有一个实例,并提供一个访问他的全局访问点

2018-10-22 09:21:50 119 1

原创 原型模式

用原型实例指定创建对象的种类,并且通过复制这个原型来创建新的对象

2018-10-22 09:20:15 117 2

原创 建造者(生成器)模式

将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示

2018-10-22 09:18:24 160

原创 抽象工厂模式

提供一个创建一系列相关或相互依赖对象的接口,而无须指定他们具体的类

2018-10-22 09:15:51 105

原创 工厂方法模式

定义一个用于创建对象的接口,让子类决定将哪一个类的实例化,工厂方法模式使一个类的实例化延迟到期子类

2018-10-22 09:13:31 193

原创 简单工厂模式

在简单工厂模式中,只需要记住一个简单的参数即可获得所需的对象实例,它提供专门的核心工厂类来负责独享的创建,实现对象创建和使用的分离。

2018-10-19 16:47:49 125

原创 设计模式相关简介

组合模式聚合模式

2018-10-17 19:09:00 156

原创 zabbix

简介是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。 zabbix由2部分构成,zabbix server与可选组件zabbix agent。 zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供...

2018-10-17 10:52:28 410

原创 Oracle存储过程

简介存储过程: 是一组为了完成特定功能的SQL语句集,是利用SQL Server所提供的Transact-SQL语言所编写的程序。经编译后存储在数据库中。存储过程是数据库中的一个重要对象,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是由流控制和SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,存储过程可由应用程序通过一个调用来执行,而且允许用...

2018-10-10 09:25:19 224

原创 框架知识点

springmvc的工作原理客户端请求提交到DispacherServlet由DispacherServlet控制器查询HandlerMapping,找到处理请求的Controller,Controller调用业务逻辑处理后,返回ModelAndView,DispacherServlet查询视图解析,找到ModelAndView指定的视图视图负责将结果显示到客户端struts2工作原理...

2018-09-18 11:47:57 187

原创 web服务器、应用服务器、web容器、反向代理服务器区别与联系

Web服务器工作原理 HTTP协议基于TCP协议上,是一个应用层协议,用于用户代理和Web服务器进行通信。Web服务器通常采用一问一答的方式进行工作: 在用户代理上用户发起资源请求,请求内容包括但不限于:指定资源的唯一标识URI,指明动作类型(GET/POST/DELETE/PUT…) 用户代理解析用户输入URI并从中获取目标域名,交由DNS服务器解析。如果URI中指定某...

2018-09-12 10:23:13 372

原创 选redis还是memcache

什么时候倾向于选择redis? 业务需求决定技术选型,当业务有这样一些特点的时候,选择redis会更加适合。 复杂数据结构 value是哈希,列表,集合,有序集合这类复杂的数据结构时,会选择redis,因为mc无法满足这些需求。 最典型的场景,用户订单列表,用户消息,帖子评论列表等。 持久化 mc无法满足持久化的需求,只得选择redis。 千万...

2018-09-07 18:02:08 295

原创 微服务架构

什么是微服务架构微服务架构是一种方案以一系列小服务的应用程序,提供业务能力这些应用程序拥有自己独立的进程空间应用之间采用轻量级的通讯机制(通常采用HTTP restful 的方式)这些应用可以采用不同的编程语言、数据存储技术等开发,将其集中管理程度降到最低这些微服务用全自动的独立部署机制微服务架构的特性微服务架构也是一种面向服务器架构体系,一次架构是对称而非分层,...

2018-09-03 18:42:43 159

原创 数据库索引

数据库为什么要设计索引 用于提升数据库的查找速度hash比tree更快,索引结构为什么要设计成树型加速查找速度的数据结构,常见的有两类: (1)哈希,例如HashMap,查询/插入/修改/删除的平均时间复杂度都是O(1); (2)树,例如平衡二叉搜索树,查询/插入/修改/删除的平均时间复杂度都是O(lg(n)); 可以看到,不管是读请求,还是写请求,哈希类型的索引,都要...

2018-09-03 17:18:08 209

原创 wireshark抓包工具

简介wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。为了安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包。 wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容,总结,如果是处理HTTP,HTTPS 还是用Fiddler, 其他协议...

2018-07-06 15:17:50 239

原创 流量控制

应用场景当DSF节点发布服务后,如果不限制访问流量,在实际生产中可能出现对某个服务或方法有过多的连接,消耗过多系统资源,影响服务正常功能。通过流量控制,可以保障服务的访问数,从而保证服务的正常运行。 说明: 超过了流控阈值的访问请求会被拒绝,并返回异常。 流控类型 DSF提供以下流控方式: 并发流控:用于控制接入服务的线程数,其中的阈值代表线程数量。 T...

2018-05-07 18:09:09 8586

原创 SVN

SVN存储数据格式2种 BDB:一种事务安全型表类型(在服务器中断时,有可能锁住数据)基于关系数据库。 FSFS:不需要数据库的存储系统。 安装配置SVN 检查svn软件程序是否已安装:rpm -aq subversion 如果没有安装,则安装该软件:yum -y install subversion 配置并启动svn建立svn版...

2018-04-18 18:14:17 270

原创 排序算法

冒泡排序冒泡排序法的基本思想是:对待排序记录关键字从后往前(逆序)进行多遍扫描,当发现相邻两个关键字的次序与排序要求的规则不符时,就将这两个记录进行交换。这样,关键字较小的记录将逐渐从后面向前面移动,就象气泡在水中向上浮一样,所以该算法也称为气泡排序法。快速排序法快速排序(Quicksort)是对冒泡排序的一种改进,快速排序使用分治策略来把待排序数据序列分为两个子序列,具体...

2018-04-12 18:44:12 137

原创 贪婪算法

基本思路从问题的某一个初始解出发逐步逼近给定的目标,以尽可能快地求得更好的解。当达到算法中的某一步不能再继续前进时,就停止算法,给出近似解。存在问题不能保证最后的解是最优解。不能用来求最大或最小解问题。只能求满足某些约束条件的可行解的范围。实例换零钱 例如根据我国现有币种,需补零钱68.90元,至少有多少种方案待续...

2018-04-12 16:15:26 278

原创 分治算法

使用分治法设计程序时,一般可按照以下步骤进行: (1)分解:将要求解的问题划分成若干规模较小的同类问题。 (2)求解:当子问题划分的足够小时,用较简单的方法解决。 (3)合并:按求解问题的要求,将子问题的解逐层合并,即可构成最终的解。实例(比赛赛程)待续。。。。...

2018-04-12 15:58:14 289

原创 递归算法

递归算法,就是一种直接或者间接地调用自身的算法。递归算法的具体实现过程一般通过函数或子过程来完成,在函数或子过程的内部,编写代码直接或者间接地调用自己,即可完成递归操作。 阶乘的计算 int factorial(int n){ if(n==1) return 1; else return n*factorial(n-1) }待续。。。。...

2018-04-09 19:22:43 315

原创 Spring

简介 Spring框架是一个为Java应用程序的开发提供了综合、广泛的基础性支持的Java平台。Spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。Spring框架本身亦是按照设计模式精心打造,这使得我们可以在开发环境中安心的集成Spring框架,不必担心Spring是如何在后台进行工作的。 Spring框架至今已集成了20多个模块。这些模块主要...

2018-02-08 10:52:52 552 1

原创 调优案例分析与实战

内存动态分配和垃圾收集技术高性能硬件上的程序部署策略问题:网站经常出现不定期长时间失去响应的情况 监控服务器运行状况后发现网站响应是有GC停顿导致的,虚拟机运行在Server模式,默认使用吞吐量优先收集器,由于程序设计的问题,访问文档要把文档从磁盘 提取到内存中,导致内存中出现很多有文档序列化产生的大对象,并且这些大对象都进入老年代。内存很快被耗尽。由此出现这样的问题

2018-02-05 12:03:32 439

原创 虚拟机性能监控与故障处理工具

jdk自带的工具 jps:虚拟机进程状况工具可以列出正在运行的虚拟机进程,并显示虚拟机执行主类名称以及这些进程的本地虚拟机唯一ID.(使用频率最高),因为其他的JDK工具大多需要输入它查询到的LVMID来确认要监控的是哪一个虚拟机进程命令格式 jps[options][hostid] jstat:虚拟机统计信息监视工具用于监视虚拟机各种运行状态信息的命令行工具

2018-02-02 18:20:10 161

原创 贪心算法 AND 动态规划

贪心算法 贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。贪心选择是采用从顶向下、以迭代的方法做出相继选择,每做一次贪心选择就将所求问题简化为一个规模更小的子问题。 对于一个具体问题,要确定它是否具有贪心选择的性质,我们必须证明每一步所作的贪心选择最终能得到问题的最优解。通常可以

2018-01-16 09:42:57 2013

原创 Tomcat系统架构 and 类加载机制

Tomcat顶层架构 Tomcat中最顶层的容器是Server,代表着整个服务器,一个Server可以包含至少一个Service,用于具体提供服务。 Service主要包含两个部分:Connector和Container。 Connector用于处理连接相关的事情,并提供Socket与Request和Response相关的转化; Container用于封装和管理S

2018-01-09 10:19:50 309

原创 JVM内存管理机制

java内存区域与内存溢出异常 程序计数器 程序计数器是一块较小的内存空间,它可以看做是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选择下一条需要执行的字节码指令。 由于java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的。在任何时刻,一个处理器都只会执行一条线程中的指令。为了线程切换后能

2017-12-21 17:43:19 526

原创 广度/深度优先算法

广度优先搜索(也称宽度优先搜索,缩写BFS)是连通图的一种遍历策略。一个最直观经典的例子就是走迷宫,我们从起点开始,找出到终点的最短路程,很多最短路径算法就是基于广度优先的思想成立的。待续

2017-12-20 18:42:34 362

原创 Spring Boot

Spring Boot并不是Spring功能上增强,而是提供了一种快速使用spring的方式。前期准备修改bom.xml<!--spring boot父节点依赖,引入这个之后相关的引入就不需要添加version配置,spring boot 会自动选择最合适的版本进行添加 --><parent> <groupId>org.springframework.boot</groupId>

2017-12-19 14:26:45 410

原创 二叉树系列

使用数组表示 实现堆排序 从数组索引的第一一个位置开始构建树 找到最大堆(找到子节点中值比较大的数值作为根节点。方法:如果子节点的值大于父节点的值,则交换之) 求出父节点的个数(N-1/2) 父节点的索引:父节点个数到1 子节点的索引: 左节点=父节点的索引*2 根节点与最后一个节点交换 重复第一步和第二部 代码实现/** * 二叉树 * * @a

2017-12-18 19:59:11 407

原创 八(n)皇后

这里以最常见的8皇后为例/** * TODO 八皇后 * * @author yaomingfeng * @version C10 2017年12月18日 * @since SDP V300R003C10 */public class Queen{ // 方法的总数 static int count = 1; // 棋盘,0表示没有放皇后,1表示放了皇后

2017-12-18 17:42:59 232

原创 Redis

redis是一个nosql数据库(非关系型数据库) 关系型数据库:以二维表形式存储数据非关系型数据库: 以键值对形式存储数据(key, value形式) 是一家意大利的创业公司出的,然后后来这家公司被VMware赞助. redis底层用C语句编写.redis是将数据存放到内存中,由于内容存取速度快所以redis被广泛应用在互联网项目中 优点:存取速度快,官方称读取速度会达到30万次每秒

2017-11-13 18:07:29 434

原创 Nginx

简介Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器 特点: 反向代理 负载均衡: 原理就是数据流量分摊到多个服务器上执行,减轻每台服务器的压力,多台服务器共同完成工作任务,从而提高了数据的吞吐量。 动静分离: 将静态的资源放到反向服务器,节省用户的访问时间. 集群搭建 先将 nginx上传到li

2017-11-10 19:33:38 264

原创 Oracle

简介 Oracle 服务器:是一个关系数据库管理系统(RDBMS),它提供全面的, 近乎完整的信息管理。由Oracle 实例和Oracle 数据库组成 Oracle 数据库: 位于硬盘上实际存放数据的文件, 这些文件组织在一起, 成为一个整体, 即为 Oracle 数据库. 因此在 Oracle 看来, “数据库” 是指硬盘上文件的集合, 必须要与内存里实例合作, 才能对外提供数

2017-10-25 19:14:21 1828

原创 代理

静态代理 1.要求被装饰者和装饰者实现同一个接口或者继承同一个类 2.装饰者中要有被装饰者的引用 3.对需要加强的方法进行增强 4.对不需要加强的方法调用原来的方法动态代理 在程序运行的时候,动态的创建一个对象,用这个对象去操作方法方法 jdk的中Proxy ,前提:必须实现一个接口 Object Proxy.newProxyInstance(C

2017-10-18 09:09:00 291

grpc学习资料grpc学习资料grpc学习资料

grpc学习资料grpc学习资料grpc学习资料

2023-10-01

jdk最新版 liunx可用 解压版

jdk9可以帮助大家多练习新的特性,帮助大家快速认识到新版本的特性(下载后有链接和密码)

2017-11-17

ssh三大框架所有所需的jar包

SSH三大框架的jar包,完全可以承担一些平常的项目

2017-06-28

传智播客ssh项目crm 源码

通过这个实例可以把ssh熟悉掌握,提高

2017-06-04

空空如也

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

TA关注的人

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