加载中
Spring AOP切点表达式详解

1. 简介 面向对象编程,也称为OOP(即Object Oriented Programming)最大的优点在于能够将业务模块进行封装,从而达到功能复用的目的。通过面向对象编程,不同的模板可以相互组装,从而实现更...

多线程编程之两阶段终止模式

对于多线程编程,如何优雅的终止子线程,始终是一个值得考究的问题。如果直接终止线程,可能会产生三个问题: 子线程当前执行的任务可能必须要原子的执行,即其要么成功执行,要么就不执行;...

Spring自定义标签解析与实现

在Spring Bean注册解析(一)和Spring Bean注册解析(二)中我们讲到,Spring在解析xml文件中的标签的时候会区分当前的标签是四种基本标签(import、alias、bean和beans)还是自定义标签,如果是...

Spring Bean注册解析(二)

在上文Spring Bean注册解析(一)中,我们讲解了Spring在注册Bean之前进行了哪些前期工作,以及Spring是如何存储注册的Bean的,并且详细介绍了Spring是如何解析xml文件的四种基本标签中的impor...

多线程编程之保护性暂挂模式

保护性暂挂模式,也称为Guarded Suspension模式,指的是当前线程在执行某个任务之前,需要检查某一条件,只有在该条件成立的情况下,当前线程才可以继续往下执行当前任务。顾名思义,保护性暂...

Java多线程编程之不可变对象模式

在多线程环境中,为了保证共享数据的一致性,往往需要对共享数据的使用进行加锁,但是加锁操作本身就会带来一定的开销,这里可以使用将共享数据使用不可变对象进行封装,从而避免加锁操作。 ...

Spring Bean注册解析(一)

Spring是通过IoC容器对Bean进行管理的,而Bean的初始化主要分为两个过程:Bean的注册和Bean实例化。Bean的注册主要是指Spring通过读取配置文件获取各个bean的声明信息,并且对这些信息进行注...

05/12 11:44
110
代理模式实现方式及优缺点对比

代理模式最典型的应用就是AOP,本文结合主要讲解了代理模式的几种实现方式:静态代理和动态代理,这里动态代理又可以分为jdk代理和Cglib代理,另外,本文也对这几种代理模式的优缺点进行了对...

如何在静态方法或非Spring Bean中注入Spring Bean

在项目中有时需要根据需要在自己new一个对象,或者在某些util方法或属性中获取Spring Bean对象,从而完成某些工作,但是由于自己new的对象和util方法并不是受Spring所管理的,如果直接在所依...

Spring的bean创建详解

IoC容器,又名控制反转,全称为Inverse of Control,其是Spring最为核心的一个组件,其他的组件如AOP,Spring事务等都是直接或间接的依赖于IoC容器的。本文主要讲解IoC容器所管理的bean的几种...

hive常用语法示例

1. 建表语句 create table page_view( viewTime INT, userId BIGINT, pageUrl STRING, refererUrl STRING, ip STRING COMMENT 'ip address of user' ) COMMENT 'This is the page...

02/25 18:41
244
虚拟机搭建Hadoop集群

虚拟机搭建Hadoop集群 安装包准备 操作系统:ubuntu-16.04.3-desktop-amd64.iso 软件包:VirtualBox 安装包:hadoop-3.0.0.tar.gz,jdk-8u161-linux-x64.tar.gz 1. 环境准备 使用VirtualBox和...

记一次线上gc调优的过程

近期公司运营同学经常表示线上我们一个后台管理系统运行特别慢,而且经常出现504超时的情况。对于这种情况我们本能的认为可能是代码有性能问题,可能有死循环或者是数据库调用次数过多导致接...

01/27 09:44
316
ScheduledThreadPoolExecutor详解

本文主要分为两个部分,第一部分首先会对ScheduledThreadPoolExecutor进行简单的介绍,并且会介绍其主要API的使用方式,然后介绍了其使用时的注意点,第二部分则主要对ScheduledThreadPoolEx...

数据库索引创建与优化

对于数据库的优化主要包括三个部分:查询优化、索引优化和字段类型优化,其中,索引优化则是数据库优化的重中之重。一个查询使用索引与不使用索引的差别可能只在100个数量级,而一个好的索引...

ThreadPoolExecutor详解

本文讲解了ThreadPoolExecutor的主要api,线程池调度方式,以及核心方法的实现原理

CountDownLatch详解

CountDownLatch中count down是倒数的意思,latch则是门闩的含义。整体含义可以理解为倒数的门栓,似乎有一点“三二一,芝麻开门”的感觉。CountDownLatch的作用也是如此,在构造CountDownLa...

ThreadLocal详解

ThreadLocal在java.lang包中,其主要作用是提供一个和线程绑定的变量环境,即通过ThreadLocal在一个线程中存储了一个变量之后,再在另一个线程中使用同一个ThreadLocal对象设置值,第二个线程...

2017/12/23 11:45
29
ReentrantReadWiteLock详解

对于一般的锁,如ReentrantLock,其一般都是“独占式”的,也即在同一时刻只有一个线程能够访问锁定的代码。如果对于共享资源的访问“读”多于“写”,那么独占锁将没有“读写锁”有效。所谓...

2017/10/05 10:01
203
记录一次通过性能日志处理线上性能问题的过程

在项目发展初期,可能由于数据量和用户访问量的原因,系统不会出现性能问题,但是随着项目发展,数据量发生具体变化,系统访问量也不断增多,此时对代码的优化就显得迫在眉睫。本文首先讲解如...

2017/09/25 09:29
484

没有更多内容

加载失败,请刷新页面

下一页

返回顶部
顶部