首页 找课程 找学校 教育新闻 培训问答 课程大全

苏州其然软件开发培训

13013833891 预约试听 在线客服

您的位置: 首页 > 苏州培训 > 苏州其然软件开发培训 > web前端培训 > 苏州java程序员需要学什么

苏州java程序员需要学什么

班制:

周末班

[ 开班提醒 ]
上课地址:

苏州其然软件开发

活动倒计时
11: 59: 59
马上抢

课程介绍

苏州java程序员需要学什么
其然IT 教育师资

黄 凯高级讲师

多年移动互联网开发经验,精通Android与iOS开发,对JavaEE等后台技术也 有所研究。尤其精通Android平台的开发,对Android平台下的性能优化有极其丰富的经验。 曾就职于酷狗音乐担任高级Android软件工程师与Team Leader一职,带领超过20人的开发团队,有丰富的开发与管理经验。参与开发了<酷狗音乐>,<繁星网>,<中国电信移动办公>, <智慧天河>,<翼健康>,<创饷无限>,<外修管家>等20多款互联网热门应用。其不但开发经验丰富,教学幽默风趣,而且对 学生要求严格,坚持授人与鱼不如授人与渔的理念,注重培养学生的解决问题与自我思考的能力。

苏州java程序员需要学什么

Java开发的应该 如何掌握上述相关技术?

苏州java程序员需要学什么

Java开发的应该如何掌握上述相关技术?

一:首先,有这样的一种情况很常见,对于想自学Java开发的人来说,他们 大多数都是非常盲目的,不知道自己改如何入手,很多人在网上找一些视频,然后疯狂的过视频,很快就把一块内容都学完,他们理解的学完了就是视 频看完了,但是让他们动手去做东西却做不出来,而我的理解学完了就是自己能写出东西,所以对于初学者来说一定不能盲目,要有自己的规划,不然 就是浪费时间白忙活。

二:既然是学习Java开发专业技术,我个人的建议是,一定要有一个能指导 你的人,不能都靠自己闭门造车,这样的行为并不聪明,结识一位这方面的人才,时不时去问问人家问题,不然你可能会发现一个小问题能困扰你一天 ,**后还不知道是什么原因。

三:学习Java开发技术,不能跟学数学语文一样对待,比较刚接触代码是不 容易记住的,所以要掌握上述的技术,你还要知道学习Java开发技术有哪些“坑”。对于学习方法这块是尤为重要的,怎么学才能让你学完了能记住之 前学的那些,不至于学完了就忘,这个问题值得你学习之前去思考的。

四:根据我多年的学习情况来看,你平时一定要养成好的学习习惯,就说我 自己吧!我就喜欢把自己曾经遇到的问题整理在电脑的日记本上,然后我会搜集一下博客相关的Java技术文章,一些我认为比较有用的网站,以后都能 用的上,这是我个人的学习习惯,相信我,如果你想走的更远,一定要养成习惯。

**后给大家一些详细的学习安排路线:

Java基础:Java基础语法、数组、类与对象、继承与多态、异常、范型、集 合、流与文件、反射、枚举、自动装箱和注解。

数据库:mysql、oracle

Javaweb:HTML与CSS网页开发基础、Java脚本语言、搭建开发环境、JSP基 本语法、JSP内置对象、JavaBean技术、Servlet技术、Ajax技术

框架:Struts2、Hibernate、Spring、SpringMVC、mybatis

流行框架

苏州java程序员需要学什么

