自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Cassandra,NoSQL中的兰博基尼

Cassandra是一个分布式、高可用性、可伸缩性的NoSQL数据库系统。它最初由Facebook开发,后来捐赠给了Apache基金会,并成为Apache顶级项目之一。

2023-02-28 21:47:45 352

原创 分布式锁zookeeper实现详解原理及落地方案

分布式锁是一种解决并发问题的机制,它可以协调分布式系统中的多个服务实例对共享资源的访问,保证在任意时刻只有一个实例能够对资源进行操作,避免了并发操作引起的数据不一致性和冲突问题。因此,分布式锁在分布式系统中具有非常重要的作用和必要性。分布式锁的作用和必要性在分布式系统中是不可替代的。而ZooKeeper作为分布式协调服务,提供了实现分布式锁的解决方案。

2023-02-23 11:09:48 447

原创 Redis面试题最新最全汇总,万字长文

Redis 的全称是:Remote Dictionary.Server,本质上是一个 Key-Value 类型的内存数据库,很像 memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据 flush 到硬盘上进行保存。因为是纯内存操作,Redis 的性能非常出色,每秒可以处理超过 10 万次读写操作,是已知性能最快的Key-Value DB。

2023-02-19 23:15:32 582

原创 找到宝藏了,算法大佬的算法刷题 pdf 笔记

一位算法大佬的算法刷题笔记,惊呆了,真是一份宝藏呀!某些小伙伴可能已经知道了,但是咱们这里还是忍不住给大伙发一波,怕有些小伙伴没有看到。很多人表示刷数据结构和算法题效率不高,甚是痛苦,有了这个笔记的总结,对校招和社招的算法刷题帮助之大不言而喻,果断推荐给大家。这份笔记里面共包含作者刷LeetCode算法题后整理的数百道算法题,每道题均附有详细题解过程。关于算法刷题的疑问困惑也经常听身边的朋友们提及。

2022-11-28 20:36:49 460

原创 Dubbo开发直连调试

直连提供者在开发及测试环境下,经常需要绕过注册中心,只测试指定服务提供者,这时候可能需要点对点直连,点对点直联方式,将以服务接口为单位,忽略注册中心的提供者列表,A接口配置点对点,不影响B接口从注册中心获取列表。(1) 如果是线上需求需要点对点,可在中配置url指向提供者,将绕过注册中心,多个地址用分号隔开,配置如下:(1.0.6及以上版本支持)

2017-11-14 12:55:36 21457 1

原创 React调试工具,chrome React扩展+source-map

毫无疑问调试是开发过程中相当相当痛苦的一件事情,如果没有好的工具配合那就更痛苦了!React是基于Babel的编译转码,到浏览器执行的实际上是es5代码,虽说良好的代码结构转码后可读性还是相当高,但对于我这种小白是接受不了了~1、安装chrome扩展『React Developer Tools』(vpn、翻墙,大家懂得)2、React Developer Tools会自动检测React组件

2017-11-03 10:00:22 2148

原创 java对redis基本操作

一、server端安装  1、下载    https://github.com/MSOpenTech/redis    可看到当前可下载版本:redis2.6        下载windows平台文件:              解压后,选择当前64位win7系统对应的版本:       2、安装    1)解

2017-10-31 13:25:59 377

原创 Java高并发,如何解决,什么方式解决

对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了。而并发问题是绝大部分的程序员头疼的问题,但话又说回来了,既然逃避不掉,那我们就坦然面对吧~今天就让我们一起来研究一下常见的并发和同步吧。为了更好的理解并发和同步,我们需要先明白两个重要的概念:同步和异步   1、同步和异步的区别和联系   所谓同步,可以理解为在执行完一个函数或方

2017-10-28 11:53:36 344

原创 研发书单

书名类型推荐星级推荐人推荐理由鸟哥的Linux私房菜系统 讲Linux的书很多,但是只有鸟哥的这本书能循序渐进并且简单易懂地把Linux的各种知识讲清楚透彻HTTP权威指南Web 深入理解Web开发、弄清HTTP请求一生的经典书籍,让你彻底摆脱

2017-10-25 10:23:28 322

原创 研发技能表

