java学成岗位有哪些毕业生来记笔记
Java可做哪些岗位
Java的应用领域:
1、Web应用程序设计
可以从事网站应用程序开发,Java在网站开发领域占据了很大部分,像是网页制作、网站维护、软件测试等蝶。
2、大数据技术
目前大数据应用到的技术是Java应用和其他,尽管Java
3、可视化程序设计:
从事软件企业桌面应用开发,像是软件测试、数据库管理与应用开发、系统支持等。
4、移动应用开发设计:
能够从事移动设备应用开发、嵌入式应用开发、移动网站开发、软件生产企业编码、软件测试、系统支持、软件销售、企、事业单位信息管理、办公自动化集成等工作。
包括无线手持设备、智能卡、通信终端、医疗设备、信息家电(数字电视、机顶盒、冰箱)、汽车电子设备等应用领域,比如还有手机上的Java应用程序和Java游戏还有很多就不一一列举了。
java从业岗位方向
1、网页开发
目前Java编程技术的应用越来越普遍,也越来越完善在Java培训学习中我们就可以看的出来Java不仅可以做后端开发同时也可以做前端开发,在Java培训机构的课程内容中对于html、CSs、js都有包含。
2、企业级应用开发
Java的安全性和稳定性得到了企业的青睐,现在很多企业都会用Java来开发一些大型应用,例如第三方交易系统、银行前后台交易系统、医疗管理系统等等。所以一些项目经验多人可以在培训后找Java企业级应用开发类工作。
3、Java大数据开发
现在越来越多的企业对于大数据的应用逐渐在增多,而从事大数据首先就要懂得一门编程技术,Java就是其中之一,所以学好Java技术以后可以从事大数据相关技术。
4、游戏开发
国内游戏行业近年来发展十分迅速,专业的游戏人才一直存在需求缺口。目前有一些游戏脚本语言可以与Java开发语言进行无缝交互,Java开发语言本身也可以编写游戏脚本。因此学会Java开发后,也可以选择成为一名游戏开发人员。
Java基础:
基础语法、面向对象、集合、线程、i/o流等等前端基础
HTML,CSS,JS这是Java写网页的基础,TomcatServlet,HTTP协议,JSP,MVC,Filter等等的技术必须掌握。
JavaWeb:
Tomcat、Jsp、servlet、ajax、过滤器、监听器、json
数据库:
MySQL、JDBC
Java框架
几种Java的框架及其组合spring +mybatisj 、ssmspring mvc等等
/ 1
用 Scanner 从标准输入读取数据很方便。 用三目操作符定义求阶乘的函数很简洁。
import javautilScanner;
class Factorial {
public static int factorial( int n ) {
return n < 2 1 : n factorial( n - 1 );
}
public static void main( String[ ] args ) {
int sumOfFactorial = 0,
n = new Scanner( Systemin )nextInt( );
while ( n > 0 )
sumOfFactorial += factorial( n-- );
Systemoutprintln( sumOfFactorial );
}
}
/
/ 2
把空字符串和整数(或任何其它类型)加起来是把后者转换成字符串的最简便方法。
StringBuffer 的反转方法 reverse( ) 很适合用在这一道题上。
class MirrorNumber {
public static void main( String[ ] args ) {
for ( int i = 1000; i <= 9999; i++ )
if ( ( "" + i 9 )contentEquals( new StringBuffer( "" + i )reverse( ) ) )
Systemoutprintln( i );
}
}
/
/ 3
这一题可以利用正则表达式把字符串中的所有一个或多个连贯的非字母替换成一个空格,
让单词与单词之间只有一个空格,然后用 trim( ) 去掉可能存在的前导空格之后,
用 split( " " ) 对准所有空格下刀获取单词数组。
前导空格不去掉的话,split( " " ) 返回的字符串数组会以空字符串为第一个元素。
统计方面,单词数组的长度既是单词总数。最长长度和最短长度因为有 TreeSet 助阵而
轻松获得。(TreeSet 中文文档:http://shorterlinkcom/ZSQJYU )
import javautil;
class WordStatistics {
public static void printStatistics( String s ) {
String[ ] words = sreplaceAll( "[^a-zA-Z]+", " " )trim( )split( " " );
if ( wordslength > 0 ) {
double totalLengthOfWords = 0;
TreeSet<Integer> lengths = new TreeSet<Integer>( );
for ( String word: words ) {
lengthsadd( wordlength( ) );
totalLengthOfWords += wordlength( );
}
Systemoutprintln( "单词总数:" + wordslength +
"\n最长长度:" + lengthslast( ) +
"\n最短长度:" + lengthsfirst( ) +
"\n平均长度:" + totalLengthOfWords / wordslength );
}
else
Systemoutprintln( "没有单词" );
}
public static void main( String[ ] args ) {
printStatistics( "ab+12cd123fdfg%^&()as23BG" );
}
}
/
public class TestAs {
public static void main(String[] args) {
for (int i = 3; i <= 199; i += 2) {
execute(i);
}
}
public static void execute(int m) {
// 1设x=floor(根号m),如果x^2=m, 就输出m=x^2,否则令x=x+1,到第二步。
int x = (int) Mathfloor(Mathsqrt(m));
int y = 0;
if (Mathpow(x, 2) == m) {
Systemoutprintln(m + " = " + x + " ^ 2");
} else {
while (true) {
// 2如果x=(m+1)/2,则m是质数,输出“m是质数”,否则令y=根号(x^2-m),到第三步。
x = x + 1;
if (x == (m + 1) / 2) {
Systemoutprintln(m + " is a prime");
break;
} else {
y = (int) Mathsqrt(Mathpow(x, 2) - m);
// 3如果(floor(y))^2=x^-m, 则x-y与x+y为m的因数,输出,否则令x=x+1,回到第二步
if (Mathpow(y, 2) == Mathpow(x, 2) - m) {
Systemoutprintln(m + " = (" + x + "-" + y + ")(" + x
+ "+" + y + ")");
break;
}
}
}
}
}
public static boolean isPrime(int n) {
int num = n / 2 + 1;
for (int i = 2; i <= num; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
}
public class Char
{
public static void main(String []s)
{
char x1='一';
char x2='二';
char x3='三';
char x4='四';
Systemoutprintln(x1+x2+x3+x4);
Systemoutprintln(x1);
Systemoutprintln(x2);
Systemoutprintln(x3);
Systemoutprintln(x4);
}
}
输出结果
--------------------Configuration: <Default>--------------------
82288
一
二
三
四
Process completed
汉字是可以用char 的
为什么第一个输出是82288
原因是因为进行了 "+"运算
对于char的+运算 是unicode码的加减
对于String的 +运算 是字符串的拼接
以前写的,照贴了。。。服务器端:import javaawt;\x0d\import javaawteventWindowAdapter;\x0d\import javaawteventWindowEvent;\x0d\import javaio;\x0d\import javanet;/6、 采用UDP协议,编写一个Java网络应用程序,该应用分服务器端程序和客户端程序两部分。\x0d\ 客户端指定一个服务器上的文件名,让服务器发回该文件的内容,或者提示文件不存在。\x0d\ (20分)(服务端程序和客户端程序分别命名为Serverjava和Clientjava)/\x0d\public class N4BT6 extends Frame\x0d\{\x0d\DatagramSocket socket ;\x0d\DatagramPacket packet ;byte[] buf ;\x0d\File file ;\x0d\FileInputStream input;\x0d\String message = "该文件不存在";\x0d\TextArea text;\x0d\public N4BT6(String title)\x0d\{\x0d\super(title);\x0d\text = new TextArea(6,4);\x0d\add(text);\x0d\setSize(400, 300);\x0d\setVisible(true);\x0d\addWindowListener(new WindowAdapter()\x0d\{\x0d\public void windowClosing(WindowEvent e)\x0d\{\x0d\dispose();\x0d\}\x0d\});\x0d\\x0d\buf = new byte[1024];\x0d\try\x0d\{\x0d\socket = new DatagramSocket(1230);\x0d\packet = new DatagramPacket(buf, buflength);\x0d\socketreceive(packet);\x0d\file = new File(new String(packetgetData()));\x0d\socket = new DatagramSocket();\x0d\} \x0d\catch (Exception e)\x0d\{eprintStackTrace();\x0d\}\x0d\\x0d\if(fileexists())\x0d\{\x0d\try\x0d\{\x0d\buf = new byte[(int)filelength()];\x0d\packet = new DatagramPacket(buf,buflength,InetAddressgetLocalHost(),1234);\x0d\input = new FileInputStream(file);\x0d\inputread(buf);\x0d\socketsend(packet);\x0d\}\x0d\catch (IOException e) \x0d\{\x0d\eprintStackTrace();\x0d\}\x0d\}\x0d\else\x0d\{\x0d\try\x0d\{\x0d\packet = new DatagramPacket(messagegetBytes(),messagegetBytes()length,\x0d\InetAddressgetLocalHost(),1234);\x0d\socketsend(packet);\x0d\}\x0d\catch (Exception e) \x0d\{\x0d\eprintStackTrace();\x0d\}\x0d\}\x0d\\x0d\}\x0d\public static void main(String[] args)\x0d\{\x0d\new N4BT6("Server");\x0d\}\x0d\}\x0d\客户端:import javaawt;\x0d\import javaawtevent;\x0d\import javanetDatagramPacket;\x0d\import javanetDatagramSocket;\x0d\import javanetInetAddress;public class N4BT6_2 extends Frame\x0d\{\x0d\TextArea text;\x0d\String message = "Qtxt";\x0d\DatagramSocket socket ;\x0d\DatagramPacket packet;\x0d\byte[] buf;\x0d\public N4BT6_2(String title)\x0d\{\x0d\super(title);\x0d\text = new TextArea(6,4);\x0d\add(text);\x0d\setSize(400, 300);\x0d\setVisible(true);\x0d\addWindowListener(new WindowAdapter()\x0d\{\x0d\public void windowClosing(WindowEvent e)\x0d\{\x0d\dispose();\x0d\}\x0d\});\x0d\try\x0d\{\x0d\\x0d\socket = new DatagramSocket();\x0d\packet = new DatagramPacket(messagegetBytes(),messagegetBytes()length,\x0d\InetAddressgetLocalHost(),1230);\x0d\socketsend(packet);\x0d\}\x0d\catch (Exception e) \x0d\{\x0d\eprintStackTrace();\x0d\}\x0d\\x0d\try\x0d\{\x0d\buf = new byte[1024];\x0d\socket = new DatagramSocket(1234);\x0d\packet = new DatagramPacket(buf,buflength);\x0d\socketreceive(packet);\x0d\textappend(new String(buf));\x0d\}\x0d\catch (Exception e) \x0d\{\x0d\eprintStackTrace();\x0d\}\x0d\}\x0d\public static void main(String[] args)\x0d\{\x0d\new N4BT6_2("Client");\x0d\}\x0d\}
1、请描述TCP/IP参考模型
应用层 提供各种服务进程
传输层 提供安全,可靠的端到端服务
网络互联层 整个参考模型的核心,提供把IP数据包发送到
目标主机的功能
主机-网络层 只要求第三方实现的主机-网络层能够为上层(网
络互联层)提供一个访问接口,使得网络互联层能
利用主机-网络层来传递IP数据包
3、请列举常用的传输层协议和应用层协议
传输层:UDP,TCP
应用层:HTTP,FTP,TELNET,SNMP,DNS
4、请描述非阻塞通信的流程及所涉及的主要java类和类职责。
• 处理流程 (PPT第四章第十页)
1 While(循环条件){//阻塞
2 If(有客户连接)
3 接收客户连接;//非阻塞
4 If(Socket输入流有可读数据)
5 从输入流中读数据; //非阻塞
6 If(Socket输出流可写数据)
7 向输出流中写数据; //非阻塞
主要JAVA类和类职责:
主要的类:
Socketchannel 支持阻塞和非阻塞通信,Socket的替代类
ServerSocketchannel 支持阻塞和非阻塞通信,ServerSocket的替代类
Selector 监控各种就绪事件
SelectionKey 代表ServerSocketchannel和Socketchannel向Selector注册事件的句柄
非主要的类:
SelectableChannel 一种支持阻塞I/O和非阻塞I/O的通道
Channel 连接缓冲区与数据源或数据汇(数据目的地)
Buffer 缓冲区,提高I/O的效率
Charset 每个实例代表特定的字符编码类型
5、请描述创建UDP通信的流程及所涉及的主要java类和类职责
流程:
主要JAVA类和类职责:
DatagramPacket类 表示数据报,即缓存接收和发送的数据
DatagramSocket类 用于接收和发送数据报
DatagramChannel类 作用类似于selector ,向selector注册就绪事件,只是支持非阻塞通信
6、请描述RMI规范对远程方法的参数及返回值的规定
1 当客户端调用服务器端远程对象方法时,客户端会向服务器端传递参数,服务器端则会向客户端传递返回值。
2 Rmi规范对参数及返回值的传递作了规定:
只有基本类型的数据、远程对象及可序列化的对象才可以作为参数或返回值进行传递。
如果参数或者返回值是一个远程对象,那么它的存根对象传递到接收方,也就是说,接收方得到的是远程对象的存根对象。
如果参数或返回值是可序列化对象,那么直接传递该对象的序列化数据。也就是说,接收方得到的是发送方的可序列化对象的复制品。
如果参数或返回值是基本类型的数据,那么直接传递该数据的序列化数据,--复制品
7、请描述对象序列化与反序列化的作用,以及所涉及的主要java类。
作用:
• 把对象的字节序列永久的保存到硬盘上,通常存放在一个文件中
• 在网络上传送对象的字节序列
主要java类:
• 只有实现了Serializable或Externalizable接口的类的对象才能被序列化,否则ObjectOutputStream的writeObject(Object obj)方法会抛出IOException。
• 实现了Serializable或Externalizable接口的类也称为可序列化类。
• Externalizable接口继承Serializable接口,实现Externalizable接口的类完全由自身来控制序列化的行为。而仅实现Serializable接口的类可以采用默认的序列化方式。
• Jdk的部分类 如String\Date等都实现了Serializable接口
8、请描述java语言的反射机制作用及所涉及的主要java类
Java反射机制主要提供了以下功能:
在运行时判断任意一个对象所属的类;
在运行时构造任意一个类的对象;
在运行时判断任意一个类所具有的成员变量和方法;
在运行时调用任意一个对象的方法;
生成动态代理。
主要java类
Class类:代表一个类。
Field类:代表类的成员变量(成员变量也称为类的属性)。
Method类:代表类的方法。
Constructor类:代表类的构造方法。
Array类:提供了动态创建数组,以及访问数组元素的静态方法。
第二大题和第三大题有我上网找的格式的文件,已经发到你邮箱去了。
0条评论