Java
文章平均质量分 80
wgyang_gz
这个作者很懒,什么都没留下…
展开
-
Java内存模型
每条线程还有自己的工作内存,线程的工作内存中保存了被该线程使用到的变量的主内存副本拷贝,线程对变量的所有操作都必须在工作内存中进行,而不能直接读写主内存中的变量。第一个是保证此变量对所有线程的可见性。主内存与工作内存之间具体的交互协议,即一个变量如何从主内存拷贝到工作内存、如何从工作内存同步回主内存之类的实现细节,Java内存模型中定义了8种操作来完成,虚拟机实现时必须保证每一种操作都是原子的、不可再分的。作用于主内存的变量,把一个变量的值从主内存传输到线程的工作内存,以便随后的load操作使用。原创 2024-01-24 22:22:52 · 969 阅读 · 1 评论 -
终于理解java注解了
下面是一个自定义注解的栗子。在这个例子中,自定义了@DBTable注解,用于表明要为有该注解的类生成建表语句,@Constraints、@SQLString、@SQLInteger注解表示数据库表字段相关的属性。/*** 标记类是一张表*//*** 表名*//*** 字段属性*//*** 是否主键*//*** 是否允许为空*//*** 是否唯一*//*** 数据库字符串类型*//*** 字段长度*//*** 字段名称*//**原创 2024-01-24 22:13:50 · 374 阅读 · 0 评论 -
JDK动态代理
jdk动态代理原创 2022-08-01 16:56:28 · 457 阅读 · 1 评论 -
java虚拟机内存模型
Java虚拟机的运行时数据区由程序计数器、java虚拟机栈、本地方法栈、Java堆、方法区、运行时常量池以及直接内存构成。构成图如下:程序计数器程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码行号指示器。由于Java虚拟机的多线程是通过线程切换并分配处理器执行时间的方式来实现的,在任何一个确定的实可,一个处理器都只会执行一条线程中的指令。因此,为了线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计数器,各条线程之间计数器互不影响,独立存储,我们成这类内存区域为“线原创 2021-06-28 22:53:13 · 122 阅读 · 0 评论