当前位置:文档之家› Java后台服务程序设计

Java后台服务程序设计

Java后台服务程序设计
Java后台服务程序设计

Java后台服务程序设计

在很多大型软件项目中,都有一些极为重要的后台服务程序,它们并不处理具体的

系统业务逻辑,但对整个系统资源和服务的协调管理却是不可或缺。本文讨论如何

完整地编写一个后台服务管理程序,并通过一个具体的后台服务管理例子来说明这

一技术实现的技巧。

为什么需要后台服务程序?

在许多大型软件项目中,后台服务程序都扮演着极为重要的角色。它们无处不在,例如操作系统的内核程序处理各种对操作系统的内部调用;数据库系统的核心管理进程处理各种对数据库的读写操作和进程、资源的管理;大型ERP软件的内核管理程序要完成各种应用模块的资源、通讯管理等等。它们使系统的各种服务、资源与应用的表示之间形成了一个松耦合关系,这样就极大地增加了软件系统的稳定性和伸缩性。后台服务程序也就是相当于软件系统的管理调度中心,它是软件系统的中央处理器,是保证应用高效运行的内核程序。

在不同的软件系统中,由于软件的复杂程度和功能的不同使得各种软件系统的后台服务程序都有存在较大的差异。但是后台服务程序还是有很多共同的特点,一个基本的后台服务程序大概可以由四个部分构成:通用服务器框架、服务与监听、服务控制、服务器实现。下面我们就使用具体的代码来实现一个基本的后台服务器程序。

通用服务器框架

在开发后台服务程序中,我们首先实现一个通用服务器框架类,它能在多个端口提供多线程的服务(由多个Service对象定义),并且能够在系统运行时动态地调用和实例化Service类并加载新的服务或卸除已加载的服务。

清单1显示了如何编制一个通用服务器框架类文件。

int freeConn;

ThreadGroup threadGroup;

private int currentConn;

private PrintWriter log = new PrintWriter(System.out, true);

public boolean connected = false;

public Properties proPort, proNum;

public synchronized void setControlFlag() {

connected = true;

}

public synchronized void removeControlFlag() {

connected = false;

}

public void setProperty(Properties proPort, Properties proNum) {

this.proPort = proPort;

this.proNum = proNum;

}

public Server(int maxConn) {

this.maxConnections = maxConn;

this.freeConn=maxConnections;

this.threadGroup = new ThreadGroup(Server.class.getName());

currentConn = 0;

this.services = new HashMap();

this.connections = new HashSet(maxConnections);

}

public synchronized void addService(Service service,int port, int maxConn) throws IOException {

String servicename = service.getClass().getName();

Integer key = new Integer(port);

if (services.get(key) != null) throw new IllegalArgumentException("端口:" + port + " 已经被占用!");

if (getfreeConnections(maxConn)>=0) {

Listener listener = new Listener(this, port, service, maxConn);

services.put(key,listener);

log.println("启动" + servicename + "服务在" + port +"端口上");

listener.start();

} else {

System.err.println("系统并发连接限制已经达到最大值!");

System.err.println("服务" + servicename + " 启动失败!");

}

}

public synchronized void addService(Service service,int port) throws IOException {

this.addService(service,port,10);

}

public synchronized boolean removeService(int port) {

Integer key = new Integer(port);

int maxConn =10;

final Listener listener = (Listener) services.get(key);

if (listener == null) {

log.println("Service " + " isn't started on port " + port); return false;

}

services.remove(key);

listener.pleaseStop();

freeConn+=listener.maxConn;

log.println("Close " + listener.service + " on port " + port);

return true;

}

public synchronized void displayStatus(PrintWriter out) {

Iterator keys = services.keySet().iterator();

while (keys.hasNext()) {

Integer port = (Integer) keys.next();

Listener listener = (Listener) services.get(port);

out.println("服务" + listener.service + "运行" + port + "\n"); }

out.println("连接限制为" + maxConnections);

Iterator conns = connections.iterator();

while (conns.hasNext()) {

Socket s = (Socket) conns.next();

int sport = s.getLocalPort();

Listener listen = (Listener) services.get(new Integer(sport)); String servicename = listen.service;

out.println(servicename + "响应请求在" +

s.getInetAddress().getHostAddress() + "的" + sport + "端口上");

}

out.println("当前连接数为" + currentConn);

out.println("当前系统空闲连接数为" + freeConn);

}

private synchronized int getfreeConnections(int maxConn) { int num = -1;

if (freeConn >= maxConn) {

freeConn-=maxConn;

num = freeConn;

}

return num;

}

public synchronized int getConnections() {

return currentConn;

}

public synchronized int addConnections(Socket s) {

connections.add(s);

return currentConn++;

}

public synchronized int removeConnections(Socket s) {

connections.remove(s);

try {

s.close();

} catch (Exception e) {

System.out.println(e.getMessage());

}

return currentConn--;

}

public synchronized int getConnections(int connections) { int num = 0;

if ((num=freeConn-connections) >= 0) {

freeConn = num;

} else num = -1;

return num;

}

private synchronized int getFreeConn() {

return freeConn;

}

如上所述可知,服务器框架类Server主要是通过端口到监听器影射的散列表services来管理服务对象,Server类的几个主要方法说明如下:

?addService方法:此方法能够在特定的端口上创建新的服务,即在指定端口上运行指定的Service对象。

?removeService方法:此方法使服务器停止指定端口上的服务,并不终止连接,仅使服务器停止接受新的连接。

?displayStatus方法:此方法用于打印指定流上服务器的状态信息。

服务与监听

每个服务都对应着一个监听对象,监听指定端口的连接并在获得连接请求时调用addConnection(Socket s, Service service)方法来取得(释放)一个连接。清单2显示了如何编制一个监听类文件。

this.server = server;

this.port = port;

this.service = service.getClass().getName();

this.maxConn = maxConn;

this.group = server.threadGroup;

this.connections = server.connections;

listener = new ServerSocket(this.port);

if (bl == false) listener.setSoTimeout(600000);

this.runService = service;

if (!stop_flag) {

for (int i=0;i

ConnectionHandler currentThread = new

ConnectionHandler(server,logStream);

new Thread(this.group, currentThread,

this.service+this.port+i).start();

this.logStream.realLog("向线程组" + group.toString() + "添加一个线程" + this.service+this.port+i);

}

} else throw new IllegalArgumentException("系统并发连接限制已经超过最大值!!"); }

public Listener(Server server, int port, Service service, int maxConn) throws IOException {

this(server, port, service, maxConn, false);

}

