- 博客(58)
- 资源 (4)
- 收藏
- 关注
原创 AsyncHttpClient的介绍和使用
GitHub 地址:https://github.com/AsyncHttpClient/async-http-clientAsyncHttpClient目前版本2.1,内部采用Netty进行网络请求,因此比HttpClient更加优秀maven org.asynchttpclient async-http-client
2017-07-11 17:01:16 10955
原创 Vertx3入门应用
Vert.x是一个异步无阻塞的网络框架,其参照物是Node.js。基本上node.js能干的事情,Vert.x都能干。Vert.x利用Netty4的EventLoop来做单线程的事件循环,所以跑在Vert.x上的业务不能做CPU密集型的运算,这样会导致整个线程被阻塞。
2017-07-06 11:49:30 3066
原创 synchronized和lock的实现原理
现在几乎所有的锁都是可重入的,也即已经获得锁的线程可以多次锁住/解锁监视对象,按照之前的HotSpot设计,每次加锁/解锁都会涉及到一些CAS操 作(比如对等待队列的CAS操作)
2017-04-17 15:19:18 1427
原创 mybits自增返回主键问题
获取自增ID解决办法:方法:在mapper中指定keyProperty属性,示例如下: "insertAndGetId" useGeneratedKeys="true" keyProperty="userId" parameterType="com.chenzhou.mybatis.User"> insert into user(userName,password,co
2017-04-14 11:50:04 793
原创 mysql并发与锁机制
这样的话悲观锁也是不行的,但是其实我们再回过头来想一下乐观锁为什么不行,是因为他分为了两个语句,而前面那个语句select count可能会读到脏数据,那么后面的利用某个字段去 update时判断值就有可能不对,那么如何保证统计的数据跟判断保持一致呢,因为mysql处理语句的时候是一条一条处理的,所以我们通过写成一条sql就可以达到前后数据一致问题。
2017-03-21 19:42:15 618
原创 分布式下必须要知道的CAP理论
CAP理论CAP(Consistency一致性、Availability可用性、Partition-tolerance分区可容忍性)理论普遍被当作是大数据技术的理论基础分布式领域CAP理论,Consistency(一致性), 数据一致更新,所有数据变动都是同步的Availability(可用性), 好的响应性能Partition tolerance(分区容错性) 可靠性
2017-02-19 16:26:45 1619
原创 vert.x详细介绍,全异步框架
Vert.x是一个基于JVM、轻量级、高性能的应用平台,非常适用于最新的移动端后台、互联网、企业应用架构。Vert.x基于全异步Java服务器Netty,并扩展出了很多有用的特性github: https://github.com/vert-x3介绍:Vert.x诞生于2011年,当时叫node.x,不过后来因为某些原因改名位Vert.x。经过三年多的发展,现在已经到了3.2
2017-02-15 21:14:17 42412 3
转载 Java8 Lambda表达式
1. 什么是λ表达式 λ表达式本质上是一个匿名方法。让我们来看下面这个例子: public int add(int x, int y) { return x + y; }转成λ表达式后是这个样子: (int x, int y) -> x + y;参数类型也可以省略,Java编译器会根据上下文推断出来: (x, y
2017-02-15 19:50:04 1908
转载 RxJava响应式函数编程
原文地址基础RxJava最核心的两个东西是Observables(被观察者,事件源)和Subscribers(观察者)。Observables发出一系列事件,Subscribers处理这些事件。这里的事件可以是任何你感兴趣的东西(触摸事件,web接口调用返回的数据。。。)一个Observable可以发出零个或者多个事件,知道结束或者出错。每发出一个事件,就会调用它的Subscrib
2017-02-15 19:06:57 2091
原创 Quasar轻量级java线程库
Quasar 是一个 Java 库,提供了高性能、轻量级的线程,类似 Go 语言的 Channel,Erlang 语言的 Actor 和其他异步编程工具。Quasar最主要的贡献就是提供了轻量级线程的实现,叫做fiber(纤程)。Fiber的功能和使用类似Thread, API接口也类似,所以使用起来没有违和感,但是它们不是被操作系统管理的,它们是由一个或者多个ForkJoinPool调度。一
2017-02-14 18:56:41 2657
原创 kafka分布式消息系统
Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop的一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消费。
2017-02-12 14:42:25 1579
原创 Netty高性能之Reactor线程模型
Netty是一个高性能、异步事件驱动的NIO框架,它提供了对TCP、UDP和文件传输的支持,作为一个异步NIO框架,Netty的所有IO操作都是异步非阻塞的,通过Future-Listener机制,用户可以方便的主动获取或者通过通知机制获得IO操作结果。作为当前最流行的NIO框架,Netty在互联网领域、大数据分布式计算领域、游戏行业、通信行业等获得了广泛的应用,一些业界著名的开源组件也基
2017-01-14 18:05:10 21692 5
原创 NoSql介绍与分布式Mongo
它是“ Not Only Sql”的简称,非关系型数据库,它具有非常好的通用性和非常高的性能,它在处理大量的数据方面很有优势,现今的计算机体系结构在数据存储方面要求具备庞大的水平扩 展性,而NoSQL致力于改变这一现状
2017-01-08 17:58:45 2798 1
原创 微服务 Rpc和Rest协议
接口调用通常包含两个部分,序列化和通信协议。常见的序列化协议包括json、xml、hession、protobuf、thrift、text、bytes等;通信比较流行的是http、soap、websockect,RPC通常基于TCP实现,常用框架例如dubbo,netty、mina、thrift
2017-01-07 16:26:47 20579 5
原创 spring boot介绍及使用详解
Spring boot的特点1. 创建独立的Spring应用程序2. 嵌入的Tomcat,无需部署WAR文件3. 简化Maven配置4. 自动配置Spring5. 提供生产就绪型功能,如指标,健康检查和外部配置6. 绝对没有代码生成和对XML没有要求配置Spring boot的优点spring boot 可以支持你快速的开发出 restful 风格的微服务架构自动化确实方便,做微服务再合适不过了,单一jar包部署和管理都非常方便。只要系统架构设计合理,大型项目也能用,加上nginx负载均
2017-01-03 18:59:33 48662 6
原创 zookeeper的详细介绍及使用场景
Zookeeper 分布式服务框架是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等Zookeeper 作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储, Zookeeper 作用主要是用来维护和监控存储的数据的状态变化,通过监控这些数据状态的变化,从而达到基于数据的集群管理简单的说,zookeeper=文件系统+
2017-01-03 13:20:56 48169 1
原创 线程并发线程安全介绍及java.util.concurrent包下类介绍
线程Thread,在Java开发中多线程是必不可少的,但是真正能用好的并不多!在多线程并发则一定会带来线程安全的问题,如何解决线程安全java.util.concurrent 是什么?java.util.concurrent 包含许多线程安全、测试良好、高性能的并发构建块。创建 java.util.concurrent 的目的就是要实现
2016-12-30 18:59:57 13286
原创 EventBus介绍与使用
如果你学习过设计模式,那么你一直知道观察者模式。,既然能想到这个设计模式,那么就来看一个Android开源框架EventBus。主要功能是替代Intent、Handler、BroadCast在Activity、Service、线程之间传递消息。学过Android开发的同学一直知道,在Activity和Service之间通信是很困难的事情,还有在开发中Handler是经常使用的通信工具,那么EventBus比Handler更加方便、快、消耗小不仅仅在安卓开发中,在很多框架中都把eventBus封装在其内部
2016-12-29 10:41:32 2882
原创 Shiro的配置与使用
授权操作①在doGetAuthorizationInfo该方法中,我们将所有有权限访问的路径放到SimpleAuthorizationInfo 对象中info.setStringPermissions(权限集合)②在controller中的方法上,加上@RequiresPermissions(value={“home/test"}) shrio将会根据该value是否存在集合中,判断是否有权限访问该路径,当然也可以手动进行正则匹配 如果没有权限访问该方法则跳转到权限不足界面
2016-12-22 13:23:47 2126
原创 现在有"abcdefghijkl”12个字符,将其所有的排列中按字典序排列,给出任意一种排列,说出这个排列在所有的排列中是第几小的?
现在有"abcdefghijkl”12个字符,将其所有的排列中按字典序排列,给出任意一种排列,
2016-09-27 12:47:53 3928
原创 数据结构之树与二叉树
树的几个概念:树(tree)是包含n(n>0)个结点的有穷集,其中:(1)每个元素称为结点(node);(2)有一个特定的结点被称为根结点或树根(root)。(3)除根结点之外的其余数据元素被分为m(m≥0)个互不相交的集合T1,T2,……Tm-1,其中每一个集合Ti(1 节点的度:一个节点含有的子树的个数称为该节点的度; 树的高度或深度:树中节点
2016-09-22 11:12:10 622
原创 spring mvc使用fastjosn返回json
由于springmvc提供的是jackjson,而习惯使用fastjson,配置json视图解析器
2016-09-13 16:41:49 2796
原创 OKhttp3.X 3.0上传图片文件及表单MultipartBody
okhttp3提供啦MultipartBody,可以上传Multipart表单实现上传文件以及上传参数
2016-09-13 16:17:40 28703 1
原创 java 快速排序的思想及解释说明
快速排序在应用上很广泛,大家有知道二分法,二分法在排好序的数组中查找数据是最快的快速排序是在无序的数组中排序、查找都是最快的如今大数据时代,在数据量如此之大的情况下查找的速度是很重要的,那么认识快速排序的思想是很重要的,
2016-08-15 14:48:13 3602
原创 Java中Runnable和Thread的区别
我们都知道Thread是继承,Runnable是接口用的时候继承Thread或者实现Runnable接口,继承只能单继承,接口可以实现多个第一种继承Thread
2016-08-12 17:10:40 415
原创 求一个数组的全部子集的两种解法
一个常见的情景是罗列出[1,2,5,8]的全部子集,结果如下[],[1],[2],[5],[8],[1,2].................结果有很多,这中解法的题型非常的多,那么第一种解法就是利用递归,压栈处栈 基本思想就是,1,2,5,83为一组 12 15 18 25 28为一组 125 128 258为一组 1258为一组 也就是说固定前面的数字 依次切换代码如下:
2016-08-08 19:22:39 11533 4
原创 sturts的学习和使用
Struts 框架 Action 普通Java类替代ServletIntercepter 普通Java类替代 Filter 过滤器配置模式开发(配置文件)专门应用于 控制器层
2016-08-02 10:50:01 446
原创 OkHttp3的使用,代码奉上
okhttp3.0网上的资料太少啦,今天我来为大家写一篇okhttp3.0的使用okhttp3.0中引入啦大量的builder1、创建OkHttpClient的builder private static final okhttp3.OkHttpClient.Builder builder = new OkHttpClient.Builder();2、创建OkHttpClient的实例 设置超时时间 设置cookies缓存
2016-07-21 11:15:06 5211 1
原创 Centos的安装、配置和使用
1、 网络,因为网络默认没有开启,所以 yum update 会报错,网卡默认onboot="no",并且设置了依赖 NetworkManager 的选项,NM_CONTROLLED="yes",因为minimal的情况下并没有安装 系统默认提供的网络管理工具
2016-06-09 20:44:34 458
原创 分布式高并发服务器做请求分发,session共享(nginx+tomcat+redis)
分布式高并发服务器做请求分发,session共享(nginx+tomcat+redis)
2016-05-18 16:33:46 9918
原创 OKHttp3的使用,自己项目实战经验
okhttp3.0网上的资料太少啦,今天我来为大家写一篇okhttp3.0的使用,okhttp3.0中引入啦大量的builder
2016-05-09 22:02:00 17872 12
原创 PullToRefresh的使用的详细用法,一个细节问题
pulltorefresh的细节和问题,pulltorefresh算是一个常用且强大的上拉刷新下拉加载库,我们今天来探讨一下它的细节,
2016-05-09 21:47:34 6805
android-async-httpjar包 universal-image-loader
2015-08-08
双listview 二级列表 省市选择
2015-08-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人