软性技能不甘平庸。每个人都有自己的梦想。向业界和身边优秀的人看齐从小事做起,并把它做好代码的逻辑正确无误代码的执行效率很高代码的结构清晰易懂代码的可扩展性良好重复的工作自动化积极主动。态度决定一切。发现工作中的问题及时反馈自己主动承担把问题解决掉协调资源推动他人一起解决保持好奇心。对技术敏感,知其然也知其所以然。追踪最新技术动态阅读源码G

2017-10-25 10:21:15 972

原创 React 入门实例教程

http://www.runoob.com/react/react-jsx.html现在最热门的前端框架,毫无疑问是 React 。上周,基于 React 的 React Native 发布,结果一天之内,就获得了 5000 颗星,受瞩目程度可见一斑。React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,

2017-10-22 22:32:36 179

原创 全文搜索引擎 Elasticsearch 入门教程

全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选。它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。Elastic 的底层是开源库 Lucene。但是,你没法直接用 Lucene,必须自己写代码去调用它的接口。Elastic 是 Lucene 的封装,提供了 R

2017-10-16 10:00:19 1878

原创 Spring事务管理(详解+实例)

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

2017-09-29 15:03:04 217

原创 Java中Unsafe类详解

java不能直接访问操作系统底层,而是通过本地方法来访问。Unsafe类提供了硬件级别的原子操作,主要提供了以下功能:1、通过Unsafe类可以分配内存,可以释放内存;类中提供的3个本地方法allocateMemory、reallocateMemory、freeMemory分别用于分配内存,扩充内存和释放内存,与C语言中的3个方法对应。2、可以定位对象某字段的内存位置,也可

2017-09-26 21:31:39 278

原创 并发容器之CopyOnWriteArrayList

Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现的并发容器,它们是CopyOnWriteArrayList和CopyOnWriteArraySet。

2017-09-25 23:23:50 178

原创 ConcurrentLinkedQueue的实现原理分析

1.    引言在并发编程中我们有时候需要使用线程安全的队列。如果我们要实现一个线程安全的队列有两种实现方式一种是使用阻塞算法,另一种是使用非阻塞算法。使用阻塞算法的队列可以用一个锁(入队和出队用同一把锁)或两个锁(入队和出队用不同的锁)等方式来实现,而非阻塞的实现方式则可以使用循环CAS的方式来实现,本文让我们一起来研究下Doug Lea是如何使用非阻塞的方式来实现线程安全队列Concu

2017-09-25 22:55:09 214

转载 AtomicBoolean使用方法

AtomicBoolean是java.util.concurrent.atomic包下的原子变量,这个包里面提供了一组原子类。其基本的特性就是在多线程环境下,当有多个线程同时执行这些类的实例包含的方法时,具有排他性,即当某个线程进入方法,执行其中的指令时,不会被其他线程打断,而别的线程就像自旋锁一样,一直等到该方法执行完成,才由JVM从等待队列中选择一个另一个线程进入,这只是一种逻辑上的理解。实际

2017-09-23 11:48:36 984

原创 SpringMVC 404问题解析

1、检查URL是否会被springmvc拦截首先检查访问路径URL是否正确被springmvc拦截,这个URL和web.,xml中对springmvc的配置有关。2、检查Controller层是否使用@Controller注解检查是否在Controll层使用@Controller注解来将其标注为组件;只有使用了@Control

2017-09-17 10:16:21 3351

原创 mysql导入导出sql文件

mysql导入导出sql文件window下1.导出整个数据库mysqldump -u 用户名 -p 数据库名 > 导出的文件名mysqldump -u dbuser -p dbname > dbname.sql2.导出一个表mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名mysqldump -u dbuser -p dbname

2017-09-17 09:15:01 175

原创 POM文件详解

POM,Project Object Model,在MAVEN1中叫做project.xml,到maven2后改为pom.xml。该文件用于管理:源代码、配置文件、开发者的信息和角色、问题追踪系统、组织信息、项目授权、项目的url、项目的依赖关系等等。一个maven项目可以没有任何源代码,但必须包含pom文件。  xsi:schemaLocation="http://mav

2017-09-14 22:29:53 368

原创 《JAVA与模式》之责任链模式

责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。从击鼓传花谈起  击鼓传花是一种热闹而又紧张的饮酒游戏。在酒宴上宾客依次坐定位置,由一人击鼓

2017-09-11 22:59:19 151

原创 spring源码阅读1——环境搭建&阅读方法

