1:用最有效率的方法算出2乘以8
将一个数左移n位,就相当于乘以了2的n次方
2:&和&&的区别
&判断两个表达式,&&第一个为false时则不会判断第二个。
3:== 和 equals的区别
==是判断两个字符串在内存中的首地址
equals 判断两个字符的区别;
4:堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。要点:堆:顺序随意栈:后进先出(Last-In/First-Out);队列是一种特殊的线性表,特殊之处在于它只允许
在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,先进先出。
5:Java主要集合
位于Java.util包中
只能存放引用类型的数据,不能存放基本数据类型
集合是由数组来实现的,对数组做的封装
一:数组声明了它容纳的元素的类型,而集合不声明。这是由于集合以object形式来存储它们的元素。 二:一个数组实例具有固定的大小,不能伸缩。集合则可根据需要动态改变大小。 三:数组是一种可读/可写数据结构---没有办法创建一个只读数组。然而可以使用集合提供的ReadOnly方法,以只读方式来使用集合。该方法将返回一个集合的只读版本。
集合分类: Collection:List、Set Map:HashMap、HashTable 1.1 Collection接口 Collection是最基本的集合接口,声明了适用于JAVA集合(只包括Set和List)的通用方法。 Set 和List 都继承了Conllection,Map。
set list map
不能重复 可扩展 键对象和值对象映射的集合
随即储存,插入,删除 线性存储 没有继承collection
遍历效率低
Collection 和 Map 的区别
容器内每个为之所存储的元素个数不同。 Collection类型者,每个位置只有一个元素。 Map类型者,持有 key-value pair,像个小型数据库。
Collection、List、Set、Map都是接口,不能实例化。 继承自它们的 ArrayList, Vector, HashTable, HashMap是具象class,这些才可被实例化
链接:https://wenwen.sogou.com/z/q799124796.html
6:接口可以继承接口,抽象类可实现接口。抽象类是可以继承实体类,但前提是实体类必须有明确的构造函数,
抽象类中可以有静态的main方法
7:Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务
器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。
Servlet 通过调用 init () 方法进行初始化。
init 方法被设计成只调用一次。它在第一次创建 Servlet 时被调用,在后续每次用户请求时不再调用。
Servlet 调用 service() 方法来处理客户端的请求。
service() 方法是执行实际任务的主要方法。Servlet 容器(即 Web 服务器)调用 service() 方法来处理来自客户端(浏览器)的请求,并把格式化的响应写回给客户端。
Servlet 通过调用 destroy() 方法终止(结束)。
destroy() 方法只会被调用一次,在 Servlet 生命周期结束时被调用。destroy() 方法可以让您的 Servlet 关闭数据库连接、停止后台线程、把 Cookie 列表或点击计数器写入到磁盘,并执行其他类似的清理活动。
最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的。
采用JSP来表现页面,采用Servlet来完成大量的处理,Servlet扮演一个控制者的角色,并负责响应客户请 求。Servlet创建JSP需要的Bean和对象,根据用户的行为,决定将哪个JSP页面发送给用户。
特别要注意 的是,JSP页面中没有任何商业处理逻辑,它只是简单的检索Servlet先前创建的Beans或者对象,再将动态 内容插入预定义的模板。
8:
多线程有两种实现方法:
方法一:继承Thread类,重写方法run();
方法二:实现Runnable接口,实现方法run();
实现同步有几种方法:例如:synchronized,wait,notify都可以实现同步。
9:JDBC(Java数据库连接,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成.JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,JDBC实现了所有这些面向标准的目标并且具有简单,严格类型定义且高性能实现的接口。
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate的核心接口一共有6个,分别为:Session、SessionFactory、Transaction、Query、Criteria和Configuration。
DAO是Data Access Object数据访问接口,数据访问:故名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间
Inverse是hibernate双向关系中的基本概念。inverse的真正作用就是指定由哪一方来维护之间的关联关系。当一方中指定了“inverse=false”(默认),那么那一方就有责任负责之间的关联关系,说白了就是hibernate如何生成Sql来维护关联的记录!
10;struts
它通过采用Java Servlet/JSP技术,实现了基于Java EE Web应用的Model-View-Controller〔MVC〕设计模式的应用框架〔WebFramework〕,是MVC经典设计模式中的一个经典产品
truts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发。
由JSP建立,struts包含扩展自定义标签库,可以简化创建完全国际化用户界面的过程。
struts中,基本的控制器组件是ActionServlet类中的实例servlet,实际使用的servlet在配置文件中由一组映射(由ActionMapping类进行描述)进行定义。
Action,这个类通常由用户提供,该控制器负责接收来自ActionServlet的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给JSP页面显示。
Model部分
由JavaBean组成,ActionForm用于封装用户的请求参数,封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionForm里面的请求参数处理用户的请求。
JavaBean则封装了底层的业务逻辑,包括数据库访问等。
View部分
该部分采用JSP实现。
Struts提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与Model的有效交互,并增加了现实功能。
Controller组件有两个部分组成——系统核心控制器,业务逻辑控制器。
Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。
◆目的:解决企业应用开发的复杂性
◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能
◆范围:任何Java应用
Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框
原文:https://www.cnblogs.com/wcss/p/10415191.html