作者:daicy

LongAdder and LongAccumulator in Java

1.Overview在本文中,我们将研究java.util.concurrent包中的两个构造:LongAdder和LongAccumulator。两者都被创建为在多线程环境中非常高效,并且都利用非常巧妙的策略来实现无锁且仍保持线程安全。LongAdder让我们考虑一些逻辑,该逻辑经常增加一些值,而

daicy daicy 发布于 2020-04-13

Java ThreadLocalRandom指南

1.Overview生成随机值是非常常见的任务。这就是Java提供java.util.Random类的原因。但是,此类在多线程环境中表现不佳。以简化的方式,在多线程环境中,Random性能不佳的原因是由于争用–假设多个线程共享同一个Random实例。为了解决该限制,Java在JDK7中引入了java

daicy daicy 发布于 2020-04-10

Java volatile关键字指南

1.概述在没有必要的同步的情况下,编译器,运行时或处理器可能会应用各种优化。尽管这些优化在大多数情况下是有益的,但有时它们可​​能会引起一些细微的问题。缓存和重新排序是在并发上下文中可能使我们感到惊讶的优化措施之一。Java和JVM提供了许多方法来控制内存顺序,而volatile关键字就是其中一种。

daicy daicy 发布于 2020-04-10

siege概述

Siege是一款高性能的Http压力测试工具。Siege支持身份验证、cookies、http、https和ftp协议。安装Siege如果要支持https,需要先下载安装openssl,下载地址:https://github.com/openssl/openssl1.开始安装opensslgitcl

daicy daicy 发布于 2019-10-28

Markdown extended-syntax

The basic syntax outlined in John Gruber’s original design document added many of the elements needed on a day-to-day basis, but it wasn’t enough for some people. That’s where extended syntax comes in. Several individuals and organizations took it upon themselves to extend the basic syntax by adding additional elements like tables, code blocks, syntax highlighting, URL auto-linking, and footnotes. These elements can be enabled by using a lightweight markup language that builds upon the basic Markdown syntax, or by adding an extension to a compatible Markdown

daicy daicy 发布于 2019-07-08

夏至厦门---亲子游

20196.1  早上5点出发至天津机场。富余出两个小时,天津机场的儿童设施相当给力,解决了小朋友的无聊时间。小满同学3岁第一次飞,最喜欢的就是座椅前的屏幕,一直在研究,搞定后开始选自己喜欢的动画片。大约是在飞机减速时小满同学出现耳鸣现象开始哭闹,邻座的叔叔估计觉得小满的哭声太吵,找到空乘询问是否有

daicy daicy 发布于 2019-06-13

打卡古北水镇

提前2天在携程预订龙行天下的团队票。2019年10月4号9:10东四十条地铁C口出来就看到了候车的人群,随后根据手机短信提示的导游信息找到了随行导游。9:40在芍药居接上其他游客后,我们就开始前往景区。路上导游说现在谁都不能保证到达古北的准确时间,昨天下午3点才到达景区,但是与前两天相比已经是提前1

daicy daicy 发布于 2019-06-12

红螺寺一日游

2018年9月20家住南5环,7:30出门,1个小时后到达望京南D口出,和好友碰头,打算找866公交车前往怀柔汽车站。但是看到866终点站牌,我们像没头苍蝇似的在地铁口徘徊好久,愣是没找到始发站,问了路人才发现在终点站对过的车场里头排队上车。866发车倒是很快,大概50分钟的样子到达怀柔汽车站,我们

daicy daicy 发布于 2019-06-12

二度北戴河

这次北戴河之行,时间比较充裕,带上老人和孩子,没有安排太多的项目,也许是年龄大了,体力上有些倦怠,不像第一次来的时候那么打鸡血,骑车沿着海岸一直走,很少的时间回到宾馆休息。这次我们依然选的是第一次来北戴河居住的民宿。环境不是太好,胜在价格便宜,也相对安静。早上7:30的火车,9:30抵达北戴河站,出

daicy daicy 发布于 2019-06-12

成都,成都

年近30的我第一次坐飞机。百感交集,有种说不出来的感觉,首先为坐飞机这件事情感到激动不已,再者为30年后自己才坐上飞机感到羞赧。于2018年6月10号抵达首都机场,自助换登机牌确实很便捷,行李托运。接着安检候机,机场的肯德基比外面的贵很多,但是机场的缘故,又饿,花了45块钱点了蔬菜沙拉、土豆泥和一杯

daicy daicy 发布于 2019-06-12

我们首次行走日本

此次出行日本,我们选择了邮轮。出发点在上海吴淞口,身在北京的我们选择提前1天抵达上海。2017年9月12日我们高铁到达上海火车站,被扑面而来的香味所吸引,早就听说上海到处都是桂花树,但是没成想会这么的馥郁,再加上天空中蒙蒙细雨,让上海的空气格外的沁人心脾。酒店选的离火车站有2公里的车程,但是我们选择

daicy daicy 发布于 2019-06-12

瑜伽生活

自开始练习瑜伽已经半年多了,半年多来尽管体重没有减轻,但是感觉整个身体紧实了很多,隐约可见腹肌和肌肉了,尽管看上去有点壮,我也开始渐渐学会欣赏这种力量美。瑜伽带给我,更多的是心理上的慰藉。很幸运参加了瑜伽教练班的培训,让我有机会接触到瑜伽更深层次的理论,而不是简单的摆动作和做体式,而是在享受和体会瑜

daicy daicy 发布于 2019-06-12

想爬得更高,需要知道的数学体系

在过去的一年中,我一直在数学的海洋中游荡,research进展不多,对于数学世界的阅历算是有了一些长进。   为什么要深入数学的世界   作为计算机的学生,我没有任何企图要成为一个数学家。我学习数学的目的,是要想爬上巨人的肩膀,希望站在

daicy daicy 发布于 2019-04-17

来自Google、Amazon和Facebook等7大知名互联网的系统扩展经验

摘要:Google、Amazon和Facebook等7家知名互联网都会针对不同使用场景做合适的设计,但总有一些万变不离其宗的思想。比如保持简单、让所有事情自动化、不断迭代、使用缓存、根据场景在数据一致性和可用性间取舍。 本文出自澳大利亚一位ID为Dodgy Coder的程序员2012年4月的博客文章。他从High Scalability上整理和总结了Google、YouTube、Twit

daicy daicy 发布于 2019-04-17

JDK源码分析——动态代理源码(Proxy类)

读源码,怕过两天又忘记了,还是记录下吧.. 动态代理最重要的实现就是Proxy.newInstance ,那我们直接看这个方法 public static Object newProxyInstance(ClassLoader loader, Class[] interfaces, InvocationHandler h)//这里有三个参数,第一个是传入classl

daicy daicy 发布于 2019-04-17

由字符串反转(使用递归)引申出来一道Java面试题

如何面试一个从事编程工作的开发人员既困难又乏味,幸好还有很多值得参考的指南,比如:《Joel Guerilla Guide to interviewing》,但最后雇佣与否,还得由你自己决定。为了快速地了解他们的编程能力,我想到了一个关于字符串反转的问题,有人用这道题取得不错的效果,这道题的答案有很多种,因此这给了你足够的空间去考察候选者的技能,我自己思考了会儿,找到好几种答案如何用Java实

daicy daicy 发布于 2019-04-17

提升你的Java应用性能:改善数据处理

许多应用程序在压力测试阶段或在生产环境中都会遇到性能问题。如果我们看一下性能问题背后的原因,会发现很多是由数据处理不当造成。数据处理在应用面对大数据量时是非常关键的。这里有一些实用的数据处理技巧可以帮助更好地提升Java应用程序性能。 减少数据传输

daicy daicy 发布于 2019-04-17

Servlet 3.0 新特性详解(servlet是单实例多线程的,线程池数量有限)

Servlet 是 Java EE 规范体系的重要组成部分,也是 Java 开发人员必须具备的基础技能,Servlet 3.0 是 Servlet 规范的最新版本。本文主要介绍了 Servlet 3.0 引入的若干重要新特性,包括异步处理、新增的注解支持、可插性支持等等,为读者顺利向新版本过渡扫清障碍。

daicy daicy 发布于 2019-04-17

技术人员应真正学会的第二课程

如果说掌握一门赖以生计的技术是技术人员要学会的第一课的话, 那么, 我觉得, 技术人员要真正学会的第二课,不是技术,而是业务、交流与协作,学会关心其他工作伙伴的工作情况和进展。        为什么这么说呢? 因为技术人员太容易陷入“孤岛”状态,更注重自己的工作任务的完成,忽视其他工作伙伴的工作,甚至一无所知。 我就一直犯这样的错误。我敢说,对内心我还是比较明白清楚的,但是对外面所

daicy daicy 发布于 2019-04-17

JUC (Java Util Concurrency) 基础内容概述

1. JUC概况 2. 原子操作 3. 指令重排 4. Happens-before法则:(Java 内存模型) JMM的特性: volatile语义: 5. CAS操作 6. Lock 锁 7. AQS

daicy daicy 发布于 2019-04-17