自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 高并发的核心技术-幂等的实现方案

高并发的核心技术-幂等的实现方案 一、背景 我们实际系统中有很多操作,是不管做多少次,都应该产生一样的效果或返回一样的结果。 例如: 1. 前端重复提交选中的数据,应该后台只产生对应这个数据的一个反应结果。 2. 我们发起一笔付款请求,应该只扣用户账户一次钱,当遇到网络重发或系统bug重发,也应该只扣一次钱; 3. 发送消息,也应该只发一次,同样的短信发给用户,用户

2017-07-29 18:02:01 340

转载 关于RPC

简介RPC(Remote Procedure Call,远程过程调用)是建立在Socket之上的,出于一种类比的愿望,在一台机器上运行的主程序,可以调用另一台机器上准备好的子程序,就像LPC(本地过程调用).越底层,代码越复杂、灵活性越高、效率越高;越上层,抽象封装的越好、代码越简单、效率越差。Socket和RPC的区别再次说明了这点。在传统的编程概念中,过程是由程序员在本地编译完成,并只

2017-07-29 17:52:42 380

转载 nohup和&的区别

转自:nohup和&的区别 http://bbs.nanjimao.com/thread-470-1-1.html (出处: 南极猫) nohup是永久执行&是指在后台运行运行 nohup --helpRun COMMAND, ignoring hangup signals. 可以看到是“运行命令,忽略挂起信号”就是指,用nohup运行命令可以使命令

2017-07-28 19:15:18 310

转载 Sed命令简介

1. Sed简介  sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。

2017-07-28 15:54:09 308

转载 CentOS7.0修改主机名(hostname)

Linux中的hostname在大多数应用中至为重要,例如有些应用强制使用主机名称而不能使用IP地址,如果默认主机名称都为localhost.localdomain 的话那一定会出现问题,而且看起来也是那么的不尽人意。在CentOS6及其以下版本一般通过修改配置文件的办法来修改主机名,此配置文件一般为/etc/sysconfig/network,但在CentOS7中,很多系统管理工具都被替换了。

2017-07-26 09:26:15 28315

转载 Oracle中TO_DATE TO_CHAR格式

SYSDATE2009-6-16 15:25:10 TRUNC(SYSDATE)2009-6-16 TO_CHAR(SYSDATE,'YYYYMMDD')20090616到日TO_CHAR(SYSDATE,'YYYYMMDD HH24:MI:SS')20090616 15:25:10到秒

2017-07-18 11:17:59 327

转载 JVM系列三:JVM参数设置、分析

不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停顿,但GUI停顿是客户无法接受的),而且由于跑在各个机器上的配置不同

2017-07-18 09:18:38 278

转载 JVM系列二:GC策略&内存申请、对象衰老

JVM里的GC(Garbage Collection)的算法有很多种,如标记清除收集器,压缩收集器,分代收集器等等,详见HotSpot VM GC 的种类       现在比较常用的是分代收集(generational collection,也是SUN VM使用的,J2SE1.2之后引入),即将内存分为几个区域,将不同生命周期的对象放在不同区域里:young generation,tenu

2017-07-18 09:17:46 350

转载 JVM系列一:JVM内存组成及分配

java内存组成介绍:堆(Heap)和非堆(Non-heap)内存       按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。可以看出JVM主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发

2017-07-18 09:16:34 202

转载 卸载和安装LINUX上的JDK

卸载默认的:用root用户登陆到系统,打开一个终端输入# rpm -qa|grep gcj显示内容其中包含下面两行信息# java-1.4.2-gcj-compat-1.4.2.0-27jpp# java-1.4.2-gcj-compat-devel-l.4.2.0-27jpp卸载# rpm -e java-1.4.2-gcj-compat-devel-l.4.2.0-

2017-07-14 10:48:18 233

转载 GCC最新版安装及错误解决

linux下gcc安装1、准备工作linux一般可以从软件包等方式直接安装gcc,但不一般不是最新版,比如需要支持C++11等原因,则需要安装最新版gcc。先查看已有的gcc版本如果系统还没有任何gcc被安装,则需要从开发包中先安装默认的低版本的gcccentos下也可以安装带gcc的开发工具:yum groupins

2017-07-13 10:50:42 9777

转载 vi/vim工作模式及常用命令

vi命令模式中可用的移动键:h---将光标向左移一个字符j---将光标向下移一个字符k---将光标向上移一个字符l---将光标向右移一个字符w---将光标向前移一个单词b---将光标向后移一个单词e---将光标移到下一个单词之后0---将光标移到行首$---将光标移到行末)---将光标移到下一句句首(---将光标移到上一句句首}---将光标移到下一段

2017-07-12 17:42:07 1739

转载 Linux配置java环境变量

JAVA环境变量1. PATH环境变量。作用是指定命令搜索路径,在shell下面执行命令时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。2. CLASSPATH环境变量。作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的。3. JAVA_HOME环境变量。它指向jdk的安装目录,Eclipse/NetBea

2017-07-11 10:56:55 614

转载 Linux/Unix配置环境变量

