02.26 万能的头条,一个没有工作经验的Java程序员需要掌握多少技术?

是以前大不同


本人不是java工程师,如果是刚毕业,公司更看重的是基础,而且java后续的发展有很多方向,看你具体以后从事什么了,建议你可以尽快工作,在工作中学习或者浏览一些开源项目,看看项目里面有应用到什么技术。


庄里小赵


我们就是一个技术团队,后端语言就是Java 的。每年我们会招聘一些实习生、应届生。他们的技术其实都没有到达投产的地步,进了公司也是分一些边角料的活干干(不是歧视,而是有难度的活也干不了,先锻炼一下工作习惯),在这个过程中最重要的不是技术,而是基础知识、基本素质。只要平时在学校里不混的,主修科目都能完成的基础知识就够了。剩下的全看工作态度了,这个态度就是责任心、学习能力和沟通能力,这三点至关重要,甚至决定了职业生涯的发展趋势。所以,如果你是一个新人,技术实力薄弱是正常的,大部分人都这样,但是工作态度与敬畏之心是各自的软实力,在我们公司最后干得好的,加薪快的基本都是工作责任心强的,学习沟通能力好的,做好全面两样技术的提升就是水到渠成的事情。


竖排科技创始人


Java技术栈总体来讲是比较深的。

基础:

Java语言,如果是新学,最好是从Java8开始。

Spring,MyBatis,JSON,SpringMVC,SpringBoot等常见框架。

Maven,Svn,Git构建及管理相关工具。

Linux服务器基础操作。

Nginx。

MySql,Redis,MongoDb。

中级

基础项中的技术的基础原理,概念需要更深入的了解。同时还会遇到更多以下知识点:

JVM,JUC(多线程),Dubbo,SpringCloud,负载均衡,分布式。

中级主要是需要比基础多出更多的内功,以及对分布式、多线程需要有多更更深的理解。同时具备较强的解决未知问题的能力,尤其是在各种技术的性能角度。

高级

NIO,NETTY,Docker,Elasticsearch,以及大数据相关的一系列的技术。


上面提到的只是比较常见的一些,如果深入的某一个细分领域,会有非常多的框架、技术原理、概念的出现。

其实研发最需要的就是解决各种难题的能力,无论是从一个业务逻辑,还是到系统架构怎样设计更合理,能够解决实际技术问题的人,就会更具备优势。


科技谈弹谭


按照Java从业人员的职位晋升来说,Java程序成长路线大致如下

Java程序员

JavaEE初级软件工程师

JavaEE中级软件工程师

JavaEE高级软件工程师

Java架构师

按照职业发展方向,大致如下

第一条职业发展路线(技术专精): 初级Java开发---中级--高级---项目主管--Java项目经理---网站架构师

第二条职业发展路线(技术转产品):初级Java开发---中级--产品策划--产品经理---产品总监

Java初级程序员应该具备的技术

Java基本语法

Java面向对象编程

反射、泛型、注解符、自动装箱和拆箱、枚举

IO、多线程、实体类

集合类、正则表达式

XML和属性文件

多线程

网络套接字

算法分析与设计

JavaEE初级软件工程师

JSF框架开发技术,配置文件(页面导航、后台Bean)、JSF组件库(JSF EL语言、HTML标签、事件处理、)、JSF核心库(格式转换、输入验证、国际化)

Javaweb核心开发技术

开发环境(Eclipse、Linux)

三大组件(JSP、JavaBean、Servlet)

扩展技术(EL、JSTL、Taglib)

网页开发技术,HTML、XML、CSS、JavaScript、AJAX

数据库设计技术,MySql、Oracle(这两个数据库能够掌握就可以了,毕竟Java开发用得最多就是这两个)

Web服务器(Tomcat/Jetty/Resin/JBossWeb)

JavaEE中级软件工程师

多深入一下对Spring框架的应用

多深入一下对Spring MVC框架的应用

掌握好MyBatis这种轻量级ORM框架

工作流

搜索引擎

缓存引擎

设计模式

JavaEE高级软件工程师

任务调度

身份认证

报表服务

系统测试

集群

负载平衡

故障转移

JavaWeb分布式开发技术

JTA(Java事物管理)

JNDI(Java命名和目录服务)

JavaMail(Java邮件服务)

JMS(java信息服务)

WebService(web服务)

JCA(java连接体系)

JMS(java管理体系)

Java架构师

面向云架构(COA)

COA、SaaS、网格计算、集群计算、分布式计算、云计算

