随笔分类 -  java进阶

摘要:一 何为IO I/O(Input/Output) 即输入/输出 。 从计算机结构的角度来解读 I/O : 根据冯.诺依曼结构,计算机结构分为 5 大部分:运算器、控制器、存储器、输入设备、输出设备。 输入设备(比如键盘)和输出设备(比如显示器)都属于外部设备。网卡、硬盘这种既可以属于输入设备,也可以 阅读全文
posted @ 2024-03-04 17:16 balfish 阅读(23) 评论(1) 推荐(0) 编辑
摘要:1 重点场景分类 1. 线程 2. volatile 3. 锁 4. jvm和gc 5. TreadLocal 6. 深拷贝浅拷贝 7. 设计模式 8. IO 2 Java 中的几种基本数据类型了解么? Java 中有 8 种基本数据类型,分别为: 6 种数字类型: 4 种整数型:byte、shor 阅读全文
posted @ 2024-03-02 16:35 balfish 阅读(168) 评论(1) 推荐(0) 编辑
摘要:一 内存模型 - 主存高速缓存的一致性 在计算机执行程序时,每条指令都是在CPU中执行的。而执行指令过程中,势必涉及到数据的读取和写入。由于程序运行中的临时数据时存放在主存(物理内存)当中的,CPU执行速度很快,而从内存中读取&写入数据的速度很慢,因此对数据的操作如果通过内存的交互来操作,会大大降低 阅读全文
posted @ 2018-04-17 12:04 balfish 阅读(362) 评论(0) 推荐(1) 编辑
摘要:一 进程和线程 什么是进程 进程是程序的一次执行过程,是系统运行程序的基本单位。系统运行一个程序即是一个进程从创建, 运行到消亡的过程。 在 Java 中,当我们启动 main 函数时其实就是启动了一个 JVM 的进程,而 main 函数所在的线程就是这个进程中的一个线程,也称主线程。 如下图所示, 阅读全文
posted @ 2018-03-26 11:53 balfish 阅读(403) 评论(0) 推荐(0) 编辑
摘要:1 synchronized底层原理 我们先通过反编译下面的代码来说明问题。 public class SynchronizedDemo { public void method() { synchronized (this) { System.out.println("Method 1 start 阅读全文
posted @ 2018-03-11 16:44 balfish 阅读(269) 评论(0) 推荐(0) 编辑
摘要:浅拷贝:浅拷贝会在堆上创建一个新的对象(区别于引用拷贝的一点),不过,如果原对象内部的属性是引用类型的话,浅拷贝会直接复制内部对象的引用地址,也就是说拷贝对象和原对象共用同一个内部对象。 深拷贝:深拷贝会完全复制整个对象,包括这个对象所包含的内部对象。 一 demo演示 1 Professor类 1 阅读全文
posted @ 2018-01-03 11:33 balfish 阅读(455) 评论(1) 推荐(0) 编辑
摘要:1 单例模式 1.1 饿汉法 public class Singleton { private Singleton() { } private static Singleton singleton = new Singleton(); public static Singleton getSingl 阅读全文
posted @ 2016-11-14 16:37 balfish 阅读(324) 评论(0) 推荐(0) 编辑
摘要:一 Java内存划分 在Java运行时的数据区里,由JVM管理的内存区域分为下图几个模块: 1) 程序计数器(Program Counter Register) 程序计数器是一个比较小的内存区域, 用于指示当前线程所执行的字节码执行到了第几行, 可以理解为是当前线程的行号指示器. 字节码解释器在工作 阅读全文
posted @ 2015-09-23 15:35 balfish 阅读(341) 评论(1) 推荐(0) 编辑
摘要:一 神么是ThreadLocal ThreadLocal很多地方叫做线程本地变量, 也有线程本地存储的叫法, 它为变量在每个线程中创建一个副本, 每个线程可以访问自己内部的副本变量 ThreadLocal不是用于解决共享变量的问题的,不是为了协调线程同步而存在,而是为了方便每个线程处理自己的状态而引 阅读全文
posted @ 2015-08-31 17:25 balfish 阅读(218) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示