public void pleaseStop() {

this.stop_flag = true;

try {

listener.close();

} catch (Exception e) {

}

this.interrupt();

}

public void run() {

while(!stop_flag) {

try {

client = listener.accept();

addConnection(client,runService);

} catch (Exception e) {}

在实际处理过程中,Listener对象通过在指定端口上与指定服务的绑定实现监听过程,主要的几个方法说明如下:

?pleaseStop:以礼貌的方法停止接受连接。

?addConnection:把指定要处理的服务放到线程池中,以等待空闲的线程处理服务。

监听对象通过传递一个Service对象并唤醒它的serve()方法才真正提供了服务。下面我们就来实现一个具体的服务:

?服务接口Service只有一个抽象方法serve(InputStream in, OutputStream out),它所有服务实现所必须重写的一个方法,Listing 3显示了一个Service接口的定义。

?编写一个简单的显示时间服务类:见清单4。

通过实现Service接口可以编写很多的服务实现提供各种不同的服务,读者有兴趣也可自己编写一个服务来测试一下。

服务控制

服务控制是在服务器运行时动态地操作控制服务器,如系统运行时,动态地装载(卸载)服务,显示服务器的状态信息等等。为了简化基本后台服务系统的复杂程度,我们采用创建一个ControlService 服务实例来在运行时管理服务器。ControlService实现了基于命令的协议,可用密码保护操纵服务器,代码如清单5所示:

import dvb.kuanshi.kssms.util.*;

import dvb.kuanshi.kssms.server.Server;

public class ControlService implements Service {

Server server;

String password;

public ControlService(Server server, String password) {

this.server = server;

this.password = password;

}

public void serve(InputStream in, OutputStream out) throws IOException {

boolean authorized = false;

BufferedReader from_client = new BufferedReader(new

InputStreamReader(in));

PrintWriter to_console = new PrintWriter(System.out, true);

to_console.println("后台管理服务响应请求!\n");

PrintWriter to_client = new PrintWriter(out);

synchronized (this) {

if(server.connected) {

to_client.println("已经有用户连接,本服务仅允许一个连接!\n");

to_client.close();

return;

} else server.setControlFlag();

}

to_client.println("Remote Console>");

to_client.flush();

String line;

while ((line=from_client.readLine())!=null) {

int len = line.indexOf("Remote Console>");

line = line.substring(len+1,line.length());

String printStr;

try {

StringTokenizer st = new StringTokenizer(line);

int count = st.countTokens();

if (!st.hasMoreElements()) continue;

String first = st.nextToken().toLowerCase();

if (first.equals("password")) {

String pwd = st.nextToken();

if (pwd.equals(this.password)) {

to_client.println("OK");

authorized = true;

} else to_client.println("密码无效,请重试!\n");

} else if (first.equals("add")) {

if(!authorized) to_client.println("请登陆!\n");

else {

count--;

String servicename;

int Port;

boolean flag = true;

if (count>0) {

servicename = st.nextToken();

Port = Integer.parseInt(st.nextToken());

server.addService(loadClass(servicename1), Port);

to_client.println("服务" + servicename + "已经加载\n");

flag = false;

}

if (flag) to_client.println("系统不能启动非法服务:" + servicename);

else {to_client.println("请输入服务名!\n");}

}

} else if (first.equals("remove")) {

if(!authorized) to_client.println("请登陆!\n");

else {

count--;

if (count>0) {

int port = Integer.parseInt(st.nextToken());

boolean bl = server.removeService(port);

if (bl) to_client.println("端口: " + port +"上的服务已经卸载\n");

else to_client.println("端口: "+ port +"上无任何服务运行,卸载操作失败!\n");

} else to_client.println("请输入端口名!\n");

}

} else if(first.equals("status")) {

if(!authorized) to_client.println("请登陆!\n");

else server.displayStatus(to_client);

} else if(first.equals("help")) {

if(!authorized) to_client.println("请登陆!\n");

else printHelp(to_client);

} else if(first.equals("quit")) break;

服务器实现和运行

服务器实现主要完成服务器的初始化,启动服务控制实例等工作,代码如清单6所示:

public class runServer {

public runServer() {

}

public static void main(String[] args) {

try {

int argLen = args.length;

System.out.println("正在初始化系统请等待......");

System.out.println("");

int maxConn = 30;

Server server = new Server(maxConn);

System.out.println("################################################################");

System.out.println("# #");

System.out.println("# 后台服务管理系统 #");

System.out.println("# #");

System.out.println("################################################################");

System.out.println();

if (argLen>2) {

for (int i = 0;i

if (args[i].equals("-s")) {

i++;

String password = args[i];

i++;

int port = Integer.parseInt(args[i]);

server.addService(new ControlService(server,password), port, 2);

} else {

String servicename = args[i];

i++;

int port = Integer.parseInt(args[i]);

server.addService(loadClass(servicename), port);

}

}

} else throw new IllegalArgumentException("参数数目不正确!");

System.out.println("系统启动,进入监听服务模式......");

} catch (Exception e) {

throw new IllegalArgumentException(e.getMessage());

}

}

下面我们就可以启动示例程序来测试一下了。

如清单7所示,以密码保护方式(密码为test)启动后台服务,在6809启动服务控制实例,在6810端口启动。

在另外一个窗口,执行如下命令,将显示当前系统的时间。

在另外一个窗口,执行如下命令,你将能查看系统服务状态信息,并动态地装载你写的服务对象,你可以测试一下。

现在,一个基本的后台服务程序即编制完成了。实际上,一个大型软件的后台服务程序是非常复杂的,上面的例子希望能起到抛砖引玉的效果。要写出性能良好的后台服务程序还有很多工作要做。

java高级工程师_面试题和答案

一:选择题 1. 关于以下程序代码的说明正确的是( D ) 1.class HasStatic{ 2. private static int x=100; 3. public static void main(String args[ ]){ 4. HasStatic hs1=new HasStatic( ); 5. hs1.x++; 6. HasStatic hs2=new HasStatic( ); 7. hs2.x++; 8. hs1=new HasStatic( ); 9. hs1.x++; 10. HasStatic.x- -; 11. System.out.println(“x=”+x); 12. } 13. } A、 5行不能通过编译,因为引用了私有静态变量 B、 10行不能通过编译,因为x是私有静态变量 C、程序通过编译,输出结果为:x=103 D、程序通过编译,输出结果为:x=102 2. 下列关于for循环和while循环的说法中哪个是正确的?( B ) A.while循环能实现的操作,for循环也都能实现 B.while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果C.两种循环任何时候都可替换 D.两种循环结构中都必须有循环体,循环体不能为空 3. 以下选项中循环结构合法的是( C ) A、while (int i<7) { i++; System.out.println(“i is “+i); } B、 int j=3; while(j) { System.out.println(“ j is “+j); } C、int j=0; for(int k=0; j + k !=10; j++,k++) { System.out.println(“ j is “+ j + “k is”+ k); } D、 int j=0; do{ System.out.println( “j is “+j++); if (j = = 3) {continue loop;} }while (j<10); 4. 给出下面代码段, 哪行将引起一个编译时错误?( D )

java开发年终总结范文

java开发年终总结范文 java开发年终总结范文1 一、考核期内主要业绩,工作创新、工作质量及成效: 1. 20xx.5.10 - 20xx.7 :联通116114门户网站开发 完成116114网站首页登录及注册、公告模块、红段子短信发送、地区二级联动、及一些公共代码的实现,在这个项目中学习了新的知识Freemarker及Ibatis,熟悉了JQuery的使用,并对统一框架有了一定的了解。并在规定时间内完成了开发任务。 项目描述: 联通116114门户网站主要实现红段子的定制与包月。红段子内容包括短信和彩信。是由用户注册成为会员,自行在网上发布红段子,经审核后发布,再由个人用户到网站上包月或点播定制的一个业务。红段子门户网站建设目的,就是为了满足和实现红段子发布,定制流程 视频黄页个人定制:个人用户通过搜索引擎方式查询视频黄页,不注册也可以进行查询搜索,查询时用户可选择地区,行业,然后输入关键字进行搜索。搜索出结果后,个人用户可点击视频黄页,进行预览或定制或包月 2. 20xx.7 - 20xx.9.15:质检考评系统0502、0503、0504版本测试 这段时间主要熟悉质检系统的业务及需求,学习一些测试的基础知识,如单元测试、集成测试、压力测试、性能测试等,并能使用

自动测试工具QTP进行一些重复的需要手动测试的功能,使用LoadRunner模拟多个用户实施并发负载及实时性能监测。熟悉web 应用在websphere及weblogic服务器上的部署。在测试的这段时间,对质检系统的所有的功能都有了一定的了解,并发现了许多系统以前存在的问题,项目提交测试部之后,没有太多功能上的问题。也为后期参与质检项目开发作好了准备。 但0504版本与其他版本依赖关系比较大,没有测试环境,许多功能没有测试,这个版本出现的问题比较多。所以在以后工作中需要注意这些问题,及时向上级反馈工作中的问题。 3. 20xx.9.15- 20xx.11.15 :质检考评系统0505开发 主要负责计划考评(人工事后,自动事后,轮次)的相关需求、质检标准等功能的实现及其他需求的测试。学习了struts1的相关知识,对质检系统业务有了进一步了解。这个版本的开发都在规定时间内完成了任务,版本质量也没有太大的问题。 4. 201x.11.16 - 20xx.1.10:甘肃12580项目开发 主要完成彩信模块所有的功能的实现,主要用到了JQuery、DWR、IBATIS、SPRING、BOSS验证、UMA及Webservice等技术 5. 20xx.1.11-20xx.2质检项目0506开发及测试 二、自我评价(包括本人需要向上级汇报的其它方面内容): 1. 在这半年多的时间里,学习了很多新的知识,都是以前没有接触过的,可能刚工作的时 候有些浮躁,想有新的任务,又害怕做不好,但是最后都能如

Java工程师面试题(含答案)

1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。 3.封装: 封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。 4. 多态性: 多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 5、String是最基本的数据类型吗 基本数据类型包括byte、int、char、long、float、double、boolean和short。 类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类 6、int 和Integer 有什么区别 Java提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int 提供的封装类。Java为每个原始类型提供了封装类。 原始类型封装类 boolean Boolean char Character byte Byte short Short int Integer long Long float Float double Double 引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为null,而原始类型实例变量的缺省值与它们的类型有关。 7、String 和StringBuffer的区别 JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String 类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。 8、运行时异常与一般异常有何异同 异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。 9、说出Servlet的生命周期,并说出Servlet和CGI的区别。 Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求

JAVA工程师年终工作总结

项目工程师个人年终工作总结 光阴似箭,日月如梭。一转眼来到泰安公司已经有将近一年的时间,在过去的一年里,在公司项目领导的支持和同事的帮助下,我个人在2014年度也取得了不小的进步。在工作过程中,较好地完成了今年年度工作目标。我认真履行自己的职责,加强施工生产管理,以提高自身素质为重点,以公司的规章制度为指导。认真抓好项目的施工技术工作,加强自身的道德品质修养,使我的思想素质不断提高,工作不断进步,并较好地完成了项目所分配的各阶段施工生产任务,现将一年来的工作做如下总结。 一、认认真真,做好本职工作。 在南山新区保障房3#、4#、17#、18#楼项目中,坚持完成了领导交办的各项任务,在测量过程中遵章守纪,服从管理,做好本职工作,对测量工作认真负责。熟悉设计图纸和施工图纸,严格执行测量技术和操作流程;按照规定的测量精度进行施测,确保精度和测量数据准确;施测后对测量成果进行复核工作;做好测量记录和定期对测量控制点测量复查,确保测量数据正确;施测后对测量仪器进行保养工作,定期对测量仪器进行自检自校;施工过程中,发现问题及时上报领导,在测量工作中没出现过较大失误。在南山新区保障房项目中,认真完成领导安排的工作,做到尽职尽责不怕辛苦;由于平时认真学习各项施工技术,在此项目中一直工作在施工第一线,对施工现场运作非常了解,所以做起现场技术负责比较得心应手。在施工过程中,认真履行规范要求,严格、细心发现并解决施工中的技术与施工质量问题,主体进度完成的比较顺利。 二、自觉加强理论学习,努力提高政治思想素质,积极上进。 1、加强理论学习:落实在行动上。认真学习党的章程,学习马列主义、毛泽东思想、邓小平理论和三个代表重要思想。努力提高自己思想政治素质和专业水平。认真学习公司各种管理制度,深刻领会公司重要会议精神以及下发的文件。结合实际工作,有针对性的学习各类专业知识,一方面认真学习与本专业相关的现行规范、技术标准;另一方面加强在实践中学习,向有经验的老同事、监理单位虚心请教,不断提高自身的专业水平。

java软件工程师面试题集

java软件工程师面试题集 EJB方面 1、EJB2.0有哪些内容?分别用在什么场合? EJB2.0和EJB1.1的区别? 答:规范内容包括Bean提供者,应用程序装配者,EJB容器,EJB配置工具,EJB服务提供者,系统管理员。这里面,EJB容器是EJB之所以能够运行的核心。EJB容器管理着EJB的创建,撤消,激活,去活,与数据库的连接等等重要的核心工作。JSP,Servlet,EJB,JNDI,JDBC,JMS..... 2、EJB与JAVA BEAN的区别? 答:Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java 类都可以是一个Bean。但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地进程内COM组件,它是不能被跨进程访问的。Enterprise Java Bean 相当于DCOM,即分布式组件。它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。但EJB 必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。 3、EJB的基本架构 答:一个EJB包括三个部分: Remote Interface 接口的代码 package Beans; import javax.ejb.EJBObject; import java.rmi.RemoteException; public interface Add extends EJBObject { //some method declare } Home Interface 接口的代码

一个IT男分享的6大互联网巨头公司的面试流程

一个IT男分享的6大互联网巨头公司的面 试流程 一个IT男分享的6大互联网巨头公司的面试流程简介一个IT 男分享的6大互联网巨头公司的面试流程:IT是一个人才日益紧缺的行业,2013年的人才需求比2012年上涨了将近2.3倍。随着人才的紧缺,IT业的薪水也是水涨船高。互联网巨头们对人才的争夺,更是日益激烈化。对于从事IT的职场人士,绝大部门都想进入那些一个IT男分享的6大互联网巨头公司的面试流程: IT是一个人才日益紧缺的行业,2013年的人才需求比2012年上涨了将近2.3倍。随着人才的紧缺,IT业的薪水也是水涨船高。互联网巨头们对人才的争夺,更是日益激烈化。 对于从事IT的职场人士,绝大部门都想进入那些巨头公司。除了薪水高、办公环境好,发展更有前景外,更让人有职业自豪感。虽然人才日益缺乏,但并非谁都可以进入互联网巨头公司的,它们的门槛都设置的较高。如果你有幸接到了这些巨头公司的面试邀请,那么一定要好好的把握,做好充足的准备。以下是一个IT男分享他在这些巨头公司的面试经验,想要进入互联网巨头公司的IT职场人,可以了解以下巨头们的面试流程。 1. 新浪:云计算开发

面临流程:笔试+面试+offer 笔试考察范围很广,涉及到数据结构、网络、安全、Linux常用命令、内核、算法、程序设计,以及项目管理等方面。面试就一轮,3个面试官,2个不同部门的经理和1个hr,主要问了些项目经验,然后根据简历问了些关于内核和网络编程方面的知识,以及一些在项目中遇到的困难如何克服等等,还问了下期望薪水以及希望户口落在哪个城市的问题。发offer前有hr电话沟通谈户口情况和期望工资,最后给的offer待遇和百度一样,但是户口不能给保证,只说有很大的可能性(去年解决了55%),最后放弃了。 2、腾讯:后台开发 面试流程:1面+2面+hr面+实习offer 没参加笔试,直接同学推荐过去面的,前两面都是技术面,1面简单问些项目经验和自己所擅长的专业知识;2面项目问的比较深入,还有一些算法和系统架构设计方面的问题;hr面就是简单的聊聊。暑期在腾讯实习了两个月,有导师专门负责指导,期间做了一个小项目,收获不少,与leader在留用沟通时,表示不愿留在深圳,最后也没发正式offer。腾讯大部分都是年轻人,整体氛围比较轻松,电子化办公也很完善,弹性工作制,加班完全凭自愿,晚上8点后会有免费的水果面包饮料,9点后的加班出租车票可以报销,整个公司以产品为主导,产品经理有很强的话语权。

Java软件开发工程师笔试题(答案)

Java工程师笔试题 一、填空题(本大题10小题,每空1分,共20分)。 1.Java语言的三大特性即是: 继承、封装、多态。 2.在Java中,char 型采用____unicode_______编码方案,这样,无论是中文字符还是英文字符,都是占用__2___个字节的内存空间。 3. 形式参数指的是方法被__定义____ 时的参数行,实际参数是方法被__调用__ _ 时所传递进去的变量或值。 4.JSP内置对象中,application对象是代表应用程序上下文,它允许JSP页面与包括在同一应用程序中的任何Web组件共享信息,而session 对象则是每个客户专用的。 5.如果想把一个对象写入一个流,那么这个类就必须实现Seralizable 接口。 6.程序中实现多线程的方法有两种:继承Thread类和实现___Runable _ 接口。 7.多线程中,可以通过调用相应的setPriority() 方法来修改一个线程的相对优先级。 8.面向对象编程的五大设计原则,分别是单一职责、开放封闭、 里氏替换、依赖倒置、接口分离 9.通过Ajax,客户端获取的数据主要有两种类型:文本型和xml 10.Socket通常也称为套接字,用于描述__ ip 和_ _接口 二、选择题(本大题20 小题,每小题2分.共40分)。 1.在JA V A中,如果父类中某些方法不包含任何逻辑,并且需要由子类重写.应该使用( )关键字来声明父类的这些方法: A) final B) static C) abstract D) void 2.在JA V A中,已定义两个接口B和C,要定义一个实现这两个接口的类,以下语句正确的是()。 A) interface A extend B,C B) interface A implements B,C C) class A implements B,C D) class A implements B, implements C

