2019第24周日

JDK8中引入了高性能的读写锁StampedLock,它的核心思想在于,在读的时候如果发生了写,应该通过重试的方式来获取新的值,而不应该阻塞写操作。这种模式也就是典型的无锁编程思想,和CAS自旋的思想一样。这种操作方式决定了StampedLock在读线程非常多而写线程非常少的场景下非常适用,同时还避免了写饥饿情况的发生。

要注意高性能读写锁的使用前提时CAS自旋操作小于阻塞等待,如果多线程场景中每次都会阻塞,那直接用悲观锁或许会更好。

使用 Instrumentation,开发者可以构建一个独立于应用程序的代理程序(Agent),用来监测和协助运行在 JVM 上的程序,甚至能够替换和修改某些类的定义。Instrumentation是Java SE 5中的新特性。在SE 5中只能在运行前进行加载,在SE 6中实现能够在运行时加载。例如java -javaagent: agent.jar -jar agent-demo.jar

  

程序员所掌握的技术的淘汰速度可能还没有商业模式淘汰的速度快,商业模式的快速进步和更新必然要求技术能够快速更新以支持其发展。

除了运气,大部分赚钱的程序员都有很敏锐的商业思维,他们不仅会技术把事情落地,更知道做什么是社会需要的,能产生更大的价值。比如接私活,雇一帮人接私活;线下教别人编程与制作教程视频教别人写代码等。 

技术只是解决问题的一种手段,不同场景解决不同问题可以使用不同的手段,所以你不能仅限于某一种技术,设计方案时要重于技术选型,看哪种技术更适合团队、哪种技术解决问题的成本更低、哪种技术从长远来看能实现更大效益。

知道技术的演变过程,它背后的原理和推动力,能让你更好的理解它未来的发展。

现代社会要想做的更好,必定要处理好与周边同事的关系,即做好向上管理(及时沟通确认目标、计划,经常反馈沟通任务进度,管理并尽量超出上级预期),也要做好横向管理和向下管理(调动更多的资源齐心达成自己原定的目标)。
原文地址:https://www.cnblogs.com/doit8791/p/11030897.html