自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 互联网架构,如何进行容量设计

背景随着业务的增长,日流量从1W级别,增长到100W,甚至更多,此时需要对系统进行容量预估,那么容量预估应该如何预估呢,需要考虑什么指标呢容量预估指标看具体业务,对应到系统侧的主要矛盾是什么数据量 并发量,吞吐量 带宽 CPU/MEM/DISK等什么情况要进行容量评估容量有质变行增长 临时运营活动 新系统上线等 场景一:比如最近做的春节司机奖励活动,促销问题一:机器能抗住吗? 问题二:如果机器扛不住,需要加几台机器,需要做什么优化 场景二:平台结算接...

2021-02-24 19:05:24 201

原创 mvn deploy上传jar包到远程仓库

使用idea deploy命令 配置pom.xml <build> <finalName>ff-model</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId&g

2018-09-04 15:08:09 17039

原创 jira管理

Jira是Atlassian公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪(bug管理)、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。写完了《自动部署工具Jenkins》和《CentOS7搭建Confluence Wiki》,感觉有些缺憾,决定把Jira的搭建方法也记录一下。http://www.voidking.com/2017/03/21/deve-c...

2018-08-10 11:36:15 1073

原创 高并发的解决方案

网络的结构当今的框架结构一般由页面层,网络层,应用层,服务层,数据层进行的,一般来说,要进行优化等均在这几个方向上进行高并发下常见的问题1)在集群下,Session是如何共享的三种方案(优劣对比)2)在集群下,N多台App服务器是如何被转发的(提出几种方案,优劣对比,采用最好的方案)3)在集群下,N多台数是如何被连接的(提出二种方案,优劣对比,采用最好的方案)4)在...

2018-08-02 19:11:51 723

原创 kafka集群搭建及简单使用

KafkaKafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等,用scala语言编写,Li...

2018-07-23 19:16:55 27625 3

转载 步步深入:MySQL架构总览,查询执行流程,SQL解析顺序

目录 前言:一、MySQL架构总览:二、查询执行流程1.连接2.处理3.结果三、SQL解析顺序准备工作  1.创建测试数据库  2.创建测试表  3.插入数据  4.最后想要的结果!现在开始SQL解析之旅吧!1. FROM(1-J2)ON过滤(1-J3)添加外部列前言:  一直是想知道一条SQL语句是怎么被执行的,它执行的...

2018-07-18 11:17:24 255

原创 mysql查询语句优化

mysql查询语句优化mysql的性能优化包罗甚广: 索引优化,查询优化,查询缓存,服务器设置优化,操作系统和硬件优化,应用层面优化(web服务器,缓存)等等。这里的记录的优化技巧更适用于开发人员,都是从网络上收集和自己整理的,主要是查询语句上面的优化,其它层面的优化技巧在此不做记录。  查询的开销指标 1.执行时间 2.检查的行数 explain 3.返回的...

2018-07-17 19:16:58 227

原创 redis分布式锁的正确实现方式

目录 前言可靠性代码实现组件依赖加锁代码正确姿势错误示例1错误示例2解锁代码正确姿势错误示例1错误示例2总结前言分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分...

2018-07-17 17:43:36 276

原创 Quartz的分布式任务调度应用

目录 Quartz 基本概念及原理Quartz Scheduler 开源框架Quartz 任务调度的基本实现原理线程视图基本的开发流程及简单实例quartz企业级开发中的常见应用的一些问题及常见的解决方案Quartz 基本概念及原理Quartz Scheduler 开源框架Quartz 是 OpenSymphony 开源组织在任务调度领域的一个开源项目,完全...

2018-07-17 11:42:39 15238 1

转载 JVM调优总结 -Xms -Xmx -Xmn -Xss

堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置:java -Xmx3550m -Xms355

2017-10-13 16:16:35 268

转载 记一次OOM异常

最近有位 VPS 客户抱怨 MySQL 无缘无故挂掉,还有位客户抱怨 VPS 经常死机,登陆到终端看了一下,都是常见的 Out of memory 问题。这通常是因为某时刻应用程序大量请求内存导致系统内存不足造成的,这通常会触发 Linux 内核里的 Out of Memory (OOM) killer,OOM killer 会杀掉某个进程以腾出内存留给系统用,不致于让系统立刻崩溃。如果检查相关的

