自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 收藏
  • 关注

原创 Java函数式编程学习笔记(一)

1. 此函数非彼函数在弄清楚什么是函数编程之前,有必要先弄清楚究竟什么是函数这个问题。在面向对象编程中,我们经常将方法称为函数,那么方法与函数究竟是否是同一个东西的不同称呼呢?函数式编程中的“函数”是指数学意义上的函数,不是编程语言中的“函数”。数学上的函数(Function)可以看成一个小机器,给这个机器提供一定的原材料(输入参数),它就会加工出(输出)一定的产品(返回值),如图1所示。图1 函...

2018-06-17 11:46:30 234

Java函数式编程学习笔记(一)

1. 此函数非彼函数在弄清楚什么是函数编程之前,有必要先弄清楚究竟什么是函数这个问题。在面向对象编程中,我们经常将方法称为函数,那么方法与函数究竟是否是同一个东西的不同称呼呢?函数式编程中的“函数”是指数学意义上的函数,不是编程语言中的“函数”。数学上的函数(Function)可以看成一个小机器,给这个机器提供一定的原材料(输入参数),它就会加工出(输出)一定的产品(返回值),如图1所示。...

2018-06-17 11:27:34 236

《Java多线程编程实战指南(核心篇)》答疑(陆续更新)

问:作者你好,看到可见性这一节,这里定义的toCancel变量是否应该是static类型的才有效果 答:toCancel这个变量是要用volatile修饰才有能达到预期效果的,第2章里面我们并没有用voatile修饰是为了展示可见性问题。第3章会详细解释个中原因。...

2017-11-01 21:40:26 222

原创 Java多线程编程那些事:volatile解惑