java项目工程师年度总结

java工程师年度总结 如果条件允许,每周三下午四时可以设立下午茶时间,时间可以是十五分钟,再忙也要学会适当放松自己。也是提高工作效率的另一种方式。以下内容是小编为您精心整理的java工程师年度总结,欢迎参考! java工程师年度总结篇一尊敬的领导: 您好!在XX年11月我很荣幸地进入公司,加入了研发部Java技术开发团队,认识了友善严谨的领导、热心和睦且技术优秀的同事,很是开心。在这一年里通过自身的努力,不断完善自己的知识结构,向同事虚心请教开发技术上的问题,较快地熟悉了公司采用的技术框架和业务知识。 通过公司日常培训学习和工作积累我对公司业务也有了一定的了解,在各方面也有了进步。目前在参与项目开发的工作中,我负责XXX功能模块开发。新年伊始,特向过去的一年XX年工作总结汇报如下:根据公司的安排,项目的需要,通过在XXX项目开发中的锻炼,我成长了,也认识到了自己的不足之处。在自身的努力、领导的帮助,团队的合作下,克服重重技术困难,增长了工作经验,收获颇多。从入公司以来我就开始学习基于代码生成器免费开源的开发框架以及Maven项目管理工具的使用,曾经接触过的框架比较熟悉的有SSH,表现层的实现技术freemaker、JSP。个人

