自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

mojolang

专注mojolang

  • 博客(61)
  • 资源 (26)
  • 收藏
  • 关注

转载 数据从mysql迁移到hbase的一些思考及设计

一、进行迁移的原因由于业务的发展,使用mysql进行建立索引进行搜索已经造成数据流的瓶颈卡在了数据库io,例如每次dump全表的时候,会造成压力过大,造成耗时很长,并且当前的数据量基本上已经达到了亿级别的数据量,如果希望mysql能更好的提供服务,下一步必须考虑分库分表才可以;基于这种情况下,考虑使用hbase用来进行数据的存储,因为hbase所能承受的数据量远大于mysql,并且对列的扩

2017-03-30 16:44:52 985

转载 Http长连接200万尝试及调优

对于一个server,我们一般考虑他所能支撑的qps,但有那么一种应用, 我们需要关注的是它能支撑的连接数个数,而并非qps,当然qps也是我们需要考虑的性能点之一。这种应用常见于消息推送系统,也称为comet应用,比如聊天室或即时消息推送系统等。comet应用具体可见我之前的介绍,在此不多讲。对于这类系统,因为很多消息需要到产生时才推送给客户端,所以当没有消息产生时,就需要hold住客户端的连接

2017-03-28 11:10:11 845

转载 libevent和protobuf搭建 socket server

0. 基础代码 // 设置某fd为O_NONBLOCK模式 int set_non_block(int fd); // server端socket流程:socket(),setsockopt(),bind(),listen(),set_non_block(),返回server_fd int setup_tcp_server

2017-03-28 09:25:38 678

转载 用MarioTCP库实现一个单机10亿级的百万并发长连接

注:如果用此服务器做变长data的传输,请在业务处理函数中为input buffer增加清空功能(一行memset搞定;也可以在mariotcp核心代码mario_network.c的read功能中增加,mariotcp为了追求性能极限没做此设置)。MrioTCP,超级马里奥,顾名思义,他不仅高效,而且超级简易和好玩。同时他可以是一个很简洁的Linux C 开发学习工程。毫不夸

2017-03-28 09:23:57 3081

转载 Spring事务配置的五种方式

前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识。通过这次的学习发觉Spring的事务配置只要把思路理清,还是比较好掌握的。    总结如下:    Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机制这三部分,无论哪种配置方式,一

2017-03-22 16:27:02 554

转载 Spring事务管理(详解+实例)

写这篇博客之前我首先读了《spring in action》,之后在网上看了一些关于Spring事务管理的文章,感觉都没有讲全,这里就将书上的和网上关于事务的知识总结一下,参考的文章如下:Spring事务机制详解Spring事务配置的五种方式Spring中的事务管理实例详解1 初步理解理解事务之前,先讲一个你日常生活中最常干的事:取钱。 比如你去ATM机取1000块钱,大体有两个步

2017-03-22 16:03:08 1074

转载 Java 8: 从永久代(PermGen)到元空间(Metaspace)

正如大家所知,JDK 8 Early Access版已经提供下载。这使开发者可以体验Java8的新特性。其中之一,是Oracle从JDK7发布以来就一直宣称的要完全移除永久代空间。例如,字符串内部池,已经在JDK7中从永久代中移除。JDK8的发布将宣告它的终结。这篇文章将会分享到目前为止对 PermGen 继任者:Metaspace的了解。我们将通过运行一个存在类元数据对象“泄漏”的程序,来对

2017-03-22 10:20:30 547

转载 知道为啥HashMap里面的数组size必须是2的次幂?

