大家好,我刚学java, javaEE没接触过,所以别提javaEE相关的东西了。以前玩php,导致java代码是这样的模式:main --> java类库功能,获得变量-->自己写的class.方法(函数变量) --> 把数据写入mysql写完发现是完全的“面向过程”,自己写的class里的返回值根本型同虚设,因为方法里会把变量传递给新的方法。
为了以后更好的学习java,于是打算改成面向对象的,但是自己对面向对象没有深入的理解。只知道这样的模式写下去感觉就是面向对象:
返回值 = class.方法(另一个class方法(变量));
Mysql(返回值);在完成了大量自己想要的功能后,想优化程序,把“多线程”加进去。但是“多线程”用run方法的,没返回值,用call方法的话,Future这个类好像被归为javax了,也难得到返回值,还要考虑同步问题呢(jdk6的多线程call方法如何获得返回值?我Future无法通过jvm)。我想问大家的是,多线程是不是跟面向对象有冲突啊?本来我是想让每个线程“同步”,把得到的结果串成 一个“返回值”,然后再mysql(返回值)。现在考虑下,用“面向过程”的方法,就直接可以在每个线程之后加入mysql(变量),这样也能获得最后的结果,而且只需要考虑“读写锁”的问题,感觉程序速度更快,因为不必处理一个超大的“返回值”。还有一种办法就是,class的 一个方法“面向对象”,不用“多线程”,分析得出“返回值”。另一个方法采用“面向过程”,用“多线程”把相关数据存入mysql。How to do?

解决方案 »

  1.   

    面向对象与多线程没什么关系, 与java没什么关系, 与某种具体语言没什么关系, 与能不能解决问题没什么关系, 只是一种形式, 程序语言发展到现在, 都是为初手而发展, 目的是吸引更多初手参与. 几年以后, 如果你还在思考的话, 你会有第二次的飞跃, 就是面不面象对象无所谓, 用什么语言无所谓.
      

  2.   

    感觉楼主“动手”能力比较强,不爱看书,在闭门造车
    把最基本的书里宠物商店的例子照着做一下,都不会问这样的问题了。面向对象和面向过程是相对的,是不同的代码组织形式。多线程,是让多CPU的机器可以并行执行代码,与前面两个根本不是一个层面的问题,LZ还是看看书吧