首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
JAVA
订阅
wangzhicheng
更多收藏集
微信扫码分享
微信
新浪微博
QQ
58篇文章 · 0订阅
你还在用Logback?Log4j2的异步性能已经无敌了,还不快试试
Logback 算是JAVA 里一个老牌的日志框架,从06年开始第一个版本,迭代至今也十几年了。不过logback最近一个稳定版本还停留在 2017 年,好几年都没有更新;logback的兄弟 slf4j 最近一个稳定版也是2017年,有点凉凉的意思。 Apache Log4j…
95%的技术面试必问的JVM知识点
但是一到造火箭、飞机的场景(面试)不懂JVM的你,会被面试官虐的体无完肤。 一起来看看吧。 JVM内存模型可以大致可划分为线程私有区域和共享区域,线程私有区域由虚拟机栈、本地方法栈、程序计数器组成,而共享区域由堆、元数据空间(方法区)组成。 再有人问你JVM的内存模型就回想下上…
超全的设计模式简介(45种)
共有 23 种设计模式。这些模式可以分为三大类: 创建型模式(Creational Patterns)- 这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。 结构型模式…
设计模式第一讲-模版方法模式
这种模式是很比较简单的一种模式,相信大家工作过程中直接或间接用到过很多。 我们用模版方法模式来优化下. 首先我们想到,先把一部分公用方法的供不同支付平台共享,把调用顺序的细节封装起来。 但是可能还有其他的情况,比如我想对某个流程做一些开关怎么办,那就需要用到了Hook. 默认是…
讨论篇:静态变量生命周期到底何如?如何使用?
 最近有个朋友问我个问题,为什么用静态变量作为一个标志位存储,但是时常数据丢失,有时候又是可行的,原因究竟为何。  熟悉Java内存模型的朋友都知道,静态变量是存储在方法区之中的,而静态变量又属于整个类的实例,那么静态变量整个的生命周期是什么样子,什么时候会被回收呢?在此之…
Java线程生命周期与状态切换
最近有点懒散,没什么比较有深度的产出。刚好想重新研读一下JUC线程池的源码实现,在此之前先深入了解一下Java中的线程实现,包括线程的生命周期、状态切换以及线程的上下文切换等等。编写本文的时候,使用的JDK版本是11。 在JDK1.2之后,Java线程模型已经确定了基于操作系统…
多线程程序加速指南
虽然对于一个计算机程序来说最重要的是正确性,如果一个程序没办法产出正确的结果,那么这个程序的价值就大打折扣了。但程序性能也是很重要的一个方面,如果程序运行得太慢,那也会影响到程序的适用范围和硬件配置的成本。 在之前的文章《4.多线程中那些看不到的陷阱》中,我们了解了线程间的同步…
深入理解Java I/O模型
I/O 在计算机中指Input/Output,即输入输出。以一次文件读取为例,我们需要将磁盘上的数据读取到用户空间,那么这次数据转移操作其实就是一次I/O操作,也就是一次文件I/O;我们每天都浏览着各种各样的网页,在我们每请求一个网页,服务器通过网络将一个个的分组数据发送给我们…
NIO 看破也说破(五): 搞,今天就搞,搞懂Buffer
Java NIO 中的三件法宝:Channel 、Selector 和 Buffer 。前面几节中,我们花了很大篇幅讲过 Selector ,咱们今天只搞 Buffer 。希望能通过本文搞明白 Buffer 的基本用法和原理。 在普通 BIO 模式下,我们只能自己维护一个 by…
一文看懂java io系统
Java IO 是一套Java用来读写数据(输入和输出)的API。大部分程序都要处理一些输入,并由输入产生一些输出。Java为此提供了java.io包 流包括字符流和字节流,流从概念上来说是一个连续的数据流。当程序需要读数据的时候就需要使用输入流读取数据,当需要往外写数据的时候…