- 博客(54)
- 收藏
- 关注
原创 Java函数式编程学习笔记(一)
1. 此函数非彼函数在弄清楚什么是函数编程之前,有必要先弄清楚究竟什么是函数这个问题。在面向对象编程中,我们经常将方法称为函数,那么方法与函数究竟是否是同一个东西的不同称呼呢?函数式编程中的“函数”是指数学意义上的函数,不是编程语言中的“函数”。数学上的函数(Function)可以看成一个小机器,给这个机器提供一定的原材料(输入参数),它就会加工出(输出)一定的产品(返回值),如图1所示。图1 函...
2018-06-17 11:46:30 276
Java函数式编程学习笔记(一)
1. 此函数非彼函数在弄清楚什么是函数编程之前,有必要先弄清楚究竟什么是函数这个问题。在面向对象编程中,我们经常将方法称为函数,那么方法与函数究竟是否是同一个东西的不同称呼呢?函数式编程中的“函数”是指数学意义上的函数,不是编程语言中的“函数”。数学上的函数(Function)可以看成一个小机器,给这个机器提供一定的原材料(输入参数),它就会加工出(输出)一定的产品(返回值),如图1所示。...
2018-06-17 11:27:34 274
《Java多线程编程实战指南(核心篇)》答疑(陆续更新)
问:作者你好,看到可见性这一节,这里定义的toCancel变量是否应该是static类型的才有效果 答:toCancel这个变量是要用volatile修饰才有能达到预期效果的,第2章里面我们并没有用voatile修饰是为了展示可见性问题。第3章会详细解释个中原因。...
2017-11-01 21:40:26 270
原创 Java多线程编程那些事:volatile解惑
(本文最初由本人黄文海发表在InfoQ中文站上:http://www.infoq.com/cn)1、 前言volatile关键字可能是Java开发人员“熟悉而又陌生”的一个关键字。本文将从volatile关键字的作用、开销和典型应用场景以及Java虚拟机对volatile关键字的实现这几个方面为读者全面深入剖析volatile关键字。volatile字面上有“挥发性的,不稳
2017-10-20 21:12:14 566
Java多线程编程那些事:volatile解惑
(本文最初由本人黄文海发表在InfoQ中文站上:http://www.infoq.com/cn)1、 前言volatile关键字可能是Java开发人员“熟悉而又陌生”的一个关键字。本文将从volatile关键字的作用、开销和典型应用场景以及Java虚拟机对volatile关键字的实现这几个方面为读者全面深入剖析volatile关键字。volatile字面上有“挥发性的,不稳定的”意思...
2017-10-20 21:00:19 315 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 161
Java多线程编程那些事:锁泄漏
什么是锁泄漏众所周知,我们对锁的使用方式都是用同一个套路——先申请锁,再执行临界区中的代码,最后释放锁,如清单1所示。尽管如此,代码的错误可能导致一个线程在其执行完临界区代码之后未能释放引导这个临界区的锁。例如,清单1中的doSomethingWithLock方法所调用的someIoOperation方法如果在其执行期间抛出了异常(这里是IOException),那么doSomethingW...
2017-09-28 20:11:19 169
原创 Java多线程编程那些事:锁泄漏
什么是锁泄漏众所周知,我们对锁的使用方式都是用同一个套路——先申请锁,再执行临界区中的代码,最后释放锁,如清单1所示。尽管如此,代码的错误可能导致一个线程在其执行完临界区代码之后未能释放引导这个临界区的锁。例如,清单1中的doSomethingWithLock方法所调用的someIoOperation方法如果在其执行期间抛出了异常(这里是IOException),那么doSomething
2017-09-28 11:47:15 794
【新闻】本人新书《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 149
原创 【新闻】本人新书《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 6085 3
《Java多线程编程实战指南(设计模式篇)》答疑总结(陆续更新,part2)
什么是上下文切换,哪些因素会导致上下文切换,它有哪些开销,如何降低这些开销(2015-12-01)?《Java多线程编程实战指南(设计模式篇)》作者回复:《Java多线程编程实战指南(设计模式篇)》第1章打了个比方:比如我们用手机与他人通话的时候,聊着聊着的时候由于第3个人拨打了你的电话。那么,这个时候你可能会做的一个动作就是先记下刚才的通话聊到哪里的(即进度),接着和对方说“我先接个电话...
2015-12-01 23:26:43 161
《Java多线程编程实战指南(设计模式篇)》答疑总结(陆续更新,part1)
《Java多线程编程实战指南(设计模式篇)》答疑开展以来,不少网友提出的问题既有与本书有关的话题,也有Java多线程编程基础知识的相关话题。由于时间关系,对于重复的问题我不逐一回复。还请各位网友参考本总结。这里我将一些与本书相关以及具有代表性的问题提炼下,并附上的我的简要回复。其实,有些问题的回复如果要再深入或者详细,恐怕得写一篇文章,只是时间关系...... 活动时间:(11月23日...
2015-11-25 18:26:46 277
原创 [置顶] 国内首部Java多线程设计模式原创作品《Java多线程编程实战指南(设计模式篇)》已出版
国内首部Java多线程设计模式原创作品《Java多线程编程实战指南(设计模式篇)》已由电子工业出版社出版。本书从理论到实战,用生活化的实例和通俗易懂的语言全面介绍Java多线程编程的"三十六计"——多线程设计模式。
2015-11-18 11:21:43 5533 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 715
原创 [置顶] 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 1003
原创 [置顶] 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 577
原创 [置顶] 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 675
原创 [置顶] 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 861
原创 [置顶] 敏捷项目管理实战之在敏捷开发中引入 Story 演示
Story 演示活动可以帮助敏捷开发团队提高开发质量、降低返工带来的质量低下与进度滞后的可能性。本文以作者黄文海的实际敏捷开发与管理的经验为基础,分享了具体实施 Story 演示的注意要点以及如何控制 Story 演示的成本。本文分享的不仅是一个具体的敏捷开发实践,更是一种敏捷开发的思想和思维方法。此文发表在IBM developerWorks网站上:http://www.ibm.com/de
2015-11-18 11:21:10 1017
原创 [置顶] Linux下恢复被误删除的syslog—/var/log/messages
原创文章,转载请注明作者:黄文海 来源:http://viscent.iteye.com,同步发布在:http://blog.viscenthuang.info软件开发日常工作中,出于方便定位问题的需要,我们常常会去清空日志文件。但是,Linux新手容易犯的一个错误是把日志文件给直接删除,而不是删除日志文件的内容。直接删除日志文件往往导致新产生的日志记录无法被写入到日志文件中(因为它已经被删除
2015-11-18 11:21:03 648
原创 [置顶] Oracle PL/SQL中编写空操作的存储过程
原创文章,转载请注明作者:黄文海 来源:http://viscent.iteye.com,同步发布在:http://blog.viscenthuang.info/2012/10/oracle-plsql中编写空操作的存储过程/ 尽管我们编写存储过程(Stored Procedure)是希望其完成一些特定的功能。但是在某些情况下,现有的存储功能所实现的功能可能已经不再需要或者我们打算采用其它方式
2015-11-18 11:20:57 1871
原创 [置顶] 《孙子兵法》在敏捷项目管理中的应用
原创文章,转载请注明— 作者: 黄文海 出处:http://blog.viscenthuang.info《孙子兵法》中的论述虽然是关于战争的,但是其思想在项目管理领域对我们也是有借鉴意义的。本文以黄文海的实际项目管理经验为基础,分享了《孙子兵法》在敏捷项目管理中的应用。希望能够对读者的实际项目管理工作有所启发。此文发表在IBM developerWorks网站上:http://www.
2015-11-18 11:20:41 677
原创 [置顶] 免费在线发送传真
原创文章,转载请注明 作者: 黄文海 出处: http://blog.viscenthuang.info 最近因为向IBM developerWorks投稿的缘故,需要通过传真将签名后的采稿信发给编辑。但是,直接使用传真机发送传真,不仅需要将文件打印在纸上,还需要找台传真机操作一下。况且打印又涉及文件的排版,传真机事实上很多人不会用。为了省却这些麻烦,要是能够在线通过电脑发送传真就好了。上网
2015-11-18 11:20:35 1231
原创 [置顶] 敏捷项目管理实战之团队自我管理
自我管理是敏捷开发中的重要管理思想,但是鲜有文献提及相关实践。本文将以黄文海的软件项目管理实践为基础,探讨团队自我管理的具体实践。http://blog.viscenthuang.info/2012/07/敏捷项目管理实战之团队自我管理/
2015-11-18 11:20:29 720
原创 [置顶] 敏捷项目管理实战之质量管理
本文以黄文海的项目管理实践为基础,介绍基于经验过程控制(Empirical Process Control)模型、缺陷预防以及敏捷价值观的敏捷质量管理思想及其实践。希望通过本文为广大项目管理人员提供软件质量管理的一些思路和经验分享。http://www.ibm.com/developerworks/cn/rational/r-cn-agiletestingbestpractice
2015-11-18 11:20:22 911
原创 本人媒体发表作品列表(持续更新)
图书作品《Java多线程编程实战指南(设计模式篇) 》 由电子工业出版社出版开源框架/软件 decj Javascript框架: Javascipt声明式框架 Java多线程编程模式实战指南 1.《Active Object模式》发表在InfoQ中文站 2.《Immutable Object模式》发表在InfoQ中文站 3.《Two-phase
2015-11-18 11:20:16 598
原创 使用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 1532
原创 Linux Shell 编程实战技巧
目前,越来越多的企业应用会部署在 Linux 系统上的,而 Linux Shell 脚本可以极大地帮助我们完成这些应用的运维任务。这使得 Linux Shell 开发技能成为开发人员的一项重要的、有竞争力的技能。本文就笔者的实际开发经验,以 Korn Shell 为例分享了脚本开发中的常见问题及相关技巧。 避免定时任务脚本的常见问题 脚本调试技巧 处理大段字符输出 避免使用非必要的临时文件 使用支
2015-11-18 11:20:05 661
原创 敏捷开发与项目管理实战之敏捷需求分析
敏捷开发中,全体成员都会参与需求分析。但是,通常多数的开发人员和测试人员他们的能力和经验不足以胜任需求分析工作。这意味着全体成员参与的需求分析活动需要一个扮演导师角色的人带领大家去进行有效的需求分析。本文以作者黄文海带领团队成员做需求分析的实际经验分享了敏捷开发团队中需求分析的一些关注点和方法。发布在IBM developerWorks中文站:http://www.ibm.com/develo
2015-11-18 11:19:59 2586
原创 敏捷开发与项目管理实战系列文章
敏捷开发与项目管理实战系列文章发布在IBM developerworks中文站上:敏捷项目管理实战之质量管理本文以作者黄文海的项目管理实践为基础,介绍基于经验过程控制(Empirical Process Control)模型、缺陷预防以及敏捷价值观的敏捷质量管理思想及其实践。希望通过本文为广大项目管理人员提供质量管理的一些思路和经验分享。 敏捷项目管理实战之在敏捷开发中引入 Story 演
2015-11-18 11:19:53 711
国内首部Java多线程设计模式原创作品《Java多线程编程实战指南(设计模式篇)》已出版...
国内首部Java多线程设计模式原创作品《Java多线程编程实战指南(设计模式篇)》已由电子工业出版社出版。本书从理论到实战,用生活化的实例和通俗易懂的语言全面介绍Java多线程编程的"三十六计"——多线程设计模式。当当、亚马逊、京东、互动出版网、淘宝等各大书店有售。 【样章】http://viscent.iteye.com/category/328291【前言】随着现代...
2015-10-25 09:30:32 245
原创 通过心理学知识提高问题定位与解决能力(上)
本文由本人首次发布在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 250
原创 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 205
原创 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 156
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 132
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 175
原创 本人媒体发表作品列表(持续更新)
图书作品《Java多线程编程实战指南(设计模式篇) 》 由电子工业出版社出版开源框架/软件 decj Javascript框架: Javascipt声明式框架 Java多线程编程模式实战指南 1.《Active Object模式》发表在InfoQ中文站 2.《Immutable Object模式》发表在InfoQ中文站 3.《Two-pha...
2013-10-31 22:32:56 107
使用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 176
原创 Linux Shell 编程实战技巧
目前,越来越多的企业应用会部署在 Linux 系统上的,而 Linux Shell 脚本可以极大地帮助我们完成这些应用的运维任务。这使得 Linux Shell 开发技能成为开发人员的一项重要的、有竞争力的技能。本文就笔者的实际开发经验,以 Korn Shell 为例分享了脚本开发中的常见问题及相关技巧。 避免定时任务脚本的常见问题 脚本调试技巧 处理大段字符输出 避免使用非必要的临时文件 使用支...
2013-10-31 21:55:36 126
原创 试译“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 975
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人