环境搭建:jdk 1.7ideamaven搭建spring application:知其然方能之其所以然,我们先来搭建一个基于spring的demo程序。笔者使用的IDE提供模板程序创建功能,直接创建一个新的spring程序。(没有该功能可手动补全pom文件--见附图)新建项目代码:spring的容器(context)配置项spring-config

2017-09-03 17:03:19 345

原创 HTTP cookies 详解

HTTP cookies,通常又称作"cookies",已经存在了很长时间,但是仍旧没有被予以充分的理解。首要的问题是存在了诸多误区,认为cookies是后门程序或病毒,或压根不知道它是如何工作的。第二个问题是对于cookies缺少一个一致性的接口。尽管存在着这些问题,cookies仍旧在web开发中起着如此重要的作用,以至于如果cookie在没有可替代品出现的情况下消失,我们许多喜欢的Web应用

2017-08-27 22:40:03 336

原创 Cookie深度解析

最近在公司做了Web端单点登录(SSO)功能,基于Cookie实现,做完之后感觉有必要总结一下,本文着重讲解Cookie,下文会说明单点登录的实现方案。Cookie简介       众所周知,Web协议(也就是HTTP)是一个无状态的协议(HTTP1.0)。一个Web应用由很多个Web页面组成,每个页面都有唯一的URL来定义。用户在浏览器的地址栏输入页面的URL,浏览器就会向Web Ser

2017-08-27 22:25:45 337

原创 HTTP Session、Cookie机制详解

一、什么是http session,有什么用HTTP协议本身是无状态的,本身并不能支持服务端保存客户端的状态信息,于是,Web Server中引入了session的概念,用来保存客户端的状态信息。 这 里用一个形象的比喻来解释session的工作方式。假设Web Server是一个商场的存包处,HTTP Request是一个顾客,第一次来到存包处,管理员把顾客的物品存放在某一个柜子

2017-08-27 21:54:18 219

原创 Github进行fork后如何与原仓库同步

我们在进行Github协同开发的时候,往往会去fork一个仓库到自己的Github中,过一段时间以后,原仓库可能会有各种提交以及修改,很可惜,Github本身并没有自动进行同步的机制,这个需要我们手动去执行,现在我来演示一下如何进行自己的仓库和原仓库进行Gith同步的操作。(1)我使用终端 命令行的方式在Mac中来操作。首先在终端中配置原仓库的位置。进入项目目录,执行如下命令:查看你的远程

2017-08-20 17:53:27 242

原创 wireshark

Wireshark 基本语法,基本使用方法,及包过虑规则:1.过滤IP,如来源IP或者目标IP等于某个IP例子:ip.src eq 192.168.1.107 or ip.dst eq 192.168.1.107或者ip.addr eq 192.168.1.107 // 都能显示来源IP和目标IPlinux上运行的wireshark图形窗口截图示例,

2017-08-20 17:52:28 578

原创 nginx配置https(免费证书)

一、我们需要什么证书之前写过一篇《tomcat https配置方法(免费证书)》的简书(想看的可以去我的主页里面看下,这两篇之间还是有许多相关联的知识的~),里面有提到过常用证书的分类,其中nginx使用的就是PEM格式的证书,我们将其拆分开就是需要两个文件,一个是.key文件,一个是.crt文件.二、怎样获取免费证书这里提供两个方法:第一种:如果你是windows用户,且有.keystore格式的

2017-07-27 14:19:57 15605 4

原创 Centos Nginx脚本一键安装

脚本在 阿里云 Centos 以及 Linode Centos 测试通过,还是有一定通用性的。下载地址:nginx.sh#!/bin/bashPATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/binexport PATH#安装依赖环境yum install -y patch openssl make cma

2017-07-27 13:25:15 2733

原创 Nginx Centos安装与配置