最近在写一个简易的分离锁的类: 要求:对不同的Key进行hash得到一个Lock,并要求对锁映射的概率差不多。比如,160个Key,分布到16个锁上,大概有10个Key是映射到同一个锁上的,只要这样并发效率才会高。 Java代码  public class SplitReentrantLock {        private Lock[

2017-03-20 18:24:57 1342

转载 hashMap为啥初始化容量为2的次幂

hashMap源码获取元素的位置:static int indexFor(int h, int length) { // assert Integer.bitCount(length) == 1 : "length must be a non-zero power of 2"; return h & (length-1);}解释:h:为插入元素的hashco

2017-03-20 18:22:21 928

转载 MySQL锁机制详解及死锁处理方式

为了给高并发情况下的MySQL进行更好的优化,有必要了解一下MySQL查询更新时的锁表机制。一、概述MySQL有三种锁的级别:页级、表级、行级。MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking);BDB存储引擎采用的是页面锁(page-levellocking),但也支持表级锁;InnoDB存储引擎既支持行级锁(row-level loc

2017-03-20 17:43:55 738

转载 HashMap深度解析(二)

上一篇比较深入的分析了HashMap在put元素时的整体过程,Java Collections Framework中实际操作的都是数组或者链表,而我们通常不需要显示的维护集合的大小,而是集合类框架中内部维护,方便的同时,也带来了性能的问题。       HashMap有两个参数影响其性能:初始容量和加载因子。默认初始容量是16,加载因子是0.75。容量是哈希表中桶(Entry数组)的数量,

2017-03-20 16:16:30 390

转载 HashMap深度解析(一)

本文来自:高爽|Coder,原文地址:http://blog.csdn.net/ghsau/article/details/16843543,转载请注明。       HashMap可以说是Java中最常用的集合类框架之一,是Java语言中非常典型的数据结构,我们总会在不经意间用到它,很大程度上方便了我们日常开发。在很多Java的笔试题中也会被问到,最常见的,“HashMap和HashTabl

2017-03-20 16:07:44 354

转载 《Spring实战》学习笔记-第六章:web视图解析

本章主要内容包括:将model数据展现为HTMLJSP视图的使用在前面的章节中,我们主要关注点在于编写控制来处理web请求,同时也创建了一些简单的视图来展现请求返回的model数据,本章我们将主要讨论在控制器完成请求处理之后和将返回结果展示到用户的浏览器之前,这个过程之间发生了什么。理解视图解析在之前章节中所编写的控制器中并没有直接生成HTML的方法,它只是将数据填充到

2017-03-20 03:13:51 692 1

转载 Elasticsearch增,删,改,查操作深入详解

引言:对于刚接触ES的童鞋,经常搞不明白ES的各个概念的含义。尤其对“索引”二字更是与关系型数据库混淆的不行。本文通过对比关系型数据库,将ES中常见的增删,改进,查操作进行图文呈现。能加深你对ES的理解。同时,也列举了kibana下的图形化展示。ES Restful API GET,POST,PUT,DELETE,HEAD含义:1)GET:获取请求对象的当前状态2)POST

2017-03-16 11:07:04 1373

转载 curl命令行使用

curl是一个利用URL语法在命令行方式下工作的文件传输工具。它支持很多协议:FTP, FTPS, HTTP, HTTPS, GOPHER,TELNET, DICT, FILE 以及 LDAP。curl同样支持HTTPS认证,HTTP POST方法, HTTP PUT方法,FTP上传, kerberos认证, HTTP上传, 代理服务器, cookies, 用户名/密码认证, 下载文件断点续传,上

2017-03-16 10:07:51 3174

转载 Linux curl命令详解

命令:curl在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。语法:# curl [option] [url]常见参数:-A/--user-agent 设置用户代理发送给服务器-b/--coo

2017-03-16 10:04:50 467

转载 HBase java 增删改查操作

package hbase;import java.io.IOException;import java.util.ArrayList;import java.util.List;import java.util.Map;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.HBaseCon

2017-03-13 22:43:17 843

转载 spark与storm的对比

spark与storm的对比对比点StormSpark Streaming实时计算模型纯实时,来一条数据,处理一条数据准实时,对一个时间段内的数据收集起来,作为一个RDD,再处理实时计算延迟度毫秒级秒级吞吐量低

2017-03-13 14:46:29 831

转载 不错的linux下通用的java程序启动脚本

不错的linux下通用的java程序启动脚本(转载)虽然写起动shell的频率非常不高。。。但是每次要写都要对付一大堆的jar文件路径,新加jar包也必须要修改起动shell。在网上找到一个挺好的通用shell脚本。只需要修改一些配置变量,就可以用来做起动脚本了。并且除了能起动、还支持关闭、重启、查看是否正在运行的功能。原文地址:http://www.tudaxia.c

2017-03-13 11:33:38 3711

转载 Linux使用jstat命令查看jvm的GC情况

命令格式jstat命令命令格式:jstat [Options] vmid [interval] [count]参数说明:Options,选项,我们一般使用 -gcutil 查看gc情况vmid,VM的进程号,即当前运行的java进程号interval,间隔时间,单位为秒或者毫秒count,打印次数,如果缺省则打印无数次示例说明示例通常运行命令如下:

2017-03-10 14:45:22 1371

转载 MySQL中锁详解(行锁、表锁、页锁、悲观锁、乐观锁等)

锁,在现实生活中是为我们想要隐藏于外界所使用的一种工具。在计算机中,是协调多个进程或线程并发访问某一资源的一种机制。在数据库当中,除了传统的计算资源(CPU、RAM、I/O等等)的争用之外,数据也是一种供许多用户共享访问的资源。如何保证数据并发访问的一致性、有效性,是所有数据库必须解决的一个问题,锁的冲突也是影响数据库并发访问性能的一个重要因素。从这一角度来说,锁对于数据库而言就显得尤为重要。

2017-03-10 11:03:26 362

转载 tomcat bio nio apr 模式性能测试与个人看法

11.11活动当天,服务器负载过大,导致部分页面出现了不可访问的状态、那后来主管就要求调优了,下面是tomcat bio、nio、apr模式以及后来自己测试的一些性能结果。原理方面的资料都是从网上找的,并且把多个地方的整理到了一起,觉得很有意义。(后面对tomcat默认页面测试的数据是自己测出来的),tomcat 的三种模式如果用对了场合,性能绝对有大幅度的提升。当然调优也并不只在这一个方

2017-03-09 21:30:15 584

转载 100万并发连接服务器

100万并发连接服务器笔记之准备篇前言测试一个非常简单服务器如何达到100万(1M=1024K连接)的并发连接,并且这些连接一旦连接上服务器,就不会断开,一直连着。 环境受限,没有服务器,刚开始都是在自己的DELL笔记本上测试,凭借16G内存,和优秀的vmware workstation虚拟机配合,另外还得外借别人虚拟机使用,最终还得搭上两台2G内存的台式机(安装cento

2017-03-09 17:20:29 10091 1

转载 JVM GC调优一则--增大Eden Space提高性能

缘起线上有Tomcat升级到7.0.52版,然后有应用的JVM FullGC变频繁,在高峰期socket连接数,Cpu使用率都暴增。思路思路是Tomcat本身的代码应该是没有问题的,有问题的可能是应用代码升级,或者环境改变了,总之Tomcat的优先级排在最后。先把应用的heap dump下来分析下:jmap -dump:format=b,file=path pi

2017-03-08 18:43:56 1105

转载 JVM中的垃圾收集算法和Heap分区简记

如何判断垃圾对象?垃圾收集的第一步就是先需要算法来标记哪些是垃圾,然后再对垃圾进行处理。 引用计数(ReferenceCounting)算法这种方法比较简单直观,FlashPlayer/Python使用该算法,简单高效。核心思路是,给每个对象添加一个被引用计数器,被引用时+1,引用失效-1,等于0时就表示该对象没有被引用,可以被回收。但是,Java/C#并不采用该算

2017-03-08 18:42:52 416

转载 Redis集群 cluster-slot操作指令

通过redis-cli 登录连接到redis-server,然后执行一下cluster命令进行操作一,redis cluster命令行    //集群(cluster)  CLUSTER INFO 打印集群的信息  CLUSTER NODES 列出集群当前已知的所有节点(node),以及这些节点的相关信息。     //节点(node)  CLUSTER MEE

2017-03-08 11:03:26 12849

转载 talent-aio1.0.2 发布,让天下没有难开发的即时通讯

web开发领域,springmvc之外有jfinal;TCP长连接领域,netty之外还有更易用的talent-aio更好用、更接开发人员地气的TCP长连接框架,talent-aio 1.0.2正式版发布,已更新到maven中心仓库,talent-aio详细介绍请前往如下地址红薯家的码云: https://git.oschina.net/tywo45/talent-aio

2017-03-08 10:45:02 1164

转载 tomcat 高并发配置 与优化

公司的一个服务器使用Tomcat6默认配置,偶尔出点问题,查了一下就要是PERMSIZE默认值过小造成(16-64)TOMCAT_HOME/bin/catalina.sh添加一行:JAVA_OPTS=" -XX:PermSize=64M -XX:MaxPermSize=128m"问题解决(可能为调用JAR包过多原因)下面是网上看到一些设置JAVA_OPTS="-se

2017-03-07 18:47:07 1801

转载 Redis主从在线互相切换

转发文章,结合该文章,写个shell脚本,完全可以实现在线互相切换。由于某些原因,我们可能需要将redis master更换机器,我们可以停机进行更换,但是那样可能影响到用户体验。本文简要操作进行不停机迁移。 系统环境CentOS 6.3 x64redis-server 2.6.16机器两台s1\s2操作步骤1我们在新redis服务器上,

2017-03-07 18:41:42 590

转载 Redis Cluster 3.0.5 集群实战

一、说明redis 3.0 集群功能出来已经有一段时间了,目前最新稳定版是3.0.5,我了解到已经有很多互联网公司在生产环境使用,比如唯品会、美团等等,刚好公司有个新项目,预估的量单机redis无法满足,开发又不想在代码层面做拆分,所以就推荐他们尝试一下redis集群,下面做了一些相关笔记,以备后用。二、环境1、redis节点

2017-03-07 18:36:34 434

转载 高性能网站架构之负载均衡 Nginx+tomcat+redis实现tomcat集群

上一篇文章给大家讲了Nginx的安装,那么这篇文章为大家讲一下Nginx+Tomcat实现负载均衡。         先说说为什么要用ngnix 做负载均衡,其实做负载均衡的最出名的莫过于F5了,F5是在硬件设施,动辄几万,几十万,几百万不等,对于一般的小公司来说,这也是一笔很大的开销,所以能尽量的使用软件,还是使用软件,效果上虽然会差一些,但是还是能够起到一定的作用的。环境准备

2017-03-07 13:57:51 391

转载 使用Vs2015开发linux(centos7)程序

1.首先下载vs2015 with update32.然后下载Visual C++ for Linux Development(https://visualstudiogallery.msdn.microsoft.com/725025cf-7067-45c2-8d01-1e0fd359ae6e)Ps:另一篇文章介绍这个:(https://blogs.msdn.microso

2017-03-06 18:52:56 1509 3

转载 python大话设计模式

上一周把《大话设计模式》看完了,对面向对象技术有了新的理解,对于一个在C下写代码比较多、偶尔会用到一些脚本语言写脚本的人来说,很是开阔眼界。《大话设计模式》的代码使用C#写成的,而在本人接触到的面向对象语言中,只对C++和Python还算了解,为了加深对各个模式的理解,我在网上下载了一个C++版的源代码,并根据自己的理解边读这本书边动手实践C++源代码,同时将其改写成了Python代码,算是一箭三

2017-03-06 10:12:39 492 1

转载 Ipvsadm参数详解(全面常用命令)

ipvsadm v1.24 2005/12/10 (compiled with popt and IPVS v1.2.1) Usage: ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p [timeout]] [-M netmask] ipvsadm -D -t|u|f service-address ipvs

2017-03-05 19:18:15 1334

转载 lvs + keepalived高可用负载均衡集群双主实现

项目说明1,使用 LVS 负载均衡用户请求到后端 web 服务器,并且实现健康状态检查         2,使用 keepalived 高可用 LVS ,避免 LVS 单点故障         3,集群中分别在 LK-01 和 LK-02 运行一个 VIP 地址,实现 LVS 双主         4,用户通过 DNS 轮训的方式实现访问集群的负载均衡(不演示)  

2017-03-05 16:22:39 634

转载 MySQL主要复制+ LVS + Keepalived实现MySQL高可用性

MySQL复制能够保证数据的冗余同时可以做读写分离来分担系统压力,如果主主复制还可以很好的避免主节点的单点故障。但是MySQL主主复制存在一些问题无法满足我们的实际需要:未提供统一访问入口来实现负载均衡,如果其中主宕掉的话需要手动切换到另一个主,而不能自动进行切换。这篇文章下面要介绍如何通过LVS + Keepalived的方式来实现MySQL的高可用性,同时解决以上问题。Keep

2017-03-05 15:44:57 487

转载 ipvsadm 命令详解2

查看内核是否支持 ipvsadm[test@LVS ~]$ /sbin/modprobe -l|grep ipvs/lib/modules/2.6.18-308.el5/kernel/net/ipv4/ipvs/ip_vs.ko/lib/modules/2.6.18-308.el5/kernel/net/ipv4/ipvs/ip_vs_dh.ko/lib/modules/2.6.18-3

2017-03-05 15:35:49 834

转载 Ipvsadm参数详解(常用命令)

[root @ localhost ipvsadm]#ipvsadm -h ipvsadm v1.24 2005/12/10(用popt和IPVS v1.2.1编译) 用法: ipvsadm -A | E -t | u | f服务地址[-s调度程序] [-p [超时]] [-M网络掩码] ipvsadm -D -t | u | f服务地址 ipvsadm -C

2017-03-05 15:32:21 5415

转载 Java NIO 详解(一)

NIO即新的输入输出,这个库是在JDK1.4中才引入的。它在标准java代码中提供了高速的面向块的IO操作。一、基本概念描述1.1 I/O简介I/O即输入输出,是计算机与外界世界的一个借口。IO操作的实际主题是操作系统。在Java编程中,一般使用流的方式来处理IO,所有的IO都被视作是单个字节的移动,通过stream对象一次移动一个字节。流IO负责把对象转换为字节,然后再

2017-03-03 16:17:14 280

转载 Java NIO 详解(二)

在我的上一篇文章JavaNIO详解(一)中介绍了关于标准输入输出NIO相关知识, 本篇将重点介绍基于网络编程NIO(异步IO)。异步IO异步 I/O 是一种没有阻塞地读写数据的方法。通常,在代码进行 read() 调用时,代码会阻塞直至有可供读取的数据。同样, write()调用将会阻塞直至数据能够写入,关于同步的IO请参考另一篇文章Java IO。另一方面,异步 I/

2017-03-03 15:48:13 311

《深入理解Kafka:核心设计与实践原理》_朱忠华.txt

深入理解Kafka:核心设计与实践原理,高清完整带目录版。

2019-06-10

golang秒杀系统和web后台开发视频

go秒杀系统和web后台系统开发视频,值得学习,值得学习,go很好的视频。

2019-04-21

tcpip应用第四版 完整版

tcpip应用第四版 完整版tcpip应用第四版 完整版tcpip应用第四版 完整版tcpip应用第四版 完整版

2017-11-28

Ceph 整合OpenStack

Ceph 整合OpenStack过程,Ceph 整合OpenStack 遇到问题解决

2017-11-19

Linux数据库宝典(中文版)绝版

Linux数据库宝典(中文版)绝版

2017-01-09

Twisted网络编程必备

Twisted网络编程必备,高清完整版,值得收藏

2017-01-09

深入理解Java虚拟机:JVM高级特性与最佳实践].周志明.高清扫描版.pdf

深入理解Java虚拟机:JVM高级特性与最佳实践].周志明.高清扫描版.pdf,完整高清版,值得珍藏

