细说Reactor模式

今天在看书的时候看到了一个新的设计模式——Reactor模式,这个模式是出现在NIO中,至于这到底是个什么模式,今天我们来细说一下。 reactor模式是javaNIO非堵塞技术的实现原理,我们不仅要知道其原理流程,还要知道其代码实现,当然这个reactor模式不仅仅在NIO中实现,而且...

2016-11-03 10:31:53

阅读数 33268

评论数 2

从零开始学Hadoop——浅析MapReduce(一)

之前,我们说过Hadoop的两个核心为HDFS和MapReduce,既然我们已经学习了Hadoop的HDFS,那么我们就来看看MapReduce是什么。当然,我们学习的顺序还是先看看基本概念,再研究一下原理,最后做一些练习。 但是通过今天的学习,我们知道了两者是如何协同工作的,这样对我们以...

2016-05-18 09:06:26

阅读数 15647

评论数 2

阿里架构之旅(二)——Dubbo解析

上次我们简单介绍了一下Dubbo,知道了Dubbo是一个分布式服务框架,将复杂的调用关系简单的管理起来,不管是从设计思路,还是性能提升上,它都是一个优秀的产品。如果我们不知道它的工作原理,那么我就相当于没接触过Dubbo,而且我们可以发现它的原理会更有趣。既然是这样,那我们就赶紧开始吧。

2016-02-25 17:24:45

阅读数 12343

评论数 7

浅谈MVC架构—你到底有什么本事

MVC的处理过程:首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理。然后模型根据用户请求进行相应的业务逻辑处理,并返回数据。最后控制器调用相应的视图格式化模型返回的数据,并通过视图呈现给用户。 通过MVC的学习,我们要知道它是用来分割页面和数据库访问的框架,降低了两者的耦合度,...

2015-01-27 07:58:52

阅读数 67529

评论数 57

如何做一名优秀的程序员

我们都听说过这样一个故事,说有人问三个砌砖工人:"你们在做什么 "第一个工人说:"我正在砌砖。"第二个工人说:"我正在赚钱。"第三个工人却说:"我正在建造世界上最富有特色的房子。"               故事的结...

2013-08-17 21:14:50

阅读数 1834

评论数 29

JVM——深入解析原理和运行机制(一)类加载器

待定

2017-09-28 21:42:11

阅读数 368

评论数 1

JVM——深入解析原理和运行机制(一)类加载过程

       隔了好久终于把这篇文章补上了,最近在看《深入理解Java虚拟机》,一本很不...

2017-09-28 21:41:46

阅读数 464

评论数 1

JVM——深入解析之初识

之前我们已经学习了多线程的相关概念原理以及线程池的管理等,但是要想明白线程的运行过程还需要了解jvm的知识,今天,我们就来介绍一下jvm。 1、什么是JVM       JVM是Java Virtual Machine(Java虚拟机)的缩写,每个使用Java的开发 ~~~~~ ...

2017-08-31 22:43:42

阅读数 339

评论数 0

多线程——并发锁的集结号

上次我们说了一下多线程的管理,今天我们来看一下多线程的锁。 1、不同的加锁方式 类锁:在代码中的方法上加了static和synchronized的锁,或者synchronized(xxx.class)的代码段 对象锁:在代码中的方法上加了synchronized的锁,或者synchronized(...

2017-08-27 22:28:42

阅读数 416

评论数 2

多线程——Java线程池原理深入

上次我们简单了解了一下什么是线程池以及Java中几种类型的线程池,今天我们来深入剖析一下线程池的原理。 1、构造       1. 线程池管理器(ThreadPoolManager):用于创建并管理线程池 ············· 通过这次学习,我们不仅知道了线程...

2017-07-31 23:23:32

阅读数 2870

评论数 0

多线程——java线程池简介

上次我们回忆了多线程的基础概念,今天,我们来看看Java中对线程池的使用。 一、线程池1、为什么需要       在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。在Java中更是如此,虚拟机将试图跟踪每 ········· ...

2017-07-31 23:22:31

阅读数 361

评论数 0

多线程——临界区-锁

今天,我们接着上次说的,来继续回顾一下多线程的基础—临界区和锁····· 今天我们主要是通过临界区的说明,来引出锁的一些问题。我们要知道死锁的危险始终存在,但是我们应该尽量减少这种危害存在的范围,多线程是一把双刃剑,有了效率的提高当然就有死锁的危险。所以我们要尽量多了解这些方面的知识,让自...

2017-06-30 22:02:04

阅读数 453

评论数 0

多线程——同步-异步-阻塞-非阻塞

呵呵,好久没写博客了,今天让我们来回顾一下多线程的一些基础知识。一、同步和异步 1、同步(synchronous)所谓同步,就是············· 总之,我们只要知道阻塞和非阻塞是做事情时的状态,是针对请求者来说的,而同步和异步是消息通信的机制,是针对被请求者来说的...

2017-06-30 22:01:28

阅读数 495

评论数 0

多线程为什么要用ConcurrentHashMap

上次我们说了一下项目中经常会出现的死锁问题,今天我们要说的是关于集合的问题,实际上跟锁也有一定的关系,让我们来一起看看吧。 这个类其实在我们项目中的缓存使用到了,利用ConcurrentHashMap来存放一些常用的信息,由于是在并发的情况下使用,考虑到性能的问题,优先选用Concurr...

2016-10-25 18:45:59

阅读数 1958

评论数 3

死锁剖析

最近在项目中出现了很多问题,最为常见的就是死锁问题,今天我们来看看死锁究竟是怎么回事。 死锁在我们工作中是经常遇到的,所以我们不仅要学会怎么去处理,还要了解其中是为什么出的问题。这叫知其然还要知其所以然。

2016-10-20 22:03:11

阅读数 563

评论数 5

MySQL提升效率之limit

分页查询在我们的实际工作中经常会遇到,但是对于不同的数据库,分页查询的实现方式也不一样。而在MySQL中的分页就是靠limit实现的,可是limit的效率怎么样呢,我们来看看。 我们在写代码的过程中,不仅要关注功能的实现,还要考虑其性能的优化。如何写出高质量的代码,那需要我们多看源码,多思...

2016-09-26 11:42:17

阅读数 1635

评论数 2

如何使用才能让缓存更高效

在大数据下,我们在追求性能的时候往往离不开缓存的使用,可是怎么使用缓存才能更高效呢?这一直是我们在追求解决的一个问题,今天我们就来介绍一种比较高效的使用方法。 我们在性能优化的时候总是要考虑数据库的性能,因为在数据爆炸的这个年代,我们系统的瓶颈都在数据库。所以降低了数据库的损耗就会是性能得...

2016-07-27 09:55:47

阅读数 721

评论数 2

String.format参加字符串拼接大比拼

最近在项目中见到一个比较特别的代码,因为之前没见过,可能是孤陋寡闻了。我们平时用的最简单的字符串拼接就是用“+”号连接起来,要么我们就实例化一个StringBuilder或StringBuffer,然后拼接字符串。可是我见到的居然是用String.format将字符串拼起来的。那么我们就来看看到底...

2016-07-25 10:58:10

阅读数 13749

评论数 7

MyBatis的优化注意点

我们在项目中经常会用到Mybatis,可是我们怎么才能灵活的应用mybatis,使我们的程序性能更好呢?接下来我们就来看看这几个点。1、批量操作       每个工具都有他试用的范围,需要根据我们的实际情况灵活应用。而且每个问题都有很多方法,我们要多思考那些简单、可用、高效的方法。不断思考,才...

2016-07-13 21:26:51

阅读数 7053

评论数 0

大数据的仓库Hive原理(三)

上次我们简单说了一下Hive的工作原理,今天我们来深入看一下它是如何把Hql语句转换为m/r来运行的。 我们从认识Hive到理解它的运行原理,已经对其有了一定的了解。当然在实际应用中还会遇到各种问题,只要我们坚持去做,就没有什么做不到的。

2016-06-29 18:31:52

阅读数 2017

评论数 1

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