Linux/Unix配置环境变量Linux/Unix系统环境变量配置文件: /etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件 ,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。 /etc/environment:在登录时操作系统使用的第二个文件, 系统在读取你自己的profile前,设置环境文件的环境变量。 ~/.prof

2017-07-11 10:45:11 371

转载 netty5 用户指南

转自:http://www.getsetter.cn/2014/07/15/netty5/前言问题现如今我们使用通用的应用程序或者类库来实现系统之间地互相访问,比如我们经常使用一个HTTP客户端来从web服务器上获取信息,或者通过web service来执行一个远程的调用。然而,一个通用的协议和他的实现有时候并没有覆盖一些场景。比如我们无法使用一个通用的http服务

2017-07-07 15:59:02 767

转载 Disruptor入门

翻译自Disruptor git库教程   英文地址获得Disruptor可以通过Maven或者下载jar来安装Disruptor。只要把对应的jar放在Java classpath就可以了。基本的事件生产和消费我们从一个简单的例子开始学习Disruptor:生产者传递一个long类型的值给消费者,而消费者消费这个数据的方式仅仅是把它打印出来。首先声明一个Event来包

2017-07-04 09:23:02 212

转载 线程同步(互斥锁与信号量的作用与区别)

“信号量用在多线程多任务同步的,一个线程完成了某一个动作就通过信号量告诉别的线程,别的线程再进行某些动作(大家都在semtake的时候,就阻塞在 哪里)。而互斥锁是用在多线程多任务互斥的,一个线程占用了某一个资源,那么别的线程就无法访问,直到这个线程unlock,其他的线程才开始可以利用这 个资源。比如对全局变量的访问,有时要加锁,操作完了,在解锁。有的时候锁和信号量会同时使用的”也就是说,信

2017-07-03 18:55:43 383

转载 锁,同步,可重入锁,读写锁

1、synchronized把代码块声明为 synchronized,有两个重要后果,通常是指该代码具有 原子性(atomicity)和 可见性(visibility)。1.1 原子性原子性意味着个时刻,只有一个线程能够执行一段代码,这段代码通过一个monitor object保护。从而防止多个线程在更新共享状态时相互冲突。1.2 可见性可见

2017-07-03 18:53:08 312

转载 java transient简介

我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个的所有属性和方法都会自动序列化。       然而在实际开发过程中,我们常常会遇到这样的问题,这个类的有些属性需要序列化,而其他属性不需要被序列化,诚然,你可以让这个类来实现Exte

2017-07-03 18:51:52 195

转载 java多线程管理 concurrent包用法详解

我们都知道,在JDK1.5之前,Java中要进行业务并发时,通常需要有程序员独立完成代码实现,当然也有一些开源的框架提供了这些功能,但是这些依然没有JDK自带的功能使用起来方便。而当针对高质量Java多线程并发程序设计时,为防止死蹦等现象的出现,比如使用java之前的wait()、notify()和synchronized等,每每需要考虑性能、死锁、公平性、资源管理以及如何避免线程安全性方面带来的

2017-07-03 18:45:41 372

转载 java并发编程--Executor框架(一) 摘要: Eexecutor作为灵活且强大的异步执行框架,其支持多种不同类型的任务执行策略,提供了一种标准的方法将任务的提交过程和执行过程

java并发编程--Executor框架(一)摘要:       Eexecutor作为灵活且强大的异步执行框架,其支持多种不同类型的任务执行策略,提供了一种标准的方法将任务的提交过程和执行过程解耦开发,基于生产者-消费者模式,其提交任务的线程相当于生产者,执行任务的线程相当于消费者,并用Runnable来表示任务,Executor的实现还提供了对生命周期的支持,以及统

2017-07-01 16:45:07 504

原创 Executor框架

Executor创建线程线程池的四种方法:1、newFixedThreadPool:创建可重用且固定线程数的线程池,如果线程池中的所有线程都处于活动状态,此时再提交任务就在队列中等待,直到有可用线程;如果线程池中的某个线程由于异常而结束时,线程池就会再补充一条新线程。2、newSingleThreadExecutor:创建一个单线程的Executor,如果该线程因为异常而结束就新建一条线程

2017-07-01 16:38:24 215

大型分布式网站架构设计

《大型分布式网站架构设计与实践》主要介绍了大型分布式网站架构所涉及的一些技术细节,包括SOA架构的实现、互联网安全架构、构建分布式网站所依赖的基础设施、系统稳定性保障和海量数据分析等内容;深入地讲述了大型分布式网站架构设计的核心原理,并通过一些架构设计的典型案例,帮助读者了解大型分布式网站设计的一些常见场景及遇到的问题。 作者结合自己在阿里巴巴及淘宝网的实际工作经历展开论述。《大型分布式网站架构设计与实践》既可供初学者学习,帮助读者了解大型分布式网站的架构,以及解决问题的思路和方法,也可供业界同行参考,给日常工作带来启发。

2018-04-28

rocketmq-console

rocketmq-console管控台

2017-07-29

华为员工培训资料(网络)

华为员工培训资料(网络)

2017-06-26

空空如也

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

TA关注的人

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