首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在线程同步的上下文中,短语"class object“指的是什么?

在线程同步的上下文中,短语"class object“指的是什么?
EN

Stack Overflow用户
提问于 2016-02-16 23:20:36
回答 2查看 39关注 0票数 3

我对Java很陌生,正在努力学习同步的概念。我从Java教程Oracle中看到了这个引用。我很难理解他们所说的“类对象”指的是什么。类对象到底是什么?

您可能想知道当调用静态同步方法时会发生什么,因为静态方法与类关联,而不是与对象关联。在这种情况下,线程获取与类关联的class对象的内部锁。因此,对类的静态字段的访问由与该类的任何实例的锁不同的锁控制。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-16 23:29:07

Class本身就是一个类。您可以通过以下方法获得类实例:

  • 调用例如String.class (如果您静态地了解该类),这是Class<String>的一个实例
  • 调用someInstance.getClass() (如果需要实例的具体类),这是Class<? extends SomeInstance>的一个实例,假设someInstanceSomeInstance类型的引用(绑定是因为它可能是SomeInstance的子类)。
票数 4
EN

Stack Overflow用户

发布于 2016-02-16 23:22:34

Class是Java中的一个实际类。存在Class类型的对象。对于每个关键字-class将关联一个类型为Class的对象(至少我假设--这是有意义的,并使该块具有意义)。

我认为这种行为是有意义的--当您同步一个静态方法时,您肯定不能对任何对象进行同步。

可以说,synchronized static是一个反模式。这是一个程序范围内的瓶颈,也是对可扩展性的厌恶。假设您的程序在1GB服务器上运行良好。如果您想要使其适应具有256倍端口和网络容量以及8倍内核的8GB服务器,就无法扩展同步的静态代码。当然,您不能创建另一个对象。我认为唯一的解决方案是使用它来拆分另一个进程和另一个JVM。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35444959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档