单例的作用范围

鸣鸣Amadues 2017-08-19 02:20:28
单例是在本进程中实例唯一,还是在整个Java运行时中唯一?
比如我同时运行两个程序,有没有办法共享某个类的数据?
...全文
429 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
liveinangers 2017-08-22
  • 打赏
  • 举报
回复
当然可以啊
鸣鸣Amadues 2017-08-22
  • 打赏
  • 举报
回复
引用 5 楼 dyc12ii 的回复:
序列化就是为了共享对象而生的吧,在进程1中序列化该对象,启动进程2的时候,将序列化好的对象加载进内存. 当然,这样做只能复制一个对象,不能实现对象的公共资源共享,但是基于这个原理,你可以尝试结合hibernate的快照机制,在每个进程建立镜像,对象的属性发生改变,则变动镜像,将镜像序列化,另一个进程的镜像检测到镜像与序列化不同时,更新镜像和本进程中的类 额,我只是说说而已,估计挺难实现的,画个图可能你会更明白我在说什么
这个快照没有玩过。 也就是每个进程的类都是数据独立的,即便是静态类或者单例是吧。
  • 打赏
  • 举报
回复
引用 3 楼 q54244125 的回复:
我说不可以,你信吗。
你很活跃啊 看到好几个帖子里面都有你
你好sun悟空 2017-08-20
  • 打赏
  • 举报
回复
序列化就是为了共享对象而生的吧,在进程1中序列化该对象,启动进程2的时候,将序列化好的对象加载进内存.
当然,这样做只能复制一个对象,不能实现对象的公共资源共享,但是基于这个原理,你可以尝试结合hibernate的快照机制,在每个进程建立镜像,对象的属性发生改变,则变动镜像,将镜像序列化,另一个进程的镜像检测到镜像与序列化不同时,更新镜像和本进程中的类

额,我只是说说而已,估计挺难实现的,画个图可能你会更明白我在说什么


鸣鸣Amadues 2017-08-20
  • 打赏
  • 举报
回复
引用 1 楼 weixin_35946648 的回复:
lz需要百度一下进程的概念 我就不赘述了。启动的每个java程序都独享内存空间 两个java程序就有两个java虚拟机实力。两者完全独立 没有任何关系。不能直接从对方内存空间取数据。只能通过网络或第三方媒介
那静态类也是每个进程都各自有独立的一份数据? 有没有跨进程的共享内存?
天涯若风 2017-08-20
  • 打赏
  • 举报
回复
我说不可以,你信吗。
沁海棠 2017-08-19
  • 打赏
  • 举报
回复
线程是线程,进程是进程,
潇湘如梦 2017-08-19
  • 打赏
  • 举报
回复
lz需要百度一下进程的概念 我就不赘述了。启动的每个java程序都独享内存空间 两个java程序就有两个java虚拟机实力。两者完全独立 没有任何关系。不能直接从对方内存空间取数据。只能通过网络或第三方媒介

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