详情

全站展示位

如何保证LinkedHashMap以及它实现LRU缓存线程安全 –

本文首发于我的个人公众号“业余草”,由于公众号不利于搜索,这里同步到我的个人网站上。 昨天有一位网友对我的一篇文章进行了评论,留言说到:线程安全的 LinkedHashMap 怎么实现? 线程安全的 LinkedHashMap 我这里花几分钟时间聊一下这个问题。 通过阅读我前面的文章,我们知道:HashMap 有一个问题,就是迭代 HashMap 的顺序并不是 HashMap 放置的顺序,也就是无序。HashMa。。。

推荐

免费毕业设计,一网打尽! –

我的网站上,有些内容并不高深!但正是因为这些普普通通非常常见的小问题导致了我的网站访问量并不低! 不少网友通过网站找到我,让我做一些毕业设计。由于我已经参加工作了,时间和精力都非常有限,所以,我这里分享一些简单的毕业设计!供大家参考! 下面举例一些内容题目和要求! [工作报告式],个人财务管理系统的设计与开发。写作要求:针对个人财务的记账、查询、统计等方面进行开发。可以做成单机版或网络版,需要使用数据库来对数据进行管理

从 2021 年初起,Google 将停止通过西联汇款支付款项 –

今日凌晨 2 点钟,收到了一封来自谷歌的重磅邮件“从 2021 年初起,Google 将停止通过西联汇款支付款项”! 最近几年,我先后使用过中国银行的西联汇款,光大银行的西联汇款。体验都非常的不错,没什么手续费。 而这次谷歌通知取消西联汇款后,收款人的收款成本将大大增加! Google 将停止通过西联汇款支付款项 取消西联汇款的方式后,只剩下电汇方式接收付款了。这种成本比较好,哎,挣钱真不容易啊。 预测百度

手把手教你解决MySQL服务启动失败排查并修复恢复启动问题 –

手把手教你解决MySQL服务启动失败排查并修复恢复启动问题 上次帮一个网友远程解决了一个问题,直接打赏了我,今天又一个网友打赏了我。 事件起因是这样的,网友在执行一条 SQL 时,提示错误。网友搜索得出答案,需要设置 sql_mode,她百度一番,然后进行了修改。 ONLY_FULL_GROUP_BY 重启服务后,发现 MySQL 服务无法启动。 我问网友遇到了什么错误,对方给我发来了一个截图。 my

如何保证LinkedHashMap以及它实现LRU缓存线程安全 –

本文首发于我的个人公众号“业余草”,由于公众号不利于搜索,这里同步到我的个人网站上。 昨天有一位网友对我的一篇文章进行了评论,留言说到:线程安全的 LinkedHashMap 怎么实现? 线程安全的 LinkedHashMap 我这里花几分钟时间聊一下这个问题。 通过阅读我前面的文章,我们知道:HashMap 有一个问题,就是迭代 HashMap 的顺序并不是 HashMap 放置的顺序,也就是无序。HashMa

心灵鸡汤

二姐的高考

文/王丕立

二姐从小就想当老师,初中毕业后,由于家里成分不好,14岁的她只得回乡当了农民。两年后,她在高中班主任老师邀请下,去了最偏远的山村小学代课。

父亲复职重新走上讲台后,自学几年的二姐向父亲提出了请求,她想读一年高三,然后参加高考。二姐入学后,学习比谁都刻苦,但英语、数学仍跟不上。总分上不去,作为普通考生考大学是有难度的。体育老师看到了二姐的大长腿,建议她考体育专业。

就在体育专业测试前20多天,二姐受伤了。一次训练跳鞍马,她越过鞍马扑到了地上,脸、前胸血肉模糊一片,鲜血染红了身上的白色短袖衫。父亲接回二姐回家休养,母亲一边不遗余力地给二姐补充营养,一边心痛地劝二姐放弃高考。二姐用力咬了咬下嘴唇,倔强地说,不管发生什么情况她都不会放弃高考,母亲看着二姐肿得变形的脸,无奈地摇了摇头。

二姐知道,父亲让她重返校园是多么不易,家里多年的负债生活,再加上我和三姐都已进入中学,全家靠父亲微薄的工资支撑早已举步维艰。虽说在向父亲请求返校时,二姐请求父亲给予她两年时间备战高考,可早一年考上,父亲便可早一年减轻负担。

