学java学到什么程度可以找工作?
一、熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的JavaAPI,包括集合框架、多线程(并发编程)、I/O(NIO)、Socket、JDBC、XML、反射等。
二、熟悉基于JSP和Servlet的JavaWeb开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行JavaWeb项目开发的经验。
三、对Spring的IoC容器和AOP原理有深入了解,熟练的运用Spring框架管理各种Web组件及其依赖关系,熟练的使用Spring进行事务、日志、安全性等的管理,有使用SpringMVC作为表示层技术以及使用Spring提供的持久化支持进行Web项目开发的经验,熟悉Spring对其他框架的整合。
四、熟练的使用Hibernate、MyBatis等ORM框架,熟悉Hibernate和MyBatis的核心API,对Hibernate的关联映射、继承映射、组件映射、缓存机制、事务管理以及性能调优等有深入的理解。
五、熟练的使用HTML、CSS和Java进行Web前端开发,熟悉jQuery和Bootstrap,对Ajax技术在Web项目中的应用有深入理解,有使用前端MVC框架(AngularJS)和Java模板引擎(HandleBars)进行项目开发的经验。
六、熟悉常用的关系型数据库产品(MySQL、Oracle),熟练的使用SQL和PL/SQL进行数据库编程。
七、熟悉面向对象的设计原则,对GoF设计模式和企业应用架构模式有深入的了解和实际开发的相关经验,熟练的使用UML进行面向对象的分析和设计,有TDD(测试驱动开发)和DDD(领域驱动设计)的经验。
八、熟悉Apache、NginX、Tomcat、WildFly、Weblogic等Web服务器和应用服务器的使用,熟悉多种服务器整合、集群和负载均衡的配置。
九、熟练的使用产品原型工具Axure,熟练的使用设计建模工具PowerDesigner和EnterpriseArchitect,熟练的使用Java开发环境Eclipse和IntelliJ,熟练的使用前端开发环境WebStorm,熟练的使用软件版本控制工具SVN和Git,熟练的使用项目构建和管理工具Maven和Gradle。
Java编程课程 |
|
Java基础 | |
开发简单的java应用程序 | 软件的概念、计算机语言的发展、dos常用命令,java概述、jdk与jre、path与classpath环境变量的配置和理解、helloJava程序入门(notepad编写)、单行注释、多行注释、文档注释 |
变量和数据类型 | 变量的声明与使用、标识符命名规范、8大基本数据类型与引用类型、进制的介绍与转换、数据类型的转换 |
运算符 | 表达式概念、算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三目运算符、运算符优先级 |
条件结构 | 简单if、简单if…else、嵌套if、多重if、switch条件结构 |
循环结构 | while、do…while、for、break和continue、多重循环 |
数组 | 数组的概念、数组的静态,动态初始化、冒泡排序法、插入排序法、选择排序法、线性查找法、二分查找法、Arrays类使用、二维数组的定义与初始化、数组在内存中的分配原理 |
面向对象编程 | 类和对象概念、对象的创建、方法的声明、方法的执行过程、OverLoad(重载)、变量的作用域、String对象的声明操作、Java内存管理机制、封装概念、UML类图、构造方法、this关键字、static关键字、package(包)、继承、super关键字、OverRide(重写)、final关键字、多态、静态绑定与动态绑定、对象的上下类型转换、Object对象常用方法、抽象类、模板方法设计模式、接口、面向接口的编程思想、简单工厂设计模式、单例设计模式((懒汉式、饿汉式)、策略设计模式 |
Java高级 | |
高级特性 | 内部类概念、成员内部类、静态内部类、匿名内部类、局部内部类、自动装拆箱、枚举类、String、StringBuffer、StringBuilder、Date和SimpleDateFormat类、Canlendar、GregorianCalendar、Math、Random、正则表达式 |
异常处理 | 异常概念、异常分类、异常处理机制、受查异常和非受查异常、try-catch-finally、throw关键字、throws关键字、自定义异常、异常注意事项 |
泛型 | 泛型简介、泛型类、泛型方法、限制泛型可用类型、类型通配符 |
IDE | IDE介绍和Eclipse使用、debug程序调试、junit单例测试 |
集合 | 集合框架的层次结构、Collection接口、Iterator接口、List接口、ListIterator接口、ArrayList类、LinkedList类、Map接口、HashMap类、HashMap底层原理、TreeMap、Comparator和Comparable接口、Set接口、HashSet类、TreeSet类、Collections类的使用。 |
反射 | 反射的概念、类加载的原理、反射属性、反射方法、反射加载配置文件的原理、反射创建对象。 |
多线程 | 进程和线程的概念、多线程概念,掌握多线程的实现方案,如何获取和设置线程名称、线程的生命周期、如何解决线程安全问题、线程同步、Lock锁、死锁问题、线程间通信、线程的状态及状态转换、线程池概念与作用。 |
IO | IO框架介绍、File类的使用、IO流的分类、字节流、字符流、字节缓冲流、字符流、字符缓冲流、打印流、标准输入输出流、对象序列化流、随机访问流、Properties集合、装饰(包装)设计模式 |
网络编程 | 网络基本概念、网络编程的三要素,Socket原理机制、UDP传输、TCP传输、URL编程等。 |
注解 | Annotation简介和标准、常用的java注解、自定义注解、反射注解中的属性 |
XML与json入门 | XML简介、XML的基本语法、XML创建、命名空间概念、DTD和schema的了解、DOM解析、SAX解析、DOM4J解析、XPath的使用、JSON概念、JSON语法、JSON对象、JSON数组、JSON解析 |
阶段贯穿项目:影院订票管理系统、ATM银行管理系统、多人聊天室 |
java中会存在内存泄漏吗,请简单描述。
会。自己实现堆载的数据结构时有可能会出现内存泄露,可参看effective java.
Java线程:创建与启动
定义线程
1、扩展java.lang.Thread类。
此类中有个run()方法,应该注意其用法:
public void run()
如果该线程是使用独立的Runnable运行对象构造的,则调用该Runnable对象的run方法;否则,该方法不执行任何操作并返回。
Thread的子类应该重写该方法。
2、实现java.lang.Runnable接口。
void run()
使用实现接口Runnable的对象创建一个线程时,启动该线程将导致在独立执行的线程中调用对象的run方法。
方法run的常规协定是,它可能执行任何所需的操作。
Java就业方向:Web开发
Web前端开发工程师是一个很新的职业,是从事Web前端开发工作的工程师。主要进行网站开发,优化,完善的工作。网页制作是Web 1.0时代的产物,那时网站的主要内容都是静态的,用户使用网站的行为也以浏览为主。一位好的Web前端开发工程师在知识体系上既要有广度,又要有深度,所以很多大公司即使出高薪也很难招聘到理想的前端开发工程师。Web开发语言很多,Java是其中之一。Java在开发高访问、高并发、集群化的大型网站方面有很大的优势,例如去哪儿网、美团等。
什么叫Assembly Qualified Name?它是一个文件名吗?它有什么不同?
它不是一个文件名,相比文件名,Assembly Qualified Name(程序集限定名称),更能确定一个程序集,它包含文件名,但同时包含版本,公钥,和区域。因为同样一个名称的文件可能有不同的版本和区域,此时单独靠文件名称,可能会造成不能确定程序集的正确性。
调用Assembly.Load算静态引用还是动态引用?
动态
排序都有哪几种方法?请列举
排序的方法有:插入排序(直接插入排序、希尔排序),交换排序(冒泡排序、快速排序),选择排序(直接选择排序、堆排序),归并排序,分配排序(箱排序、基数排序)
快速排序的伪代码。
/ /使用快速排序方法对a[ 0 :n- 1 ]排序
从a[ 0 :n- 1 ]中选择一个元素作为m i d d l e,该元素为支点
把余下的元素分割为两段left 和r i g h t,使得l e f t中的元素都小于等于支点,而right 中的元素都大于等于支点
递归地使用快速排序方法对left 进行排序
递归地使用快速排序方法对right 进行排序
所得结果为l e f t m i d d l e r i g h t
相关推荐: