Redis Sentinel 与 Redis Cluster

一、前言 互联网高速发展的今天,对应用系统的抗压能力要求越来越高,传统的应用层+数据库已经不能满足当前的需要。所以一大批内存式数据库和Nosql数据库应运而生,其中redis,memcache,mongodb,hbase等被广泛的使用来提高系统的吞吐性,所以如何正确使用cache是作为开发的一项...

2018-07-26 14:06:18

阅读数 8258

评论数 1

Spring专题一:SpringMVC请求处理流程

本文主要是从整体介绍springmvc处理请求的流程 一、简介 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化...

2018-04-20 09:21:54

阅读数 304

评论数 0

异步的AsyncHttpClient使用详解

背景        前面的一篇文章【同步的HttpClient使用详解】中,提到了服务端通进行网络请求的方式。也讲述了在并发量大的情况下使用HttpClient的连接池来提高性能。此方法虽然很有效果,但是当访问量极大或网络不好的情况下也会出现某些网络请求慢导致其它请求阻塞的情况,为此本文引入了异...

2017-02-16 15:59:25

阅读数 38163

评论数 8

日志组件logback使用详解

背景 问题定位是日常程序开发过程中不可或缺的一部分,能高效的定位程序中的问题能大大提高开发的效率。目前程序中所存在的问题大致有以下两种类型: 1、代码本身有问题,这类问题通常会有比较常见的错误提醒,如UnsupportedOperationException不支持的操作,Illeg...

2017-11-25 12:57:26

阅读数 298

评论数 0

乐观锁与悲观锁

一、前言 在多用户的环境中,经常会出现多个用户同对一条记录进行修改,这时就不可避免的产生冲突。这也是并发场景中经常会遇到的问题。比较常见的冲突有:丢失更新与脏读。一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失,如用户把A的值由6变成2,用户B把2变成6.此时对于用户A来说,他的修...

2017-09-02 14:27:59

阅读数 273

评论数 0

闭锁CountDownLatch与栅栏CyclicBarrier

一、闭锁与栅栏介绍(jdk1.5) 闭锁(CountDownLatch):在并发时的同步辅助类,在一组线程正在完成某个任务之前,允许一个或多个线程一直等待。即一组线程等待某一事件发生,事件没有发生前,所有线程将阻塞等待;而事件发生后,所有线程将开始执行;闭锁最初处于封闭状态,当事件发生后闭锁...

2017-08-08 10:53:35

阅读数 212

评论数 0

Tomcat启动流程解析

一、前言 众所周知,Tomcat是作为一款优秀的web服务容器被广泛应用。Tomcat是基于J2EE规范实现了经典的双亲委派模型的类加载体系。 二、相关概念 1、JAVA虚拟机主要的类加载器: a、Bootstrap Loader:加载lib目录下或者System.getProperty(&quo...

2017-07-23 12:16:07

阅读数 701

评论数 0

java类加载器 classLoader原理解析

一、classLoader说明目前主的JAVA应用都是由若干个.class文件组织而成的,当程序在运行时,即会调用该程序的一个入口函数来调用系统的相关功能,而这些功能都被封装在不同的class文件当中,所以经常要从这个class文件中要调用另外一个class文件中的方法,如果另外一个文件不存在的,...

2017-07-20 13:35:32

阅读数 453

评论数 0

并发编程中的Volatile与synchronized

一、引言 在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。与 synchronized 块...

2017-07-15 13:22:36

阅读数 180

评论数 0

同步的HttpClient使用详解

HttpClient使用详解

2017-01-11 10:32:31

阅读数 2416

评论数 1

JDK源码中使用的设计模式

结构型模式: 适配器模式: 用来把一个接口转化成另一个接口。 java.util.Arrays#asList()javax.swing.JTable(TableModel)java.io.InputStreamReader(InputStream)java.io.OutputStreamWrit...

2016-03-24 17:17:38

阅读数 3212

评论数 2

echart使用

折线图               *{margin: 0;padding: 0}       #bar_chart{width: 600px;height: 500px;margin-left: 10%;margin-top: 50px;}                     ...

2016-03-24 17:16:20

阅读数 1222

评论数 0

利用栈Stack实现队列(Queue)

实现说明: 入队时,将元素压入s1; 出队时,判断s2是否为空,如不为空,则直接弹出顶元素;如为空,则将s1的元素逐个“倒入”s2,把最后一个元素弹出并出队; 这个思路,避免了反复“倒”栈,仅在需要时才“倒”一次。 package com.knowledgeStudy.threadLo...

2015-07-15 15:04:18

阅读数 1199

评论数 0

Spring事务传播行为和隔离级别

Spring事务的传播行为和隔离级别 在spring中有7个传播行为,4个隔离级别。 Propagation :   key属性确定代理应该给哪个方法增加事务行为。这样的属性最重要的部份是传播行为。有以下选项可供使用: PROPAGATION_REQUIRED--支持当前事务,如果...

2015-06-16 10:04:30

阅读数 452

评论数 0

LRUCache 详解

LRU的基本概念:     LRU是Least Recently Used的缩写,近期最少使用算法。 Java 实现LRUCache   1、基于LRU的基本概念,为了达到按近期最少使用排序,可以选择HashMap的子类  LinkedHashMap来作为LRUCache的存储容器。  ...

2015-06-10 12:44:06

阅读数 4295

评论数 0

tomcat详解

Tomcat简介  一、Tomcat背景   自从JSP发布之后,推出了各式各样的JSP引擎。Apache Group在完成GNUJSP1.0的开发以后,开始考虑在SUN的JSWDK基础上开发一个可以直接提供Web服务的JSP服务器,当然同时也支持Servlet, 这样Tomcat就诞生了。Tom...

2015-06-09 15:18:58

阅读数 872

评论数 0

Java 关键字详解

访问控制修饰符号 1)        private 私有的 private 关键字是访问控制修饰符,可以应用于类、方法或字段(在类中声明的变量)。 只能在声明 private(内部)类、方法或字段的类中引用这些类、方法或字段。在类的外部或者对于子类而言,它们是不可见的。 所有类成员的...

2015-06-09 15:02:32

阅读数 1025

评论数 0

微信分享引导页效果

Php *{margin:0px;padding: 0px;} #shareit {-webkit-user-select: none;display: none;position: absolute;width: 100%;height: 100%; background: rgba(0,...

2015-06-05 14:13:56

阅读数 7341

评论数 0

Github之BASH使用教程

GitHub简介:         Git 是基于 Linux 内核开发的版本控制工具。与常用的版本控制工具 CVS,Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如 Linux kernel 这样的大...

2015-05-27 10:46:12

阅读数 636

评论数 0

ConcurrentHashMap源码解读

曾经研究过jkd1.5新特性,其中ConcurrentHashMap就是其中之一,其特点:效率比Hashtable高,并发性比hashmap好。结合了两者的特点。    集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Q...

2015-03-13 21:14:35

阅读数 543

评论数 0

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