(本文最初由本人黄文海发表在InfoQ中文站上:http://www.infoq.com/cn)1、 前言volatile关键字可能是Java开发人员“熟悉而又陌生”的一个关键字。本文将从volatile关键字的作用、开销和典型应用场景以及Java虚拟机对volatile关键字的实现这几个方面为读者全面深入剖析volatile关键字。volatile字面上有“挥发性的,不稳

2017-10-20 21:12:14 494

Java多线程编程那些事:volatile解惑

(本文最初由本人黄文海发表在InfoQ中文站上:http://www.infoq.com/cn)1、 前言volatile关键字可能是Java开发人员“熟悉而又陌生”的一个关键字。本文将从volatile关键字的作用、开销和典型应用场景以及Java虚拟机对volatile关键字的实现这几个方面为读者全面深入剖析volatile关键字。volatile字面上有“挥发性的,不稳定的”意思...

2017-10-20 21:00:19 252 1

Java多线程编程那些事:Java虚拟机对内部锁的优化

自Java 6/Java 7开始,Java虚拟机对内部锁的实现进行了一些优化。这些优化主要包括锁消除(Lock Elision)、锁粗化(Lock Coarsening)、偏向锁(Biased Locking)以及适应性锁(Adaptive Locking)。这些优化仅在Java虚拟机server模式下起作用(即运行Java程序时我们可能需要在命令行中指定Java虚拟机参数“-server”以开...

2017-10-10 21:20:02 109

Java多线程编程那些事:锁泄漏

什么是锁泄漏众所周知,我们对锁的使用方式都是用同一个套路——先申请锁,再执行临界区中的代码,最后释放锁,如清单1所示。尽管如此,代码的错误可能导致一个线程在其执行完临界区代码之后未能释放引导这个临界区的锁。例如,清单1中的doSomethingWithLock方法所调用的someIoOperation方法如果在其执行期间抛出了异常(这里是IOException),那么doSomethingW...

2017-09-28 20:11:19 119

原创 Java多线程编程那些事:锁泄漏

什么是锁泄漏众所周知,我们对锁的使用方式都是用同一个套路——先申请锁,再执行临界区中的代码,最后释放锁,如清单1所示。尽管如此,代码的错误可能导致一个线程在其执行完临界区代码之后未能释放引导这个临界区的锁。例如,清单1中的doSomethingWithLock方法所调用的someIoOperation方法如果在其执行期间抛出了异常(这里是IOException),那么doSomething

2017-09-28 11:47:15 754

【新闻】本人新书《Java多线程编程实战指南(核心篇)》已出版上市

本人新书《Java多线程编程实战指南(核心篇)》现已出版上市。出版社现在有赠书活动:http://blog.csdn.net/broadview2006/article/details/72396623。豆瓣主页https://book.douban.com/subject/27034721/购买链接京东:https://item.jd.com/12184434...

2017-05-17 21:09:14 126

原创 【新闻】本人新书《Java多线程编程实战指南(核心篇)》已出版上市

豆瓣主页https://book.douban.com/subject/27034721/购买链接京东:https://item.jd.com/12184434.html亚马逊: https://www.amazon.cn/dp/B071RV8NLW互动出版网: http://product.china-pub.com/5661167当当: http://product.dangdang.com/2

2017-05-17 21:07:17 5971 3

《Java多线程编程实战指南(设计模式篇)》答疑总结(陆续更新,part2)

什么是上下文切换,哪些因素会导致上下文切换,它有哪些开销,如何降低这些开销(2015-12-01)?《Java多线程编程实战指南(设计模式篇)》作者回复:《Java多线程编程实战指南(设计模式篇)》第1章打了个比方:比如我们用手机与他人通话的时候,聊着聊着的时候由于第3个人拨打了你的电话。那么,这个时候你可能会做的一个动作就是先记下刚才的通话聊到哪里的(即进度),接着和对方说“我先接个电话...

2015-12-01 23:26:43 110

《Java多线程编程实战指南(设计模式篇)》答疑总结(陆续更新,part1)

《Java多线程编程实战指南(设计模式篇)》答疑开展以来,不少网友提出的问题既有与本书有关的话题,也有Java多线程编程基础知识的相关话题。由于时间关系,对于重复的问题我不逐一回复。还请各位网友参考本总结。这里我将一些与本书相关以及具有代表性的问题提炼下,并附上的我的简要回复。其实,有些问题的回复如果要再深入或者详细,恐怕得写一篇文章,只是时间关系...... 活动时间:(11月23日...

2015-11-25 18:26:46 220

原创 [置顶] 国内首部Java多线程设计模式原创作品《Java多线程编程实战指南(设计模式篇)》已出版

国内首部Java多线程设计模式原创作品《Java多线程编程实战指南(设计模式篇)》已由电子工业出版社出版。本书从理论到实战,用生活化的实例和通俗易懂的语言全面介绍Java多线程编程的"三十六计"——多线程设计模式。

2015-11-18 11:21:43 5445 15

原创 [置顶] 通过心理学知识提高问题定位与解决能力(上)

本文由本人首次发布在infoq中文站上:http://www.infoq.com/cn/articles/improve-problem-solve-ability-by-psychology-knowledge-part01。转载请注明作者: 黄文海 出处:http://viscent.iteye.com 前言软件开发工作无论是从宏观还是微观上看,都可以看作一个问题解决的过程。从宏观

2015-11-18 11:21:38 693

原创 [置顶] Java多线程编程模式实战指南(三):Two-phase Termination模式

本文由本人首次发布在infoq中文站上:http://www.infoq.com/cn/articles/java-multithreaded-programming-mode-two-phase-termination。转载请注明作者: 黄文海 出处:http://viscent.iteye.com。 停止线程是一个目标简单而实现却不那么简单的任务。首先,Java没有提供直接的API用于

2015-11-18 11:21:32 954

原创 [置顶] Java多线程编程模式实战指南(二):Immutable Object模式

本文由本人首次发布在infoq中文站上:http://www.infoq.com/cn/articles/java-multithreaded-programming-mode-immutable-object。转载请注明作者: 黄文海 出处:http://viscent.iteye.com。 多线程共享变量的情况下,为了保证数据一致性,往往需要对这些变量的访问进行加锁。而锁本身又会带来一

2015-11-18 11:21:26 558

原创 [置顶] Java多线程编程模式实战指南(一):Active Object模式(下)

本文由黄文海首次发布在infoq中文站上:http://www.infoq.com/cn/articles/Java-multithreaded-programming-mode-active-object-part2。转载请注明作者: 黄文海 出处:http://viscent.iteye.com。 Active Object模式的评价与实现考量Active Object模式通过将方

2015-11-18 11:21:21 628

原创 [置顶] Java多线程编程模式实战指南(一):Active Object模式(上)

本文由黄文海首次发布在infoq中文站上:http://www.infoq.com/cn/articles/Java-multithreaded-programming-mode-active-object-part1 。转载请注明作者: 黄文海 出处:http://viscent.iteye.com。 Active Object模式简介Active Object模式是一种异步编程模式

2015-11-18 11:21:15 812

原创 [置顶] 敏捷项目管理实战之在敏捷开发中引入 Story 演示

Story 演示活动可以帮助敏捷开发团队提高开发质量、降低返工带来的质量低下与进度滞后的可能性。本文以作者黄文海的实际敏捷开发与管理的经验为基础,分享了具体实施 Story 演示的注意要点以及如何控制 Story 演示的成本。本文分享的不仅是一个具体的敏捷开发实践,更是一种敏捷开发的思想和思维方法。此文发表在IBM developerWorks网站上:http://www.ibm.com/de

2015-11-18 11:21:10 988

原创 [置顶] Linux下恢复被误删除的syslog—/var/log/messages

原创文章,转载请注明作者:黄文海 来源:http://viscent.iteye.com,同步发布在:http://blog.viscenthuang.info软件开发日常工作中,出于方便定位问题的需要,我们常常会去清空日志文件。但是,Linux新手容易犯的一个错误是把日志文件给直接删除,而不是删除日志文件的内容。直接删除日志文件往往导致新产生的日志记录无法被写入到日志文件中(因为它已经被删除

2015-11-18 11:21:03 587

原创 [置顶] Oracle PL/SQL中编写空操作的存储过程

原创文章,转载请注明作者:黄文海 来源:http://viscent.iteye.com,同步发布在:http://blog.viscenthuang.info/2012/10/oracle-plsql中编写空操作的存储过程/  尽管我们编写存储过程(Stored Procedure)是希望其完成一些特定的功能。但是在某些情况下,现有的存储功能所实现的功能可能已经不再需要或者我们打算采用其它方式

2015-11-18 11:20:57 1778

原创 [置顶] 《孙子兵法》在敏捷项目管理中的应用

原创文章,转载请注明— 作者: 黄文海 出处:http://blog.viscenthuang.info《孙子兵法》中的论述虽然是关于战争的,但是其思想在项目管理领域对我们也是有借鉴意义的。本文以黄文海的实际项目管理经验为基础,分享了《孙子兵法》在敏捷项目管理中的应用。希望能够对读者的实际项目管理工作有所启发。此文发表在IBM developerWorks网站上:http://www.

2015-11-18 11:20:41 634

原创 [置顶] 免费在线发送传真

原创文章,转载请注明 作者: 黄文海 出处: http://blog.viscenthuang.info  最近因为向IBM developerWorks投稿的缘故,需要通过传真将签名后的采稿信发给编辑。但是,直接使用传真机发送传真,不仅需要将文件打印在纸上,还需要找台传真机操作一下。况且打印又涉及文件的排版,传真机事实上很多人不会用。为了省却这些麻烦,要是能够在线通过电脑发送传真就好了。上网

2015-11-18 11:20:35 1187

原创 [置顶] 敏捷项目管理实战之团队自我管理

自我管理是敏捷开发中的重要管理思想,但是鲜有文献提及相关实践。本文将以黄文海的软件项目管理实践为基础,探讨团队自我管理的具体实践。http://blog.viscenthuang.info/2012/07/敏捷项目管理实战之团队自我管理/

2015-11-18 11:20:29 703

原创 [置顶] 敏捷项目管理实战之质量管理

本文以黄文海的项目管理实践为基础,介绍基于经验过程控制(Empirical Process Control)模型、缺陷预防以及敏捷价值观的敏捷质量管理思想及其实践。希望通过本文为广大项目管理人员提供软件质量管理的一些思路和经验分享。http://www.ibm.com/developerworks/cn/rational/r-cn-agiletestingbestpractice

2015-11-18 11:20:22 852

原创 本人媒体发表作品列表(持续更新)

图书作品《Java多线程编程实战指南(设计模式篇) 》 由电子工业出版社出版开源框架/软件    decj Javascript框架: Javascipt声明式框架   Java多线程编程模式实战指南   1.《Active Object模式》发表在InfoQ中文站    2.《Immutable Object模式》发表在InfoQ中文站    3.《Two-phase

2015-11-18 11:20:16 576

原创 使用decj简化Web前端开发(一):声明式Javascript动态加载和浏览器事件绑定

(本文发表在InfoQ:http://www.infoq.com/cn/articles/using-decj-simplify-web-front-end-development-part1)引言Web前端开发中,开发人员经常需要处理一些常规问题,如:在页面中引用多个相互存在依赖关系的Javascript文件在页面中引用CSS文件浏览器事件绑定表单的数据填充、数据打包提

2015-11-18 11:20:10 1392

原创 Linux Shell 编程实战技巧

目前,越来越多的企业应用会部署在 Linux 系统上的,而 Linux Shell 脚本可以极大地帮助我们完成这些应用的运维任务。这使得 Linux Shell 开发技能成为开发人员的一项重要的、有竞争力的技能。本文就笔者的实际开发经验,以 Korn Shell 为例分享了脚本开发中的常见问题及相关技巧。 避免定时任务脚本的常见问题 脚本调试技巧 处理大段字符输出 避免使用非必要的临时文件 使用支

2015-11-18 11:20:05 641

原创 敏捷开发与项目管理实战之敏捷需求分析

敏捷开发中,全体成员都会参与需求分析。但是,通常多数的开发人员和测试人员他们的能力和经验不足以胜任需求分析工作。这意味着全体成员参与的需求分析活动需要一个扮演导师角色的人带领大家去进行有效的需求分析。本文以作者黄文海带领团队成员做需求分析的实际经验分享了敏捷开发团队中需求分析的一些关注点和方法。发布在IBM developerWorks中文站:http://www.ibm.com/develo

2015-11-18 11:19:59 2533

原创 敏捷开发与项目管理实战系列文章

敏捷开发与项目管理实战系列文章发布在IBM developerworks中文站上:敏捷项目管理实战之质量管理本文以作者黄文海的项目管理实践为基础,介绍基于经验过程控制(Empirical Process Control)模型、缺陷预防以及敏捷价值观的敏捷质量管理思想及其实践。希望通过本文为广大项目管理人员提供质量管理的一些思路和经验分享。 敏捷项目管理实战之在敏捷开发中引入 Story 演

2015-11-18 11:19:53 688

国内首部Java多线程设计模式原创作品《Java多线程编程实战指南(设计模式篇)》已出版...

国内首部Java多线程设计模式原创作品《Java多线程编程实战指南(设计模式篇)》已由电子工业出版社出版。本书从理论到实战,用生活化的实例和通俗易懂的语言全面介绍Java多线程编程的"三十六计"——多线程设计模式。当当、亚马逊、京东、互动出版网、淘宝等各大书店有售。 【样章】http://viscent.iteye.com/category/328291【前言】随着现代...

2015-10-25 09:30:32 216

原创 通过心理学知识提高问题定位与解决能力(上)

本文由本人首次发布在infoq中文站上:http://www.infoq.com/cn/articles/improve-problem-solve-ability-by-psychology-knowledge-part01。转载请注明作者: 黄文海 出处:http://viscent.iteye.com 前言软件开发工作无论是从宏观还是微观上看,都可以看作一个问题解决的过程。从...

2015-06-01 17:25:07 221

原创 Java多线程编程模式实战指南(三):Two-phase Termination模式

本文由本人首次发布在infoq中文站上:http://www.infoq.com/cn/articles/java-multithreaded-programming-mode-two-phase-termination。转载请注明作者: 黄文海 出处:http://viscent.iteye.com。 停止线程是一个目标简单而实现却不那么简单的任务。首先,Java没有提供直接的API...

2015-01-25 11:54:51 162

原创 Java多线程编程模式实战指南(二):Immutable Object模式

本文由本人首次发布在infoq中文站上:http://www.infoq.com/cn/articles/java-multithreaded-programming-mode-immutable-object。转载请注明作者: 黄文海 出处:http://viscent.iteye.com。 多线程共享变量的情况下,为了保证数据一致性,往往需要对这些变量的访问进行加锁。而锁本身又会带...

2015-01-19 08:45:40 130

Java多线程编程模式实战指南(一):Active Object模式(下)

本文由黄文海首次发布在infoq中文站上:http://www.infoq.com/cn/articles/Java-multithreaded-programming-mode-active-object-part2。转载请注明作者: 黄文海 出处:http://viscent.iteye.com。 Active Object模式的评价与实现考量Active Object模式通过...

2014-11-26 14:18:53 110

Java多线程编程模式实战指南(一):Active Object模式(上)

本文由黄文海首次发布在infoq中文站上:http://www.infoq.com/cn/articles/Java-multithreaded-programming-mode-active-object-part1 。转载请注明作者: 黄文海 出处:http://viscent.iteye.com。 Active Object模式简介Active Object模式是一种异步编程...

2014-11-23 10:26:55 129

原创 本人媒体发表作品列表(持续更新)

图书作品《Java多线程编程实战指南(设计模式篇) 》 由电子工业出版社出版开源框架/软件    decj Javascript框架: Javascipt声明式框架   Java多线程编程模式实战指南   1.《Active Object模式》发表在InfoQ中文站    2.《Immutable Object模式》发表在InfoQ中文站    3.《Two-pha...

2013-10-31 22:32:56 80

使用decj简化Web前端开发(一):声明式Javascript动态加载和浏览器事件绑定

 (本文发表在InfoQ:http://www.infoq.com/cn/articles/using-decj-simplify-web-front-end-development-part1)引言Web前端开发中,开发人员经常需要处理一些常规问题,如:在页面中引用多个相互存在依赖关系的Javascript文件在页面中引用CSS文件浏览器事件绑定表单的数据填充、数据...

2013-10-31 22:16:26 146

原创 Linux Shell 编程实战技巧

目前,越来越多的企业应用会部署在 Linux 系统上的,而 Linux Shell 脚本可以极大地帮助我们完成这些应用的运维任务。这使得 Linux Shell 开发技能成为开发人员的一项重要的、有竞争力的技能。本文就笔者的实际开发经验,以 Korn Shell 为例分享了脚本开发中的常见问题及相关技巧。 避免定时任务脚本的常见问题 脚本调试技巧 处理大段字符输出 避免使用非必要的临时文件 使用支...

2013-10-31 21:55:36 90

原创 试译“Time is dangerous”

Time is dangerous.If you don’t control it,it will control you. If you don't make it work for you,it will work againstyou.You must become the master of time,not the servant.      Study hard and play

2013-09-06 09:47:13 946

空空如也

空空如也

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

TA关注的人

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