在学校做的基本都是j2se向的东西,毕业后并没有继续java
最近开始学习java,遇到了几个问题,求几位达人解达:1、何时用接口?何时用抽象类。
在我看来的话,抽象类由于可以规定成员变量及非final类,所以一般用于系统内部调用时使用
而接口是用于方法的集合,或者说是对
例如动物园的例子,动物就用抽象类去实现,而喂动物就用接口实现
当然这个问题我也没搞清楚,所以问问达人们2、有接触过一个spring+hibernate的项目,里边spring是用来管理那些实例属性进行反转注入的,而hibernate的作用是对数据库进行面向对象编程。
这样看来spring应该是松耦合的作用,而hibernate是用来干什么的?增加内聚?
另外一个问题就是spring管理的实例,是否有规定?毕竟service这些函数是没必要被管理的3、java线程池是用于对一系列线程的控制和操作,在j2ee里,除了servlet,哪里还需要用到线程池?4、ServerSocket的话,是一个可以接受多个client socket连接的线程池还是只对单一socket起作用(类似singleton模式)?暂时想到这四个问题,肯请指点
最近开始学习java,遇到了几个问题,求几位达人解达:1、何时用接口?何时用抽象类。
在我看来的话,抽象类由于可以规定成员变量及非final类,所以一般用于系统内部调用时使用
而接口是用于方法的集合,或者说是对
例如动物园的例子,动物就用抽象类去实现,而喂动物就用接口实现
当然这个问题我也没搞清楚,所以问问达人们2、有接触过一个spring+hibernate的项目,里边spring是用来管理那些实例属性进行反转注入的,而hibernate的作用是对数据库进行面向对象编程。
这样看来spring应该是松耦合的作用,而hibernate是用来干什么的?增加内聚?
另外一个问题就是spring管理的实例,是否有规定?毕竟service这些函数是没必要被管理的3、java线程池是用于对一系列线程的控制和操作,在j2ee里,除了servlet,哪里还需要用到线程池?4、ServerSocket的话,是一个可以接受多个client socket连接的线程池还是只对单一socket起作用(类似singleton模式)?暂时想到这四个问题,肯请指点
解决方案 »
- 一个关于hibernate分页的逻辑问题
- hbm.xml文件里class的lazy属性我没设,默认应该是立即加载,为什么我默认是延迟加载呢?请问大虾
- hibernate配置问题,很急。路过的请进来。。。。。。。。。。
- rwebwork2+FreeMarker 制作数据列表显示简单实例
- struts中excute方法和perform方法的区别 ?
- 数据库问题
- 如何为JB8配置远程weblogic服务器?
- weblogic7 EJB发布问题
- 谁能让jbuilder支持sun one application server 7,要多少分就给多少分!!!!!!!!!!
- hibernate opensession问题
- 初学者问题,文件包含下的变量作用域
- 手机开发
接口一定多用于定义和外界交互的方法,而抽象类一般自己有写处理的方法,只不过把一些细节交给子类处理。
同时注意接口可以都继承,抽象类不行。2、spring一个比较好的系统框架,hibernate是一个持久层框架
是spring管理的实例,是否有规定?这里不是很明确你的疑问,把spring看做是一个bean的池,你需要用用什么,进去找,找到了使用就可以了3. servlet除了有多线程的,还有一个我们不常用的单线程模式的servlet。 需要用到线程的地方就用到线程哟,线程的使用,是应用上的。不是技术上的。4。这个和单例不是一个范畴的东西,单例是一个实例而已。这里一般使用serversocket都是一个实例对应一个监听的端口,但是和singlton模式是两码事,singleton模式是不希望用户实例过多的实例,而这里是只能有一个实例。以上回答也不知道是不是点到你需要的地方了。
首先感谢这位高手的解答1、“同时注意接口可以都继承,抽象类不行。”抽象类似乎也能继承super里的所有方法吧?或者是我理解了?2、如果说对象持久层的话我就明白了,不过spring作为bean池,我看到不仅仅是bean,还有类似于bean的包含setxxx,getxxx方法的都在其中控制,是不是可以说spring可以用来管理所有除了service(方法)的所有java类?3,4的问题主要是早晨在想socket多线程的问题时,突然大脑绞在一起了,完全想不通3里主要是没有实际的servlet例子,基本都是在理论上徘徊,因为做过别的web开发,所以将servlet看成一个函数,页面跳转附带的?a=xxx&&b=xxx这些参数看成函数的参数,每个用户都会产生一条新线程进行交互操作。不知道这样理解对不对?还有就是在j2ee里的多线程只有servlet使用吗?4里感觉serversocket应该是在socket连接后一直在起监听的作用,接受和发送每个stream,但是想起client的socket连接是单一的,所以以为serversocket的连接也是单一的,有些误解,现在明白了
1、抽象类用于具体对象抽象,接口用于某个概念抽象……懂了2、恩,你们这样一说理解了,hibernate是对象持久化与面向对向的数据库操作3、这个问题还残留点疑问……在楼上已问……4、serversocket与socket是一对一?
抽象类不能实例化,还有接口中如果有变量的话,只能是静态的
2.hibernate和spring都是轻量级的框架,松耦合。对于Spring中的HibernatDaoSupport,它封装
了Hibernate的session。这有点耦合的成分,但是也不是严格意义上的
3.线程的使用是需求和应用上的
4.一般serversocket一个实例对应一个监听的端口
1、何时用接口?何时用抽象类。
当继承的都是一些方法 就用接口, 如果不止是方法还有属性,用抽象类
2,spring一个比较好的系统框架,hibernate是一个持久层框架
3,在webservice也要可用线程池的,
2.2个多是轻量级的框架,多是为了解耦。轻量级的框架倾入性少,基本上类的定义多是POJO,无需继承他们定义的父类,实现解耦。spring的主要应用于业务模块的注入。当业务发生改变时,只要修改下业务功能,再修改下XML配置。spring注入使用的多是接口。hibernate则不仅屏蔽了底层数据库的差异,而且把二维的数据转化成了对象,程序员只要面向对象进行编程。说白了通过配置关系映射,程序员面向的是对象型的数据库,虽然数据库仍然是关系型数据库。
3.线程池只是池技术的一种应用。还有数据库连接池,对象锁池等等。有些对象new的开销是很大的,所以初始化的时候就new好几个放在一个容器里。这个容器就叫池。要用的时候拿一个,用完放回去。JavaEE主要就是WEB和EJB,web的本质就是Servlet,还有哪用池?
4.ServerSocket是接受多个请求的。SS在指定的端口进行监听,监听到建立连接,返回一个Socket通道。再进行监听。程序员可以在这个通道上启动个线程与客户端进行交互。以上有误的话 请大家指正。