流行框架

  • 01Struts2

    • 1.Struts2流程

    • 2.值栈与ONGL

    • 3.Struts2标签库

    • 4.Struts2模型驱动原理

    • 5.Struts2声明式异常处理

    • 6.Struts2类型转换&自定义类型转换

    • 7.Struts2拦截器原理&自定义拦截器

    • 8.Struts2源码分析&运行原理

  • 02Hibernate

    • 1.Hibernate环境搭建&配置

    • 2.hibernate.cfg.xml&主键生成策略

    • 3.Session核心方法

    • 4.ORM映射:单向/双向1-n映射

    • 5.ORM映射:基于主/外键映射&n-n

    • 6.检索策略&迫切左外连接

    • 7.Hibernate缓存机制

    • 8.QBC、HQL

    • 9.Session管理

  • 03Spring

    • 1.SpringIOC&DI机制

    • 2.Spring配置式组件管理

    • 3.Spring注解式自动装配

    • 4.Spring表达式语言

    • 5.SpringAOP&动态代理

    • 6.SpringJDBC使用

    • 7.Spring声明式事务

    • 8.Spring单元测试

    • 9.Spring源码分析

    • 10.Spring、Struts2、Hibernate整合

  • 04SpringMVC

    • 1.SpringMVC配置&运行流程

    • 2.SpringMVC数据绑定

    • 3.模型处理&@ModelAttribute

    • 4.RestFulCRUD

    • 5.表单标签&静态资源处理

    • 6.数据转换&格式化&JSR303数据校验

    • 7.HttpMessageConverter

    • 8.Ajax&国际化&文件上传**

    • 9.异常处理

    • 10.整合&父子容器

  • 05MyBatis

    • 1.MyBatis配置&查询数据

    • 2.MyBatis全局配置文件

    • 3.MyBatis映射文件

    • 4.关联查询,动态sql

    • 5.MyBatis缓存机制&整合ehcache

    • 6.MyBatis逆向工程

    • 7.MyBatis、Spring、SpringMVC整合

    • 8.MyBatis运行原理&源码分析

    • 9.MyBatis拦截器&插件开发

    • 10.分页插件&存储过程调用&自定义 TypeHandler

  • 06JPA

    • 1.JPA技术体系

    • 2.JPA注解

    • 3.JPA相关API

    • 4.JPA映射

    • 5.JPQL

    • 6.二级缓存

    • 7.Spring整合JPA

  • 07SpringData

    • 1.SpringData快速入门

    • 2.SpringData_Repository接口

    • 3.Repository查询规范

    • 4.@Query&@Modifying

    • 5.CrudRepository

    • 6.PagingAndSortingRepository

    • 7.JpaRepository

    • 8.JpaSpecificationExecutor

    • 9.自定义Repository

  • 08Maven

    • 1.Maven环境搭建

    • 2.Maven构建&自动化构建

    • 3.本地仓库&中央仓库

    • 4.maven创建web工程

    • 5.pom.xml、依赖管理

    • 6.坐标、依赖、生命周期等

    • 7.eclipse下的maven使用

    • 8.继承&聚合

    • 9.maven构建SSH/SSM应用

    • 10.自动部署&持续集成&持续部署

  • 09SVN

    • 1.SVN简介

    • 2.SVN服务器搭建

    • 3.SVN创建版本库

    • 4.Eclipse整合svn插件

    • 5.使用SVN更新提交

    • 6.SVN仓库分析

    • 7.SVN协同修改&冲突解决

    • 8.SVN权限管理

    • 9.SVN时光机

    • 10.TortoiseSVN

  • 10Shiro

    • 1.Shiro入门

    • 2.Spring集成Shiro

    • 3.Shiro工作流程

    • 4.权限URL配置

    • 5.认证流程&认证Realm

    • 6.密码比对,MD5&盐值加密

    • 7.授权流程

    • 8.标签&权限注解

    • 9.会话管理、SessionDao

    • 10.缓存

    • 11.实现”记住我”

  • 11Activiti5

    • 1.工作流&工作流引擎

    • 2.BPMN2.0规范

    • 3.Activiti5框架表结构

    • 4.Activiti5核心组件&服务接口

    • 5.Activiti5插件安装&整合Spring

    • 6.流程定义

    • 7.流程实例&任务&历史

    • 8.任务领取&流程变量

    • 9.排他网关&并行网关

  • 12WebService

    • 1.WebService简介

    • 2.WebService主流框架

    • 3.cxf的使用

    • 4.SOAP协议

    • 5.WSDL讲解

    • 6.JAX-WS

    • 7.与Spring整合

    • 8.JAXB

    • 9.JAX-RS

    • 10.支付接口原理

  • 13Linux

    • 1.Linux系统-基础

    • 2.Linux网络基础

    • 3.Linux在VMware下的安装

    • 4.Linux下Java环境的搭建

    • 5.Linux下Tomcat安装和配置

    • 6.Linux下 Oracle/MySQL 安装与配置

    • 7.Shell 编程

  • 14Redis

    • 1.NoSQL&Redis入门

    • 2.Redis/memcache/MongDB对比

    • 3.Redis安装&启动

    • 4.分布式数据库CAP原理

    • 5.Redis五大数据类型和基本操作命令

    • 6.Redis总体配置Redis.conf

    • 7.Redis持久化(RDB和AOF)

    • 8.Redis事务控制

    • 9.Redis发布和订阅

    • 10.Redis(Master/Slave)主从复制

    • 11.Jedis

  • 15Git&Git Hub

    • 1.Git安装配置

    • 2.Git本地库搭建

    • 3.Git常用操作命令

    • 4.Github注册与配置

    • 5.Github与Git协同办公

    • 6.TortoiseGit安装配置

    • 7.Egit操作push/pull,

    • 8.Git工作流

    • 9.集中式&GitFlow&Forking

  • 16MySQL高级

    • 1.MySQL架构组成

    • 2.MySQL备份和恢复

    • 3.MySQL查询和慢查询日志分析

    • 4.MySQL索引优化

    • 5.MySQL存储引擎优化

    • 6.MySQL锁机制优化

    • 7.MySQL高可用设计

    • 8.MySQL集群

  • 17JVM原理

    • 1.JVM简析

    • 2.JVM组成结构

    • 3.JVM堆、栈原理

    • 4.JVM-Heap三区原理

    • 5.JVM垃圾收集机制

    • 6.堆内存调优

    • 7.GC回收策略

    • 8.GC三大算法

  • 18Quartz

    • 1.Quartz作业调度简介

    • 2.Quartz作业调度执行以及持久性

    • 3.Quartz基本使用

    • 4.Quartz核心类讲解

    • 5.Quartz Trigger 触发器

    • 6.Quartz Job&JobDetail

    • 7.Quartz Calendars日历讲解

    • 8.JobListener监听器和TriggerListener监听器

    • 9.Spring整合Quartz

  • 19Nginx

    • 1.Nginx反向代理介绍

    • 2.Nginx **和安装

    • 3.Nginx 编译和启动、访问

    • 4.在Linux下搭建Nginx集群

    • 5.在Windows搭建Nginx集群

    • 6.解决Session共享问题

  • 20Java JUC 线程高级

    • 1.volatile 关键字

    • 2.内存可见性分析

    • 3.原子变量与CAS (Compare And Swap) 算法分 析

    • 4.ConcurrentHashMap 锁分段机制

    • 5.CountDownLatch 闭锁

    • 6.实现 Callable 接口

    • 7.Lock 同步锁

    • 8.Condition 控制线程通信

    • 9.线程按序交替

