为您找到与百度java机试相关的共70个结果:
做笔试面试题几乎是每个公司选拔java个人求职者的必要程序,对java个人求职者是一种考核形式。下面是读文网小编为大家带来的2017 java笔试面试题,相信对你会有帮助的。
1答案:ABD
2答案: D
3答案:BC
4答案:AB
5答案AC
6答案:A,G
7答案:A
8A B C D E
9A B C D E
10A B D
11A B C
12B D
13A C
14A B C
15A B C
16答案:C
二 填空
3 123.7 & 2800 2
三判断
× ×√√√√×√×√
四写出相应的SQL语句
1Select job,count(*) from emp group by job;
2Select ename,sal,deptno from emp where deptno=(select deptno from emp where ename=’SMITH’);
3Select ename,sal,grade from emp,salgrade where sal between losal and hisal;
4Select * from (select * from emp order by sal desc) where rownum<=3;
5Select e1.ename empname,e2.ename mgrname from emp e1,emp e2 where e1.mgr=e2.empno;
五简答
可以通过声明和发布来截获自定义异常。
一、在声明部分为声明自定义异常名。
二、在执行部分使用 RAISE 语句显式地发布异常。
三、在相应的异常处理例程中引用已声明的异常。
2(1).抽象:
抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。
(2).继承:
继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性, 新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。
(3).封装:
封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
(4). 多态性:
多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。
List 以特定次序来持有元素,可有重复元素。Set 无法拥有重复元素,内部排序。Map 保存key-value值,value可多值。
3List 以特定次序来持有元素,可有重复元素。Set 无法拥有重复元素,内部排序。Map 保存key-value值,value可多值
4a、Action类:
struts1.2要求Action类继承一个基类。struts2.0 Action要求继承ActionSupport基类 b、线程模式
struts1.2 Action是单例模式的并且必须是线程安全的,因为仅有一个Action的实例来处理所有的请求。
单例策略限制了Struts1.2 Action能做的事情,并且开发时特别小心。Action资源必须是线程安全的或同步的。
struts2.0 Action为每一个请求产生一个实例,因此没有线程安全问题。
c、Servlet依赖
struts1.2 Action依赖于Servlet API,因为当一个Action被调用时HttpServletRequest和HttpServletResponse被传递给execut方法。
struts2.0 Action不依赖于容器,允许Action脱离容器单独测试。如果需要,Struts2 Action仍
然可以访问初始的Request和Response。
但是,其他的元素减少或者消除了直接访问HttpServletRequest和HttpServletResponse的必要性。
d、可测性
测试struts1.2 Action的一个主要问题是execute方法暴露了Servlet API(这使得测试要依赖于容器)。一个第三方扩展:struts TestCase
提供了一套struts1.2的模拟对象来进行测试。
Struts2.0 Action可以通过初始化、设置属性、调用方法来测试,“依赖注入”也使得测试更容易。
点击下页还有更多>>>2017java笔试面试题参考答案
#p#副标题#e#
1. 在工程中加入Struts支持
2. 编辑ApplicationResource.properties文件,在其中加入要使用国际化的信息, 例如: lable.welcome.china=Welcome!!!
3. 创建英文资源文件ApplicationResource_en.properites
4. 创建临时中文资源文件ApplicationResource_temp.properites 例如:
lable.welcom.china=中国欢迎您!
5. 对临时中文资源文件进行编码转换。可以使用myeclipse的插件,也可以在dos下执行: native2ascii -encoding gb2312 ApplicationResource_temp.properties
ApplicationResource_zh_CN.properties
6. 在jsp中加入struts的bean标记库
显示信息:
可以在struts-config.xml文件中定义多个资源包,而每个资源包可使用key属性指定包的名称
6.6form-bean配置:(在配置文件struts-config.xml中):
name: 指定form的名字; type指定form的类型:包名+类名;
action配置:(在配置文件struts-config.xml中)
path=”?”
attribute="?"
input="?"
name="?"
parameter="?"
scope="?"
type="?"
71、hibernate自带的分页机制:获得Session对象后,从Session中获得Query对象。用Query.setFirstResult():设置要显示的第一行数据,
Query.setMaxResults():设置要显示的最后一行数据。
2、不使用hibernate自带的分页,可采用sql语句分页,
如:5:为每页显示的记录,2为当前页: select * top 5 from table where tabId not in (select tabId top (2-1)*5 from table);
8hibernate中一对多配置文件会相应的映射为两张表,并且它们之间的关系是一对多的。
例如:一个student和classes表的关系 。一个学生只能是一个班的,一个班可以有多个学生。
9 1 很少被修改的数据 2 不是很重要的数据,允许出现偶尔并发的数据 3 不会被并发访问
10控制反转IOC AOP
11面向切面编程:主要是横切一个关注点,将一个关注点模块化成一个切面。在切面上声明一个通知(Advice)和切入点(Pointcut); 通知: 是指在切面的某个特定的连接点(代表一个方法的执行。通过声明一个org.aspectj.lang.JoinPoint类型的参数可以使通知(Advice)的主体部分获得连接点信息。)上执行的动作。通知中定义了要插入的方法。切入点:切入点的内容是一个表达式,以描述需要在哪些对象的哪些方法上插入通知中定义的方法。 项目中用到的Spring中的切面编程最多的地方:声明式事务管理。
a、定义一个事务管理器
b、配置事务特性(相当于声明通知。一般在业务层的类的一些方法上定义事务)
c、配置哪些类的哪些方法需要配置事务(相当于切入点。一般是业务类的方法上)
12Insert 条件谓词 inserting;
Update条件谓词 updating;
Delete 条件谓词 deleting。
13视图是一种Oracle对象,是来自一张或多张表或视图中数据的子集的逻辑表示。
特点:限制对数据库的访问;容易实现数据的复杂的查询;维护数据的独立性;对于相同的数据可以产生不同的视图。
14Primary key 确保非空且唯一;
Foreign key 确保引用完整性;
Unique 确保列或者列的组合中的每个值都是唯一的;
Check 限制每条记录都要满足的条件;
Not null 确保该列不能保存空值。
15两者都带有0个或多个参数,参数可以具有模式。
两者都是PL/SQL语句块的不同形式,都有声明段、可执行段以及异常段。
两者都可以存储在数据库中或在语句块中声明
两者不同的是,过程调用本身是一个PL/SQL语句,而函数总是向调用块返回一个值。
16 使用%rowtype属性声明记录变量的优点是什么?
可以不必知道数据库中列的数量和类型。
在运行期间,数据库中列的数量和类型可能发生变化。
在SELECT语句中使用该属性可以有效地检索表中的行。
六编程
1SET serveroutput ON;
Declare
v_empno emp.empno%type:=’&员工编号’;
v_ename emp.ename%type;
v_deptno emp.deptno%type;
v_mgr emp.mgr%type;
Begin
SELECT ename,deptno,mgr INTO v_ename,v_deptno,v_mgr from emp WHERE empno=v_empno;
DBMS_OUTPUT.PUT_LINE(‘员工’||v_ename||’在部门’||’v_deptno’||’主管’||v_mgr);
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE(‘没有此员工’);
END;
2Declare
Cursor emp_cur(v_job emp.job%TYPE) is
Select empno,ename,hiredate from emp where job=v_job;
v_empno emp.empno%TYPE;
v_ename emp.ename%TYPE;
v_hiredate emp.hiredate%TYPE;
BEGIN
OPEN emp_cur(upper(‘&job’));
LOOP
Fetch emp_cur INTO v_empno,v_ename,v_hiredate;
Exit when emp_cur%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(‘编号 姓名 工资’);
DBMS_OUTPUT.PUT_LINE(v_empno||v_ename||v_hiredate);
END LOOP;
CLOSE emp_cur;
END;
Declare
Cursor emp_cur(v_job emp.job%TYPE) is
Select empno,ename,hiredate from emp where job=v_job;
v_empno emp.empno%TYPE;
v_ename emp.ename%TYPE;
v_hiredate emp.hiredate%TYPE;
BEGIN
FOR i IN emp_cur(upper(‘&job’)) LOOP
v_empno:=i.empno;
v_ename:=i. ename;
v_hiredate:=i. hiredate;
DBMS_OUTPUT.PUT_LINE(‘编号 姓名 工资’);
DBMS_OUTPUT.PUT_LINE(v_empno||v_ename||v_hiredate);
END LOOP;
END;
3CREATE OR REPLACE FUNCTION f_emp(f_job emp.job%TYPE)
RETURN BOOLEAN
Is
v_job emp.job%TYPE;
BEGIN
SELECT DISTINCT job INTO v_job FROM emp WHERE job=f_job;
RETURN TRUE;
EXCEPTION
WHEN NO_DATA_FOUND THEN
RETURN FALSE;
END f_emp;
Begin
If f_emp(upper(‘&job’)) THEN
DBMS_OUTPUT.PUT_LINE(‘日’);
ELSE
DBMS_OUTPUT.PUT_LINE(‘插’);
END IF;
END;
4CREATE OR REPLACE TRIGGER t_emp_sal
BEFORE INSERT OR UPDATE ON emp
Begin
IF :new.sal>5000 THEN
RAISE_APPLICATIONG_ERROR(‘ERROR!!’);
ELSE
INSERT int up_emp VALUES(empno,sal,sysdate);
END IF;
END;
5很奇怪,结果是Test
这属于脑筋急转弯的题目,在一个qq群有个网友正好问过这个问题,我觉得挺有趣,就研究了一下,没想到今天还被你面到了,哈哈。
在test方法中,直接调用getClass().getName()方法,返回的是Test类名
由于getClass()在Object类中定义成了final,子类不能覆盖该方法,所以,在
test方法中调用getClass().getName()方法,其实就是在调用从父类继承的getClass()方法,等效于调用super.getClass().getName()方法,所以,super.getClass().getName()方法返回的也应该是Test。
如果想得到父类的名称,应该用如下代码:
getClass().getSuperClass().getName();
6返回的结果是2。
我可以通过下面一个例子程序来帮助我解释这个答案,从下面例子的运行结果中可以发现,try中的return语句调用的函数先于finally中调用的函数执行,也就是说return语句先执行,finally语句后执行,所以,返回的结果是2。Return并不是让函数马上返回,而是return语句执行后,将把返回结果放置进函数栈中,此时函数并不是马上返回,它要执行finally语句后才真正开始返回。
7最终的程序代码如下:
public class ThreadTest {} private class Business { boolean bShouldSub = true;https://这里相当于定义了控制该谁执行的一个信号灯 public synchronized void MainThread(int i) { if(bShouldSub) try { this.wait(); https:// TODO Auto-generated catch block } catch (InterruptedException e) { ).start(); for(int i=0;i<50;i++) { business.MainThread(i); } } public void run() { } for(int i=0;i<50;i++) { business.SubThread(i); } public void init() { final Business business = new Business(); new Thread( new Runnable() { } /** * @param args */ public static void main(String[] args) { https:// TODO Auto-generated method stub new ThreadTest().init();
} } } { } } for(int j=0;j<5;j++) System.out.println(Thread.currentThread().getName() + ":i=" + i +",j=" + j); bShouldSub = true; this.notify(); public synchronized void SubThread(int i) { } if(!bShouldSub) { } bShouldSub = false; this.notify(); System.out.println(Thread.currentThread().getName() + try { this.wait(); https:// TODO Auto-generated catch block e.printStackTrace(); } catch (InterruptedException e) { } for(int j=0;j<10;j++) ":i=" + i +",j=" + j);
8。
Vector newVector = new Vector();
For (int i=0;i
{
Object obj = vector.get(i);
if(!newVector.contains(obj);
newVector.add(obj);
}9
int engishCount;
int chineseCount;
int digitCount;
for(int i=0;i
{char ch = str.charAt(i);
if(ch>=’0’ && ch<=’9’)
{digitCount++}
else if((ch>=’a’ && ch<=’z’) || (ch>=’A’ && ch<=’Z’))
{engishCount++;}
else
{chineseCount++;}}
System.out.println(……………);
(1)select * from employees
where Year(hiredDate) = Year(date())
or (salary between 1000 and 200)
or left(last_name,3)='abc';
(2)mysql> select id,name,salary,deptid did from employee1 where (select avg(salary) from employee1 where deptid = did) > 1800;
(3)select employee1.*,(employee1.salary-t.avgSalary)*100/employee1.salary from employee1,
(select deptid,avg(salary) avgSalary from employee1 group by deptid) as t where employee1.deptid = t.deptid and employee1.salary>t.avgSalary;
看过“2017 java笔试面试题”
浏览量:2
下载量:0
时间:
面试题是面试官为了考查你的成绩而出的试题。下面是读文网小编为大家带来的2016 java面试题,相信对你会有帮助的。
一、Java基础
第01题:
作用域public,private,protected,以及不写时的区别
第02题:
Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)
第03题:
Static Nested Class 和 Inner Class的不同
第04题:
&和&&的区别
第05题:
Collection 和 Collections的区别
第06题:
什么时候用assert
第07题:
String s = new String("xyz");创建了几个String Object
第08题:
Math.round(11.5)等於多少? Math.round(-11.5)等於多少
第09题:
short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错
第10题:
Java有没有goto
第11题:
数组有没有length()这个方法? String有没有length()这个方法
第12题:
Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型
第13题:
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别
第14题:
给我一个你最常见到的runtime exception
第15题:
error和exception有什么区别
第16题:
List, Set, Map是否继承自Collection接口
第17题:
abstract class和interface有什么区别
第18题:
abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized
第19题:
接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)
第20题:
构造器Constructor是否可被override
第21题:
是否可以继承String类
第22题:
try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后
第23题:
用最有效率的方法算出2乘以8等於几
第24题:
两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对
第25题:
当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递
第26题:
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上
第27题:
ArrayList和Vector的区别,HashMap和Hashtable的区别
第28题:
char型变量中能不能存贮一个中文汉字?为什么?
第29题:
GC是什么? 为什么要有GC
第30题:
float型float f=3.4是否正确?
第31题:
介绍JAVA中的Collection FrameWork(包括如何写自己的数据结构)?
第32题:
抽象类与接口?
第33题:
STRING与STRINGBUFFER的区别。
第34题:
谈谈final, finally, finalize的区别
第35题:
面向对象的特征有哪些方面
第36题:
String是最基本的数据类型吗
第37题:
int 和 Integer 有什么区别
第38题:
运行时异常与一般异常有何异同
第39题:
说出ArrayList,Vector, LinkedList的存储性能和特性
第40题:
HashMap和Hashtable的区别
第41题:
heap和stack有什么区别
第42题:
Java的接口和C++的虚类的相同和不同处
第43题:
Java中的异常处理机制的简单原理和应用
第44题:
垃圾回收的优点和原理。并考虑2种回收机制
第45题:
你所知道的集合类都有哪些?主要方法?
第46题:
描述一下JVM加载class文件的原理机制?
第47题:
排序都有哪几种方法?请列举
第48题:
JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
第49题:
一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?
第50题:
java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?
第51题:
java中会存在内存泄漏吗,请简单描述。
第52题:
java中实现多态的机制是什么?
第53题:
垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收
第54题:
静态变量和实例变量的区别?
第55题:
什么是java序列化,如何实现java序列化?
第56题:
是否可以从一个static方法内部发出对非static方法的调用?
第57题:
写clone()方法时,通常都有一行代码,是什么?
第58题:
在JAVA中,如何跳出当前的多重嵌套循环?
第59题:
List、Map、Set三个接口,存取元素时,各有什么特点?
第60题:
说出一些常用的类,包,接口,请各举5个
第61题:
写一个Singleton出来。
第62题:
启动一个线程是用run()还是start()?
第63题:
java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用?
第64题:
sleep() 和 wait() 有什么区别?
第65题:
同步和异步有何异同,在什么情况下分别使用他们?举例说明。
第66题:
当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
第67题:
请说出你所知道的线程同步的方法。
第68题:
多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?
第69题:
线程的基本概念、线程的基本状态以及状态之间的关系
第70题:
简述synchronized和java.util.concurrent.locks.Lock的异同 ?
第71题:
java中会存在内存泄漏吗,请简单描述
第72题:
Object的方法
第73题:
文件系统的几个类:FileInputStream、FileOutputStream、FileReader、FileWriter的区别
第74题:
什么是进程和线程?两者的区别是什么?
第75题:
CORBA是什么?用途是什么?
第76题:
描述一下JVM加载class文件的原理机制?
第77题:
try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后
第78题:
写一个方法,将Date类型转为String类型/将String类型转为Date类型
第79题:
写一个排序方法,任意/快速查找
第80题:
写一个方法将excel中的数据导入到程序中
第81题:
String s = new String("xyz");创建了几个String Object?
第82题:
用最有效率的方法算出2乘以8等于几?
第83题:
有a,b两个变量,不用第三个变量,交换a,b的值
第84题:
描述一下JVM 加载class 文件的原理机制?
第85题:
char 型变量中能不能存贮一个中文汉字?为什么?
#p#副标题#e#
二、JavaWeb
第01题:
forward 和redirect的区别
第02题:
jsp有哪些内置对象?作用分别是什么?
第03题:
jsp有哪些动作?作用分别是什么?
第04题:
JSP中动态INCLUDE与静态INCLUDE的区别?
第05题:
两种跳转方式分别是什么?有什么区别?
第06题:
说一说Servlet的生命周期?
第07题:
Servlet的基本架构
第08题:
什么情况下调用doGet()和doPost()?
第09题:
页面间对象传递的方法
第10题:
JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
第11题:
Request对象的主要方法
第12题:
我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串?
第13题:
Servlet执行时一般实现哪几个方法?
第14题:
Struts1.x 中 DispatchAction 怎么用?有Action 有哪些区别?
第15题:
MVC的各个部分都有那些技术来实现?如何实现
第16题:
开发中都用到了那些设计模式?用在什么场合
第17题
请你谈谈SSH整合
第18题:
Hibernate外键关联,做多表链接查询出的字段如果没有实体bean与之相对应,该如何解决?
第19题:
Hibernate的sessionfactory和session的区别是什么?如何处理session线程不安全问题?
第20题:
Hibernate如何实现动态查询?DetachedCriteria与Criteria的区别是什么?
第21题:
写一段Jdbc连Oracle的程序,并实现数据查询.
第22题:
Struts优点与缺点
第23题:
Struts提供了几个标签库?都是什么标签库?
第24题:
Tiles框架是什么?
第25题:
Hibernate中的Session. load()和Session.get()的区别
第26题:
Spring和Struts的区别?
第27题:
什么是aop,aop的作用是什么?
第28题:
aop中的关键名词有些那些,相互关系是什么?
第29题:
依赖注入的方式有几种,各是什么?
第30题:
Hibernate中的update()和saveOrUpdate()的区别
第31题:
Spring对多种ORM框架提供了很好的支持,简单描述在Spring中使用Hibernate的方法,并结合事务管理
第32题:
使用Spring的好处是什么
第33题:
Hibernate是如何延迟加载?
第34题:
说下Hibernate的缓存机制
第35题:
Hibernate的查询方式
第36题:
如何优化Hibernate?
第37题:
HttpSession session = request.getSession()
与HttpSession session = request.getSession(true)的区别?
第38题:
Class.forName的作用?为什么要用?
第39题:
Jdo是什么?
第40题:
说出数据连接池的工作机制是什么?列举几个常用的数据连接池。
第41题:
JDBC如何调用数据连接池
第42题:
xml有哪些解析技术?区别是什么?
第43题:
你在项目中用到了xml技术的哪些方面?如何实现的?
第44题:
XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?
第45题:
请用编程语言写一个排列组合的算法。可以实现一个简单的算法:存在N个数组,输出在每个数组取一个元素的排列组合结果。假设:
数组A=[X,Y,Z],数组B=[1,2]
组合的结果:
X1,X2,Y1,Y2,Z1,Z2
排列组合的结果:
X1,X2,Y1,Y2,Z1,Z2,1X,1Y,1Z,2X,2Y,2Z
要求程序可以适应N为任意数和每个数组长度不同的情况(假设内存足够大,程序可以不考虑效率)。
第46题:
请描述HTTP交互中Session和Cookies的关系以及二者的区别
第47题:
请用流程图或文字描述Servlet的开发和部署过程,包括从java类的编码到可以通过IE访问
第48题:
多人访问网站,如何减轻服务器压力(程序实现,考虑Hibernet中的方法)
第49题:
多个人访问数据序,一个对数据序进行了修改,而另一个人已在修改前查询到页面,当点击打印时,该怎样做,才能能到修改后的最新数据。
第50题:
MVC是什么?
第51题:
CVS是什么?
第52题:
Struts2和Spring集成的时候,是否可以把Action设置成singleton模式,请简述理由
第53题:
简要叙述Hibernate一级缓存和二级缓存的作用
第54题:
什么是singleton模式和DAO模式?
第55题:
简述Spring中DI、IoC和AOP的含义。
第56题:
请比较Struts1.x和Struts2在多模块开发方面的差异
#p#副标题#e#
三、JavaScrpt和Css
第01题:
编写函数,用于过滤一个数组内重复的元素,并用这些元素重构一个新数组,新数组内也不能有重复元素。
第02题:
javascript是不是面向对象的语言?如果是,怎么实现继承?
第03题:
如何获取表单
第04题:
在JavaScript 中定时调用函数foo()如何写?
第05题:
var a=”10” ; var b=”20”; var c=”10”; var d=10 ;alert(a=b) ; alert(a==b); alert(c==d); alert(a===b);结果是?
第06题:
Var obj =new Object();obj.a=”001”;obj.b=”002”;obj.c=”003”;obj.d=”004”;................... 写一个function遍历obj 对象中的所有的属性对应的值
第07题:
form中的input有哪些类型?各是做什么处理使用的
第08题:
table标签中border,cellpadding;td标签中colspan,rowspan分别起什么作用
第09题:
form中的input可以设置readonly和disable,请问这两项属性有什么区别
第10题:
JS中的三种弹出式消息提醒(警告窗口、确认窗口、信息输入窗口)的命令是什么
第11题:
当点击按钮时,如何实现两个td的值互换?
用javascript实现此功能
第12题:
编写一个方法 求一个字符串的字节长度
第13题:
如何控制alert中的换行
第14题:
解释document.getElementById("ElementID").style.fontSize="1.5em"
第15题:
求y和z 的值是多少?
第16题:
javascript怎样选中一个checkbox,怎样设置它无效?
第17题:
在css中:以下语句各代表什么意思? td{width100%} .td{width100%} #td{width100%}
四、数据库
第01题:
假设tableA为某学校的花名册:a1——学号;a2——姓名;a3——性别;
tableB为各班级花名册:b1——班级号;b2——座位号;b3——姓名;b4——性别; 有同样结构的4张表B1,B2,B3,B4分别代表01,02,03,04级。 1、SQL语句:
请用最简单的操作,使4张表的记录汇总到tableA中。(注:学号=年级号+班级号+座位号)
2、存储过程: 写一个存储根据传入的年级号计算该年级的男女生各自的人数(男女生的参数作为传出参数) 3、函数 新增一个学生时,选择年级和班级号后,自动获取学号(只操作tableA) 4、函数 检查日期的正确性(注意大小月及闰年)
看过“2016 java面试题”
浏览量:4
下载量:0
时间:
回答面试题是java程序员个人求职者在求职面试过程中必须完成的环节。下面是读文网小编为大家带来的2017java程序员面试题,相信对你会有帮助的。
一、基本数据结构
1. 队列和栈的区别和常用操作
2. 队列的实现方式(单向链表、双向链表)
3. 基于队列的算法(主要是排序算法:归并排序,二分法插入排序可以做重点(这两个排序通常会被用来做动态有序队列的维护)。至于快速排序,基本上都用现成的程序库,不需要掌握)
4. 图的基本概念 (有向图,无向图)
5. 图的基本表达方法(邻接矩阵,链接表)
6. 图的基本算法
a) 最短路径Dijstra
b) 最小生成树 Prim
7. 树的基本概念(二叉树,平衡树,森林)
8. 树的基本表达方法
9. 树的相关算法
a) 遍历算法(深度优先、广度优先)构
b) 平衡树(B树)
c) 其他算法(Haffman树)
数据库:资料下载
点击下页还有更多>>>2017java程序员面试知识点
#p#副标题#e#
二、基本概念
1. 数据库、表、视图、Sequence、Index
2. 数据类型的区别(Char 和 varchar的区别)
3. 关系 (外键、主键。1:1, 1:n,n:n关系在数据库中的实现)
4. 范式
三、应用
1. 基本Sql语言
2. Outer join (left, right, full)和 inner join
3. Transaction概念
4. Transaction和Connection的关系
四、高级应用
1. DAO模型
2. Connection Pool
3. OR Mapping Tools (Hibernate)
五、基本概念
1. 语言基本概念
a) Abstract,static,和final修饰符
2. 各种不同类型的类型
a) Normal Class
b) Abstract Class
c) Interface
3. 特殊类型
a) Exception (unchecked 和 checked)
b) System
c) Classloader
d) Thread + Runnable
e) Serializable
f) Comparable
g) Cloneable
h) Object
HashCode ()
Equals ()
Clone ()
ToString ()
4. 基本Pattern的实现
a) Singleton
b) Utility class
5. 对象的基本概念
a) Create a object
b) Lifecycle of object
c) Object reference 和Object的关系
存储位置(Heap和Stack)
对象赋值和修改
二、中级概念
1. String的基本操作方法
2. Java. collections中的基本对象
a) Collection
b) List
c) Set
d) Map
e) 两个Utils类:Collections和Arrays
3. Concurrency的基本概念
a) synchronized
b) Thread 和 runnable的基本概念
c) Concurrency (JDK 1.5)的基本使用方法
ReadWriteLock
Thread pool
d) Dead lock的原因和诊断方法
4. 第三方Utils库的使用方法
a) Log4j
b) Commons-xxx
5. Heap和Garbage Collection
a) Object reuse (Object pool, 对基本类型对象,使用Value Of代替new)
b) Memory leak的原因和诊断方法
六、高级概念
1. J2EE/EJB
a) Stateless / Stateful Session Bean
b) Servlet/MVC/struts
c) Webservice (WSDL/SOAP/AXIS/X Fire)
2. Spring framework
a) 基本概念(IoC, AOP)
3. Hibernate
看过“2017java程序员面试题”
浏览量:2
下载量:0
时间:
Internet使Java成为网上最流行的编程语言,下面是读文网小编为大家带来的2016java基础面试题,相信对你会有帮助的。
1 、把 ab ef ij cd gh 放到 List 里,然后对此 List 快速排序,并打印结果
2 、表 File 中有 2 个字段 file,vcFile,file 为 1 的所相关的 vcFile 的信息,用 jdbc 连接数据库,并打印查询结果的第三条
4 corba 对象里有一个 void corbaPing 怎样通过返回的一个空对象判断其状态?
5 corb 中的 COS 三种实现。
6 WTS 的几种实现形 , 文字描述即可,无需写代码。
7 、纯 java 技术能否实现 jmcp 协议?
8 struts 的 5 个主要的类。并且哪个类为 MVC 中的 C?
Class Test {
System.out.println( b );
static Test{
System.out.println( a );
public Test{
System.out.println( c );
public String out{
System.out.println( 111 );
public class Test1{
public static void main(String args){
System.out.println(out);
问题是1 怎么修改程序让他正确,用尽可能多的方法,并写出执行结果
2 如果只修改 main 函数,能打出 abc 吗? bac 呢?为什么
2、写一个单例的例子
3、String str= WeeciolGmmcc
4、有员工表 , 字段 id ,name,managerid ,还有个啥字段,记不清楚了,没用到,然后查姓名,领导的姓名,如果没领导的话则显示无
id name managerid
1 张三 李四
2 李四 赵六
3 王五 赵六
4 赵六
看过“2016java基础面试题”
浏览量:3
下载量:0
时间:
Java对Internet的影响意义深远。下面是读文网小编为大家带来的2016java面试题,相信对你会有帮助的。
Switch能否用string做参数?
1、在 Java 7 之前, switch 只能支持byte,short,char,int 或者其对应的封装类以及 Enum 类型。在JAVA 7中,String 支持被加上了。
equals与==的区别:
1、==是判断两个变量或实例是不是指向同一个内存空间
2、equals是判断两个变量或实例所指向的内存空间的值是不是相同
Object有哪些公用方法?
1、方法equals测试的是两个对象是否相等
2、方法clone进行对象拷贝
3、方法getClass返回和当前对象相关的Class对象
4、方法notify,notifyall,wait都是用来对给定对象进行线程同步的
Java的四种引用,强弱软虚,用到的场景
1、强引用:如果一个对象具有强引用,它就不会被垃圾回收器回收。即使当前内存空间不足,JVM也不会回收它,而是抛出 OutOfMemoryError 错误,使程序异常终止。如果想中断强引用和某个对象之间的关联,可以显式地将引用赋值为null,这样一来的话,JVM在合适的时间就会回收该对象
2、软引用:在使用软引用时,如果内存的空间足够,软引用就能继续被使用,而不会被垃圾回收器回收,只有在内存不足时,软引用才会被垃圾回收器回收。
3、弱引用:具有弱引用的对象拥有的生命周期更短暂。因为当 JVM 进行垃圾回收,一旦发现弱引用对象,无论当前内存空间是否充足,都会将弱引用回收。不过由于垃圾回收器是一个优先级较低的线程,所以并不一定能迅速发现弱引用对象
4、虚引用:顾名思义,就是形同虚设,如果一个对象仅持有虚引用,那么它相当于没有引用,在任何时候都可能被垃圾回收器回收。
Hashcode的作用,与 equal 有什么区别
1、同样用于鉴定2个对象是否相等的,java集合中有 list 和 set 两类,其中 set不允许元素重复实现,那个这个不允许重复实现的方法,如果用 equal 去比较的话,如果存在1000个元素,你 new 一个新的元素出来,需要去调用1000次 equal 去逐个和他们比较是否是同一个对象,这样会大大降低效率。hashcode实际上是返回对象的存储地址,如果这个位置上没有元素,就把元素直接存储在上面,如果这个位置上已经存在元素,这个时候才去调用equal方法与新元素进行比较,相同的话就不存了,散列到其他地址上
String、StringBuffer与StringBuilder的区别
1、String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象
2、StringBuffer和StringBuilder底层是 char[]数组实现的
3、StringBuffer是线程安全的,而StringBuilder是线程不安全的
Override和Overload的含义去区别
1、Overload顾名思义是重新加载,它可以表现类的多态性,可以是函数里面可以有相同的函数名但是参数名、返回值、类型不能相同;或者说可以改变参数、类型、返回值但是函数名字依然不变。
2、就是ride(重写)的意思,在子类继承父类的时候子类中可以定义某方法与其父类有相同的名称和参数,当子类在调用这一函数时自动调用子类的方法,而父类相当于被覆盖(重写)了。
抽象类和接口的区别
1、一个类只能继承单个类,但是可以实现多个接口
2、接口强调特定功能的实现,而抽象类强调所属关系
3、抽象类中的所有方法并不一定要是抽象的,你可以选择在抽象类中实现一些基本的方法。而接口要求所有的方法都必须是抽象的
解析XML的几种方式的原理与特点:DOM、SAX、PULL
1、DOM:消耗内存:先把xml文档都读到内存中,然后再用DOM API来访问树形结构,并获取数据。这个写起来很简单,但是很消耗内存。要是数据过大,手机不够牛逼,可能手机直接死机
2、SAX:解析效率高,占用内存少,基于事件驱动的:更加简单地说就是对文档进行顺序扫描,当扫描到文档(document)开始与结束、元素(element)开始与结束、文档(document)结束等地方时通知事件处理函数,由事件处理函数做相应动作,然后继续同样的扫描,直至文档结束。
3、SAX:与 SAX 类似,也是基于事件驱动,我们可以调用它的next()方法,来获取下一个解析事件(就是开始文档,结束文档,开始标签,结束标签),当处于某个元素时可以调用XmlPullParser的getAttributte()方法来获取属性的值,也可调用它的nextText()获取本节点的值。
wait()和sleep()的区别
1、sleep来自Thread类,和wait来自Object类
2、调用sleep()方法的过程中,线程不会释放对象锁。而 调用 wait 方法线程会释放对象锁
3、sleep睡眠后不出让系统资源,wait让出系统资源其他线程可以占用CPU
4、sleep(milliseconds)需要指定一个睡眠时间,时间一到会自动唤醒
JAVA多态的实现原理
1、抽象的来讲,多态的意思就是同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)
2、实现的原理是动态绑定,程序调用的方法在运行期才动态绑定,追溯源码可以发现,JVM 通过参数的自动转型来找到合适的办法。
JAVA 中堆和栈的区别,说下java 的内存机制
1、基本数据类型比变量和对象的引用都是在栈分配的
2、堆内存用来存放由new创建的对象和数组
3、类变量(static修饰的变量),程序在一加载的时候就在堆中为类变量分配内存,堆中的内存地址存放在栈中
4、实例变量:当你使用java关键字new的时候,系统在堆中开辟并不一定是连续的空间分配给变量,是根据零散的堆内存地址,通过哈希算法换算为一长串数字以表征这个变量在堆中的"物理位置”,实例变量的生命周期--当实例变量的引用丢失后,将被GC(垃圾回收器)列入可回收“名单”中,但并不是马上就释放堆中内存
5、局部变量: 由声明在某方法,或某代码段里(比如for循环),执行到它的时候在栈中开辟内存,当局部变量一但脱离作用域,内存立即释放
讲讲 Java 中的集合有多少种,区别是什么?
1、ArrayList、LinkedList、Vector的区别:ArrayList 和Vector底层是采用数组方式存储数据,Vector由于使用了synchronized方法(线程安全)所以性能上比ArrayList要差,LinkedList使用双向链表实现存储,随机存取比较慢
2、HashMap的底层源码实现:当我们往HashMap中put元素的时候,先根据key的hashCode重新计算hash值,根据hash值得到这个元素在数组中的位置(即下标),如果数组该位置上已经存放有其他元素了,那么在这个位置上的元素将以链表的形式存放,新加入的放在链头,最先加入的放在链尾。如果数组该位置上没有元素,就直接将该元素放到此数组中的该位置上。
3、Fail-Fast机制:在使用迭代器的过程中有其他线程修改了map,那么将抛出ConcurrentModificationException,这就是所谓fail-fast机制。这一机制在源码中的实现是通过modCount域,modCount顾名思义就是修改次数,对HashMap内容的修改都将增加这个值,那么在迭代器初始化过程中会将这个值赋给迭代器的expectedModCount。在迭代过程中,判断modCount跟expectedModCount是否相等,如果不相等就表示已经有其他线程修改了Map.
看过“2016java面试题”
浏览量:3
下载量:0
时间:
回答面试题目是java个人求职者在求职面试过程中必须完成的一个重要环节,下面是读文网小编为大家带来的最新的java面试题目及参考答案,相信对你会有帮助的。
我叫xxx,今年21岁,毕业于xx解放军信息工程大学计算机科学与技术专业,拥有扎实的core java基础,良好的编程风格;熟悉jsp+servlet+javabean模式的web开发;熟悉struts,hibernate,spring等开源框架,了解ejb; 熟悉tomcat,jboss服务器等,熟悉基于linux及unix环境下的软件开发;
在校期间有多次社会实践经历,曾参与过学院网上虚拟实验室开发的需求分析,大学期间多次担任多课程的课代表。虽然实际工作经验不是很足,但军校四年培养了我充分的自信心和敬业精神以及扎实的学科基础知识和较强的专业技能,四年军校生活中,我严格要求自己,自觉、遵纪、守时。本人坦诚且有责任心,有独立进取的品性,勤于动手、善于动脑,适应新环境能力很强。能在最短时间内完成从学生到职业工作人员的转型,尽自己最大的努力融入新的工作生活。
请各位考官多多指教,谢谢!
看过“最新的java面试题目及参考答案”
浏览量:4
下载量:0
时间:
Java语言具有的面向对象、跨平台、语言级并发支持、安全等特性,下面是读文网小编为大家带来的2016年java面试题,相信对你会有帮助的。
12)Java 中应该使用什么数据类型来代表价格?
如果不是特别关心内存和性能的话,使用BigDecimal,否则使用预定义精度的 double 类型。
13)怎么将 byte 转换为 String?
可以使用 String 接收 byte[] 参数的构造器来进行转换,需要注意的点是要使用的正确的编码,否则会使用平台默认编码,这个编码可能跟原来的编码相同,也可能不同。
14)我们能将 int 强制转换为 byte 类型的变量吗?如果该值大于 byte 类型的范围,将会出现什么现象?
是的,我们可以做强制转换,但是 Java 中 int 是 32 位的,而 byte 是 8 位的,所以,如果强制转化是,int 类型的高 24 位将会被丢弃,byte 类型的范围是从 -128 到 128。
15)Java 中 操作符是线程安全的吗?
不是线程安全的操作。它涉及到多个指令,如读取变量值,增加,然后存储回内存,这个过程可能会出现多个线程交差。
16)a = a b 与 a = b 的区别?
= 隐式的将加操作的结果类型强制转换为持有结果的类型。如果两这个整型相加,如 byte、short 或者 int,首先会将它们提升到 int 类型,然后在执行加法操作。如果加法操作的结果比 a 的最大值要大,则 a b 会出现编译错误,但是 a = b 没问题,如下:
byte a = 127;
byte b = 127;
b = a b; https:// error : cannot convert from int to byte
b = a; https:// ok
注:其实无论 a b 的值为多少,编译器都会报错,因为 a b 操作会将 a、b 提升为 int 类型,所以将 int 类型赋值给 byte 就会编译出错
17)我能在不进行强制转换的情况下将一个 double 值赋值给 long 类型的变量吗?
不行,你不能在没有强制类型转换的前提下将一个 double 值赋值给 long 类型的变量,因为 double 类型的范围比 long 类型更广,所以必须要进行强制转换。
18)3*0.1 == 0.3 将会返回什么?true 还是 false?
false,因为有些浮点数不能完全精确的表示出来。
19)int 和 Integer 哪个会占用更多的内存?
Integer 对象会占用更多的内存。Integer 是一个对象,需要存储对象的元数据。但是 int 是一个原始类型的数据,所以占用的空间更少。
20)为什么 Java 中的 String 是不可变的(Immutable)?
Java 中的 String 不可变是因为 Java 的设计者认为字符串使用非常频繁,将字符串设置为不可变可以允许多个客户端之间共享相同的字符串。
21)Java 中的构造器链是什么?
当你从一个构造器中调用另一个构造器,就是Java 中的构造器链。这种情况只在重载了类的构造器的时候才会出现。
#p#副标题#e#
浏览量:2
下载量:0
时间:
回答面试题是java个人求职者在面试过程中必须完成的一项工作。下面是读文网小编为大家带来的最新的java面试题及参考答案,相信对你会有帮助的。
Switch能否用string做参数?
在 Java 7 之前, switch 只能支持byte,short,char,int 或者其对应的封装类以及 Enum 类型。在JAVA 7中,String 支持被加上了。
equals与==的区别:
==是判断两个变量或实例是不是指向同一个内存空间
equals是判断两个变量或实例所指向的内存空间的值是不是相同
Object有哪些公用方法?
方法equals测试的是两个对象是否相等
方法clone进行对象拷贝
方法getClass返回和当前对象相关的Class对象
方法notify,notifyall,wait都是用来对给定对象进行线程同步的
Java的四种引用,强弱软虚,用到的场景
强引用:如果一个对象具有强引用,它就不会被垃圾回收器回收。即使当前内存空间不足,JVM也不会回收它,而是抛出 OutOfMemoryError 错误,使程序异常终止。如果想中断强引用和某个对象之间的关联,可以显式地将引用赋值为null,这样一来的话,JVM在合适的时间就会回收该对象
软引用:在使用软引用时,如果内存的空间足够,软引用就能继续被使用,而不会被垃圾回收器回收,只有在内存不足时,软引用才会被垃圾回收器回收。
弱引用:具有弱引用的对象拥有的生命周期更短暂。因为当 JVM 进行垃圾回收,一旦发现弱引用对象,无论当前内存空间是否充足,都会将弱引用回收。不过由于垃圾回收器是一个优先级较低的线程,所以并不一定能迅速发现弱引用对象
虚引用:顾名思义,就是形同虚设,如果一个对象仅持有虚引用,那么它相当于没有引用,在任何时候都可能被垃圾回收器回收。
使用场景:
利用软引用和弱引用解决OOM问题:用一个HashMap来保存图片的路径和相应图片对象关联的软引用之间的映射关系,在内存不足时,JVM会自动回收这些缓存图片对象所占用的空间,从而有效地避免了OOM的问题
通过软可及对象重获方法实现Java对象的高速缓存:比如我们创建了一Employee的类,如果每次需要查询一个雇员的信息。哪怕是几秒中之前刚刚查询过的,都要重新构建一个实例,这是需要消耗很多时间的。我们可以通过软引用和 HashMap 的结合,先是保存引用方面:以软引用的方式对一个Employee对象的实例进行引用并保存该引用到HashMap 上,key 为此雇员的 id,value为这个对象的软引用,另一方面是取出引用,缓存中是否有该Employee实例的软引用,如果有,从软引用中取得。如果没有软引用,或者从软引用中得到的实例是null,重新构建一个实例,并保存对这个新建实例的软引用
Hashcode的作用,与 equal 有什么区别
同样用于鉴定2个对象是否相等的,java集合中有 list 和 set 两类,其中 set不允许元素重复实现,那个这个不允许重复实现的方法,如果用 equal 去比较的话,如果存在1000个元素,你 new 一个新的元素出来,需要去调用1000次 equal 去逐个和他们比较是否是同一个对象,这样会大大降低效率。hashcode实际上是返回对象的存储地址,如果这个位置上没有元素,就把元素直接存储在上面,如果这个位置上已经存在元素,这个时候才去调用equal方法与新元素进行比较,相同的话就不存了,散列到其他地址上
String、StringBuffer与StringBuilder的区别
String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象
StringBuffer和StringBuilder底层是 char[]数组实现的
StringBuffer是线程安全的,而StringBuilder是线程不安全的
Override和Overload的含义去区别
Overload顾名思义是重新加载,它可以表现类的多态性,可以是函数里面可以有相同的函数名但是参数名、返回值、类型不能相同;或者说可以改变参数、类型、返回值但是函数名字依然不变。
就是ride(重写)的意思,在子类继承父类的时候子类中可以定义某方法与其父类有相同的名称和参数,当子类在调用这一函数时自动调用子类的方法,而父类相当于被覆盖(重写)了。
抽象类和接口的区别
一个类只能继承单个类,但是可以实现多个接口
接口强调特定功能的实现,而抽象类强调所属关系
抽象类中的所有方法并不一定要是抽象的,你可以选择在抽象类中实现一些基本的方法。而接口要求所有的方法都必须是抽象的
解析XML的几种方式的原理与特点:DOM、SAX、PULL
DOM:消耗内存:先把xml文档都读到内存中,然后再用DOM API来访问树形结构,并获取数据。这个写起来很简单,但是很消耗内存。要是数据过大,手机不够牛逼,可能手机直接死机
SAX:解析效率高,占用内存少,基于事件驱动的:更加简单地说就是对文档进行顺序扫描,当扫描到文档(document)开始与结束、元素(element)开始与结束、文档(document)结束等地方时通知事件处理函数,由事件处理函数做相应动作,然后继续同样的扫描,直至文档结束。
SAX:与 SAX 类似,也是基于事件驱动,我们可以调用它的next()方法,来获取下一个解析事件(就是开始文档,结束文档,开始标签,结束标签),当处于某个元素时可以调用XmlPullParser的getAttributte()方法来获取属性的值,也可调用它的nextText()获取本节点的值。
wait()和sleep()的区别
sleep来自Thread类,和wait来自Object类
调用sleep()方法的过程中,线程不会释放对象锁。而 调用 wait 方法线程会释放对象锁
sleep睡眠后不出让系统资源,wait让出系统资源其他线程可以占用CPU
sleep(milliseconds)需要指定一个睡眠时间,时间一到会自动唤醒
JAVA 中堆和栈的区别,说下java 的内存机制
基本数据类型比变量和对象的引用都是在栈分配的
堆内存用来存放由new创建的对象和数组
类变量(static修饰的变量),程序在一加载的时候就在堆中为类变量分配内存,堆中的内存地址存放在栈中
实例变量:当你使用java关键字new的时候,系统在堆中开辟并不一定是连续的空间分配给变量,是根据零散的堆内存地址,通过哈希算法换算为一长串数字以表征这个变量在堆中的"物理位置”,实例变量的生命周期--当实例变量的引用丢失后,将被GC(垃圾回收器)列入可回收“名单”中,但并不是马上就释放堆中内存
局部变量: 由声明在某方法,或某代码段里(比如for循环),执行到它的时候在栈中开辟内存,当局部变量一但脱离作用域,内存立即释放
JAVA多态的实现原理
抽象的来讲,多态的意思就是同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)
实现的原理是动态绑定,程序调用的方法在运行期才动态绑定,追溯源码可以发现,JVM 通过参数的自动转型来找到合适的办法。
JAVA 垃圾回收机制
什么是垃圾回收机:释放那些不再持有引用的对象的内存
怎么判断一个对象是否需要收集?
引用计数(最简单古老的方法):指将资源(可以是对象、内存或磁盘空间等等)的被引用次数保存起来,当被引用次数变为零时就将其释放的过程
对象引用遍历(现在大多数 jvm 使用的方法):对象引用遍历从一组对象开始,沿着整个对象图上的每条链接,递归确定可到达(reachable)的对象。如果某对象不能从这些根对象的一个(至少一个)到达,则将它作为垃圾收集
几种垃圾回收机制
标记回收法:遍历对象图并且记录可到达的对象,以便删除不可到达的对象,一般使用单线程工作并且可能产生内存碎片
标记-压缩回收法:前期与第一种方法相同,只是多了一步,将所有的存活对象压缩到内存的一端,这样内存碎片就可以合成一大块可再利用的内存区域,提高了内存利用率
复制回收法:把现有内存空间分成两部分,gc运行时,它把可到达对象复制到另一半空间,再清空正在使用的空间的全部对象。这种方法适用于短生存期的对象,持续复制长生存期的对象则导致效率降低。
分代回收发:把内存空间分为两个或者多个域,如年轻代和老年代,年轻代的特点是对象会很快被回收,因此在年轻代使用效率比较高的算法。当一个对象经过几次回收后依然存活,对象就会被放入称为老年的内存空间,老年代则采取标记-压缩算法
讲讲 Java 中的集合有多少种,区别是什么?
ArrayList、LinkedList、Vector的区别:ArrayList 和Vector底层是采用数组方式存储数据,Vector由于使用了synchronized方法(线程安全)所以性能上比ArrayList要差,LinkedList使用双向链表实现存储,随机存取比较慢
HashMap的底层源码实现:当我们往HashMap中put元素的时候,先根据key的hashCode重新计算hash值,根据hash值得到这个元素在数组中的位置(即下标),如果数组该位置上已经存放有其他元素了,那么在这个位置上的元素将以链表的形式存放,新加入的放在链头,最先加入的放在链尾。如果数组该位置上没有元素,就直接将该元素放到此数组中的该位置上。
Fail-Fast机制:在使用迭代器的过程中有其他线程修改了map,那么将抛出ConcurrentModificationException,这就是所谓fail-fast机制。这一机制在源码中的实现是通过modCount域,modCount顾名思义就是修改次数,对HashMap内容的修改都将增加这个值,那么在迭代器初始化过程中会将这个值赋给迭代器的expectedModCount。在迭代过程中,判断modCount跟expectedModCount是否相等,如果不相等就表示已经有其他线程修改了Map.
HashMap和 HashTable 的区别:
HashTable比较老,是基于Dictionary 类实现的,HashTable 则是基于 Map接口实现的
HashTable 是线程安全的, HashMap 则是线程不安全的
HashMap可以让你将空值作为一个表的条目的key或value
看过“最新的java面试题及参考答案”
浏览量:2
下载量:0
时间:
对面试题目的回答情况对于阿里巴巴java个人求职者的面试是有很大的影响的。下面是读文网小编为大家带来的阿里java面试题2016,相信对你会有帮助的。
1、自我介绍
2、问对Java了解如何,我说比较熟悉
3、请说说Java常见的GC算法
4、新生代和老年代有什么区别
5、如何创建多线程?
6、多线程如何进行信息交互
7、多线程共用一个数据变量需要注意什么?
4、Java是否有内存泄露和内存溢出
5、对JavaEE是否了解?说说
6、详细说说Struts、Hibernate、Spring
7、说一个印象最深的项目。
8、由项目引出:UTF8与GBK有什么不同?
9、接着说项目中遇到的困难和问题
10、还有什么问题要问我?我说您认为我有那些方面不足,今后应当如何努力提高自己?
11、然后进坑了,面试官问我:你认为自己有那些方面不足?然后我就傻逼了不知道该怎么回答,我bulabula说了一通,委婉的说自己广而不精。(傻逼了,不如说自己在学校中虽然做过很多项目,但开发人员大多不会超过6个人,因此较为缺乏几百人共同开发一个大规模系统的经验。。。反正刚从学校出来的都不会有这种经验,这么说应该不会减分)然后面试官说:也就是你涉猎虽广但是都不是很深入喽?一听这话我感觉不对,马上又不拉不拉说自己Java方面还是比较深入的云云,然后面试官就问我:”几百台主机的分布式系统了解吗“”SSH公司肯定不能直接用需要修改底层了解吗?“。。。。。囧。只能实话实说自己在学校得不到接触这种大规模系统的机会。于是面试官说”Java只是一个语言一个平台,里面还是会分好多方向的“于是我问:”也就是说我应该在这些细分的方向中选一个去深入研究这样才能更快的提高自己?面试官说“对对对,就是这样”
12、然后问是否会读研?我说不会。为什么?我说在实验室也做过一些项目,看到研究生糊弄导师毁掉世界观、小作坊式开发提升自己非常慢、读研不是我的理想等等
13、毕业后有什么打算?找一份工作在社会中历练自己等等
看过“阿里java面试题2016”
浏览量:2
下载量:0
时间:
面试题能测出应聘者的能力水平。下面是读文网小编为大家带来的百度java面试题,相信对你会有帮助的。
第一面
项目:
1、找一个项目,介绍下情况。其中遇到了什么问题,每种问题怎么样的解决方案。
算法题:
2、一个排好序的数组,找出两数之和为m的所有组合
3、自然数序列,找出任意连续之和等于n的所有子序列
数据结构:
4、从数据库查出一个数据结果集,其中有一个时间字段,请用一个数据结构存储使得可以最快速的查出某个时间段内的记录。
5、上一题我提到了B+树,他就继续问了为何用B+树实现索引而不用二叉树
数据库:
6、说说Oracle数据库的事务隔离级别,以及遇到的相关问题
这个我说了标准的四种级别,Oracle实现的三种级别,并概述了下多版本读一致性
项目相关技术:
7、看到简历上写了个rpc,讲讲,我说了跟rmi比较像,说了异同点,然后又展开到内存分配的问题,不过没搞懂他到底要说什么。还问题java客户端跟c程序服务端的通信情况,比如说c那边直接一个结构体过来,怎么处理,答曰没遇到过。
8、简历上写的jvm性能调优,说说都做了什么事情
9、说到jvm的时候,说到了我们用windows开发,就问linux的脚本知道么,awk用过么
10、简历上写web框架开发维护,就问浏览器端跟服务器端如何通信,不过最后只落到了java对象如何传递到客户端,客户端数据如何传递到服务端。
java基础:
11、并发同步的问题,synchorized是如何使用,Object的wait、notify方法什么作用
框架:
12、是否了解spring,ioc的实现,aop的实现方案,各种方案有什么限制
第二面
项目:
1、介绍下你做的项目,稍微高层次一些的介绍下,意思是不要没完没了的介绍
其中提到了主实例集群节点与主实例备用节点的单例状态如何保持同步
2、rpc通信和rmi区别
3、并发访问同一条数据的时候,如何保证数据同步。
4、网站性能优化都做了什么,具体的?ETag、Last-Modified、Expires、Cache-Control
5、最近看什么书,印象最深刻的是什么?
算法:
6、二叉树,找两个节点的最底层的公共父节点,给思路
7、单向链表反转,写代码
第三面
自我介绍:
1、个人基本情况,顺便提到项目,就开始扯了几下
数据库:
2、数据库性能优化有做么?做了些什么?
设计:
3、设计一个小商店进销存系统的的表结构设计,老板每天要知道卖出的货物,要定期查看货物的成本、销售额和利润。
这里要注意,重点之一是如何进行成本计算,要知道成本计算的几种方法,选其中一种实现,这个会影响表结构的设计
算法:
4、1到1亿的自然数,求所有数的拆分后的数字之和,如286 拆分成2、8、6,如1到11拆分后的数字之和 => 1 + ... + 9 + 1 + 0 + 1 + 1。
之前去百度面试,整理了一下面试问题。没有笔试,直接和面试官交谈。感觉面试官人挺好的,挺有耐心,每次面试回来不论公司大小,不管能不能拿到offer,但基本都能有一些有价值的输入,还挺开心的。我虽然有4年工作经验,但是不是走纯技术系的,开发,维护,见客户,项目管理什么都干过,最近想换工作,粪发图强恶补算法,数据结构一类大公司特爱考的基础知识。
这次后几道题答的不好。尤其是有一个关于服务器session优化和数据库表水平拆分策略的,没说到点儿上,回来的路上有了点儿思路,回来百度一下,发现八九不离十。前面几个算法的也都是磕磕碰碰,好歹都说上来了,是不是最优的就不好说了。
以前做信息系统,更注重业务的获取与功能的实现,虽然所有人都喊性能、架构什么的,但是实际上没人在乎。反正撑死了也就那么点儿人用。互联网公司真的是不一样啊,对并发和大数据量的关注是深入骨髓的。感觉真是惭愧。虽然这几年跑客户谈需求讲ppt自诩也是混场面的,但是从心里希望自己在技术上也能再往前走一步。
看过“百度java面试题”
浏览量:3
下载量:0
时间:
哪些面试题是java常见的呢?下面是读文网小编为大家带来的常见java面试题,相信对你会有帮助的。
问题:如果main方法被声明为private会怎样?
答案:能正常编译,但运行的时候会提示"main方法不是public的"。
问题:Java里的传引用和传值的区别是什么?
答案:传引用是指传递的是地址而不是值本身,传值则是传递值的一份拷贝。
问题:如果要重写一个对象的equals方法,还要考虑什么?
答案:hashCode。
问题:Java的"一次编写,处处运行"是如何实现的?
答案:Java程序会被编译成字节码组成的class文件,这些字节码可以运行在任何平台,因此Java是平台独立的。
问题:说明一下public static void main(String args[])这段声明里每个关键字的作用
答案:public: main方法是Java程序运行时调用的第一个方法,因此它必须对Java环境可见。所以可见性设置为pulic.
static: Java平台调用这个方法时不会创建这个类的一个实例,因此这个方法必须声明为static。
void: main方法没有返回值。
String是命令行传进参数的类型,args是指命令行传进的字符串数组。
问题:==与equals的区别
答案:==比较两个对象在内存里是不是同一个对象,就是说在内存里的存储位置一致。两个String对象存储的值是一样的,但有可能在内存里存储在不同的地方 .
==比较的是引用而equals方法比较的是内容。public boolean equals(Object obj) 这个方法是由Object对象提供的,可以由子类进行重写。默认的实现只有当对象和自身进行比较时才会返回true,这个时候和==是等价的。String, BitSet, Date, 和File都对equals方法进行了重写,对两个String对象 而言,值相等意味着它们包含同样的字符序列。对于基本类型的包装类来说,值相等意味着对应的基本类型的值一样。
问题:如果去掉了main方法的static修饰符会怎样?
答案:程序能正常编译。运行时会抛NoSuchMethodError异常。
问题:为什么oracle type4驱动被称作瘦驱动?
答案:oracle提供了一个type 4 JDBC驱动,被称为瘦驱动。这个驱动包含了一个oracle自己完全用Java实现的一个TCP/IP的Net8的实现,因此它是平台独立的,可以在运行时由浏览器下载,不依赖任何客户端 的oracle实现。客户端连接字符串用的是TCP/IP的地址端口,而不是数据库名的tnsname。
问题:介绍一下finalize方法
答案: final: 常量声明。 finally: 处理异常。 finalize: 帮助进行垃圾回收。
接口里声明的变量默认是final的。final类无法继承,也就是没有子类。这么做是出于基础类型的安全考虑,比如String和Integer。这样也使得编译器进行一些优化,更容易保证线程的安全性。final方法无法重写。final变量的值不能改变。finalize()方法在一个对象被销毁和回收前会被调用。finally,通常用于异常处理,不管有没有异常被抛出都会执行到。比如,关闭连接通常放到finally块中完成。
问题:什么是Java API?
答案:Java API是大量软件组件的集合,它们提供了大量有用的功能,比如GUI组件。
问题:GregorianCalendar类是什么东西?
答案:GregorianCalendar提供了西方传统日历的支持。
问题:ResourceBundle类是什么?
答案:ResourceBundle用来存储指定语言环境的资源,应用程序可以根据运行时的语言环境来加载这些资源,从而提供不同语言的展示。
问题:为什么Java里没有全局变量?
答案:全局变量是全局可见的,Java不支持全局可见的变量,因为:全局变量破坏了引用透明性原则。全局变量导致了命名空间的冲突。
问题:如何将String类型转化成Number类型?
答案:Integer类的valueOf方法可以将String转成Number。下面是代码示例:
2 String numString = “1000″;
int id=Integer.valueOf(numString).intValue();
问题:SimpleTimeZone类是什么?
答案:SimpleTimeZone提供公历日期支持。
问题:while循环和do循环有什么不同?
答案:while结构在循环的开始判断下一个迭代是否应该继续。do/while结构在循环的结尾来判断是否将继续下一轮迭代。do结构至少会执行一次循环体。
问题:Locale类是什么?
答案:Locale类用来根据语言环境来动态调整程序的输出。
问题:面向对象编程的原则是什么?
答案:主要有三点,多态,继承和封装。
问题:介绍下继承的原则
答案:继承使得一个对象可以获取另一个对象的属性。使用继承可以让已经测试完备的功能得以复用,并且可以一次修改,所有继承的地方都同时生效。
问题:什么是隐式的类型转化?
答案:隐式的类型转化就是简单的一个类型赋值给另一个类型,没有显式的告诉编译器发生了转化。并不是所有的类型都支持隐式的类型转化。
问题:sizeof是Java的关键字吗?
答案:不是。
问题:native方法是什么?
答案:native方法是非Java代码实现的方法。
问题:在System.out.println()里面,System, out, println分别是什么?
答案:System是系统提供的预定义的final类,out是一个PrintStream对象,println是out对象里面一个重载的方法。
问题:封装,继承和多态是什么?
答案:简单来说,多态是指一个名字多种实现。多态使得一个实体通过一个通用的方式来实现不同的操作。具体的操作是由实际的实现来决定的。
多态在Java里有三种表现方式:方法重载通过继承实现方法重写通过Java接口进行方法重写。
问题:显式的类型转化是什么?
答案:显式的类型转化是明确告诉了编译器来进行对象的转化。
问题:什么是Java虚拟机?
答案:Java虚拟机是能移植到不同硬件平台上的软件系统。
问题:类型向下转换是什么?
答案:向下转换是指由一个通用类型转换成一个具体的类型,在继承结构上向下进行。
问题:Java的访问修饰符是什么?
答案:访问权限修饰符是表明类成员的访问权限类型的关键字。使用这些关键字来限定程序的方法或者变量的访问权限。它们包含:
public: 所有类都可以访问 protected: 同一个包内以及所有子类都可以访问 private: 只有归属的类才能访问默认: 归属类及相同包下的子类可以访问
问题:所有类的父类是什么?
答案:Object.
问题:Java的基本类型有哪些?
答案:byte,char, short, int, long, float, double, boolean。
问题:静态类型有什么特点?
答案:静态变量是和类绑定到一起的,而不是类的实例对象。每一个实例对象都共享同样一份静态变量。也就是说,一个类的静态变量只有一份,不管它有多少个对象。类变量或者说静态变量是通过static这个关键字来声明的。类变量通常被用作常量。静态变量通常通过类名字来进行访问。当程序运行的时候这个变量就会创建直到程序结束后才会被销毁。类变量的作用域和实例变量是一样的。它的初始值和成员变量也是一样的,当变量没被初始化的时候根据它的数据类型,会有一个默认值。类似的,静态方法是属于类的方法,而不是类对象,它的调用并不作用于类对象,也不需要创建任何的类实例。静态方法本身就是final的,因为重写只会发生在类实例上,静态方法是和类绑定在一起的,不是对象。父类的静态方法会被子类的静态方法屏蔽,只要原来方法没有声明为final。非静态方法不能重写静态方法,也就是说,你不能在子类中把一个静态方法改成实例方法。
非静态变量在每一个对象实例上都有单独的一份值。
问题:&操作符和&&操作符有什么区别?
答案:当一个&表达式在求值的时候,两个操作数都会被求值,&&更像是一个操作符的快捷方式。当一个&&表达式求值的时候,先计算第一个操作数,如果它返回true才会计算第二个操作数。如果第一个操作数取值为fale,第二个操作数就不会被求值。
问题:Java是如何处理整型的溢出和下溢的?
答案:Java根据类型的大小,将计算结果中的对应低阶字节存储到对应的值里面。
问题:public static void写成static public void会怎样?
答案:程序正常编译及运行。
问题,声明变量和定义变量有什么不同?
答案:声明变量我们只提供变量的类型和名字,并没有进行初始化。定义包括声明和初始化两个阶段String s;只是变量声明,String s = new String("bob"); 或者String s = "bob";是变量定义。
问题:Java支持哪种参数传递类型?
答案:Java参数都是进行传值。对于对象而言,传递的值是对象的引用,也就是说原始引用和参数引用的那个拷贝,都是指向同一个对象。
问题:对象封装的原则是什么?
答案:封装是将数据及操作数据的代码绑定到一个独立的单元。这样保障了数据的安全,防止外部代码的错误使用。对象允许程序和数据进行封装,以减少潜在的干涉。对封装的另一个理解是作为数据及代码的保护层,防止保护层外代码的随意访问。
问题:你怎么理解变量?
答案:变量是一块命名的内存区域,以便程序进行访问。变量用来存储数据,随着程序的执行,存储的数据也可能跟着改变。
问题:数值提升是什么?
答案:数值提升是指数据从一个较小的数据类型转换成为一个更大的数据类型,以便进行整型或者浮点型运算。在数值提升的过程中,byte,char,short值会被转化成int类型。需要的时候int类型也可能被提升成long。long和float则有可能会被转换成double类型。
问题:Java的类型转化是什么?
答案:从一个数据类型转换成另一个数据类型叫做类型转换。Java有两种类型转换的方式,一个是显式的类型转换,一个是隐式的。
问题:main方法的参数里面,字符串数组的第一个参数是什么?
答案:数组是空的,没有任何元素。不像C或者C++,第一个元素默认是程序名。如果命令行没有提供任何参数的话,main方法中的String数组为空,但不是null。
问题:怎么判断数组是null还是为空?
答案:输出array.length的值,如果是0,说明数组为空。如果是null的话,会抛出空指针异常。
问题:程序中可以允许多个类同时拥有都有main方法吗?
答案:可以。当程序运行的时候,我们会指定运行的类名。JVM只会在你指定的类中查找main方法。因此多个类拥有main方法并不存在命名冲突的问题。
问题:静态变量在什么时候加载?编译期还是运行期?静态代码块加载的时机呢?
答案:当类加载器将类加载到JVM中的时候就会创建静态变量,这跟对象是否创建无关。静态变量加载的时候就会分配内存空间。静态代码块的代码只会在类第一次初始化的时候执行一次。一个类可以有多个静态代码块,它并不是类的成员,也没有返回值,并且不能直接调用。静态代码块不能包含this或者super,它们通常被用初始化静态变量。
问题:一个类能拥有多个main方法吗?
答案:可以,但只能有一个main方法拥有以下签名:
1 public static void main(String[] args) {}
否则程序将无法通过编译。编译器会警告你main方法已经存在。
问题:简单的介绍下JVM是如何工作的?
答案:JVM是一台抽象的计算机,就像真实的计算机那样,它们会先将.java文件编译成.class文件(.class文件就是字节码文件),然后用它的解释器来加载字节码。
看过“常见java面试题”
浏览量:2
下载量:0
时间:
面试是很多用人单位遴选求职者的重要方式,当然也是高级java工程师求职者的求职必经环节。下面是读文网小编为大家带来的高级java工程师面试题,相信对你会有帮助的。
尊敬的领导:
您好!我叫xxx,是南京信息工程大学20xx届计算机系软件开发专业的。并获计算机学士学位。从考入大学那天起我一直努力学习,在大学生活中培养了良好的学习习惯,所学的课程包括了从计算机的基础知识到运用等许多方面。
通过对这些知识的学习,我对这个领域的相关知识有了一定程度的理解和掌握。并做了大量的实践,进一步加深了对计算机的认识软件开发人员求职信范文软件开发人员求职信范文。在学好基础知识的同时还注重多方面全面发展,多次参加了学校的各种活动,在实习过程中将理论与实践结合起来,深受学校老师和同学的欢迎。
20XX年初参加了微软认证系统工程师培训,培训科目:WindowsNTTechnology,WindowsNTEnterprise,NetworkingwithTCP/IPonWindowsNT,ⅡS4.WindowsNT。
具备丰富的工作经验,认真踏实负责,且具备优秀的表达能力,曾多次主持对用户和内部的技术讲解和培训,获得用户和公司的一致好评。曾在电子工业部“三金工程展风采展示会”上向来宾讲解CHINAGBN专线集团用户解决方案。
在激烈的人才竞争中,虽然我只是名刚毕业的大学生,也许没有工作经验,但我有颗真挚的心和拼搏进取的精神,愿为贵公司贡献出一分自己的力量,为了更好的掌握知识理论,也为更好地服务贵公司,我现在正努力自学一些更深的理论书,虽然我刚从大学毕业,没有实际的工作经验,但我相信像贵公司那样重能力,重水平,重开拓,有远见的公司,一定把能力,水平与经验同等同视,给新人一个显身手的机会,希望贵公司给我一个机会,能考虑我,我迫切希望早日成为贵公司一员软件开发人员。
浏览量:3
下载量:0
时间:
撰写个人简历是应届生java个人求职者求职工作过程中非常重要的一步,下面是由读文网小编分享的应届生java简历范文,希望对你有用。
个人资料
姓名:XXX
性别:
目前所在: 广州 年龄: 23
户口所在: 广西 国籍: 中国
婚姻状况: 未婚 民族: 汉族
培训认证: 未参加 身高: 160 cm
诚信徽章: 未申请 体重: 45 kg
人才测评: 未测评
我的特长:
求职意向
人才类型: 普通求职
应聘职位: 软件工程师:JAVA软件工程师
工作年限: 2 职称: 中级
求职类型: 全职 可到职日期: 随时
月薪要求: 3500--5000 希望工作地区: 广州,,
工作经历
广州东方标准信息科技有限公司 起止年月:2008-03 ~ 2010-06
公司性质: 民营企业所属行业:计算机/互联网/通信/电子
担任职位: java程序员
工作描述: 1.参与需求的挖掘;
2.负责java程序开发, 测试,维护;
3.带领实习生进行项目开发,并协助其攻克技术难点;
4.重构“广东远程职业培训网”。
离职原因:
志愿者经历
教育背景
毕业院校: 广西职业技术学院
最高学历: 大专获得学位: 毕业日期: 2008-07
专 业 一: 计算机 专 业 二:
起始年月 终止年月 学校(机构) 所学专业 获得证书 证书编号
2007-11 2008-02 新东方IT培训学校 JAVA软件工程师 - -
语言能力
外语: 英语一般 粤语水平: 一般
其它外语能力:
国语水平: 优秀
工作能力及其他专长
1.具有面向对象思想,扎实的编程功底以及良好的编码习惯;
2.熟练应用Struts+Hibernate,SSH2框架和MVC三层架构开发模式;
3.熟练Oracle数据库的操作,能够编写存储过程,熟悉Mysql和SqlServer数据库;
4.熟练Tomcat服务器的部署及应用;
5.熟悉版本管理器SVN;
6.熟练使用Jsp,HTML,JavaScript,Jquery,Ajax,Css等WEB客户端技术;
7.了解设计模式,代码重构和项目过程管理,能够编写文档。
自我评价
自我鉴定
我身体健康,性格随和,五官端正,不怕苦不怕累。两年多的程序员生活锻炼了我坚强的意志,缜密的思维,以及强的抗压性;我做事有耐心,并且乐于学习新知识,更注重巩固旧知识。作为一名程序员,更重要的品质就是要懂得团队合作,而我恰好拥有团队合作精神,对工作认真负责。
项目经验
2010/3--2010/6:综合管理系统
软件环境:TOMCAT6.0+ MYSQL
硬件环境:windows
开发工具:MYECLIPSE5.1
项目描述:项目团队: 开发人员4人
开发语言:JAVA
SCM工具:SVN版本管理器
项目技术:STRUTS 2+SPRING+HIBERNATE3.0、LOG4J、JQUERY、AJAX
软件描述:“综合管理系统”专门针对社会各类培训学校、培训中心而开发的一套综合性管理软件,对学校的日常事物进行记录,提高学校管理的工作效率。主要有“权限管理”,“历史记录”,“教务管理”,“学员管理”,“教学管理”,“财务管理”等模块。
责任描述:
1.带领实习生进行项目开发,从需求挖掘到程序开发;
2.协助实习生攻克技术难点;
3.负责“教务管理”,“学员管理”模块的开发;
2009/12--2010/2: 创业测评系统
软件环境:TOMCAT6.0+ ORACLE10g
硬件环境:windows
开发工具:MYECLIPSE5.1
项目描述:项目团队: 开发人员4人,经理1人
开发语言:JAVA
SCM工具:SVN版本管理器
项目技术:STRUTS+HIBERNATE3.0、JQUERY、AJAX
软件描述:“创业测评系统”是省劳动保障厅主办项目“广东远程职业培训网”的一个子项目;以“广东远程职业培训网”的用户为用户,主要实现“测试”,“统计”,“行业方向管理”,“题库管理”,“测评报告管理”功能。
责任描述:负责“统计”,“题库管理”模块的程序开发;
1.“统计”中“自定义”统计功能以存储过程方式实现;
2.以树形菜单显示题目种类。
2009/2--2010/6:广东远程职业培训网
软件环境:TOMCAT6.0+ ORACLE10g
硬件环境:windows
开发工具:MYECLIPSE5.1
项目描述:项目团队: 开发人员6人,经理1人
开发语言:JAVA
SCM工具:SVN版本管理器
项目技术:STRUTS+HIBERNATE3.0、IBATIS、JSP、JAVASCRIPT、JQUERY、AJAX
项目描述:“广东远程职业培训网”是省劳动保障厅主办项目,是一项长期项目;主要有以下功能:
1.“后台管理系统”,用于管理学员信息,课件信息,三级权限分配,对各地市级的学员进行统计等;
2.“学习的平台”与FLASH进行交互,播放flash课件,提供给学员学习课程;
3.“CMS新闻发布系统”丰富页面内容。
我的任务:
负责“学员管理”,“课件管理”模块的程序开发;重构“统计”、“注册”模块。
1.“学员管理”实现增删改查,导入导出等功能。
2.以树形结构显示课件信息,并实现增删改查,停用启用功能。
3.重构“注册”功能,采用jquery.validator插件进行校验,ajax异步获取数据。
责任描述: 负责“学员管理”,“课件管理”模块的程序开发;重构“统计”、“注册”模块。
浏览量:5
下载量:0
时间:
java常见面试题(附答案)
Java面试题涵盖的范围非常广泛,根据不同的岗位和公司要求,面试题可能会有所不同。为了让面试者能顺利应对面试官的问题,下面小编为大家收集整理了关于java常见面试题的相关内容,希望对大家有所帮助!
一般来说,试题会分为三个部分,Java基础、资料库基础和综合题。
首先是Java基础,这个很简单,也就是考考你对Java语言本身的理解,包括语法,类库的使用等。有选择题,也会有写程式码题。写程式码的时候认真仔细就是了。基础题答案一般都比较死,所以尽量不要错。在这,出一道我遇到的题考考大家,Java程式设计:把American,Japan,China,France,Brazil按英文字母排序。
其次是资料库。准确的说,考的不是资料库,而是SQL语句。一般题型是,给两三个表,然后让你根据需求写SQL。最普通的就是学生表、选课表和成绩表。要掌握的就是连线查询,还有就是一些函式。
浏览量:2
下载量:0
时间:
Java经典面试题及答案(面试必看)
Java面试题涵盖的范围非常广泛,根据不同的岗位和公司要求,面试题可能会有所不同。为了让面试者能顺利应对面试官的问题,下面小编为大家收集整理了关于Java经典面试题及答案的相关内容,希望对大家有所帮助!
Java是一门面向对象的编程语言,其主要用途有以下几个方向:
大数据领域、
Hadoop以及其他大数据处理技术普遍用的都是Java,当然其他语言也有用到,基于Java?的?HBase和Accumulo以及ElasticSearchas。但Java在此领域并未占太大空间,但只要Hadoop和ElasticSearchas能够成长壮大,Java依然有潜力占据一部分。
Android应用?
如果你想知道Java应用在哪里,打开你的安卓手机或者任何的App,它们完全是用有着谷歌Android API的Java编程语言编写的,这个API和JDK非常相似。前几年安卓刚开始起步而到今日已经很多Java程序员是安卓App的开发者。顺便一提,虽然我们之前的文章提到的关于安卓App是如何工作的,即安卓使用了不同的Java虚拟机和不同的封装,但是代码仍然是用Java编写的。
网站领域
Java同样也在电子商务和网站开发上有着广泛的运用。你可以运用很多RESTfull架构,这些架构是用Spring MVC,Struts 2.0和类似的框架开发出来的。甚至简单的Servlet,JSP和Struts在各种政府项目也是备受欢迎,许多政府,医疗,保险,教育,国防和其他部门的网站都是建立在java之上的。
浏览量:3
下载量:0
时间:
Java经典面试题200道(带答案)
Java面试题涵盖的范围非常广泛,根据不同的岗位和公司要求,面试题可能会有所不同。为了让面试者能顺利应对面试官的问题,下面小编为大家收集整理了关于java常见面试题的相关内容,希望对大家有所帮助!
1.简单性
Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。例如,Java不支持go to语句,代之以提供break和continue语句以及异常处理。Java还剔除了C++的操作符过载(overload)和多继承特征,并且不使用主文件,免去了预处理程序。因为Java没有结构,数组和串都是对象,所以不需要指针。Java能够自动处理对象的引用和间接引用,实现自动的无用单元收集,使用户不必为存储管理问题烦恼,能更多的时间和精力花在研发上。
2.面向对象
Java是一个面向对象的语言。对程序员来说,这意味着要注意其中的数据和操纵数据的方法(method),而不是严格地用过程来思考。在一个面向对象的系统中,类(class)是数据和操作数据的方法的集合。数据和方法一起描述对象(object)的状态和行为。每一对象是其状态和行为的封装。类是按一定体系和层次安排的,使得子类可以从超类继承行为。在这个类层次体系中有一个根类,它是具有一般行为的类。Java程序是用类来组织的。
Java还包括一个类的扩展集合,分别组成各种程序包(Package),用户可以在自己的程序中使用。例如,Java提供产生图形用户接口部件的类(java.awt包),这里awt是抽象窗口工具集(abstract windowing toolkit)的缩写,处理输入输出的类(java.io包)和支持网络功能的类(java.net包)。
3.分布性
Java设计成支持在网络上应用,它是分布式语言。Java既支持各种层次的网络连接,又以Socket类支持可靠的流(stream)网络连接,所以用户可以产生分布式的客户机和服务器。
网络变成软件应用的分布运载工具。Java程序只要编写一次,就可到处运行。
4.编译和解释性
Java编译程序生成字节码(byte-code),而不是通常的机器码。Java字节码提供对体系结构中性的目标文件格式,代码设计成可有效地传送程序到多个平台。Java程序可以在任何实现了Java解释程序和运行系统(run-time system)的系统上运行。
在一个解释性的环境中,程序开发的标准“链接”阶段大大消失了。如果说Java还有一个链接阶段,它只是把新类装进环境的过程,它是增量式的、轻量级的过程。因此,Java支持快速原型和容易试验,它将导致快速程序开发。这是一个与传统的、耗时的“编译、链接和测试”形成鲜明对比的精巧的开发过程。
5.稳健性
Java原来是用作编写消费类家用电子产品软件的语言,所以它是被设计成写高可靠和稳健软件的。Java消除了某些编程错误,使得用它写可靠软件相当容易。
Java是一个强类型语言,它允许扩展编译时检查潜在类型不匹配问题的功能。Java要求显式的方法声明,它不支持C风格的隐式声明。这些严格的要求保证编译程序能捕捉调用错误,这就导致更可靠的程序。
可靠性方面最重要的增强之一是Java的存储模型。Java不支持指针,它消除重写存储和讹误数据的可能性。类似地,Java自动的“无用单元收集”预防存储漏泄和其它有关动态存储分配和解除分配的有害错误。Java解释程序也执行许多运行时的检查,诸如验证所有数组和串访问是否在界限之内。
异常处理是Java中使得程序更稳健的另一个特征。异常是某种类似于错误的异常条件出现的信号。使用try/catch/finally语句,程序员可以找到出错的处理代码,这就简化了出错处理和恢复的任务。
浏览量:5
下载量:0
时间:
2023年Java经典面试题及答案(200道)
Java面试题涵盖的范围非常广泛,根据不同的岗位和公司要求,面试题可能会有所不同。为了让面试者能顺利应对面试官的问题,下面小编为大家收集整理了关于2023年Java经典面试题及答案(200道)的相关内容,希望对大家有所帮助!
简历:简历的编写要真实可信,突出个人亮点,格式无误,排版干净,控制简历页数。
面试准备:了解公司的基本情况、业务范围、市场占比等。
技术准备:熟悉Java开发岗位所需知识,包括Java基础、JVM、多线程、Mysql、Spring、Spring Boot、Spring Cloud等。
非技术准备:了解非技术性方面的问题,如知识结构、沟通能力、学习能力等。
浏览量:8
下载量:0
时间:
Java基础面试题(附答案)
Java面试题涵盖的范围非常广泛,根据不同的岗位和公司要求,面试题可能会有所不同。为了让面试者能顺利应对面试官的问题,下面小编为大家收集整理了关于Java基础面试题的相关内容,希望对大家有所帮助!
1.java异常机制的原理与应用
答:每当程序出现异常之后,如果程序没有进行相应的处理,则程序会出现中断现象。
实际上,产生了异常之后,JVM会抛出一个异常类的实例化对象,如果此时使用了try语句捕获的话,则可以进行异常的处理,否则,交给JVM进行处理。当try语句捕获异常之后,将与catch语句的异常类型进行匹配,如果匹配成功则执行catch内的语句。简单的应用:在所以throws语句的地方加入try-catch。标准应用:try-catch-finally-throw-throws一起使用。
2. 垃圾回收机制的优点
答:释放无用的对象所占用的空间。方式:自动回收,手动回收。使用System.gc(),实际上调用Runtime.getRuntime().gc()
3. Error与Exception区别
答:Error是jvm进行处理,是jvm出错
exception是可以由程序处理的,可以用try-catch捕获的
4. final,finally,finallize
答:final定义的变量的值不能改变,定义的方法不能被覆盖,定义的类不能被继承
finally是异常的统一出口,finallize是垃圾回收前的收尾工作,是Object类定义的
5. Anonymous Inner Class是否可以extends,是否可以implements Interface
答:允许继承和实现,因为匿名内部类就是在抽象类和接口的基础上发展起来的
6. Static Nested Class 与Inner Class的区别
答:使用Static定义的Class就是外部类,可以通过外部类. 内部类直接访问
而Inner Class是不能被外部访问的,只能通过外部类的实例再找到内部类实例。
7. HashMap and HashTable?
答:HashMap:1) released in jdk 1.2,new Class 2)采用异步处理方式,性能较高,是非线程安全的 3)允许null
HashTable:
1)released in jdk 1.0 ,old Class
2)采用同步处理方式,性能低,是线程安全的
3)不允许null
8. assert代表什么?
答:asserts是jdk 1.4之后发布的新关键字,表示断言,即程序执行到某个地方肯定是预计的值,一般开发很少使用。要使用assert,必须加上 -ea参数
9. gc是什么?
答:gc是garbage collection,垃圾回收,使用gc可以进行垃圾空间的释放
10. String s = new String("xyz")产生了几个对象?
答:一个匿名对象xyz,在栈空间内。一个new实例化的对象,在堆空间内。
浏览量:2
下载量:0
时间: