自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (4)
  • 收藏
  • 关注

原创 JUC并发编程基石AQS之Condition解析

从上一篇文章我们知道了,Lock接口代替了synchronize用于并发编程的加锁解锁,那么Object monitor的wait、notify功能谁能代替呢,就是我们这篇文章介绍的Condition。Object的wait、notify是用来做资源状态判断的,比如生产者-消费者模式,消费者获取到了锁,还需要有资源可以消费才能继续执行。当资源不足时,当前线程可以休眠,不用浪费cpu,当生产者生产后,再通知等待资源的消费者去消费。代码结构顶级接口public interface Condition {

2020-06-20 17:54:17 193

原创 JUC并发编程基石AQS之主流程源码解析

前言由于AQS的源码太过凝练,而且有很多分支比如取消排队、等待条件等,如果把所有的分支在一篇文章的写完可能会看懵,所以这篇文章主要是从正常流程先走一遍,重点不在取消排队等分支,之后会专门写一篇取消排队和等待条件的分支逻辑。读源码千万别在每个代码分支中来回游走,先按一个正常的分支把流程看明白,之后再去重点关注其他分支,各个击破。我相信看完正常流程,你再去分析其他分支会更加得心应手。执行流程AQ...

2020-04-25 21:00:41 243

原创 JUC并发编程基石AQS源码之结构篇

JUC并发编程基石AQS源码之结构篇前言AQS(AbstractQueuedSynchronizer)算是JUC包中最重要的一个类了,如果你想了解JUC提供的并发编程工具类的代码逻辑,这个类绝对是你绕不过的。我相信如果你是第一次看AQS源码肯定是一脸懵逼,一个个方法跳来跳去一会就绕蒙了。所以把整个代码骨架搞明白是你看懂AQS源码的第一步。本篇文章只说代码结构,之后的篇章会讲解AQS具体的执行逻...

2020-04-19 13:57:33 287

原创 通过自己实现接口来加深理解SpringMVC的执行流程

功能介绍上篇文章通过接口源码向大家介绍了SpringMVC的执行流程,这篇文件我们来自己实现那几个关键接口,来真实体验下SpringMVC关键的流程,以此来加深理解。功能很简单,通过过问一个地址 /mymvc 来自动跳转到工程首页,但是我们不用SpringMVC自带的Controller等组件,完全自己手动开发。工程结构如下图代码流程将自定义的实现类放入Ioc容器中。@Configura...

2020-01-15 22:19:03 100

原创 从源码角度了解SpringMVC的执行流程

从源码角度了解SpringMVC的执行流程SpringMVC的执行流程网上有很多帖子都有讲解,流程图和文字描述都很详细,但是你如果没有通过具体源码自己走一遍流程,其实只是死记硬背。所以想开个帖子从源码角度再梳理一遍SpringMVC的执行流程,加深印象。文章目录从源码角度了解SpringMVC的执行流程SpringMVC介绍源码分析思路源码解读几个关键接口和类HandlerMappingHan...

2020-01-11 18:28:46 150

原创 JUC并发编程基石AQS之中断

前几篇介绍AQS源码都是基于正常流程来分析,把主要流程走了一遍,但是在看源码时发现好多逻辑都没走到,其中最重要的当属线程的中断以及节点在什么情况下会取消排队,这篇文章我们还是拿具体例子来分析一下。中断首先简单说一下线程的中断。**java线程中,中断只是一个状态,中断线程只是设置了中断状态,并不是立刻将线程中断停止。**响应中断是取决于你自己代码逻辑中是否会判断中断状态,如果你不判断中断状态,那么设置了中断其实也没有影响,只是告诉你线程被中断过,让开发者可以自主选择处理中断的逻辑。下面简单介绍下几个重要

2020-06-27 14:51:13 1017 2

原创 JUC并发编程基石AQS源码之结构篇-ReentrantLock

JUC并发编程基石AQS源码之结构篇-ReentrantLock上篇文章JUC并发编程基石AQS源码之结构篇我们整体了解了JUC下加锁类的代码结构,这篇我们来看下ReentrantLock的代码结构,之后讲解AQS源码也主要以这个类为主。实现Lock接口首先是实现了Lock接口,实现了加锁方法lock(),这里没有调用AQS的acquire方法,往下看public class Reentr...

2020-04-19 14:30:32 239

原创 流程图+源码方式理解Spring如何解决循环依赖

抛个问题为什么构造器的循环依赖不能解决,setter循环依赖可以解决?构造器的依赖,自定义了构造方法,且构造方法中依赖其他Bean。public class BeanC { private BeanA beanA; public BeanC(BeanA beanA) { this.beanA = beanA; }}前驱知识点我们平常使用最多...

2020-04-11 16:54:11 286

原创 Thread基础知识

Thread基础知识java程序中只有一种途径去启动一个线程,即调用Thread类的start()方法。java中的线程状态在Thread类中有一个内部的枚举类State描述了线程的各个状态。public enum State { /** * 线程创建但未启动时会处于此状态 */ NEW, /** ...

2020-04-05 20:20:32 219

转载 8张图理解java

原文链接: programcreek 翻译: ImportNew.com - era_misa译文链接: http://www.importnew.com/11725.html[ 转载请保留原文出处、译者和译文链接。]

2014-06-15 17:38:15 531

转载 oracle 用户管理

很久以前装了Oracle,今天终于下决心要学一学了,结果一上午的时间就贡献给如何连接数据库上了忘记用户名和密码的解决办法" title="Oracle 忘记用户名和密码的解决办法" style="margin:0px; padding:0px; border:0px; list-style:none">忘记了安装时设置的用户名和密码怎么办?查了下网上的资料,终于解决了!方法一:

2014-01-18 00:23:00 600

原创 oracle学习笔记

表为emp,dept网页sql:http://localhost:port/isqlplus/sqlplus SYSTEM/密码 as sysdba;alert user scott account unlock;conn scott/tiger;clear scr;查看表结构desc table名oracle 中专门有一张空表供开发人员使用,用来算各种各样表达式。

2014-01-16 16:29:45 543

原创 linux学习笔记

在linux下所有的硬件都被认为是一个文件根目录为 /改变目录用cd命令 如 cd /要查看本机硬件信息,需要转到dev目录 cd dev查看文件列表 用ls命令 ls硬件信息格式为 xxYNxx 为硬件名称,Y为第几个硬盘,N为分区信息(主分区和扩展分区从1到4,逻辑分区从5开始)如;hda2 为ide硬盘的第一块硬盘的第二个主分区

2014-01-16 16:26:57 439

原创 项目中的琐碎注意事项与技巧

1、重新部署还是服务器重启?建议使用服务器重启,因为重新部署后,原来的旧的项目并没有删除,可能会导致内存泄露的问题。2.在myeclipse中拷贝项目,并不只是修改了项目名称就可以。因为项目的webContext路径还是你原来拷贝项目的路径名称。选择你拷贝的项目,右键-properties-myeclipse-web中修改web context-root内容。

2014-01-15 04:00:11 552

原创 struts2 中ognl表达式

这些天写项目用到ognl表达式,在此总结,持续更新。在此不写那些晦涩难懂的定义,纯属个人理解。弄懂ognl必须知道什么是ActionContext,个人认为ActionContext是装各种action和jsp中基本的对象的容器,为map类型。可在页面中使用标签来查看里面具体内容,加深理解。ActionContext是以栈形式存在,其中有一个特殊的堆栈为值栈(在栈顶),里面存放ac

2014-01-14 02:20:09 603

转载 Apache Log4j配置说明

Apache Log4j配置说明本文详细介绍Log4j的所有配置属性。author: ZJ 07-3-17Blog: [url]http://zhangjunhd.blog.51cto.com/[/url]1.Log4j简介Log4j是Apache的一个开源项目,它允许开发者以任意间隔输出日志信息。Log4j主要由三大类组件构成:1)Logger-负责输出日志信息,并能够对

2014-01-13 02:26:27 625

原创 项目实战

配置ssh环境配置日志环境编写dao分析功能 有几个action 对应几个jsp jsp重定向还是转发编写service

2014-01-13 02:18:22 620 1

原创 java学习博客

学习java已有几个月的时间了,不过对于知识点的整理还是不够,所以今天开通博客把自己所学的知识进行整理,记录。每日更新。

2014-01-12 13:19:11 563

安装office2007时,弹出windows installer 服务不能更新一个或多个受保护的windows文件

安装office2007时,弹出windows installer 服务不能更新一个或多个受保护的windows文件

2014-05-03

网上商城模版-Java

网上商城模版,网站是采用Java的目录格式,只有前台页面,后台可自己添加代码。

2014-03-27

mysql5数据库与图形化客户端附加数据库jar包

文件内包括MySQl数据库与MySQL图形化客户端以及链接mysql的jar包,非常适用于自学数据库以及java。 初学者一定先在命令行内写sql语句,图形化客户端只是工具,方便快捷。

2014-01-14

Java十大经典案例》源码.rar

java经典 create procedure modify_sc as begin declare cur_sc cursor for select sno,cno,grade from sc; /*检出所有课程的学生成绩取到游标中;*/ declare @ssno char(10),@ccno char(10),@ggrade float; declare @class char(10); open cur_sc; fetch next from cur_sc into @ssno,@ccno,@ggrade; /*从游标中逐一取出成绩判断,根据成绩分数段,确定等级;*/ while @@fetch_status = 0 begin if @ggrade <60

2013-05-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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