2017-07-19 11:19:16 381

原创 性能优化-单表数据过大

1.项目背景当数据库单表数据量达到一定程度时,数据查询变得很慢很慢,建立索引已经无法提高查询速度时,该如何对查询速度进行优化呢?以单表的数据量达到八千万数据,由于之前的架构设计,数据库设计的原因,直接导致数据库服务器负载过高,cpu 使用率接近百分百,后端迟迟无法返回数据给前端或返回数据时间高达20-30s,前端不停的请求数据,进一步导致数据库负载增高,差点死亡。

2017-05-31 16:39:17 15015

原创 欢迎使用CSDN-markdown编辑器

SQL索引在数据库优化中占有一个非常大的比例, 一个好的索引的设计,可以让你的效率提高几十甚至几百倍,在这里将带你一步步揭开他的神秘面纱。  1.1 什么是索引?  SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间 下面举两个简单的例子:图书馆的例子:一个图书馆那么多书,怎么管理呢?建立一个字母开头的目录,例如:a开头

2017-03-31 19:28:12 239

原创 left join 和 left outer join 的区别

left join 和 left outer join 的区别通俗的讲:    A   left   join   B   的连接的记录数与A表的记录数同    A   right   join   B   的连接的记录数与B表的记录数同      A   left   join   B   等价B   right   join   A          table  

2017-03-22 13:22:04 8843 3

原创 linux常用命令

统计文件名满足条件的文件个数:(例如以a开头的文件个数)    ls a* |wc -lecho 3 > /proc/sys/vm/drop_caches 手动释放CachedMemorydf -lh --查看系统磁盘空间,查看系统是否有挂载的网络系统    e.g., 查看当前目录挂载点信息:   df -lh .du --查看占用的空间du -s

2017-03-02 14:33:08 346

原创 expect一键批量拷贝

#!/bin/shlocal_file=$1remote_dir=$2if [ $# -ne 2 ];thenecho "usage:$0 argv2"echo "must two argvs"exitfi[ -f ~/.ssh/known_hosts ] && > ~/.ssh/known_hosts

2017-01-17 19:27:00 388

原创 session是否过期

session详细解析(是否过期、失效时间)  Session一直是我们做web项目经常使用的,以前没太注意,这次又细致的看了下!  1.session其实就是一个Map,键=值对,通过session.getAttribute("name");获得session中设置的参数  2.session的过期时间是从什么时候开始计算的?是从一登录就开始计算还是说从停止活动开始计算?

2017-01-13 16:31:51 540

原创 postgresql连接到schema

连接到postgresqlpsql --username=platrw --port=5432  --host=10.19.141.87 -d postgres用户名库名创建用户:CREATE USER bi WITH PASSWORD '123456qwer'djp01djp01创建schemaCREATE SCHEMA d

2017-01-10 18:21:24 12366 1

原创 对象相同属性复制

对象相同属性复制

2016-08-24 18:26:53 276

原创 Http接口获取数据

post通过http协议远程获取数据

2016-05-25 16:04:34 3170

原创 简单的数据库(DB)连接以及sql查询

