首页
学习
活动
专区
工具
TVP
发布

码农沉思录

专注但不限于Java Web领域的技术分享,致力于打造一个有内容、有态度的技术分享平台。
专栏成员
783
文章
1281938
阅读量
170
订阅数
一万字详解 Redis Cluster Gossip 协议
大家好,我是历小冰,今天来讲一下 Reids Cluster 的 Gossip 协议和集群操作,文章的思维导图如下所示。
Bug开发工程师
2020-12-15
1.1K0
中国联通官网被发现含木马脚本,可向用户推广色情APP
11月12日,据火绒安全实验室官网公告,近期发现中国联通官方网站的业务办理页面携带木马脚本,用于向用户推广色情APP和游戏,检测发现这些域名服务器均托管在境外。
Bug开发工程师
2020-11-19
7440
MySQL 如何查找删除重复行?
第一步是定义什么样的行才是重复行。多数情况下很简单:它们某一列具有相同的值。本文采用这一定义,或许你对“重复”的定义比这复杂,你需要对sql做些修改。本文要用到的数据样本:
Bug开发工程师
2020-03-12
6.6K0
五分钟后,你将真正理解MySQL事务隔离级别!
事务是一组原子性的SQL操作,所有操作必须全部成功完成,如果其中有任何一个操作因为崩溃或其他原因无法执行,那么所有的操作都不会被执行。也就是说,事务内的操作,要么全部执行成功,要么全部执行失败。
Bug开发工程师
2020-02-19
4850
为什么我们放弃了微服务?
最近我们开发团队在开发计划中有一个小停顿,技术部门认为现在是将应用从单体架构迁移到微服务的最佳时机。经过一个月的准备和调查,我们取消了迁移,仍然使用单体模式。对我们而言,微服务不仅帮不上忙,反而会影响到开发计划。我们了解微服务大约是在一年前,但是很惊讶地发现它并不适合我们。
Bug开发工程师
2020-02-14
1.4K0
Kubernetes 儿童插图指南
很久很久以前,有一个叫 Phippy 的应用程序。她是一个简单的应用程序,由 PHP 编写且只有一个页面。她住在一个需要和其他可怕的应用程序分享环境的主机中,她不认识这些应用程序并且不愿意和他们来往。她希望她能拥有一个属于自己的环境:只有她自己和她可以称之为家的 Web 服务器。
Bug开发工程师
2019-11-30
5810
讲真,MySQL索引优化看这篇文章就够了
本文主要讨论MySQL索引的部分知识。将会从MySQL索引基础、索引优化实战和数据库索引背后的数据结构三部分相关内容,下面一一展开。
Bug开发工程师
2018-12-21
8570
如何优雅实现Redis客户端?
这篇文章很简单,就是写一个 Java 版本的 Redis Client,而且不是一个生产级别的项目,只是一个验证类型的 demo。用于了解“实现一个 Redis Client” 需要注意哪些事情。
Bug开发工程师
2018-12-21
7020
Linux进程及其调度策略
进程是操作系统虚拟出来的概念,用来组织计算机中的任务。它从诞生到随着CPU时间执行,直到最终消失。不过,进程的生命都得到了操作系统内核的关照。就好像疲于照顾几个孩子的母亲内核必须做出决定,如何在进程间分配有限的计算资源,最终让用户获得最佳的使用体验。内核中安排进程执行的模块称为调度器(scheduler)。这里将介绍调度器的工作方式。
Bug开发工程师
2018-12-18
2.5K0
关于Java序列化你不知道的事
您觉得自己懂 Java 编程?事实上,大多数程序员对于 Java 平台都是浅尝则止,只学习了足以完成手头上任务的知识而已。在本系列 中,Ted Neward 深入挖掘 Java 平台的核心功能,揭示一些鲜为人知的事实,帮助您解决最棘手的编程挑战。
Bug开发工程师
2018-12-18
5330
JavaScript如何优雅实现继承?
其原理如下:构造函数使用 this 关键字给所有属性和方法赋值(即采用类声明的构造函数方式)。因为构造函数只是一个函数,所以可使 Parent 构造函数 成为 Children 的方法,然后调用它。Children 就会收到 Parent 的构造函数中定义的属性和方法。例如,用下面的方式定义 Parent 和 Children:
Bug开发工程师
2018-12-17
5110
Java并发中的Condition是如何实现的
回忆 synchronized 关键字,它配合 Object 的 wait()、notify() 系列方法可以实现等待/通知模式。对于 Lock,通过 Condition 也可以实现等待/通知模式。Condition 是一个接口。Condition 接口的实现类是 Lock(AQS)中的 ConditionObject。Lock 接口中有个 newCondition() 方法,通过这个方法可以获得 Condition 对象(其实就是 ConditionObject )。因此,通过 Lock 对象可以获得 Condition 对象。
Bug开发工程师
2018-12-12
5740
Kafka中的时间轮算法
简单说说时间轮吧,它是一个高效的延时队列,或者说定时器。实际上现在网上对于时间轮算法的解释很多,定义也很全,这里引用一下朱小厮博客里出现的定义:
Bug开发工程师
2018-12-11
1.2K0
如何优雅实现优雅停机?
其实优雅停机,就是在要关闭服务之前,不是立马全部关停,而是做好一些善后操作,比如:关闭线程、释放连接资源等。
Bug开发工程师
2018-12-10
2K0
一次毕生难忘的 Java 内存泄漏排查经历
人人都会犯错,但一些错误是如此的荒谬,我想不通怎么会有人犯这种错误。更没想到的是,这种事竟发生在了我们身上。当然,这种东西只有事后才能发现真相。接下来,我将讲述一系列最近在我们一个应用上犯过的这种错误。最有意思的是,一开始的迹象揭示的问题,与实际发生的问题完全不同。
Bug开发工程师
2018-12-10
7770
8种常被忽视的SQL错误用法
分页查询是最常用的场景之一,但也通常也是最容易出问题的地方。比如对于下面简单的语句,一般 DBA 想到的办法是在 type, name, create_time 字段上加组合索引。这样条件排序都能有效的利用到索引,性能迅速提升。
Bug开发工程师
2018-12-05
5460
EventBus原理深度解析
在工作中,经常会遇见使用异步的方式来发送事件,或者触发另外一个动作:经常用到的框架是MQ(分布式方式通知)。如果是同一个jvm里面通知的话,就可以使用EventBus。由于EventBus使用起来简单、便捷,因此,工作中会经常用到。深入理解该框架的原理就很有必要。
Bug开发工程师
2018-11-23
7050
一文读懂WebSocket
WebSocket是一种网络协议,在OSI模型中,WebSocket协议与HTTP协议一样,都属于最顶层的应用层协议。有些朋友可能会有疑问,既然已经有了HTTP协议,为什么还需要WebSocket协议呢?WebSocket协议相对于HTTP协议到底有什么优势呢?我们考虑以下场景,假设我们有一个网页版的类似于QQ一样的聊天网站,浏览器需要实时地从服务器获取最新的聊天数据,如果使用HTTP协议的话,通常只能通过浏览器不断地轮询服务器来获取最新的聊天数据,因为HTTP协议不支持服务端推送(虽然HTTP2已经支持服务端推送,但是HTTP2的服务端推送跟我们今天讲的服务端推送还是有区别的,后续有时间再进行介绍)。通过客户端不断轮询的缺点是会造成流量浪费和性能损耗。而使用WebSocket协议则不需要客户端轮询就能获取服务器最新的数据,因为WebSocket协议支持服务端推送,在上述聊天应用中,当服务端有新消息到来时,只需要通过WebSocket协议推送给客户端就行了,这样一来既能保证服务端消息的实时性,也能减少性能损耗。
Bug开发工程师
2018-11-08
9380
三分钟构建高性能WebSocket 服务
每当使用SpringBoot进行Weboscket开发时,最容易想到的就是spring-boot-starter-websocket(或spring-websocket)。它可以让我们使用注解,很简单的进行Websocket开发,让我们更多的关注业务逻辑。它底层使用的是Tomcat,且不说把整个Tomcat放进一个WebSocket服务中是否会太重,但在大数据量高并发的场景下,它的表现并不是非常理想。
Bug开发工程师
2018-11-08
1.6K0
基于Netty的百万级推送服务设计要点
最近很多从事移动互联网和物联网开发的同学给我发邮件或者微博私信我,咨询推送服务相关的问题。问题五花八门,在帮助大家答疑解惑的过程中,我也对问题进行了总结,大概可以归纳为如下几类:
Bug开发工程师
2018-11-08
1.6K0
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档