伤口还没愈合的时候,二姐参加了高考体育测试,出人意料的是,她的专业成绩达到了本科线。专业考试后,她满面血痂投入到紧张的学习中,每天都早起,在操场跑几个圈后回到教室早读,同学们不解地说:“体育都考完了,还要锻炼?”二姐告诉他们,自己养成了早晚训练的习惯。其实,二姐由于长期缺营养导致了严重的贫血,头总是发晕,只有多呼吸一点新鲜空气,大脑才能清醒一点。

高考如期来临,在她去县城参加高考的前一天,母亲去镇上搬回她的行李,看着母亲噤若寒蝉的样子,她还安慰母亲说,她会坦然接受命运的安排。母亲心事重重地回到家后,时不时望着远方发怔,她特别放心不下二姐。

三天高考终于结束了,二姐投入到了紧张的双抢劳动中,母亲跟在二姐后面,想打探一下二姐的高考情况。二姐对母亲说:“我学习、考试的时候都已竭尽全力,现在考过了,我彻底地放下了。”可能正是由于二姐良好的心态,她考出了自己的水平,文化成绩出来后,二姐的文化成绩也上了本科线,后来她上了师范大学。

二姐给我树立了一个好的榜样,多少年来,我总是记着二姐的做事原则,那就是无论做什么事都全力以赴,事后再不纠结。这使我受益良多。

列表展示

主站展示位

Shell Bash 的错误处理 –

所有语言都有异常处理机制,shell 也不例外。java 的异常处理,经常被人们吐槽,那么 shell 的异常处理机制又是怎样的呢?通过本文我们一起来看看。 如果脚本里面有运行失败的命令(返回值非0),Bash 默认会继续执行后面的命令。 #!/usr/bin/env bash foo echo bar 上面脚本中,foo是一个不存在的命令,执行时会报错。但是,Bash 会忽略这个错误,继续往下执行。 $ b

Linux Fish shell 安装、配置、函数使用教程 –

关于 Fish shell 目前百度百科上还没有相对应的的词条,但是现实中可能已经被大家用乱了。Fish shell 被称为宇宙第一shell。 FISH(friendly interactive shell)是一个用户友好的命令行 shell,主要是用来进行交互式使用。shell 就是一个用来执行其他程序的程序。 命令行是程序员的必备技能。图形界面虽然好看,解决问题还是要靠命令行。 命令行由 Shell 提供。各种命

区块链 Hash 的不可修改性 –

