欢迎回家
我们一直在改变

javaSE基础

Java编程规约(集合)

Martin阅读(859)评论(0)赞(0)

【强制】关于 hashCode 和 equals 的处理,遵循如下规则: 1) 只要覆写 equals,就必须覆写 hashCode。 2) 因为 Set 存储的是不重复的对象,依据 hashCode 和 equals 进行判断,所以 Se...

Java编程规约(控制语句)

Martin阅读(700)评论(0)赞(0)

【强制】在一个 switch 块内,每个 case 要么通过 continue/break/return 等来终止,要么 注释说明程序将继续执行到哪一个 case 为止;在一个 switch 块内,都必须包含一个 default 语句并且放...

网络IO和磁盘IO详解

Martin阅读(767)评论(0)赞(0)

1. 缓存IO        缓存I/O又被称作标准I/O,大多数文件系统的默认I/O操作都是缓存I/O。在Linux的缓存I/O机制中,数据先从磁盘复制到内核空间的缓冲区,然后从内核空间缓冲区复制到...

彻底搞懂字符集编码:ASCII,Unicode 和 UTF-8

Martin阅读(774)评论(0)赞(0)

一、ASCII 码 我们知道,计算机内部,所有信息最终都是一个二进制值。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,...

面向对象之组合VS继承:继承过时了?

Martin阅读(625)评论(0)赞(0)

  在阅读Effective Java中的第16条时发现了一个有趣的机制或者说是模式,那就是组合(文中翻译为复用,但是作者认为组合更能体现这种模式的精神),并且文中建议使用组合。  那什么是组合,组合相较于继承的优点在哪里,缺点又有哪些,组...

乐观锁、悲观锁,这一篇就够了!

Martin阅读(676)评论(0)赞(0)

乐观锁、悲观锁,这一篇就够了! 1. 乐观锁 乐观锁顾名思义就是在操作时很乐观,认为操作不会产生并发问题(不会有其他线程对数据进行修改),因此不会上锁。但是在更新时会判断其他线程在这之前有没有对数据进行修改,一般会使用版本号机制或CAS(c...

Java 线程池的创建过程分析 Java 线程池的创建过程分析

Martin阅读(650)评论(0)赞(0)

最近在改进项目的并发功能,但开发起来磕磕碰碰的。看了好多资料,总算加深了认识。于是打算配合查看源代码,总结并发编程的原理。 准备从用得最多的线程池开始,围绕创建、执行、关闭认识线程池整个生命周期的实现原理。后续再研究原子变量、并发容器、阻塞...

Java 内存模型 JMM 浅析 Java 内存模型 JMM 浅析

Martin阅读(693)评论(0)赞(0)

JMM简介 Java Memory Model简称JMM, 是一系列的Java虚拟机平台对开发者提供的多线程环境下的内存可见性、是否可以重排序等问题的无关具体平台的统一的保证。(可能在术语上与Java运行时内存分布有歧义,后者指堆、方法区、...

91CODING 小白轻松上手,大牛稳健进步

关于我们免责声明