Nginx是一款轻量级的网页服务器、反向代理服务器。相较于Apache、lighttpd具有占有内存少,稳定性高等优势。它最常的用途是提供反向代理服务。安装在Centos下,yum源不提供nginx的安装,可以通过切换yum源的方法获取安装。也可以通过直接下载安装包的方法,以下命令均需root权限执行:首先安装必要的库(nginx 中gzip模块需要 zlib 库,rewrite模块需要 pcre

2017-07-26 11:29:43 263

原创 Java四种线程池的使用

介绍new Thread的弊端及Java四种线程池的使用,对Android同样适用。本文是基础篇,后面会分享下线程池一些高级功能。 1、new Thread的弊端 执行一个异步任务你还只是如下new Thread吗? Javanew Thread(new Runnable() {@Overridepublic void run() { // TODO Auto-generated m

2017-07-24 15:39:58 268

原创 Spring事务管理中@Transactional的propagation参数

关于Spring事务管理中@Transactional的其他配置问题,请参看http://deltamaster.is-programmer.com/posts/28488.html。  本文重点讲一讲propagation参数,propagation配置的就是一个事务的传播性问题。  所谓事务传播性,就是被调用者的事务与调用者的事务之间的关系。举例说明。?

2017-07-19 09:57:12 222

原创 异步网络模型

异步网络模型异步网络模型在服务开发中应用非常广泛,相关资料和开源库也非常多。项目中,使用现成的轮子提高了开发效率,除了能使用轮子,还是有必要了解一下轮子的内部构造。这篇文章从最基础的5种I/O模型切入,到I/O事件处理模型,再到并发模式,最后以Swoole开源库来做具体分析,逐步深入。文中提到的模型都是一些通用的模型,在《linux高性能服务器编程》中也都有涉及。文章不涉及模型的实

2017-07-11 11:41:54 373

原创 git 开发分支图解

1  Git,在技术层面上,绝对是一个无中心的分布式版本控制系统,但在管理层面上,我建议你保持一个中心版本库。  2  我建议,一个中心版本库(我们叫它origin)至少包括两个分支,即“主分支(master)”和“开发分支(develop)”  3  要确保:团队成员从主分支(master)获得的都是处于可发布状态的代码,而从开发分支(de

2017-06-27 11:59:37 1648

原创 深入浅出RxJava(二:操作符)

在第一篇blog中,我介绍了RxJava的一些基础知识,同时也介绍了map()操作符。当然如果你并没有意愿去使用RxJava我一点都不诧异,毕竟才接触了这么点。看完这篇blog,我相信你肯定想立即在你的项目中使用RxJava了,这篇blog将介绍许多RxJava中的操作符,RxJava的强大性就来自于它所定义的操作符。首先先看一个例子:准备工作假设我有这样一个方法:这个方法根据

2017-06-21 13:33:43 315

原创 深入浅出RxJava(一:基础篇)

RxJava正在Android开发者中变的越来越流行。唯一的问题就是上手不容易,尤其是大部分人之前都是使用命令式编程语言。但是一旦你弄明白了,你就会发现RxJava真是太棒了。这里仅仅是帮助你了解RxJava,整个系列共有四篇文章,希望你看完这四篇文章之后能够了解RxJava背后的思想,并且喜欢上RxJava。基础RxJava最核心的两个东西是Observables(被观察者,事件

2017-06-20 20:31:40 188

原创 npm-install

Synopsisnpm install (with no args, in package dir)npm install [/]npm install [/]@npm install [/]@npm install [/]@npm install :/npm install npm install npm install npm install alias: npm i

2017-06-19 12:06:18 765

原创 PM2 使用介绍

PM2 是一个带有负载均衡功能的 Node 应用的进程管理器。当你要把你的独立代码利用全部的服务器上的所有 CPU,并保证进程永远都活着,0 秒的重载, PM2 是完美的。它非常适合 IaaS 结构,但不要把它用于 PaaS 方案(随后将开发 Paas 的解决方案)。备注:SaaS、PaaS 和 IaaS 是云服务模式SaaS 软件即服务,例如 Google 的 Gmail

2017-06-19 11:56:05 218

原创 pm2使用心得

pm2和forever是启动Nodejs服务常用到的两个工具。使用这两个指令可以使node服务在后台运行(类似于linux的nohup),另外它们可以在服务因异常或其他原因被杀掉后进行自动重启。 由于Node的单线程特征,自动重启能很大程度上的提高它的健壮性。本文不对比两者工具优劣,只是结合自己的使用,简要介绍如何在工程部署时更好的使用pm2。基本指令npm install

2017-06-19 11:54:33 3125

原创 Hystrix使用入门手册(中文)

导语:网上资料(尤其中文文档)对hystrix基础功能的解释比较笼统,看了往往一头雾水。为此,本文将通过若干demo,加入对官网How-it-Works的理解和翻译,力求更清晰解释hystrix的基础功能。所用demo均对官网How-To-Use进行了二次修改,见https://github.com/star2478/java-hystrixHystrix是Netflix开源的一款容错

2017-06-02 09:52:56 737

空空如也

空空如也

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

TA关注的人

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