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

TopCoder

关注程序员技术成长,用简洁的文字,分享复杂的技术。
专栏作者
101
文章
115622
阅读量
25
订阅数
Java线程的那些状态
Java线程(或者说计算机线程),是有一些状态来表示当前线程运行信息的,可以通过jsatck命令来查看Java进程中线程函数栈信息,其中就包括了Java线程状态。
luoxn28
2021-04-08
3300
如何优雅的让3个线程打印ABC
让3个线程依次打印ABC,是一个常见的问题,这是阿里和华为都有考过的面试题。比如题目描述如下:
luoxn28
2021-03-18
2.4K0
令牌桶、漏斗、冷启动限流在sentinel的应用
分布式系统为了保证系统稳定性,在服务治理的限流中会根据不同场景进行限流操作,常见的限流算法有:
luoxn28
2021-02-26
1.1K0
CompletableFuture 原理浅析
Java8新增了CompletableFuture 提供对异步计算的支持,可以通过回调的方式处理计算结果,CompletableFuture 类实现了CompletionStage和Future接口,所以还可以像之前使用Future那样使用CompletableFuture ,尽管已不再推荐这样用了。
luoxn28
2020-12-02
1.9K0
JMM Java内存模型
Java采用内存共享的模式来实现线程之间的通信。编译器和处理器可以对程序进行重排序优化处理,但是需要遵守一些规则,不能随意重排序。
luoxn28
2020-11-05
5190
happens-before那些事儿
比如volatile规则是volatile产生内存屏障保证了读在写之后进行的。程序次序规则、锁定规则是处理器和编辑器规则来决定的。
luoxn28
2020-11-05
4360
FutureTask 原理剖析
Future接口和实现Future接口的FutureTask,代表异步计算的结果,Future使用示例如下:
luoxn28
2020-11-05
8320
toString如何转json
试想一个问题:如果我们已知Java对象的toString格式,想要获取其json格式或者其Java对象,该如何做呢?
luoxn28
2020-10-09
6.7K1
Linux信号处理机制
信号是一种进程间通信机制,信号都有一个对应的默认处理行为,信号触发时,信号处理函数和进程正常的执行流程同时存在,这会给编程带来隐患,如果信号处理函数中调用了不可重入函数的话。信号同其他进程间通信技术(管道、共享内存)相比,传递的信息还是有限的,由于信息较少所以也方便管理,一般在系统管理中使用,比如终止或者恢复进程等。 ·
luoxn28
2020-04-21
3.3K0
操作系统中的页式内存管理
理想情况下用户对内存的期待是大容量、高速度和持久性,但是现实中却是一个由缓存、主存、磁盘组成的内存架构,该架构中,缓存低容量、速度快但是成本高,主存中速度、中容量和中成本,磁盘就是大容量、持久性但是速度慢。
luoxn28
2020-04-07
1.5K0
Java并发工具那些事儿
Java并发工具类主要有CyclicBarrier、CountDownLatch、Semaphore和Exchanger,日常开发中经常使用的是CountDownLatch和Semaphore。下面就简单分析下这几个并发工具类:
luoxn28
2020-03-11
4070
ToString数据如何反序列化
不知道小伙伴们有没有这样的困扰,平常开发中写单测,要mock一个复杂的对象,并且也知道了该对象的toString格式数据(比如从日志中获取),但是该怎么构建这个对象呢?
luoxn28
2020-03-11
1.9K0
开发者不可不知的 Docker 命令
Docker是基于go语言开发,底层技术(Linux下)主要基于cgroups、namespace以及联合文件技术实现的一种进程级别的轻量级虚拟化解决方案。由于Docker进程隔离独立于宿主机上其他进程,因此也称为容器,Docker在容器的基础上,进行了更进一步的封装,从文件系统、网络到进程隔离等,极大简化了容器的创建管理维护工作,降低了开发者使用门槛,因此才在近几年流行开来(毕竟Docker的底层技术在Docker出现之前就已经存在了)。
luoxn28
2020-01-02
4980
Netty 黏包拆包机制
黏包和拆包的产生是由于TCP拥塞控制算法(比如angle算法)和TCP缓冲区机制导致的,angle算法简单来说就是通过一些规则来尽可能利用网络带宽,尽可能的发送足够大的数据。TCP(发送/接收)缓冲区会暂缓数据,并且是有最大容量的。
luoxn28
2019-12-12
6200
Netty Pipeline与ChannelHandler那些事
每个channel内部都会持有一个ChannelPipeline对象pipeline,pipeline默认实现DefaultChannelPipeline内部维护了一个DefaultChannelHandlerContext链表。
luoxn28
2019-12-12
6460
Java nio 空轮询bug到底是什么
epoll机制是Linux下一种高效的IO复用方式,相较于select和poll机制来说。其高效的原因是将基于事件的fd放到内核中来完成,在内核中基于红黑树+链表数据结构来实现,链表存放有事件发生的fd集合,然后在调用epoll_wait时返回给应用程序,由应用程序来处理这些fd事件。
luoxn28
2019-11-25
4.3K0
彻底搞懂 netty 线程模型
netty线程模型netty单线程模型Reactor多线程模型Reactor主从多线程模型netty线程模型思考netty线程模型实践
luoxn28
2019-11-25
1.1K0
Netty 入门,这一篇文章就够了
netty旨在为可维护的高性能、高可扩展性协议服务器和客户端的快速开发提供异步事件驱动的网络应用程序框架和工具。换句话说,Netty是一个NIO客户端服务器框架,可以快速轻松地开发协议服务器和客户端等网络应用程序。它极大地简化并简化了TCP和UDP套接字服务器开发等网络编程。
luoxn28
2019-11-07
4500
java lambda 深入浅出
标注为@FunctionalInterface的接口是函数式接口,该接口只有一个自定义方法。注意,只要接口只要包含一个抽象方法,编译器就默认该接口为函数式接口。
luoxn28
2019-11-06
5050
MySQL基础概念知多少
MySQL相关的名词概念还是挺多的,但是常用的也不多,因此将常用的统计整理下,便于回顾:
luoxn28
2019-11-06
5970
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档