2017-01-09

Outh2.0 Demo,可以运行,优质资源

基于OAuth2.0协议,spring security oauth2.0

2014-11-06

高性能的socket通讯服务器(完成端口模型--IOCP)

很多人费尽心思,都没有找到一个完美的 I/O CP 例程,甚至跟人于误解,先将本人编写的例程公布出来,希望对那些苦苦寻觅的人带来收获。本例程可以作为初学者的学习之用,亦可以作为大型服务程序的通讯模块。其处理速度可以说,优化到了极点。如果理解了本例程的精髓,加上一个高效的通讯协议,你完全可以用它来构建一个高性能的通讯服务器。

2014-06-02

python入账管理系统源码

很好的源码,python的,使用到了python的界面技术,数据库技术以及统计技术,很好很强大!

2014-05-31

Python的入门代码(银行管理系统)

里面有一个简单的银行管理系统和一些其他方面的练习代码

2014-05-31

C++项目源代码

一个非常好的C++ 开源项目代码,Snort最重要的用途还是作为网络入侵检测系统(NIDS),想学习C++的同学可以看看这个开源项目代码!

2014-05-27

FreeBSD CCPP开发环境

linux FreeBSD环境下C++开发环境的搭建,讲解的非常详细。

2014-05-27

高级TCPIP编程