优势就是曾在XXX行业针对XXX业务用SpringMVC框架开发管理系统,缺点是没有用过Activity工作流技术。Hibernate 框架,没有用到过多表关联动态查询和hql查询。印象较深刻的就是多对多关联表查询需要用到构造函数的方法来查。新接触的项目中我主要涉及到的开发模块有XXX等功能。 工作中的经验总结如下: 1. 对业务流程的梳理上,代码没有写活,考虑的问题不全面。后来在讨论时经过同事的指点进行了改造,代码质量和规范才有了明显提高。 2. 知识面还不够广博。在开发中遇到不少以前没学过的技术,一个模块功能中,涉及的技术往往有多种,知识多了,就会灵活变通,以后一定要加强这方面的学习。 3. 需要加强总结。在工作中,发现因为流程或业务需求的问题而不知道如何下手的情况有点多,包括错误与缺漏还有当时设计考虑不到位的地方,对于这块的控制力度显然不够。平时总是在开发,但说到底对业务很熟悉才是项目很好完成的前提,所以要到遇到过的问题需要进行总结,以便以后能快速定位和解决。 今后的计划: 通过今年的实践和学习,明年又是一个新的开始,立足当前的优缺点,肩负起应有的工作和性质。为公司明年的发展尽自己最大的努力,也希望自己明年有更大的收获。随着