本文主要讲区块链 Hash 的不可修改性以及区块链名字的由来。 区块与 Hash 是一一对应的,每个区块的 Hash 都是针对"区块头"(Head)计算的。 Hash = SHA256(区块头) 上面就是区块 Hash 的计算公式,Hash 由区块头唯一决定,SHA256是区块链的 Hash 算法。 前面说过,区块头包含很多内容,其中有当前区块体的 Hash(注意是"

Shiro 密码重试次数限制 –

讲完 Shiro 的加解密后,又来了新需求。那就是如何通过Shiro 来限制密码错误次数。为了讲解这个问题,我们先来看看Shiro的PasswordService/CredentialsMatcher。 PasswordService/CredentialsMatcher Shiro提供了PasswordService及CredentialsMatcher用于提供加密密码及验证密码服务。 public interf

java ConcurrentHashMap 教程 –

ConcurrentHashMap具体是怎么实现线程安全的呢,肯定不可能是每个方法加synchronized,那样就变成了HashTable。 集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap)。这篇文章主要分析jdk1.5的3种并发集合类型(concurrent,copyonright,qu

敏捷开发用户故事的扩展-新的故事类别 –

用户故事自最早1998年诞生以来,由于其突出的优点,到现在得到了广泛的应用。从最开始的克莱斯勒C3项目,用户故事当中的用户一般是指软件系统的人类用户,这类用户故事一般涉及人机交互界面。  而随着用户故事在多种场合扩展使用,慢慢衍生出另外两类故事。本文试图来整理下新的故事。 新的故事 1,系统故事 System Story  2,赋能故事 Enabler Story,也称推动者故事,或者使能故事

SPA管理框架 Miox 教程 –

Miox 是一个SPA管理框架。根据 github 上开源信息显示,应该是来自51信用卡团队的开源产品。本文介绍 Miox 的使用教程。 在经典的网页开发中,浏览器创建和管理一系列网页生命周期活动,如会话历史,页面创建,丢弃,页面展示,页面隐藏等,开发人员可以在这些活动上处理自己的逻辑。 在SPA应用程序中,开发人员必须自己处理所有这些事件,或者由一个处理这些事件的框架来处理。Miox是另一个框架与他

CSS3 linear-gradient线性渐变生成带线框的三角(仿微信对话框) –

微信和QQ聊天框内,收到和发送的消息都会在一个带有小箭头的框框内显示。这个效果看起来很不错,到底是怎么实现的呢?本文将带你实现仿微信聊天框和仿QQ消息聊天框。 做到三角图形的生成,最经典的应该是使用CSS border属性了,如果是纯色三角,使用CSS3 clip-path也是一个不错的方法。 但是有时候我们的三角是带线框的,类似下图这种效果: 如果不考虑兼容性,比较好的做法是border属性生成两侧线

MySQL的索引工作原理 –

为什么需要索引(Why is it needed) 当数据保存在磁盘类存储介质上时,它是作为数据块存放。这些数据块是被当作一个整体来访问的,这样可以保证操作的原子性。硬盘数据块存储结构类似于链表,都包含数据部分,以及一个指向下一个节点(或数据块)的指针,不需要连续存储。 记录集只能在某个关键字段上进行排序,所以如果需要在一个无序字段上进行搜索,就要执行一个线性搜索(Linear Search)的过程,平均需要访问N/2的

什么是微服务? –

微服务 (Microservices) 是一种软件架构风格 (Software Architecture Style),它是以专注于单一责任与功能的小型功能区块 (Small Building Blocks) 为基础,利用模组化的方式组合出复杂的大型应用程序,各功能区块使用与语言无关 (Language-Independent/Language agnostic) 的 API 集相互通讯。微服务架构运用于软件架构风格的其中一项概念是甘露

JavaScript中的=>(箭头函数)运算符的用法 –

在JavaScript中=>符号运算符,我们一般称之为箭头函数。因为从外形上来说,它确实是长的想一个箭头。而它的作用和function又类似,因此箭头函数就是由此而来。 在一些框架中我们经常会遇到一些箭头函数,例如下面的代码: var site = () => {     var url="www.xttblog.com";     

Android使用Hybrid框架VasSonic教程 –

类似于小程序这样的功能,腾讯尝试了很多方式来提高打开速度。包括冷热启动多进程、多线程并行、减冗余JS插件、预加载、webview复用、反射、素材校验、进程冗余启动流程、redex等,一步步走了一年多最终完善到sonic。根据 sonic 的测试对比,我们发现采用sonic的结构确实在打开H5首屏效率上提升了不少。本文将详细的讲解使用Android设备配合sonic开发的示例教程。 采用 VasSonic 我们

MySQL 的性能优化最佳实践 –

数据库操作是当今 Web 应用程序中的主要瓶颈。 不仅是 DBA(数据库管理员)需要为各种性能问题操心,程序员为做出准确的结构化表,优化查询性能和编写更优代码,也要费尽心思。 在本文中,我列出了一些针对程序员的 MySQL 优化技术。 在我们开始学习之前,我补充一点:你可以在 Envato Market 上找到大量的 MySQL 脚本和实用程序。 优化查询的查询缓存 大部分MySQL服务器都有查询缓存功能。这是提高性能

Java的wait()、 notify()、notifyAll()和线程同步原理 –

wait与notify是Java同步机制中重要的组成部分。结合与synchronized关键字使用,可以建立很多优秀的同步模型。 使用wait()与notify()/notifyAll()可以使得多个任务之间彼此协作。 wait()与notify()/notifyAll() wait(),notify()和notifyAll()都是java.lang.Object的方法: wait(): Cause

博客寄语:

    业余草是一个程序员学习交流平台,深度IT技术博客,移动开发博客,Web前端博客,企业架构博客,编程语言博客,互联网博客,数据库博客,IT blog,核心关注IT知识传播,共享。为更好的IT产业贡献一份微薄的力量。

实时播报:

博客号-学习成长

相信每一分耕耘都有每一分收获,致力帮助博客主所创作的博客能更快的被收录! 如果有其它需求,可联系下方邮箱。