自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

赵晓雷的专栏

致力于.net和java技术研究与推广.

  • 博客(361)
  • 资源 (12)
  • 收藏
  • 关注

转载 Java 进程占用 VIRT 虚拟内存超高的问题研究

1. 现象最近发现线上机器 java 8 进程的 VIRT 虚拟内存使用达到了 20G+,如下图所示:2. 不管用的 -Xmx首先第一想到的当然使用 java 的 -Xmx 去限制堆的使用。但是无论怎样设置,都没有什么效果。没办法,只好开始苦逼的研究。3. 什么是 VIRT现代操作系统里面分配虚拟地址空间操作不同于分配物理内存。在64位操作系统上,可用的最大虚拟地址空...

2019-07-23 11:45:24 2559 1

转载 225. Implement Stack using Queues

SummaryThis article is for beginners. It introduces the following ideas: Stack, Queue.SolutionApproach #1 (Two Queues, push - O(1), pop O(n) )IntuitionStack is LIFO (last in - first out) dat...

2018-11-06 17:18:56 610

转载 深入理解Java PriorityQueue

PriorityQueueJava中PriorityQueue通过二叉小顶堆实现,可以用一棵完全二叉树表示。本文从Queue接口函数出发,结合生动的图解,深入浅出地分析PriorityQueue每个操作的具体过程和时间复杂度,将让读者建立对PriorityQueue建立清晰而深入的认识。总体介绍前面以Java ArrayDeque为例讲解了Stack和Queue,其实还有一种特殊的队列...

2018-11-06 14:01:41 498

转载 Eureka参数配置项详解

Eureka涉及到的参数配置项数量众多,它的很多功能都是通过参数配置来实现的,了解这些参数的含义有助于我们更好的应用Eureka的各种功能,下面对Eureka的配置项做具体介绍,供大家参考。      Eureka客户端配置      1、RegistryFetchIntervalSeconds      从eureka服务器注册表中获取注册信息的时间间隔(s),默认为30秒   ...

2018-09-29 18:30:33 10090

转载 Redis分布式锁的正确实现方式

前言分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。可靠性首先,为了确保分布式锁可用,我们至少要确保锁的实现同时满足以下四个条件:互斥性。在任意时刻,只有一个客户端能持有锁。不会发生死锁。即使有一个客户端在持有锁的期间崩溃而没有主动解锁,也能保证后续其他客户端能加锁。具有容...

2018-05-25 16:11:18 600

原创 Java之——Redisson实现分布式锁

1. 可重入锁(Reentrant Lock)Redisson的分布式可重入锁RLock Java对象实现了java.util.concurrent.locks.Lock接口,同时还支持自动过期解锁。[java] view plain copypublic void testReentrantLock(RedissonClient redisson){      RLock lock = redi...

2018-05-25 15:40:28 1241

转载 Springboot 2.0选择HikariCP作为默认数据库连接池的五大理由

摘要: 本文非原创,是笔者搜集了一些HikariCP相关的资料整理给大家的介绍,主要讲解了为什么sb2选择了HikariCP以及HikariCP为什么这么快。Springboot2默认数据库连接池选择了HikariCP为何选择HikariCP理由一、代码量理由二、口碑理由三、速度理由四、稳定性理由五、可靠性HikariCP为什么这么快优化并精简字节码更好的并发集合类实现使用FastList替代Ar...

2018-05-23 15:29:38 48708 5

转载 logstash安装和logstash-input-jdbc插件

安装logstashlogstash的安装和elasticsearch的安装是一样简单的,就是那种拆箱即用的。目前最新的版本是5.5.0,注意这个版本需要和elasticsearch的版本一致。下载安装?1wget https://artifacts.elastic.co/downloads/logstash/logs

2017-09-29 16:06:48 2372

转载 ElasticSearch + Canal 开发千万级的实时搜索系统

公司是做社交相关产品的,社交类产品对搜索功能需求要求就比较高,需要根据用户城市、用户ID昵称等进行搜索。项目原先的搜索接口采用SQL查询的方式实现,数据库表采用了按城市分表的方式。但随着业务的发展,搜索接口调用频次越来越高,搜索接口压力越来越大,搜索数据库经常崩溃,从而导致搜索功能经常不能使用。从上面的系统架构图可以看出,当用户修改资料时,接口会修改用户库信息,接着触发器会

2017-09-29 13:59:23 1679

转载 阿里巴巴开源项目: 基于mysql数据库binlog的增量订阅&消费

背景   早期,阿里巴巴B2B公司因为存在杭州和美国双机房部署,存在跨机房同步的业务需求。不过早期的数据库同步业务,主要是基于trigger的方式获取增量变更,不过从2010年开始,阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅&消费的业务,从此开启了一段新纪元。ps. 目前内部使用的同步,已经支持mysql5.x和oracle部分版本的日志解析

2017-09-29 10:16:49 685

转载 聊聊高并发系统之限流特技-1 开涛

在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。缓存的目的是提升系统访问速度和增大系统能处理的容量,可谓是抗高并发流量的银弹;而降级是当服务出问题或者影响到核心流程的性能则需要暂时屏蔽掉,待高峰或者问题解决后再打开;而有些场景并不能用缓存和降级来解决,比如稀缺资源(秒杀、抢购)、写服务(如评论、下单)、频繁的复杂查询(评论的最后几页),因此需有一种手段来限制这些场景的并发/请求量,即限

2017-09-27 14:12:31 690

转载 接口限流算法总结

背景在开发高并发系统时,有三把利器用来保护系统:缓存、降级和限流。那么何为限流呢?顾名思义,限流就是限制流量,就像你宽带包了1个G的流量,用完了就没了。通过限流,我们可以很好地控制系统的qps,从而达到保护系统的目的。本篇文章将会介绍一下常用的限流算法以及他们各自的特点。算法介绍计数器法计 数器法是限流算法里最简单也是最容易实现的一种算法。比如我们规定,对于A接口来

2017-09-27 14:05:55 701

原创 spring boot security 实现登陆时ajax请求返回json,而不是直接页面跳转

1、编写自己的SuccessHandlerpublic class AuthenticationSuccessHandler extends SimpleUrlAuthenticationSuccessHandler {public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse re

2017-06-14 14:22:25 12791 1

转载 AI 从业者该如何选择深度学习开源框架

[转] http://www.leiphone.com/news/201611/KTwbq22oseK6B6iJ.html导语:本文是微软美国总部机器学习科学家彭河森博士在雷锋网硬创公开课的分享,由雷锋网旗下栏目“AI科技评论”整理。编者按:本文内容来自微软美国总部机器学习科学家彭河森博士在雷锋网(公众号:雷锋网)硬创公开课的分享,并由彭河森博士

2017-04-17 14:09:40 637

转载 Neo4J(Cypher语句)学习

以下节点标签为people,friend,用户自己也可以设置成其他标签,查询时需要用到标签。这个标签可以类比为关系数据库中的表名创建节点、关系创建节点(小明):create (n:people{name:’小明’,age:’18’,sex:’男’}) return n;创建节点(小红): create (n:people{name:’小红’,age:’18’,sex:’女’})

2017-04-14 18:30:55 9173 1

原创 java获取客户端以及代理IP地址

现在一般获取客户端ip的写法如下,主要代码:1)ip = request.getHeader("X-FORWARDED-FOR ")2)如果该值为空或数组长度为0或等于"unknown",那么:ip = request.getHeader("Proxy-Client-IP")3)如果该值为空或数组长度为0或等于"unknown",那么:ip = request.getHeade

2017-03-16 16:19:53 2788

转载 从头开始搭建一个dubbo+zookeeper平台

本篇主要是来分享从头开始搭建一个dubbo+zookeeper平台的过程,其中会简要介绍下dubbo服务的作用。  首先,看下一般网站架构随着业务的发展,逻辑越来越复杂,数据量越来越大,交互越来越多之后的常规方案演进历程。        其次,当服务越来越多之后,我们需要做哪些服务治理?         最后,是dubbo的架构图         注册中心的

2016-12-22 22:36:38 684 1

转载 Dubbo架构设计详解

Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色。关于注册中心、协议支持、服务监控等内容,详见后面描述。

2016-12-22 22:29:51 1005 1

转载 《Redis官方文档》Redis集群教程

这篇教程是Redis集群的简要介绍,而非讲解分布式系统的复杂概念。它主要从一个使用者的角度介绍如何搭建、测试和使用Redis集群,至于Redis集群的详细设计将在“Redis集群规范”中进行描述。本教程以redis使用者的角度,用简单易懂的方式介绍Redis集群的可用性和一致性。注意: 本教程要求redis3.0或以上的版本。如果你打算部署redis集群,你可以读一些关于集群的详细设计

2016-12-20 18:33:10 501 1

转载 《Redis官方文档》用Redis构建分布式锁

用Redis构建分布式锁在不同进程需要互斥地访问共享资源时,分布式锁是一种非常有用的技术手段。 有很多三方库和文章描述如何用Redis实现一个分布式锁管理器,但是这些库实现的方式差别很大,而且很多简单的实现其实只需采用稍微增加一点复杂的设计就可以获得更好的可靠性。这篇文章的目的就是尝试提出一种官方权威的用Redis实现分布式锁管理器的算法,我们把这个算法称为RedLock,我们相信这个算法

2016-12-19 18:16:38 391

转载 分布式架构高可用架构篇_04_Keepalived+Nginx实现高可用Web负载均衡

一、场景需求二、Keepalived 简要介绍Keepalived 是一种高性能的服务器高可用或热备解决方案,Keepalived 可以用来防止服务器单点故障的发生,通过配合 Nginx 可以实现 web 前端服务的高可用。Keepalived 以 VRRP 协议为实现基础,用 VRRP 协议来实现高可用性(HA)。VRRP(VirtualRouterRedundancy Pr

2016-12-19 18:13:57 462

转载 分布式架构高可用架构篇_07_MySQL主从复制的配置(CentOS-6.7+MySQL-5.6)

环境 操作系统:CentOS-6.6-x86_64-bin-DVD1.iso MySQL 版本:mysql-5.6.22.tar.gz 主节点 IP:192.168.1.205 主机名:edu-mysql-01 从节点 IP:192.168.1.206 主机名:edu-mysql-02MySQL 主从复制官方文档 http://dev.mysql.com/doc/refma

2016-12-17 09:19:58 399

转载 分布式架构高可用架构篇_08_MyCat在MySQL主从复制基础上实现读写分离

一、环境 操作系统:CentOS-6.6-x86_64-bin-DVD1.iso JDK 版本:jdk1.7.0_45 MyCat 版本:Mycat-server-1.4-release-20151019230038-linux.tar.gz MyCat 节点 IP:192.168.1.203 主机名:edu-mycat-01 MySQL 版本:mysql-5.6.22

2016-12-17 09:18:35 593

转载 分布式架构高可用架构篇_03-redis3集群的安装高可用测试

参考文档 Redis 官方集群指南:http://redis.io/topics/cluster-tutorial Redis 官方集群规范:http://redis.io/topics/cluster-spec Redis 集群指南(中文翻译,紧供参考):http://redisdoc.com/topic/cluster-tutorial.html Redis 集群规范(中文翻译,紧

2016-12-17 09:16:30 710

转载 centos fastdfs 多服务器 多硬盘 多组 配置详解

随着用户量的变大,图片,视频等的量会不断的增大,这个时候一个硬盘可能不够用了,就要加硬盘。硬盘加不了时,就要增加服务器了。同一组服务器,文件服务器的东西是一样,不同组的服务器,有不同的文件,不同的组之间,共同组建了文件服务器的所有内容。下面说一下,安装配置的过程,这里配置的方法,根开发者提供的方法不一样,我没有用到fastdfs-nginx-module,通过配置nginx实现了fastdfs

2016-12-15 16:57:42 961

转载 FastDFS Storage配置详解

1 基本配置disabled#func:该配置文件是否生效#valu:## true:无效## false:生效disabled=falsegroup_name#func;本storage server所属组名group_name=group1bind_addr#func:绑定本storage server的IPbind_addr=cl

2016-12-14 18:18:03 1109

转载 FastDFS Tracker端配置文件详解及启动注意事项

今天进行了FastDFS的tracker端的配置,代码发送如下:Java代码  # is this config file disabled  # false for enabled  # true for disabled  disabled=false  #当前配置是否不可用false可用,true不可用    # bind an address of this hos

2016-12-14 17:24:21 5246

转载 CentOS FastDFS配置之常见错误

Q:/fdfs_trackerd: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directoryA:export LD_LIBRARY_PATH=/usr/loal/lib(libevent的安装路径,可以通过find来查找)

2016-12-12 10:25:00 1772

转载 Tracker与Storage配置详解

1、Tracker基本配置# is this config file disabled# false for enabled# true for disableddisabled=false# bind an address of this host# empty for bind all addresses of this hostbind_addr=10.16.123

2016-12-09 16:41:41 3068

转载 FastDFS+Nginx安装与配置

单独安装FastDFS已经ok,接下来在nginx配置FastDFS.1、fastdfs-nginx-module 作用说明      FastDFS 通过 Tracker 服务器,将文件放在 Storage 服务器存储,但是同组存储服务器之间需要进入 文件复制,有同步延迟的问题。假设 Tracker 服务器将文件上传到了 192.168.0.1,上传成功后文件 ID 已经返回给客

2016-12-09 12:58:02 4135

原创 FastDFS介绍

FastDFS是一个开源的轻量级分布式文件系统,C语言实现,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。FastDFS支持Linux, FreeBSD等UNIX系统,类google FS, 不是通用的文件系统,只能够通过专有API访问,目前提供了C,Java

2016-12-09 12:47:27 369

原创 FastDFS安装与使用(单节点)

FastDFS 分布式文件系统的安装与使用(单节点)本文tracker、storage都在一台机器上!本机tracker和storage是放在一起的。需要准备的包FastDFS_v5.08.tar.gzlibfastcommon-master.zip  (是从 FastDFS 和 FastDHT 中提取出来的公共 C 函数库)源码地址:https://github.com/ha

2016-12-09 10:37:30 4030 2

转载 分布式事务最终一致性常用方案

目前的应用系统,不管是企业级应用还是互联网应用,最终数据的一致性是每个应用系统都要面临的问题,随着分布式的逐渐普及,数据一致性更加艰难,但是也很难有银弹的解决方案,也并不是引入特定的中间件或者特定的开源框架能够解决的,更多的还是看业务场景,根据场景来给出解决方案。根据笔者最近几年的了解,总结了几个点,更多的应用系统在编码的时候,更加关注数据的一致性,这样系统才是健壮的。一、基础理论   目

2016-12-02 13:22:02 23379 1

转载 高并发系统数据幂等性

在系统开发过程中,经常遇到数据重复插入、重复更新、消息重发发送等等问题,因为应用系统的复杂逻辑以及网络交互存在的不确定性,会导致这一重复现象,但是有些逻辑是需要有幂等特性的,否则造成的后果会比较严重,例如订单重复创建,这时候带来的问题可是非同一般啊。一、系统的幂等性     幂等是数据中得一个概念,表示N次变换和1次变换的结果相同。二、高并发的系统如何保证幂等性1、查询   

2016-12-02 13:21:01 544

转载 HttpClient设置HTTP请求头Header

用Firebug对POST的数据进行监控 请求 HTTP头 信息,得到如下内容:Java代码  Accept  application/json, text/javascript, */*  Accept-Encoding gzip, deflate  Accept-Language en-us,en;q=0.5  Cache-Control   no-cache  Con

2016-07-13 17:30:44 10942

转载 Spark快速入门指南 – Spark安装与基础使用

Apache Spark 是一个新兴的大数据处理通用引擎,提供了分布式的内存抽象。Spark 正如其名,最大的特点就是快(Lightning-fast),可比 Hadoop MapReduce 的处理速度快 100 倍。此外,Spark 提供了简单易用的 API,几行代码就能实现 WordCount。本教程主要参考官网快速入门教程,介绍了 Spark 的安装,Spark shell 、RDD、

2016-04-19 17:30:37 4458

转载 linux grep命令详解

简介grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更

2016-04-19 17:25:19 369

转载 开启苹果app学习之旅:第一个小程序helloWord

第一步运行 Xcode 。点击 Create a new Xcode project 。因为是个超级简单的程序, 所以就选择 应用程序模板, Single View Application . 点击 Next 继续.因为这个是你的第一个App 程序, 所以你按照行业规定, 你人生中第一个程序必须的叫做 HelloWorld .其他的就按照图示

2014-09-21 10:05:28 2529

转载 POSTGRES 启动 以及远程调试

POSTGRES如何支持远程调试:------------1. 配置postgresql.conf文件listen_addresses = '*'  2. 配置pg_hba.conf文件host    all         all         0.0.0.0/0          trust 附,如何进行POSTGRES重启pg_ctl start [-w]

2014-05-05 16:41:12 891

转载 Thrift入门及Java实例演示

目录:概述下载配置基本概念数据类型服务端编码基本步骤客户端编码基本步骤数据传输协议实例演示(java) thrift生成代码 实现接口IfaceTSimpleServer服务模型TThreadPoolServer 服务模型TNonblockingServer 服务模型THsHaServer服务模型异步客户端[一]、概述Thrift是一个软件框

2014-04-04 10:53:34 1327

struts2二级联动下拉列表

struts2+hibernate+spring实现的二级联动下拉列表,数据库为mysql。主要实现省市二级联动。全部源码。下载即能使用。

2008-12-17

jsp el表达式培训课件

给学生培训的课件。内容详细,讲解清除。与大家分享一下。

2008-11-13

jsp结合flash实现用摄像头拍照

jsp结合flash实现用摄像头拍照

2008-05-26

EJB3一对多和多对一关系映射实例

EJB3一对多和多对一关系映射实例

2008-04-25

EJB3多对多关系映射实例

EJB3多对多关系映射实例

2008-04-25

jsf入门实例教程

很好的学习jsf入门实例!

2008-04-22

struts整合spring开发实例(三)

struts整合spring方法(三)

2008-04-22

struts整合spring开发实例(二)

struts整合springa方法(二)

2008-04-22

struts整合spring开发实例

struts整合spring开发的登陆程序。

2008-04-20

EJB3一对一关系映射实例

EJB3一对一关系映射实例

2008-03-28

不错的Swing组件

开源Swing控件,非常好用呀!

2008-03-27

WebSphere Studio Application Developer Version 5

ibm wsad培训教程

2008-03-25

空空如也

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

TA关注的人

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