Java开发工程师的面试自我介绍

Java开发工程师的面试自我介绍 这是一篇由网络搜集整理的关于Java开发工程师的面试自我介绍范文的文档,希望对你能有帮助。 Java开发工程师的面试自我介绍范文(一) 我叫XXX,今年22岁,毕业于XXX计算机科学与技术专业。由于非常喜欢本专业,并期待将来从事专业方向的工作,因而在校期间十分注重对专业课的学习,拥有扎实的Core Java基础,良好的编程风格;熟悉JSP+Servlet+JavaBean 模式的WEB开发;熟悉Struts,Hibernate,Spring等开源框架,了解EJB; 熟悉Tomcat,Jboss服务器等,熟悉基于Linux及Unix环境下的软件开发。因为专业课知识掌握牢固,以专业第一的综合成绩毕业。 然而,我深知仅有专业知识是不够的,社会需要的是高素质复合型人才,因而在校期间学习之外,我积极参加各种社会实践活动,曾参与过学院网上虚拟实验室开发的需求分析。大三暑假曾在浪潮软件园实习,参与了电信增值软件开发与编挰,通过亲自动手及不断地向有经验的工程师请教学习,实习结束时我已经基本掌握整个Java平台的核心技术,独立编程能力大大提高。同时实习生活也让我意识到从事Java编程工作团队合作的重要性。 虽然我的实际工作经验还不是很丰富,但相信有了扎实的专业基础知识和实习期间的实践经验,加上好学上进的精神,我能够胜任应聘岗位需求。希望贵公司给我这次机会。 Java开发工程师的面试自我介绍范文(二) 各位尊敬的`考官:

大家下午好!很荣幸能在这里面试,让我有向各位考官学习与交流的机会,现将自己的情况简要介绍一下: 我叫xx-x,出身在xx。性格比较温和、谦虚、认真细致、踏实、吃苦耐劳、有较强的责任心和社会适应能力。即将于xx年xx月毕业于河南工业职业技术学院,作为一名软件专业的大学生,我更喜欢平面设计,在大学三年的学习生活中,我对平面这一领域的相关知识有了一定的掌握,同时具有实际的操作能力与技术。 为了使在校所学的知识更好地应用到实际生活中,于xx年xx月有幸来北京中科院计算机所培训中心,通过三个月的实践训练,全面系统地学习了平面方面的专业知识与技能,能够应用平面设计的相关软件(photoshop图像处理软件、illustrator与coreidraw矢量绘图软件、indesigin与pagemaker排版软件)做基本的图像处理、海报、企业宣传册等,能够将所学知识真正应用到实际生活中。 在投身于社会之际,为了找到符合自己专业和兴趣的工作,更好地适应社会,我希望自己能够做到一种被别人需要的一种状态,至于做什么,就是在实践中,不断的学习、不断的锻炼.因此,我希望加入贵单位,如果能够成为公司的一份子,我相信我一定在自己的岗位上尽职尽责、踏踏实实地贡献之集的一份力量,与公司共同促进、发展。 “世界之大,人才济济”。我承认之集还不是最优秀的人才,但是我希望之集是此岗位最合适的人选,希望有幸能够被贵公司领导予以特别考虑。今后我在好的方面再接再厉,不足之处有所改善。我的介绍到此结束。谢谢

it面试笔试资料

it面试笔试资料 篇一:IT笔试面试 XX找工作----扎实的基础和开阔的视野是企业最看重的因素其实找工作之前一直很忐忑,或者说不是很自信,因为各种传言说14年就业难。实验室的项目逼的有些紧,在四川做项目,腾讯实习面试都错过了。4月底回到学校给实验室申请不去实验室,准备看书。----此为题。 一、毫无亮点的自我介绍 二本师范类本科,大学四年,只学会了MFC。用MFC做了几个垃圾的不能再垃圾的管理系统。没有看过任何一本经典书籍。当时就准备考研,考到了华科。 到了实验室,发现实验室对自己完全放养的,不干涉自己的发展,自己有疑问可以问老师,老师会解答。但是具体怎么学还是要靠自己。在网上搜集资料,看 windows内核方面的东西,绕了很多弯路。无意间看到了一篇讲程序员怎么升级的博客。里面提到了多读经典书,不要读国内的书尤其是XX天精通XX,XX从入门到精通一系列的书,当时就把VC详解给甩到了一边。在豆瓣上找分以上的书。开始了梳洗脉络,重练武学的过程。研一的时候要助教,当时活很轻松,就坐在办公桌上看书《C++ primer》

和《C和指针》。跌跌撞撞的入了门。感觉很菜的时候,实验室要让参加项目,我做端口控制。期间把《windows核心编程》过了一遍。驱动层的完全不懂,在网上很是推荐《windows 驱动开发详解》这本书,买了之后才发现大部分是对DDK开发文档的翻译,很是失落。偶然的逛论坛的时候看到了《寒江独钓》这本牛书,才堪堪入了门。这时候已经下学期了,实验室让我主导负责特种木马检测研究的项目,花费时间很久,但是给我的感觉确是杀毒这方面是一个巨坑,一个完全没有市场的地方。被数字公司流氓了这么长时间,杀毒市场不再天真。转身回想,自己的确站错了队。决定学习linux,当时实验室就一个学长研究linux,而且他看一本linux一站式编程,我粗略了看了一下,基本上是在讲C语言;然后在书架上翻出来暑假买的《鸟哥的linux私房菜》对比了一下,还是鸟哥的牛逼,还没看完的时候,实验室准备外派我去四川做项目,项目周期就是研二一年。而在去之前有2个月的准备时间,把《Effective C++》,《C专家编程》,《unix 高级环境编程》《深度探索C++对象模型》《STL源码分析》占了半箱子的空间,问我徒弟借他的kindle存了几本大头部的书《C++标准程序库》《C++ primer》《C算法》《程序员的自我修养》《深入理解操作系统》,在四川的一年中一般是下午5-6点下班,自己做饭花一个小时,看会电视(没有网),最后抽空看一下书,其实当时完成的并不理想,kindle里的

Java软件开发工程师笔试题(答案)

Java软件开发工程师笔试题(答案) Java工程师笔试题 1,填空(此大题10项,每空1分,共20分) 1。Java语言的三个特性是继承性、封装性和多态性2.在Java中,char 使用_ _ _ _ Unicode _ _ _ _ _ _编码方案,因此中文字符和英文字符都占用__2__字节的内存空间 3。当方法由_ _定义时,形参指的是参数行,当方法由_ _调用时,实际参数是传入的变量或值。 4。JSP内置对象,应用程序对象代表应用程序上下文,它允许JSP 页面与包含在同一应用程序中的任何网络组件共享信息,而会话对象是特定于每个客户的 5。如果你想把一个对象写到一个流中,这个类必须实现Seralizable 接口 6。在程序中实现多线程有两种方法:继承线程类和实现_ _ Runable _ interface 7。在多线程中,线程的相对优先级可以通过调用相应的setPriority()方法来修改 8。面向对象编程的五个设计原则是单一责任、开放和封闭、里氏尺度替换、依赖倒置、接口分离。通过Ajax,客户端获取的数据主要有两种类型:文本类型和xml 10。Socket通常也叫socket,用来描述__ ip和_ _ interface 2,多项选择题(这个大题20项,每项2分,共40分)

1。在JA V A中,如果父类中的一些方法不包含任何逻辑并且需要被子类重写,那么父类的这些方法应该使用()关键字来声明:a)final b)static c)abstract d)void 2。在JA V A中,已经定义了两个接口b和c。要定义实现这两个接口的类,下面的语句是正确的() a)接口aextend b,c b)接口a implements b,c c)类a mplements b,c d)类a mplements b,实现c 3。可以在JA V A接口()中定义 A)静态方法b)常量c)构造函数d)抽象方法 4。假设A有构造函数A (int a),那么在A类的其他构造函数中调用的构造函数和语句格式应该是() a)a(x)b)this . a(x)c)this(x)d)super(x) 5。如果x = 1,y = 2,z = 3,表达式y+= z-/++x的值为()a)3b)3.5°c)4d)5 6。下列关于继承的陈述中哪一个是正确的?( )a)子类只继承父类的公共方法和属性:b)子类继承父类的非私有属性和方法: C)子类继承父类的方法,但不继承父类的属性:d)子类继承所有的属性和方法。 7。在爪哇。使用JDBC时对于对同一个SQL语句的多次调用,使用()通常会提高效率 a)语句b)可调用语句c)准备语句d)prarmeters语句8。以下方法无法控制Servlet的生命周期:a)服务b)销毁c) dopost d) init9。可以分配给字节变量的值的范围是()0 ~ 65535 b) (-128) ~ 127 c) (-32,768) ~ 32,

Java面试技巧

Java面试注意事项 1,有公司通知面试时,首先要了解一下这家公司的背景,做什么产品设备,跟什么产业或行业有关系的; 2,去公司面试首先就是衣冠要整洁得体,不能太过随意,印象分也很重要; 3,面试时首先要自我介绍,这是一个重点,介绍自己不能太过随意,不能撤太多与行业无关的,只需介绍自己的姓名即可,然后介绍那一年在那里读的什么大学什么专业,然后又经过什么培训,培训的大概内容,然后做过什么项目,项目内容点到即可,着一个方向点出发,不能又是.NET又是JAVA的,这样就显得没有目标,最后就是讲一下项目内容,做的是什么项目,运用到什么技术,那些平台上做的,用的什么语言做的,为什么要做这个项目,自己的分工是什么等等,自我介绍不可多讲,时间在两三分钟以内即可; 4,如果面试官会问到自己对将来有没有什么职业规划,对于应届毕业生最少要有个三年计划,三年内我要本本分分的把经验累积起来和把代码编程技术熟练掌握,又或者讲近期内的目标是怎样怎样的;不能没有职业规划; 5,面试官会问到有什么工作经验,可以说自己是刚毕业的学生,工作经验到谈不上有,但是在学校学习时和同学们一起做过很多小项目,这样就列举出一两个项目,然后侧重于讲一个项目,然后这一个项目只要讲自己是做那一块的详细讲就好; 6,然后面试官可能还会问到对公司有什么了解和看法,讲一下对公司的认识,展望一下在贵公司的发展; 7,面试时一定要给自己定好位,认清自己的现状,不能东扯一句西扯一句的,按照自己的特点把自己的弱点和强项都要展示出来; 自我介绍: 我叫***,2009年至今就读*******专业,2010年至今在****做软件开发的培训,主要学下了JAVA、.NET、数据库,侧重于学习了JAVA这一块,学习内容包括:JSP、Servlet、Spring、Struts、Hibernate、Ajax、JavaScript、Tomcat等; 项目: 手机购物网站,项目需求,随着电子市场的庞大演变,越来越多的人都在网络购物,网络购物网站主要是要给客户一个视觉感觉和产品质量,我所设计的这个手机购物网站就符合这两点,有全新的视觉感觉和质量保障;文档设计,显示层,要有主页面,每件产品的页面,有详细信息页面,有购物车页面,客户登陆页面,有结算页面等等几大页面构成的购物网站,要有数据库连接,要有后台管理; 我主要做的模块是通过数据库显示商品在页面中,首先是把产品信息增加写入数据库中(insert into),通过页面和数据库的连接查询显示出产品列表,包括整体列表和每个产品的详细列表,还要做到排列美观和详细的产品信息。

【已拿到offer2015年腾讯暑期实习面试总结(技术岗)】

文章摘要于4月25日正式签了offer,岗位是后台开发,想想经过了简历筛选,笔试,三轮面试,自己还是挺幸运的,现在就把面试的细节和经历和大家分享一下. 失败经历从3月开始,听闻各大公司会开始在学校进行暑期实习的招聘,便开始为面试做准备了.肯…… 文:骏宇就是wind 前言 本人2012届,广州某985高校软件学院本科生一枚,技术方面绝对不能与我班大神们相比.于4月25日正式签了offer,岗位是后台开发,想想经过了简历筛选,笔试,三轮面试,自己还是挺幸运的,现在就把面试的细节和经历和大家分享一下. 失败经历 从3月开始,听闻各大公司会开始在学校进行暑期实习的招聘,便开始为面试做准备了.肯定bat是每一个程序员的向往之处,网易是最早在学校进行招聘宣传的,网易cc貌似很缺人,学院群邮了网易的招聘启事后,我和大神舍友便投了简历过去.过了几天,收到了笔试通知.(在这之前,广州有家公司叫cvte也给出了招聘启事,是最早放出实习消息的公司,我和很多人都投了,很奇怪的是这家公司第一轮面试居然是hr面,然后我和大家就都莫名其妙被刷了,也没有收到什么通知,好吧) 网易的笔试地点在中大教学楼,下午两点开始,笔试持续两个小时,进场前看了眼门前贴的名单,北大的,中大的,本科生和研究生都有,瞬间吓尿了有木有? 笔试的内容可以看我这篇博客: 考完觉得感觉很差== ,之前没有笔试经验,在考试前也没有刻意去复习什么数据结构操作系统之类.果然两三天后,舍友收到了面试通知,我什么消息都没有,内心还是有很多沮丧的.可以说自信心有点受挫了吧. 后来,开始认真重新拿起了我的课本一本本啃,os,数据库,数据结构,c++,这段日子可以说痛苦但成长着,我突然发现自己基础是那么薄弱,恨不得每天多点时间看看书,把我以前的缺漏都补上. 陆续,学校来了很多公司和企业:37玩,4399,唯品会等等,我也投了许多,不过后来才知道那些都是公司来打打名声,对实习生,这些公司要不招的人少,要不根本不面向实习生,只是招应届毕业生.自己也只是去了37的笔试而已,看了下分的方向,我也是醉了,java本人是不感冒,本来这个公司就是做页游的,很多方向都不对口.最后只有填了个运维,自认为笔试做的还行,后来也没消息了. 微信的橄榄枝 突然有一天,我手机接到一个电话,一看提示,腾讯广研总部.吓尿了!赶紧接电话,原来是微信想邀请我参加他们的面试,原来我之前和老师做过ios项目,总部想让我去参加面试.我欣喜若狂,同时冷静地确定下时间地点.ok,接下来几天又重新拿回了我的ios书复习移动开发知识.

java个人工作总结

java个人工作总结 导语:我是一名程序员,在过去的一年里,软件研发部团结协作,以及在公司这充满奋斗的环境下,我以严肃认真的工作态度和百折不饶的精神,努力的完成了公司的各项工作,在软件研发、团队协作和个人成长上也取得了一定的成绩。 作为一个软件开发工程师,我有幸成为北京超图一员,应聘为公司的java软件工程师。入任职以来,在部门领导的带领下,自己感觉无论学习、技术、生活等方面都有很大的提升。 我是4月末来到公司的,来到公司的初期主要是对工程部PDA运维系统进行了解,并对PDA以后可能用到的一些技术进行研究,而后对现有的项目进行修改。系统包括3个主要功能模块,一个次要模块,主要模块有工单管理、消息管理和系统升级。 PDA上线之前主要在有线的5个站点做实施工作,第一次做实施,以为只是简单的教用户怎么用就可以了,但是真正做起来才知道,针对不同的用户需要用不同的角度去讲解,特别是年龄大的,要多讲几遍才行。 PDA上线以后工作主要集中在PDA的维护和修改上,由于距离上次实施时间较长,所以又进行了一次实施。每个站点使用的时间不同,花费在每个站点上的维护和实施时间较

长,在实施和维护期间每个站点都提出了不同的问题,针对不同的问题修改了很长时间,其中修改最多的模块主要集中于工单管理模块和系统升级模块。 系统在所有站点都开始使用以后主要针对站点提出的不同的问题进行解决和系统的改进,经过改进的系统很稳定,问题基本出现在由于信号不好的原因导致升级失败,由于卡停机导致系统不能正常登录。还有几次是因为网络原因导致系统不能使用。 PDA运维项目稳定后主要做了些boos系统中的一些功能,数据库数据的批量转移,百万条数据的批量的转移功能。 宽带系统的的咨询查询,根据用户地址和时间进行查询,修改宽带大客户ATM资料查询功能 BOOS系统网上营业厅缴费的遗漏查询网上营业厅二期产品卡消费修改了付费频道发票打印功能全网稽查中主工单的打印。 1、将学习的springsecurity整合到我们自己搭建的ssh 框架,进一步完善框架。 2、利用搭建的ssh框架,开发一套oa系统平台。 3、做好襄樊、鄂州家政网络服务中心的维护工作。 4、希望公司能够大量拿下湖北省其他市的家政网络服务中心,继续开发和实施湖北省其他市的家政网络服务中心。 5、继续学习新技术,努力提高自己的个人能力。为以后能够更好,更顺利的工作奠定基础。

java开发工作经验面试题集锦

关于java基础 1.String,StringBuilder,StringBuffer区别是什么?底层数据结构是什么?分别是如何实现的? 2.HashSet的底层实现是什么?它与HashMap有什么关系? 3.Java 的并发包里面有那些知识点? 4.HashCode与HashMap的关系? 5.哈希函数的理解? 6.map在put()的做了哪些事? 7.如果发生hash碰撞,有什么方法可以解决? 8.各种类型的锁? 9.synchronize和lock? 10.hashTable的数据结构? 11.线程安全的map即HashTable和CurrentHashMap,底层的线程安全是如何实现的? 12.hashCode的原理? 13.什么情况下需要重写类的hashCode()方法?什么时候需要重写equals()方法? 14.hashmap添加元素,如果通过hash值得到的位置如果有元素,哪一种情况会取代所在的元素? 15.HashMap添加元素,如果是所得的桶数组的位置有值。该值则被添加到链表尾端,为什么会是 尾端? 16.ArrayList和hashmap底层结构,以及CurrentHashMap解决了什么问题; 17.Hashmap的是否线程安全?为什么是安全或者不安全? 18.HashMap、HashTable以及ConcurrentHashMap的区别; 19.volatile关键字的理解;用在哪些场景? 20.线程的理解以及其实现方式; 21.线程池的参数有哪些?实现原理; 22.线程同步方法有哪些? 23.缓存的原理?为什么要用缓存?为什么会比数据库查询快? 24.反射机制的理解; 25.Object中的方法; 26.String的toString()方法的实现?底层原理? 27.NIO与IO的异同; 28.垃圾回收机制的理解; 29.java8的新特性有哪些?如何使用? 30.static关键字的场景和意义;(拓展:final) 31.如何理解事务? 32.虚拟机的内存结构; 33.动态代理的两种实现方式; 34.悲观锁和乐观锁的区别 35.如何解决跨域问题? 36.xml文件解析方式有几种 37.synchronize的锁的类型 38.秒杀系统的设计 39.分库分表 40.Spring底层是如何实现的; 41.Tomcat容器启动的时候,spring的启动流程; 42.SpringAop除了动态代理,还用了其余的什么原理?

Java开发工程师笔试题(带答案)

Java开发工程师笔试试题 (请不要在试题上留任痕迹,所有答案均写在答题纸上) 一.编程题(共26分) 1.任意写出一种排序算法。(6分) public void sort(int [] array){ //代码区 } 2.求1+2+3+..n(不能使用乘除法、for 、while 、if 、else 、switch 、case 等关键字 以及条件判断语句)(8分) public int sum(int n){ //代码区 return 0; } 3.完成下面法,输入一个整数,输出如下指定样式图案。(12分) 输入:3, 输出: 1*2*3 7*8*9 4*5*6

输入:4 输出: 1*2*3*4 9*10*11*12 13*14*15*16 5*6*7*8 public void drawNumPic(int n){ //代码区 } 二.选择题(定项选择每题3分,不定项选择每题4分,共63分) 1.在基本JAVA类型中,如果不明确指定,整数型的默认是__类型,带小数的默认是__类型?( B ) A.int float B.int double C.long float D.long double 2.只有实现了__接口的类,其对象才能序列化( A ) A.Serializable B.Cloneable https://www.doczj.com/doc/7017027157.html,parable

D.Writeable 3.代码System. out. println(10 % 3 * 2);将打印出?( B ) A. 1 B.2 C.4 D.6 4.以下程序运行的结果为( A ) public class Example extends Thread{ @Override public void run(){ try{ Thread.sleep(1000); }catch (InterruptedException e){ e.printStackTrace(); } System.out.print("run"); } public static void main(String[] args){ Example example=new Example(); example.run(); System.out.print("main"); } } A.run main B.main run C.main D.run E.不能确定 5.下面有关java实例变量,局部变量,类变量和final变量的说法,错误的是?( B ) A.实例变量指的是类中定义的变量,即类成员变量,如果没有初始化,会有默认值

java员工试用期工作总结

2017年java员工试用期工作总结 2017年java员工试用期工作总结【1】 伴随着充实紧凑的工作生活,两个月的时间已经过去了。这一段时间里有工作上的收获,知识的丰富,经验的增长,同时也暴露出很多问题和不足。总结经验,吸取教训,本文将主要从几个方面来对工作进行总结:工作的主要内容;其中的失败和教训以及成功和经验;展望下一阶段的工作,确定自己的目标。以此作为惩前毖后的记录。 来到一个新的工作环境,最能发现自身的不足,这几个月,抱着虚心学习的态度,学习公司的开发流程,熟悉公司的企业文化,了解公司产品框架,主要技术,主动和同事沟通、学习经验,希望能更快的融入公司、融入开发团队,能够全心的投入工作。 试用期期间完成的工作还十分有限,简单列了一些:掌握java开发语言和环境,由于在校学习时主要是以.net作为开发语言,所以在刚入职时通过一段时间学习并基本掌握了java开发技术。熟悉公司开发流程,熟悉cbp产品框架。了解了核三框架的总体结构和开发流程,并能在核三的基础上进行项目开发。 参与了社保电子支付项目的开发。主要负责web端的模块开发,通过开发的过程,学习和掌握了flex界面开发,hibernate和oracle数据库。因为自己在经验上的不足,所以,在项目的开发过程中碰到开发进度慢的问题。综合起来看原因在于: 1、没有项目经验,没有经历过系统和完整的系统开发。 2、对于技术的学习和掌握还不够深入。

3、发现问题的能力不够,在自己以往的学习方式中,欠缺一种主动发现问题的能力。今后,我会多注意在这些方面的学习和积累。 这两个月的工作生活是充实且富有乐趣的,结识了很多同事和朋友,公司的氛围是非常轻松愉快的。感谢两个月来李鹏经理的关心,感谢部门同事的悉心指导,感谢公司各位同事的热心帮助,希望能在接下来的工作中能惩前毖后,总结经验,吸取教训,做到个人与公司共荣辱同进退,共同实现中地的辉煌。 2017年java员工试用期工作总结【2】 我于20xx年7月6号进入公司,我一直对自己要求严谨,遵守公司的规章制度,参与了社保电子支付项目的开发;来到一个新的工作环境,最能发现自身的不足,这几个;公司的开发流程,熟悉公司的企业文化,了解公司产品;学习经验,希望能更快的融入公司、融入开发团队,能做到的工作还十分有限,简单列了一些:掌握java开发;职时通过一段时间学习并基本掌握了试用期个人工作总结我于20xx年7月6号进入公司的软件开发四部,担任java程序员一职。 在这段工作时间里,我一直对自己要求严谨,遵守公司的规章制度,努力完成和完善分配给我的任务,参与了社保电子支付项目的开发。现在,试用期结束了,对自己这3个月的工作情况作个总结。 前期工作回顾来到一个新的工作环境,最能发现自身的不足,这几个月,抱着虚心学习的态度,学习公司的开发流程,熟悉公司的企业文化,了解公司产品框架,主要技术,主动和同事沟通、学习经验,希望能更快的融入公司、融入开发团队,能够全心的投入工作。 试用期期间完成的工作还十分有限,简单列了一些:掌握java开发语言和环境,由于在校学习时主要是以.net作为开发语言,所以在刚入职时通过一段时

相关主题
文本预览
相关文档 最新文档