public static void main(String[] args) throws SQLException {try {                      //加载这个mysql,jdbc驱动的时候需要引用的jar包是                      //mysql-connector-java-5.1.7-bin.jar       //下载地址为:h

2016-05-23 17:46:32 1229

原创 线程

thread.join()是指将制定的线程加入当前线程,直到当前线程运行完毕才继续往下执行。public class JoinTest implements Runnable{private static int b = 0;@Overridepublic void run() {b = 10;}    public static void main(Str

2016-05-19 10:07:53 432

原创 常用的排序算法

1.冒泡排序           private static void bubbleSort(int[] a){int temp;int len = a.length; //避免多次执行该操作。for(int i = 0;i < len; i++){for(int j = i+1;j<len;j++){if(a[i] > a[j]){temp = a[i];a...

2016-05-18 18:14:49 209

原创 Spring框架

java开发系列-Spring的简单入门http://www.cnblogs.com/xing901022/p/3963962.html和公司的wf scf框架类似,都是使用一种工具,当调用类的对象时,可以根据ioc(控制反转)以及DI(依赖注入)来获得类的使用!

2016-05-18 14:32:42 234

原创 properties文件的读取

public static final String path = Path.getCurrentPath();public static final String ESB_CONFIG = path + "/config/esb.properties";public static final Map configMap;static {// 加载配置Properties pr

2016-05-17 16:20:55 348

原创 ThreadLocal使用

package ThreadLocal;import java.util.HashMap;public class ThreadLocalTest {static ThreadLocal threadLocal = new ThreadLocal(){//初始化threadlocalprotected HashMap initialValue(){Sys

2016-05-17 16:15:18 418

原创 java设计模式之单例

可以说单例模式是所有设计模式中最简单的一种。单例模式就是说系统中对于某类的只能有一个对象,不可能出来第二个。单例模式也是23中设计模式中在面试时少数几个会要求写代码的模式之一。主要考察的是多线程下面单例模式的线程安全性问题。恶汉式单例(多线程安全,不使用同步锁)   public class Singleton {     private static Si

2016-05-12 18:25:43 226

原创 http协议详解

http协议1.   什么是http协议Http协议是通信计算机网络约定俗成的一套规则。主要是将超文本语言通过http协议从web服务端传到客户端。http1.0使用的非持久连接,即在非持久连接下,一个tcp连接只传输一个web对象。Http1.1默认使用的是持久连接,当然可以配成持久连接。持久连接不必为每一个web对象创建新的连接,可以通过建立的持久连接传递多个对象。 

2016-05-11 16:02:49 820

原创 线程池与Thread

Thread线程和线程池的优劣,以及如何自定义线程 池

2016-05-04 17:59:54 435

原创 cookie详解

cookie详解。

2016-05-03 19:48:22 1189

原创 建造者模式的实现

1.实现建造者模式的Appenderpublic class Appender {public String name ="";private String sex ="";public Appender appendName(String sb){name+=sb;return this;}public Appender appendSex(String sb

2016-04-27 14:49:53 253

原创 反射调用类方法

1.反射调用            //获取对象的方法有三种。//1.通过类的。class属性Class clazz = Calculator.class;//Method method = clazz.getMethod("mul", new Class[]{double.class,double.class});//2.通过实例的getClass();Calculato

2016-04-27 10:59:25 544

原创 Calendar时间操作

基础了解Calendar 的 month 从 0 开始,也就是全年 12 个月由 0 ~ 11 进行表示。Calendar的星期从星期天开始它的Day_OF_WEEK如下所示。而 Calendar.DAY_OF_WEEK 定义和值如下:Calendar.SUNDAY = 1Calendar.MONDAY = 2Calendar.TUESDAY = 3Ca

2016-04-26 19:31:23 396

原创 Set map list的区别。

1.Setset主要存的是一些不重复的数据的集合。2.Mapmap存的是key,value的映射关系。3.Listlist则是可以存储有重复数据的。

2016-04-26 16:20:10 255

原创 comparator和comparable

1.comparable   这种方法的排序定义在类中。2.comparator  这种方法的比较定义在类外部实例方法1/**       * list不为空的时候,对list进行排序,并返回       * 按照开始时间排序       * 如同一开始时间有多段经历,优先显示教育经历;    * 如同一开始时间有多段教育经历,优先显示结束日期最近的经历

2016-04-26 16:16:55 237

原创 遍历map方法

1.TreeMap支持自动排序,可以升序或降序。   Map map = new TreeMap();map.put("1", "xx");map.put("3", "d");map.put("2", "ghs");Iterator iter = map.keySet().iterator();            //map数据打印出来有两种方法,一种是采用Iterat

2016-04-26 16:06:47 239

原创 SimpleDateFormat线程不安全

由于SimpleDateFormat在解析时间的时候,经历了两步,Date parse() {  calendar.clear(); // 清理calendar  ... // 执行一些操作, 设置 calendar 的日期什么的  calendar.getTime(); // 获取calendar的时间}分别是clear()和setTi

2016-04-14 11:53:18 330

空空如也

空空如也

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

TA关注的人

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