随笔分类 -  Java

摘要:在面试、并发编程、一些开源框架中总是会遇到 volatile 与 synchronized 。synchronized 如何保证并发安全?volatile 语义的内存可见性指的是什么?这其中又跟 JMM 有什么关系,在并发编程中 JMM 的作用是什么,为什么需要 JMM?与 JVM 内存结构有什么区 阅读全文
posted @ 2020-12-05 22:33 MageByte 阅读(613) 评论(0) 推荐(0)
摘要:Tomcat 发展这么多年,已经比较成熟稳定。在如今『追新求快』的时代,Tomcat 作为 Java Web 开发必备的工具似乎变成了『熟悉的陌生人』,难道说如今就没有必要深入学习它了么?学习它我们又有什么收获呢? 静下心来,细细品味经典的开源作品 。提升我们的「内功」,具体来说就是学习大牛们如何设 阅读全文
posted @ 2020-07-08 14:20 MageByte 阅读(829) 评论(0) 推荐(2)
摘要:事务是数据库的执行单位。事务具有ACID属性。原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability) 原子性:即事务中的一组操作,要么全执行,要么全部不执行 一致性:事务前数据是一致,事务后数据也是保持一致的 隔离性:多个并发事务 阅读全文
posted @ 2016-11-29 10:12 MageByte 阅读(193) 评论(0) 推荐(0)
摘要:Object obj=new Object(); 一句很简单的代码,但是这里却涉及Java栈,Java堆,Java方法区三个最重要的内存区域之间的关联。 假设这句代码出现在方法体中: Object obj将反映到Java栈的本地变量表,这是一个本地变量的定义。是一个引用类型。 new Object( 阅读全文
posted @ 2016-04-11 22:20 MageByte 阅读(1720) 评论(0) 推荐(0)
摘要:运行时内存模式: 各区介绍: 方法区(线程共享):用于存放被虚拟机加载的类的元数据:静态变量,常量,以及编译和的代码(字节码),也称为永久代(所有该类的实例被回收,或者此类classLoader被回收)。 Java堆(线程共享):存放对象实例和数组,这里是内存回收的主要地方。可以分为新生代(youn 阅读全文
posted @ 2016-04-11 22:10 MageByte 阅读(600) 评论(0) 推荐(0)