`
文章列表
关于这个错误,网上资料有几种说法。我遇到的一种是没有配置samba使用的netbios name对应的DNS导致的。   Samba的配置文件里如果配置了netbios name(如下片段所示),那么相应为这个配置项对应的值配置一个DNS条目,如果没有配置netbios name,那么需要为samba服务器所在的主机的机器名配置一个DNS条目。   [global] workgroup = WORKGROUP netbios name = SAMBA server string = Samba Server %v map to guest = Bad User log fi ...
1. 此函数非彼函数 在弄清楚什么是函数编程之前,有必要先弄清楚究竟什么是函数这个问题。在面向对象编程中,我们经常将方法称为函数,那么方法与函数究竟是否是同一个东西的不同称呼呢?函数式编程中的“函数”是指 ...
问: 作者你好,看到可见性这一节,这里定义的toCancel变量是否应该是static类型的才有效果   答: toCancel这个变量是要用volatile修饰才有能达到预期效果的,第2章里面我们并没有用voatile修饰是为了展示可见性问题。第3章会详细解释个中原因。
(本文最初由本人黄文海发表在InfoQ中文站上:http://www.infoq.com/cn) 1、 前言 volatile关键字可能是Java开发人员“熟悉而又陌生”的一个关键字。本文将从volatile关键字的作用、开销和典型应用场景以及Java虚拟机对volatile关键字的 ...
自Java 6/Java 7开始,Java虚拟机对内部锁的实现进行了一些优化。这些优化主要包括锁消除(Lock Elision)、锁粗化(Lock Coarsening)、偏向锁(Biased Locking)以及适应性锁(Adaptive Locking)。这些优化仅在Java虚拟机server模式下起作用( ...
什么是锁泄漏 众所周知,我们对锁的使用方式都是用同一个套路——先申请锁,再执行临界区中的代码,最后释放锁,如清单1所示。尽管如此,代码的错误可能导致一个线程在其执行完临界区代码之后未能释放引导这个临界区的锁。例如,清单1中的doSomethingWithLock方法所调用的someIoOperation方法如果在其执行期间抛出了异常(这里是IOException),那么doSomethingWithLock方法中的释放锁的语句将不会被执行,即此时doSomethingWithLock方法的执行线程在执行完临界区代码之后并没有释放引导该临界区的锁lock,这种现象(故障)就被称为锁泄漏(Loc ...
本人新书《Java多线程编程实战指南(核心篇)》现已出版上市。 出版社现在有赠书活动:http://blog.csdn.net/broadview2006/article/details/72396623。 豆瓣主页 https://book.douban.com/subject/27034721/ 购买链接 京东:https://item.jd.com/12184434.html 亚马逊: https://www.amazon.cn/dp/B071RV8NLW 互动出版网: http://product.china-pub.com/5661167 当当: htt ...
什么是上下文切换,哪些因素会导致上下文切换,它有哪些开销,如何降低这些开销(2015-12-01)? 《Java多线程编程实战指南(设计模式篇)》作者回复:《Java多线程编程实战指南(设计模式篇)》第1章打了个比方:比如我们用 ...
《Java多线程编程实战指南(设计模式篇)》答疑开展以来,不少网友提出的问题既有与本书有关的话题,也有Java多线程编程基础知识的相关话题。由于时间关系,对于重复的问题我不逐一回复。还请各位网友参考本总结。这里我将一些与本书相关以及具有代表性的问题提炼下,并附上的我的简要回复。其实,有些问题的回复如果要再深入或者详细,恐怕得写一篇文章,只是时间关系......   活动时间:(11月23日--11月30日) http://www.iteye.com/topic/1142354  http://bbs.csdn.net/topics/391863274   《Java多线程编程实战 ...
国内首部Java多线程设计模式原创作品《Java多线程编程实战指南(设计模式篇)》已由电子工业出版社出版。本书从理论到实战,用生活化的实例和通俗易懂的语言全面介绍Java多线程编程的"三十六计"——多线程设计模式。 当当、亚马逊、京东、互动出版网、淘宝等各大书店有售。   【样章】http://viscent.iteye.com/category/328291 【前言】 随着现代CPU的生产工艺从提升CPU主频频率转向多核化,即在一块芯片上集成多个CPU内核(Core),以往那种靠CPU自身处理能力的提升所带来的软件计算性能提升的那种“免费午餐”不复存在。在 ...
本文由本人首次发布在infoq中文站上:http://www.infoq.com/cn/articles/improve-problem-solve-ability-by-psychology-knowledge-part01。转载请注明作者: 黄文海 出处:http://viscent.iteye.com   前言 软件开发工作无论是从宏观还是微观上看,都可以看 ...
本文由本人首次发布在infoq中文站上:http://www.infoq.com/cn/articles/java-multithreaded-programming-mode-two-phase-termination。转载请注明作者: 黄文海 出处:http://viscent.iteye.com。   停止线程是一个目标简单而实现却不那么简单的任务。首先,Java没有提供直接的API用于停止线程。此外,停止线程时还有一些额外的细节需要考虑,如待停止的线程处于阻塞(等待锁)或者等待状态(等待其它线程)、尚有未处理完的任务等。本文介绍的Two-phase Termination模式提供 ...
本文由本人首次发布在infoq中文站上:http://www.infoq.com/cn/articles/java-multithreaded-programming-mode-immutable-object。转载请注明作者: 黄文海 出处:http://viscent.iteye.com。   多线程共享变量的情况下,为了保证数据一致性,往往需要对这些变量的访问进行加锁。而锁本身又会带来一些问题和开销。Immutable Object模式使得我们可以在不使用锁的情况下,既保证共享变量访问的线程安全,又能避免引入锁可能带来的问题和开销。 Immutable Object模式简介 多 ...
本文由黄文海首次发布在infoq中文站上:http://www.infoq.com/cn/articles/Java-multithreaded-programming-mode-active-object-part2。转载请注明作者: 黄文海 出处:http://viscent.iteye.com。   Active Object模式的评价与实现考量 Active Object模式通过将方法的调用与执行分离,实现了异步编程。有利于提高并发性,从而提高系统的吞吐率。 Active Object模式还有个好处是它可以将任务(MethodRequest)的提交(调用异步方法)和任务的执行 ...
本文由黄文海首次发布在infoq中文站上:http://www.infoq.com/cn/articles/Java-multithreaded-programming-mode-active-object-part1 。转载请注明作者: 黄文海 出处:http://viscent.iteye.com。   Active Object模式简介 Active Object模式是一种异步编程模式。 ...
Global site tag (gtag.js) - Google Analytics