纯粹的C、C++技术讲解,和开发工具无关,跨平台。

2014-05-15

电信计费系统(C++)

这个系统程序基于C++来学,程序已经测试,运行完全正确.有注释,很容易看懂,希望好大家分享一下成果,linux下 可以直接编译调试。

2014-05-15

著名的PetShop源码,可运行

著名的PetShop源码,可运行,很好的层次架构,值的学习一下。

2014-04-17

Node.js开发指南中文正版

Node.js开发指南_中文正版,很详细很清楚。

2014-04-12

Linux Socket 源码

Linux下的飞鸽传书源码,一定要看看,提高Socket开发技能。

2014-04-12

C++游戏编程 服务器端

用C++开发高并发服务器端程序,主要勇于游戏编程方面的书籍。

2014-04-07

C游戏编程从入门到精通

用C语言开发游戏编程,从入门到精通,很详细,很透。

2014-04-07

Vmware +linux + C开发环境搭建手册

Vmware +linux + C++开发环境的详细安装过程

2014-04-05

安卓高仿手机QQ客服端

安卓高仿手机QQ客服端,源码直接可以运行。

2013-03-13

qq界面源码(android)

qq界面android源码,很值得学习研究,下载科直接运行

2013-03-12

qq微博android

qq微博android源码,很值得学习研究,很详细的资料

2013-03-12

红孩子电子商城(传智播客)

红孩子电子商城(传智播客),很详细源码,值得研究学习

2013-03-12

空空如也

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

TA关注的人

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