编写一个生产者消费者模式的JAVA工程


>

编写一个生产者消费者模式的java工程; 要求: 1)符合生产者消费者模式,避免出现资源访问冲突; 2)输出生产和消费的执行过程; 3)分别统计生产者和消费者的执行时长和等待时长(目前还不知道怎么搞,其他的参考http://blog.csdn.net/monkey_d_meng/article/details/6251879)

创建类Storage,作为仓库 import java.util.LinkedList; public class Storage { PRivate final int MAX_SIZE=100;//仓库容量 private LinkedList<Object> list = new LinkedList<Object>();//仓库存储的东西 /*生产num件货物*/ public void produce(int num){ synchronized(list){ //锁定list对象 while(list.size() num>MAX_SIZE){ System.out.println("要生产的产品数量:" num " 现在的库存:" list.size() " 仓库不够放"); try { list.wait();//由于生产条件不满足,暂停生产 } catch (InterruptedException e) { e.printStackTrace(); } } System.out.println("正在生产..."); for (int i = 0; i < num; i ) { list.add(new Object()); try { Thread.sleep(100); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } System.out.println("已经生产的产品:" num " 现在的库存为:" list.size()); list.notifyAll(); } } /*消费num件东西*/ public void consume(int num){ synchronized (list) { while (list.size() < num) { System.out.println("要消费的产品数量:" num " 现在的库存为:" list.size() " 仓库货不够消费"); try { list.wait();//由于库存不够,没法消费 } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } System.out.println("正在消费..."); for (int i = 0; i < num; i ) { list.remove(); try { Thread.sleep(100); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } System.out.println("已经消费的产品:" num " 现在的库存为:" list.size()); list.notifyAll(); } } public LinkedList<Object> getList() { return list; } public void setList(LinkedList<Object> list) { this.list = list; } public int getMAX_SIZE() { return MAX_SIZE; } } 创建类Producers,负责生产 public class Producers extends Thread{ private int num; private Storage storage; public Producers(Storage storage) { this.storage = storage; } /*线程run函数*/ public void run(){ produce(num); } /*调用仓库类中的生产方法*/ public void produce(int num) { storage.produce(num); } public int getNum() { return num; } public void setNum(int num) { this.num = num; } public Storage getStorage() { return storage; } public void setStorage(Storage storage) { this.storage = storage; } } 创建类Consumers,负责消费 public class Consumers extends Thread { private int num; private Storage storage; public Consumers(Storage storage) { this.storage = storage; } public void run(){ consume(num); } /*调用仓库的消费函数*/ public void consume(int num) { storage.consume(num); } public int getNum() { return num; } public void setNum(int num) { this.num = num; } public Storage getStorage() { return storage; } public void setStorage(Storage storage) { this.storage = storage; } } 测试类 /*测试类:用于显示生产者消费者的运行情况*/ public class Test { public static void main(String[] args) { Storage storage = new Storage();//构建一个公用的仓库 //创建若干个生产者 Producers producer1 = new Producers(storage); Producers producer2 = new Producers(storage); Producers producer3 = new Producers(storage); Producers producer4 = new Producers(storage); Producers producer5 = new Producers(storage); Producers producer6 = new Producers(storage); Producers producer7 = new Producers(storage); //创建若干个消费者 Consumers consumer1 = new Consumers(storage); Consumers consumer2 = new Consumers(storage); Consumers consumer3 = new Consumers(storage); /*设置生产者生产数量*/ producer1.setNum(10); producer2.setNum(10); producer3.setNum(10); producer4.setNum(10); producer5.setNum(10); producer6.setNum(10); producer7.setNum(80); /*设置消费者生产数量*/ consumer1.setNum(50); consumer2.setNum(20); consumer3.setNum(30); /*启动线程*/ consumer1.start(); consumer2.start(); consumer3.start(); producer1.start(); producer2.start(); producer3.start(); producer4.start(); producer5.start(); producer6.start(); producer7.start(); } }

运行结果如下(每次结果都不同):

要消费的产品数量:50 现在的库存为:0 仓库货不够消费 要消费的产品数量:20 现在的库存为:0 仓库货不够消费 要消费的产品数量:30 现在的库存为:0 仓库货不够消费 正在生产… 已经生产的产品:10 现在的库存为:10 要消费的产品数量:30 现在的库存为:10 仓库货不够消费 要消费的产品数量:20 现在的库存为:10 仓库货不够消费 要消费的产品数量:50 现在的库存为:10 仓库货不够消费 正在生产… 已经生产的产品:80 现在的库存为:90 正在生产… 已经生产的产品:10 现在的库存为:100 要生产的产品数量:10 现在的库存:100 仓库不够放 要生产的产品数量:10 现在的库存:100 仓库不够放 要生产的产品数量:10 现在的库存:100 仓库不够放 要生产的产品数量:10 现在的库存:100 仓库不够放 正在消费… 已经消费的产品:50 现在的库存为:50 正在消费… 已经消费的产品:20 现在的库存为:30 正在消费… 已经消费的产品:30 现在的库存为:0 正在生产… 已经生产的产品:10 现在的库存为:10 正在生产… 已经生产的产品:10 现在的库存为:20 正在生产… 已经生产的产品:10 现在的库存为:30 正在生产… 已经生产的产品:10 现在的库存为:40


相关推荐:


苏州JAVA培训   苏州JAVA培训班   苏州JAVA培训机构

倒计时
11: 59: 19
课程热线:13013833891 | 客服时间:9:00-22:00(其他时间请在线预约报名或留言)
机构介绍
其然软件是一所专业从事程序编程语言开发培训的机构,我们开设有JAVA、.NET、C/C++,WEB前端等课程,其中JAVA为其然软件的核心课程,从2011年至今已为江浙沪培养一批又一批的专业型软件技术开发人才,每一期学员的就业l都在80%以上,我们有科学的课程体系,人性化的学习管理,努力为昆山地区的软件事业贡献出自己的一份力量。 做朴实的软件开发培训是其然软件的宗旨,朴素而...【详情】
相关课程
其他城市
相关机构

申请试听名额

已有10254人申请免费试听

01电话咨询 | 13013833891

QQ:1413838287
加盟合作:0755-83654572