面向资源架构(ROA)

ROA、RESI

面向web服务架构(SOA)

WebService、SOA、SCA、ESB、OSGI、EAI

Java设计模式

创建式模式:抽象工厂/建造者/工厂方法/原型/单例

构造型模式:适配器/桥接/组合/装饰/外观/享元/代理

行为型模式:责任链/命令/解释器/迭代子/中介者/备忘录/观察者/状态/策略/模板方法/访问者

Java与UML建模

对象图、用例图、组件图、部署图、序列图、交互图、活动图、正向工程与逆向工程


深挖君


java最好学移动端的,flex布局架构先学好,然后学vue这个现在基本上都是前端开发工程师必须,再说现在很多企业都要求全栈,虽然说不现实,但多一样技术的话,应该比较好的,增强自己的竞争力,HB集成开发环境先学好,把工具练熟。



齿轮动力剧场秀


对Java程序员来说,技术就相当于薪资,你的技术越高,薪资也就随之增加。

就目前毕业的学生来讲,主要有以下就业方向:

前端开发、Java后端开发、Java游戏开发、Java桌面程序设计,以及其他与Java语言编程相关的工作,

也可进入电信、银行、医疗、邮箱、物流、保险专业软件开发公司等从事软件设计和开发工作。

具体学习的Java课程有:

阶段一的Java基础。

一、基础知识:

1、JVM、JRE和JDK的区别:

JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性。

java语言是跨平台,jvm不是跨平台的。

JRE(Java Runtime Environment):java的运行环境,包括jvm+java的核心类库。\t

JDK(Java Development Kit):java的开发工具,包括jre+开发工具

2、环境变量path和classpath的作用是什么?

(1)path是配置Windows可执行文件的搜索路径,即扩展名为.exe的程序文件所在的目录,

用于指定DOS窗口命令的路径。

(2)Classpath是配置class文件所在的目录,用于指定类搜索路径,JVM就是通过它来寻找该类的class类文件的。\t

3、变量有什么用?为什么要定义变量?什么时候用?

答:变量的作用:用来存储数据。

为什么要定义变量:用来不断的存放同一类型的常量,并可以重复使用

4、&和&&的区别?

答:(1)&&会出现短路,如果可以通过第一个表达式判断出整个表达式的结果,则不继续后面表达式的运算;

只能操作boolean类型数据;

(2)&不会出现短路,将整个表达式都运算。既可以操作boolean数据还可以操作数。

5、标示符命名规则:

由数字(0-9),大小写英文字母,以及_和$组成。

不能以数字开头。

不能使用关键字来自定义命名。

6、数据类型:

(1)基本数据类型(4类8种):

整数类型:byte、short、int、long

浮点数类型:float、double

字符类型:char

布尔类型:boolean(ture false)

(2)引用数据类型:

接口

数组

7、类型转换

8、java语言的三种技术架构

9、java的跨平台性

10、有符号数据的表示法(次重点)

11、函数

12、重载

13、数组

14、内存结构:

二、面向对象

1、面向对象思想:

2、类和对象:

3:成员变量和局部变量的区别(重点)

4、匿名对象

5、封装:

6、关键字private:封装在代码中的体现

7、构造方法:

8、构造代码块:

9、this关键字

10、Person p = new Person();在内存中做了哪些事情。

11、static关键字

12、制作API(次重点)

13、单例设计模式

三、多线程:

四、集合框架

五、IO流

1、IO流概述

(1)用来处理设备(硬盘,控制台,内存)间的数据。

(2)java中对数据的操作都是通过流的方式。

(3)java用于操作流的类都在io包中。

(4)按照流操作的数据的类型不同:分为字节流和字符流。字符流是为了方便中文的操作而来的。\t

(5)按照流的流向不同分为:输入流,输出流

阶段二是JavaWeb的学习。Web前端开发基础和框架、Servlet和JSP在Web后端的应用、Web后端开发相关专题、MVC和分层架构以及项目开发流程及CASE工具的使用等。

阶段三是 Java框架。框架是程序中另一种存储数据的方式,比直接使用数组来存储更加的灵活,在项目中应用十分广泛。同时,框架整合开发(SSH/SSS)、RESTful架构和移动端接口设计、第三方接口和在线支付功能、网站安全和Spring Security应用实战、复杂用户交互处理和Spring Web Flow的应用、MyBatis的应用和SSM整合,我们将深入研究其中涉及到的数据结构和算法,对学生的技术深度有了一个质的提升。

