线程基础知识系列(四)线程的同步2 :线程的notify-wait通信机制,以及Condition条件变量线程基础知识系列(三)线程的同步 :同步控制,锁及synchronized线程基础知识系列(二)线程的管理 :线程的状态,控制,休眠,Interrupt,yield等线程基础知识系列(一)线程的创建和启动 :线程的创建和启动,join(),daemon线程,
本文是系列的第四篇。线程基础知识系列(三)线程的同步 :同步控制,锁及synchronized线程基础知识系列(二)线程的管理 :线程的状态,控制,休眠,Interrupt,yield等线程基础知识系列(一)线程的创建和启动 :线程的创建和启动,join(),daemon线程,Callable任务。第三篇文章,重点阐述了如何使用锁和同步块对线程间共享可变变量保护,保证只有一
本文是系列的第三篇,前面2篇,主要是针对单个线程如何管理,启动等,没有过多涉及多个线程是如何协同工作的。线程基础知识系列(二)线程的管理 :线程的状态,控制,休眠,Interrupt,yield等线程基础知识系列(一)线程的创建和启动 :线程的创建和启动,join(),daemon线程,Callable任务。本文的主要内容何谓线程安全?何谓共享可变变量?认识synchronized关键
本篇是线程基础知识系列的第二篇,主要说下线程管理相关知识点。线程基础知识系列(一)线程的创建和启动:说明了线程的2种创建和启动,join(),daemon线程,Callable 任务。本文的主要内容线程的状态线程的优先级sleep vs wait线程的流程控制Interruptyield让出你的CPU1.线程的状态以《线程基础知识系列(一)线程的创建和启动》这张图,是程序的运行时线程信息截图。有m
并发编程式JAVA的一个相对较复杂的模块。纵观各招聘网站的要求,纷纷要求要具备高并发,高性能开发经验。这一块的知识,不得不学啊。学习并发有断断续续,有很长一段时间了,相关并发书籍也看了不少。感觉有些收获,特开系列文章,分享下自己的学习收获。线程的内容涉及的内容特别多,仅几篇文章不可能透彻阐明,个人又不喜欢弄个大块头文章,所以还是做个系列文章吧。作为系列的第一篇,本章主要内容:线程VS进程并行VS并
本章是Spring Data系列的第三篇。系列文章,重点不是讲解JPA语法,所以跑开了JPA的很多语法等,重点放在环境搭建,通过对比方式,快速体会Spring 对JPA的强大功能。准备代码过程中,保持了每个例子的独立性,和简单性,准备的源码包,下载即可使用。如果,对JPA语法想深入研究的话,直接下载在此基础上进行测试。前言Spring Data 系列(一) 入门:简单介绍了原生态的SQL使用,以及
通过【Spring Data 系列(一) 入门】的介绍,通过对比的方式认识到Spring提供的JdbcTemplate的强大功能。通过使用JdbcTemplate,操作数据库,不需要手动处理Connection,Statement等底层SQL对象。可是,Spring对数据库的操作还远远没有结束。本章主要介绍Spring 对JPA的支持。主要内容简单介绍JPASpring Hibernate JPA
认识一个框架的用途和作用,其实很简单。反其道而行之,如果不用某框架,我们的开发工作会怎么样?我们必须要做那些额外的工作。为了保证系列的完整性,也专门写一篇文章,作为本系列的引子。考虑到简单性和专一性,本文准备的例子,弱到几点。主要功能通过比对,了解spring JdbcTemplate的功能,作为Spring Data的入门。搭建一个实验的例子,作为将来学习Spring Data的基础。暂时不考虑
本文主要演示如何使用Spring Boot加速应用开发的。你可以访问Spring Initializr,快速构建属于你自己的基于Spring Boot的应用。如图,一键即可生成项目。1.开始构建项目1.1)项目结构1.2 pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http
题记最近对netty有了兴趣,现在官方推荐版本是netty4.*,但是纵观网络,大部分都是关于netty3.x的知识。最好的学习,莫过于通过官方文档进行学习,系统,透彻,权威,缺点是英文。本文,算做自己学习netty的第一篇,总体思路与User guide for 4.x基本一致,本篇文章不是严格意义的翻译文章。开始了...1.前言1.1 问题现 在,我们使用通用的应用程序和程序库,进行互相交流。
死磕Spring AOP系列3:剖析Bean处理器之DefaultAdvisorAutoProxyCreator死磕Spring AOP系列2:剖析Bean处理器之BeanNameAutoProxyCreator死磕Spring AOP系列1:编程式实现AOP死磕Spring AOP系列4:剖析AOP schema方式原理 通过前面的死磕,应该对AOP的原理都掌握了。annotation配置AOP
这个是《死磕Spring AOP系列》第4个。已经讲过的内容死磕Spring AOP系列3:剖析Bean处理器之DefaultAdvisorAutoProxyCreator死磕Spring AOP系列2:剖析Bean处理器之BeanNameAutoProxyCreator死磕Spring AOP系列1:编程式实现AOP通过前3篇,大家应该可以清楚的知道:AOP代理原理有3元素BeanPostPro
导航死磕Spring AOP系列1:编程式实现AOP 死磕Spring AOP系列2:剖析Bean处理器之BeanNameAutoProxyCreator这是<死磕Spring AOP系列>的第三篇。经过前面的讲解,已经掌握了以下知识点Spring AOP的底层支持,是基于ProxyFactory+ProxyConfig+Advisor生成的Spring容器的代理对象生成:在Bean
通过前一篇<死磕Spring AOP系列1:编程式实现AOP>,学习了Spring对代理的底层支持,认识了ProxyFactory对象,及从类设计层面认识了PointCut&Advisor&Advice&Interceptor,还认识了AdvisorChainFactory对象,知道了底层Advisor的底层链式结构。但是,上篇我们仅仅是通过Spring编程式实
作为【死磕Spring AOP】系列的第一篇, 这个系列是AOP源码分析级别的文章。由于现在AOP已经不是什么高深的技术,网上的例子也比比皆是,不论是xml schema,还是annotation声明式。相信用过Spring的朋友,都可以信手拈来。本系列文章的原则如何配置AOP不是重点AOP相关概念讲解不是重点AOP 底层代码设计才是重点本篇的主要内容认识ProxyFactory,并通过该工厂类,
经过死磕Tomcat7源码之一:解析web.xml,已经知道webapp的配置信息是如何解析到内存中。接下来,就是如何将对应的组件对象初始化化。分析所有的组件初始化过程,根本不可能。本文重点针对阐明3个主要组件的初始化过程,分别是:servlet,listener,filter。通过本文,你可以掌握以下知识点了解组件初始化调用序列组件servlet,listener,filter组件的初始化顺序l
熟悉java web开发的同学都清楚,tomcat作为一款非常流行的servlet容器,开源,流行,配置简单,不需要赘述。个人认为,web.xml作为webapp的入口,弄清楚该文件的底层解析过程,进而可以窥探tomcat的底层工作机制,搞明白tomcat对servlert规范的实现机理。通过本文,可以知道以下部分内容webapp部署3种部署方式webapp web.xml解析流程webapp C
经过前面说明,已经完成了CAS服务器的搭建,代理客户端的搭建以及普通客户端,back-end-service客户端的搭建。如果不明白的,参照如下链接。JAVA CAS单点登录之一:搭建CAS服务器 JAVA CAS单点登录之二:CAS普通模式1演练JAVA CAS单点登录之三:CAS代理模式演练 现在的CAS服务器认证功能弱到爆了,使用模式自带的认证Handler,用在模拟测试玩玩上课,用在系统中
前言 JAVA CAS单点登录之一:搭建CAS服务器 JAVA CAS单点登录之二:CAS普通模式1演练 代理模式相相对上一节的普通模式,更加复杂了。但配置起来也会稍微有些差别。所谓难者不会,会者不难。如果遇到一个从来没有遇到的问题,解决起来也是非常棘手的,当然解决之后就不是事了。我就遇到了一个CAS 坑爹的错误。一步步按照别人的博客坐
前言经过上一JAVA CAS单点登录之一:搭建CAS服务器 这一章,CAS服务器已经搭建好了。当然这时候的CAS服务器仅仅是最初版本的。比如密码验证,页面美观度都需要进一步调整。但这都是无关紧要的。最主要的是先把整个一套认证流程走下来,至于完善的工作,都是没个点的工作了,相对比较简单。主要内容 1. 新建一个web应用mywebapp1,测试与CAS服务器的认证效果&nbs
前言这一段时间,心血来潮研究了下CAS这个应用。对它感兴趣,几年前就有过,就是一直没有踏实好好研究,一直是断断续续的纸上谈兵,东看看,西看看。CAS说白了主要涉及权限认证相关,逻辑非常简单。但真正部署起来,也不是一件容易事。我想主要原因如下。由于知名原因,访问官网非常有难度,系统全面地获取资料非常难,且中文资料更少国内虽然已经有很多博客论坛已经分享了很多部署步骤和认证流程,但一步步真正演练起来,非
如果硬性理解Spring BeanFacotry分别是什么含义,有点苦涩。可以逆向思考一下。把这些工厂想象成一个裁缝,会方便理解些。 ConfigurableBeanFactory:你对要求衣服的样式要求 ListableBeanFactory:需求材料清单 AutowireCapableBeanFactory:缝纫机,针线工具 HierarchicalBeanFactory: 套装使用 ConfigurableListableBeanFactory:裁缝的助手
通过第2章的介绍,应该知道Spring如何从XML一步步解析成BD对象并注册到容器中,这一过程有个概要认识了。接下来开始详细分析与XML相关的那些事。首先看一下使用的XML文档。<?xmlversion="1.0"encoding="UTF-8"?> <beansxmlns="http://www.springframework.org/schema/beans" &
书接上回。到现在环境已经配置完毕,已经可以跑一个简单的HELLOWORLD了。正式进入源码阅读的阶段。使用过Spring的都知道,我们只需要在配置文件中配置好对象规则(比如类,依赖,属性...),然后我们就可以在程序中使用对象了。我们可以做一个假设,如果让我们写一个程序,根据XML配置信息,生成想要的对象。可以简单想象成:XML:某产品的设计图纸工厂类:生产流水线对象:想要的产品。生产流水线,想要
死磕Spring系列前言死磕spring系列博客,是对Spring进行源码级阅读。工作以来,一直接触spring框架,可以说对spring框架的配置使用已经非常熟练了。个人感觉:Spring技术非常强大,简单的xml标签配置,就可以开启非常强大的支持功能,囊括J2EE企业应用的方方面面。使用归使用,但是却对spring底层设计和实现,一知半解。“到底是什么优秀的设计,能让Spring无所不能,无所
一些不得不说的概念JVMJVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。是运行java应用最底层部分。J
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号