自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

怀素的专栏

桃之夭夭,灼灼其华

  • 博客(20)
  • 资源 (14)
  • 收藏
  • 关注

转载 项目经理责任

1、对复杂问题,会去考虑“怎么思考”,再去思考要思考的问题。2、能够从操作层面、细节层面考虑计划的可行性,并主动征求他人意见。3、时刻关注质量,深信质量是决定成败的要素。4、众说纷纭的时候,会选择到现场获得一手资料,独立思考和判断。5、先设想事情最坏的结局是什么,再努力避免无法挽回的错误。6、遇到困难时积极寻找解决问题的方法,而不是找“行不通”的借口。

2013-06-27 20:12:52 575

原创 ORA-03113: 通信通道的文件结束

启动数据报错SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 6月 27 17:40:21 2013Copyright (c) 1982, 2005, Oracle.  All rights reserved.已连接到空闲例程。SQL> startup mount;ORACLE 例程已经启动。T

2013-06-27 17:41:04 849

原创 代码问题讨论

最近同事们一直在讨论代码问题:1.代码在经过3人以上的维护,冗余堆砌,重复的复制粘贴随处可见。2.代码分层问题:Service层与Dao层中间基本没有业务处理,Service层直接返回Dao的结果,建议直接在Service层封装SQL语句,系统只需要一个通用Dao的。3.项目以功能分割,导致模块不清晰。4.基础代码混乱,开发人员到处写自己的方法,重用性太少,不便维护。解

2013-06-26 12:03:47 609

原创 网络事故分析

Linux系统下的WEB应用突然无法访问,发现IP也Ping不通,通过其他网段可以访问这台服务器。1.怀疑应用有问题,端口未监听netstat -nutlop 检查端口是监控状态2.怀疑路由有问题1.命令格式:route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Met

2013-06-19 09:48:58 1073

转载 聊聊并发(六)——ConcurrentLinkedQueue的实现原理分析

1. 引言在并发编程中我们有时候需要使用线程安全的队列。如果我们要实现一个线程安全的队列有两种实现方式:一种是使用阻塞算法,另一种是使用非阻塞算法。使用阻塞算法的队列可以用一个锁(入队和出队用同一把锁)或两个锁(入队和出队用不同的锁)等方式来实现,而非阻塞的实现方式则可以使用循环 CAS 的方式来实现,本文让我们一起来研究下 Doug Lea 是如何使用非阻塞的方式来实现线程安全队列 Conc...

2013-06-13 11:09:43 727

转载 聊聊并发(五)——原子操作的实现原理

1. 引言原子(atom)本意是“不能被进一步分割的最小粒子”,而原子操作(atomic operation)意为"不可被中断的一个或一系列操作" 。在多处理器上实现原子操作就变得有点复杂。本文让我们一起来聊一聊在 Intel 处理器和 Java 里是如何实现原子操作的。2. 术语定义术语 英文 解释 缓存行 Cache line 缓存的最小操作单位 比...

2013-06-13 11:08:42 875

转载 聊聊并发(四)——深入分析ConcurrentHashMap

术语定义术语 英文 解释 哈希算法 hash algorithm 是一种将任意内容的输入转换成相同长度输出的加密方式,其输出被称为哈希值。 哈希表 hash table 根据设定的哈希函数 H(key) 和处理冲突方法将一组关键字映象到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,这种表称为哈希表或散列,所得存储位置称为哈...

2013-06-13 11:02:45 649

转载 聊聊并发(三)——JAVA线程池的分析和使用

1. 引言合理利用线程池能够带来三个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。但是要做到合理的利用线程池,必须对其原理了如指掌。2. 线...

2013-06-13 10:57:57 680

转载 聊聊并发(二)——Java SE1.6中的Synchronized

1 引言在多线程并发编程中 Synchronized 一直是元老级角色,很多人都会称呼它为重量级锁,但是随着 Java SE1.6 对 Synchronized 进行了各种优化之后,有些情况下它并不那么重了,本文详细介绍了 Java SE1.6 中为了减少获得锁和释放锁带来的性能消耗而引入的偏向锁和轻量级锁,以及锁的存储结构和升级过程。2 术语定义 术语 英...

2013-06-13 10:55:55 675

转载 聊聊并发(一)——深入分析Volatile的实现原理

引言在多线程并发编程中 synchronized 和 Volatile 都扮演着重要的角色,Volatile 是轻量级的 synchronized,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。它在某些情况下比 synchronized 的开销更小,本文将深入分析在硬件层面上 Inter 处理器是如何实现 Vola...

2013-06-13 10:52:52 750

转载 JVM执行篇:使用HSDIS插件分析JVM代码执行细节

在《Java虚拟机规范》之中,详细描述了虚拟机指令集中每条指令的执行过程、执行前后对操作数栈、对局部变量表的影响等细节。这些细节描述与Sun的早期虚拟机(Sun Classic VM)高度吻合,但随着技术的发展,高性能虚拟机真正的细节实现方式已经渐渐与虚拟机规范所描述产生越来越大的差距,虚拟机规范中的描述逐渐成了虚拟机实现的“概念模型”——即实现只能保证规范描述等效。基于上面的原因,我们分析程...

2013-06-13 10:48:46 735

转载 内存屏障与JVM并发

内存屏障,又称内存栅栏,是一组处理器指令,用于实现对内存操作的顺序限制。本文介绍了内存屏障对多线程程序的影响。我们将研究内存屏障与JVM并发机制 的关系,如易变量(volatile)、同步(synchronized)和原子条件式(atomic conditional)。本文假定读者已经充分掌握了相关概念和Java内存模型,不讨论并发互斥、并行机制和原子性。内存屏障用来实现并发编程中称为 可见性(v...

2013-06-13 10:45:59 732

转载 Java 并发核心编程

1、关于java并发自从java创建以来就已经支持并发的理念,如线程和锁。这篇指南主要是为帮助java多线程开发人员理解并发的核心概念以及如何应用这些理念。本文的主题是关于具有java语言风格的Thread、synchronized、volatile,以及J2SE5中新增的概念,如锁(Lock)、原子性(Atomics)、并发集合类、线程协作摘要、Executors。开发者通过这些基础的接

2013-06-04 14:08:10 790

转载 深入理解Java内存模型(七)——总结

处理器内存模型顺序一致性内存模型是一个理论参考模型,JMM 和处理器内存模型在设计时通常会把顺序一致性内存模型作为参照。JMM 和处理器内存模型在设计时会对顺序一致性模型做一些放松,因为如果完全按照顺序一致性模型来实现处理器和 JMM,那么很多的处理器和编译器优化都要被禁止,这对执行性能将会有很大的影响。根据对不同类型读 / 写操作组合的执行顺序的放松,可以把常见处理器的内存模型划分为下面...

2013-06-04 12:55:30 594

转载 深入理解Java内存模型(二)——重排序

数据依赖性如果两个操作访问同一个变量,且这两个操作中有一个为写操作,此时这两个操作之间就存在数据依赖性。数据依赖分下列三种类型:名称 代码示例 说明 写后读 a = 1;b = a; 写一个变量之后,再读这个位置。 写后写 a = 1;a = 2; 写一个变量之后,再写这个变量。 读后写 a = b;b = 1; 读一个变量之后,...

2013-06-04 10:13:44 667

转载 深入理解Java内存模型(六)——final

与前面介绍的锁和 volatile 相比较,对 final 域的读和写更像是普通的变量访问。对于 final 域,编译器和处理器要遵守两个重排序规则:在构造函数内对一个 final 域的写入,与随后把这个被构造对象的引用赋值给一个引用变量,这两个操作之间不能重排序。 初次读一个包含 final 域的对象的引用,与随后初次读这个 final 域,这两个操作之间不能重排序。下面,我们通过一些示...

2013-06-04 10:04:59 654

转载 深入理解Java内存模型(五)——锁

锁的释放 - 获取建立的 happens before 关系锁是 java 并发编程中最重要的同步机制。锁除了让临界区互斥执行外,还可以让释放锁的线程向获取同一个锁的线程发送消息。下面是锁释放 - 获取的示例代码:class MonitorExample { int a = 0; public synchronized void writer() { //1 ...

2013-06-04 10:03:49 699

转载 深入理解Java内存模型(四)——volatile

volatile 的特性当我们声明共享变量为 volatile 后,对这个变量的读 / 写将会很特别。理解 volatile 特性的一个好方法是:把对 volatile 变量的单个读 / 写,看成是使用同一个监视器锁对这些单个读 / 写操作做了同步。下面我们通过具体的示例来说明,请看下面的示例代码:class VolatileFeaturesExample { volatile ...

2013-06-04 10:02:35 597

转载 深入理解Java内存模型(三)——顺序一致性

数据竞争与顺序一致性保证当程序未正确同步时,就会存在数据竞争。java 内存模型规范对数据竞争的定义如下:在一个线程中写一个变量, 在另一个线程读同一个变量, 而且写和读没有通过同步来排序。当代码中包含数据竞争时,程序的执行往往产生违反直觉的结果(前一章的示例正是如此)。如果一个多线程程序能正确同步,这个程序将是一个没有数据竞争的程序。JMM 对正确同步的多线程程序的内存一致性做...

2013-06-04 10:00:57 652

转载 深入理解Java内存模型(一)——基础

并发编程模型的分类在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体)。通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。在共享内存的并发模型里,线程之间共享程序的公共状态,线程之间通过写 - 读内存中的公共状态来隐式进行通信。在消息传递的并发模型里,线程之间没有公共状态,线程之间必...

2013-06-04 09:56:22 701

BPMN 图,完整的BMPN元素图,可以学习

完整的BMPN元素图,需要了解流程引擎的可以看看

2023-12-12

CP210x-Universal-Windows-Driver 驱动

NRF52832 CP210 usb驱动

2023-05-29

Linux 内核升级

docker-ce 要求overlay模块,但是系统内核是3.10没有该模块,所以升级内核试试

2018-10-15

阿里巴巴Java开发手册

java 规范,团队合作必须要学习

2017-03-14

架构漫谈PDF

架构就是解决人的问题

2017-02-08

阿里开源Mysql分布式中间件:Cobar

cobar Solution 中间件PPT

2016-08-29

深入理解Android之Gradle

深入理解Android之Gradle,groovy语法,编译、打包

2016-01-07

SOA分布式事务

互联网SOA逃脱不了,引来事务的问题,看看分布式事务的思路文档

2015-12-03

dubbo 分布式服务框架

Dubbo分布式服务框架 于飞PPT 最近一直在学习dubbo,对整理框架有一个基本认识,后期还是需要自己钻研

2015-12-03

redmine mylyn 配置

eclipse redmine mylyn 配置,自动推送任务

2014-12-29

SVN使用手册

svn操作手册,很实用 对使用svn的同学都很实用,百度上需要积分下载的

2014-11-03

Redmine及SVN在项目管理中应用

Redmine及SVN在项目管理中应用,bug流程基本管理

2014-09-11

redmine整合eclipse

工具整合,提高开发效率,bug流程跟踪,源代码整合

2014-09-01

mongodb pdf

mongodb 官方文档,最近学习使用,学习不少知识

2011-03-23

db2常用函数 我没有分赚点分下资料

喜欢db2的可以看看 我没有分赚点分下资料 谢谢

2009-05-11

空空如也

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

TA关注的人

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