阶段四是Java+云数据。亿级并发架构演进、Linux基础、搭建tomcat环境以及大数据开发云计算等高级Java教程,是Java技术的高端知识。其中穿插项目实战演练,企业真实项目供学生应用学习,进行知识体系的“二次学习”。

现在人工智能、大数据是一个趋势,在学习Java之后,如果能再学习一些相关的技术,会增加你的就业优势!


程序猿之奇异世界


如果是零基础学习java ,可以先自学一些基础知识,给你推荐一个网站、两本书。

How2J 的 Java教程:

https://how2j.cn

「Java 核心技术」,「Effective Java中文版」

学习Java编程和学习任何其实知识都一样。

知识点+练习+总结

看知识点,看实例,做练习。这个过程中是以练带学的过程。不要死记硬背知识点,把知识点用起来,才能记得住、记得准、记得牢。

当你积累了一定的基础知识后,再深入学习。

深入学习的具体途径和方法可参考如下:

一:底层源码分析

学习Java技术体系,设计模式,流行的框架与组件

· 常见的设计模式,编码必备

· Spring5,做应用必不可少的最新框架

· MyBatis,玩数据库必不可少的组件

二:工程化与工具

工欲善其事必先利其器,不管是小白,还是资深开发,玩Java技术体系,选择好的工具,提升开发效率和团队协作效率,是必不可少的:

· Maven,项目管理

· Jenkins,持续集成

· Sonar,代码质量管理

· Git,版本管理

三:分布式架构

高并发,高可用,海量数据,没有分布式的架构知识肯定是玩不转的:

· 分布式架构原理

· 分布式架构策略

· 分布式中间件

· 分布式架构实战

四:微服务架构

业务越来越复杂,服务分层,微服务架构是架构升级的必由之路,Java技术体系,和微服务相关的技术有哪些呢?

· 微服务框架

· Spring Cloud

· Docker与虚拟化

· 微服务架构

五:性能优化

任何脱离细节的ppt架构师都是耍流氓,向上能运筹帷幄,向下能解决一线性能问题,Java技术体系,需要了解:

· 性能指标体系

· JVM调优

· Web调优

· DB调优

现在的技术更新很快,但基础很重要。如果真的想学好JAVA,建议把基础知识学透,然后再学高阶的东西。

以上的个人建议,希望能给你帮助。


码家花园


两种情况

1.老系统 需要掌握 jsp jquery springMVC mybatis mysql postgreSql oracle redis 定时任务 存储过程

2.新系统 springboot springcloud MQ java8 mybatis spring security spring data redis 数据库


方小远记事


行业从业者建议:

1.基础的数据库技术。以及起码有一门自己可以基本操作的数据库,像Oracle、MySql或者sql server等这些市场上的软件公司、互联网公司在使用的数据库

2.Java的基础编程知识,这一方面可能学习的时候感觉会有点纸上谈兵的感觉,但是工作中其实会一直用到。没有好的基础就算找到了工作也很难坚持下去。这方面你可以多看点Java方面进阶的书。《thinking in java》、《Effective Java》这些Java界的四大名著空余的时候多读一下,给自己打牢编程基础

3.学会看eclipse或者IDEA上报错的信息,异常的信息。个人觉得这一点对实习生还是很需要学习的方面。空指针可能是哪方面导致的,还有类似于ClassNotFound啊等等一些编程常见的异常在工作中都是“一生相伴”的老朋友。

4.学习java编程中常用的框架技术。SSH也好SSM也好都是为了编程结构层次更明确更便于管理维护的框架,拥有好的框架技术对编程具有很深远的影响

5.养成良好的编程习惯。类名方法名别用拼音,数据库字段别用拼音,实在不会英文先百度有道。存文件的文件夹不要用中文,这些基本的编程习惯也是工作中需要的。一般公司都有会有一些自己独特的编程风格,有良好的编程习惯进入就可以更快的熟悉公司的编程风格。


禾令奇


别着急,慢慢来

1、需要掌握那些技术,是根据当前公司的需要,当前项目的需要而来的,你会基础就行,会什么先做什么,不会什么学什么,程序员是活到老学到老。

2、小公司从前端到后端,从售前到售后全部到要会,从需求到开发再到维护都要会,从框架到数据库再到逻辑再到页面全都要会。

3、大公司,分工要细致写,框架专职做,数据库专职做,后台专职做,页面专职做。单前提是你要先进去。


分享到:


相關文章: