问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求学习JAVA 心得。和职业规划

发布网友 发布时间:2022-04-30 22:52

我来回答

3个回答

热心网友 时间:2022-06-19 21:38

java心得如下:
学习Java的第一步是安装好JDK,写一个Hello World, 其实JDK的学习没有那么简单,关于JDK有两个问题是很容易一直困扰 Java程序员的地方:一个是CLASSPATH的问题,其实从原理上来说,是要搞清楚JRE的ClassLoader是如何加载Class的;另一个问题是package和import问题,如何来寻找类的路径问题。把这两个问题摸索清楚了,就扫除了学习Java和使用JDK的最大障碍。推荐看一下王森的《Java深度历险》,对这两个问题进行了深入的探讨。

第二步是学习Java的语法。Java的语法是类C++的,基本上主流的编程语言不是类C,就是类C++的,没有什么新东西,所以语法的学习,大概就是半天的时间足够了。唯一需要注意的是有几个不容易搞清楚的关键字的用法,public,protected,private,static,什么时候用,为什么要用,怎么用,这可能需要有人来指点一下,我当初是完全自己琢磨出来的,花了很久的时间。不过后来我看到《Thinking in Java》这本书上面是讲了这些概念的。

第三步是学习Java的面向对象的编程语言的特性的地方。比如继承,构造器,抽象类,接口,方法的多态,重载,覆盖,Java的异常处理机制。对于一个没有面向对象语言背景的人来说,我觉得这个过程需要花很长很长时间,因为学习Java之前没有C++的经验,只有C的经验,我是大概花了一个月左右吧,才彻底把这些概念都搞清楚,把书上面的例子反复的揣摩,修改,尝试,把那几章内容反复的看过来,看过去,看了不下5遍,才彻底领悟了。不过我想如果有 C++经验的话,应该一两天时间足够了。那么在这个过程中,可以多看看《Thinking in Java》这本书,对面向对象的讲解非常透彻。可惜的是我学习的时候,并没有看到这本书,所以自己花了大量的时间,通过自己的尝试和揣摩来学会的。

第四步就是开始熟悉Java的类库。Java的基础类库其实就是JDK安装目录下面jre\lib\rt.jar这个包。学习基础类库就是学习rt.jar。基础类库里面的类非常非常多。据说有3000多个,但是真正对于我们来说最核心的只有4个,分别是
java.lang.*;
java.io.*;
java.util.*;
java.sql.*;

这四个包的学习,每个包的学习都可以写成一本厚厚的教材,而O'reilly也确实是这样做的。我觉得如果时间比较紧,是不可能通过读四本书来学习。我觉得比较好的学习方法是这样的:
首先要通读整个package的框架,了解整个package的class,interface,exception的构成,最好是能够找到介绍整个包框架的文章。这些专门介绍包的书籍的前几章应该就是这些总体的框架内容介绍。

对包整体框架的把握并不是要熟悉每个类的用法,记住它有哪些属性,方法。想记也记不住的。而是要知道包有哪些方面的类构成的,这些类的用途是什么,最核心的几个类分别是完成什么功能的。我在给人培训的时候一般是一次课讲一个包,所以不可能详细的介绍每个类的用法,但是我反复强调,我给你们讲这些包的不是要告诉你们类的方法是怎么调用的,也不要求你们记住类的方法调用,而是要你们了解,Java给我们提供了哪些类,每个类是用在什么场合,当我遇到问题的时候,我知道哪个类,或者哪几个类的组合可以解决我的问题,That'all!,当我们具体写程序的时候,只要你知道该用哪个类来完成你的工作就足够了。编码的时候,具体的方法调用,是边写代码,边查Documentation,所有的东西都在Documentation里面,不要求你一定记住,实际你也记不住3000多个类的总共将近10万个方法调用。所以对每个包的总体框架的把握就变得极为重要。

第五步,通过上面的学习,如果学的比较扎实的话,就打好了Java的基础了,剩下要做的工作是扫清Documentation里面除了上面4个包之外的其他一些比较有用处的类。相信进展到这一步,Java的自学能力已经被培养出来了,可以到了直接学习Documentation的水平了。除了要做 GUI编程之外,JDK里面其他会有用处的包是这些:
java.text.*;
java.net.*;
javax.naming.*;
这些包里面真正用的比较多的类其实很少,只有几个,所以不需要花很多时间。

第六步,Java Web 编程
Web编程的核心是HTTP协议,HTTP协议和Java无关,如果不熟悉HTTP协议的话,虽然也可以学好Servlet/JSP编程,但是达不到举一反三,一通百通的境界。所以HTTP协议的学习是必备的。如果熟悉了HTTP协议的话,又有了Java编程的良好的基础,学习 Servlet/JSP简直易如反掌,我学习Servlet/JSP就用了不到一周的时间,然后就开始用JSP来做项目了。

在Servlet/JSP的学习中,重头仍然是Servlet Documentation。Servlet API最常用的类很少,花比较少的时间就可以掌握了。把这些类都看一遍,多写几个例子试试。Servlet/JSP编程本质就是在反复调用这些类来通过HTTP协议在Web Server 和Brower之间交谈。另外对JSP,还需要熟悉几个常用JSP的标记,具体的写法记不住的话,临时查就是了。

此外Java Web编程学习的重点要放在Web Application的设计模式上,如何进行业务逻辑的分析,并且进行合理的设计,按照 MVC设计模式的要求,运用Servlet和JSP分别完成不同的逻辑层,掌握如何在Servlet和JSP之间进行流程的控制和数据的共享,以及 Web Application应该如何配置和部署。

第七步,J2EE编程
以上的学习过程如果是比较顺利的话,进行到这一步,难度又陡然提高。因为上面的知识内容都是只涉及一个方面,而像EJB,JMS,JTA等核心的J2EE规范往往是几种Java技术的综合运用的结晶,所以掌握起来难度比较大。

首先一定要学习好JNDI,JNDI是App Server定位服务器资源(EJB组件,Datasouce,JMS)查找方法,如果对JNDI 不熟悉的话,EJB,JMS这些东西几乎学不下去。JNDI其实就是javax.naming.*这个包,运用起来很简单。难点在于服务器资源文件的配置。对于服务器资源文件的配置,就需要看看专门的文档规范了,比如web.xml的写法,ejb-jar.xml的写法等等。针对每种不同的 App Server,还有自己的服务资源配置文件,也是需要熟悉的。

然后可以学习JTA,主要是要理解JTA对于事务的控制的方法,以及该在什么场合使用JTA。这里可以简单的举个例子,我们知道一般情况可以对于一个数据库连接进行事务控制(conn.setAutoCommit(false),....,conn.commit()),做为一个原子操作,但是假设我的业务需求是要把对两个不同数据库的操作做为一个原子操作,你能做的到吗?这时候只能用JTA了。假设操作过程是先往A数据库插一条记录,然后删除B 数据库另一个记录,我们自己写代码是控制不了把整个操作做为一个原子操作的。用JTA的话,由App Server来完成控制。

在学习EJB之前要学习对象序列化和RMI,RMI是EJB的基础。接着学习JMS和EJB,对于EJB来说,最关键是要理解EJB是如何通过RMI来实现对远端对象的调用的,以及在什么情况下要用到EJB。

在学习完EJB,JMS这些东西之后,你可能会意识到要急不可待学习两个领域的知识,一个是UML,另一个是Design Pattern。 Java企业软件的设计非常重视框架(Framework)的设计,一个好的软件框架是软件开发成功的必要条件。在这个时候,应该开始把学习的重点放在设计模式和框架的学习上,通过学习和实际的编程经验来掌握EJB的设计模式和J2EE的核心模式。

J2EE规范里面,除了EJB,JMS,JTA,Servlet/JSP,JDBC之外还有很多很多的企业技术,这里不一一进行介绍了。

另外还有一个最新领域Web Services。Web Services也完全没有任何新东西,它像是一种黏合剂,可以把不同的服务统一起来提供一个统一的调用接口,作为使用者来说,我只要获得服务提供者给我的WSDL(对服务的描述),就够了,我完全不知道服务器提供者提供的服务究竟是EJB 组件,还是.Net组件,还是什么CORBA组件,还是其他的什么实现,我也不需要知道。Web Services最伟大的地方就在于通过统一的服务提供方式和调用方式,实现了整个Internet服务的共享,是一个非常令人激动的技术领域。Web Services好像目前还没有什么很好的书籍,但是可以通过在网络上面查资料的方式来学习。
职业规划如下:
首先学JAVA肯定是一线城市就业好,薪资高,个人认为写代码的时间最多五年,大概到高级软件工程师,这时候待遇大概月薪1W+,也根据个人能力具体不同,之后又2个方向,
一个是继续做技术,这样比较累,要学的东西很多,之后转设计,这时候已经不需要在编写底层代码了,在之后就是架构师,不过架构师做到这个职位非常难,10个JAVA工程师也不一定能有一个到架构师级别的。
还一个方向就是做业务,前提就是要理解某一个行业系统的具体业务,做项目经理,分配工作给工程师,以及测试,实施等,目的是把关这个项目,让客户用的更舒服。如果沟通能力交际能力强,可以继续向上做部门经理等。

热心网友 时间:2022-06-19 21:38

一定要实践;在强的理论知识,如果没有解决实际问题的能力,就都是纸老虎;
因为要实践,那一定要进入正规公司,正规公司才会用真正的大型项目,做过一个大型项目,足可以让你价值翻翻。
因为要实践,一定要选对行业,比如金融、电力、石油,虽然不好进。程序员只有不到5年的年轻时间最黄金。过了,就要拼行业背景、拼项目经验了。
我是过来人,30多了,还拼java、spring、soa、分布式这些概念和名词的,基本就没价值了。
同样技术的两个人,一个金融背景、一个普通网站(不是互联网)薪资至少差一倍。
所以,老话说的好,女怕嫁错郎,男怕入错行(现在是行业)。非常重要。

举个不恰当的例子
2004年在北京,一个当服务员、工资1000左右,一个汽车销售、工资800+提成;都是服务行业,卖汽车的辛苦点,5年后,卖汽车的已经在北京买房了,服务员呢,他再精纯他的饭店服务业务能怎么样?

java解决不了你的问题,项目和行业才行,希望别步我们这些人的后尘。追问有道理。

热心网友 时间:2022-06-19 21:39

建议你自己的特点结合期望的生活、事业、婚姻来做思考和决策即可。
一般这样的结构:
1、自我认知;---自己已经习惯和喜欢的状态;
2、岗位认知;---本专业(或有兴趣特长)的行业、岗位信息的收集分析;
3、工作计划;
4、有效工作的检查和监督。
参考书籍《遇见未知的自己》《你的降落伞是什么颜色》。
如果经济条件允许,可尝试就近找下专业的咨询机构,在专业的咨询师引导下完成系统的规划。追问谢谢

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
你好, 我把内存卡用读卡器插上了,然后电脑显示需要格式化 说检查磁盘... 专科,机电一体化专业的如果考公务员的话,应该做哪些准备 pe塑料菜板好不好-pe塑料菜板用之前应该怎么处理 ...50吨的速度往一艘轮船上装载物资,10小时装载完毕. 码头工人以每天50吨的速度往一艘轮船上装载货物,装载完毕恰好用了8天时... 农历三月初三有什么说法 农历的三月三日是什么意思 第九所攻略大全 新手入门少走弯路-新手攻略-安族网 第九所新手怎么玩介绍_第九所新手怎么玩是什么 《第九所史实》:解锁全新篇章的神秘密码大揭秘! 你好,我的被别人违规注销了怎么办? 刚学飞的鸟怎么养 我现在在上学如何养好一只雏鸟玄凤? 刚孵出的鸟怎么养 刚出生的小鸟怎么养 玄凤鹦鹉新鸟怎么养? 我刚抓了一只新鸟,要怎样才能把它养熟 日本人吃的撒西米是什么东西? 急!红豆西米露 牛肋骨 大黄鱼 日语怎么说 西米露中的西米用日语怎么说? 华泰分红型保险公司 ...经意谈话间对我说了一句西米露我想知道是什么意思 华泰人寿安全稳健两全保险(分红型),值不值得购买 直播点赞和弹幕存储在一个sql表里吗 建行购买的华泰分红型保险 日语“艾西忒露”是什么意思 华泰人寿保险(分红型)产品如何 用日语怎么说西米露 如何制作类似bilibili里的代码弹幕的字幕 华泰吉年红保险如何 笔记本能连上wifi 上不了网 dhcp服务开启了 但是属性里却是否 路由器设置 DHCP没有给开放,网络连接不能上网,说是的设置IPV6怎么设置呀,那位大神给点指点啊 在学习java的阶段要有什么职业规划? 突然被注销了怎么回事 关于个人的Java职业规划 求教 你好,我的被别人盗了,还违规注销了怎么办??? 键盘上的“Enter”键为什么又叫回车键? 请问违规被注销了,并且有人重新用本号再次注册了微信该怎么找回前一个微信?_百度问一问 你好,我的被别人违规注销了怎么办? word2007中表格中填了很多文字,想改变行距,但是右击出现的选项中没有段落选项。请求高人指点。 word中没有段落命令怎么设置行距?   word2007中表格中填了很多文字,想改变行距,但是右击出现的选项中没有段落选项。请求高人 word怎么缩小行间距和段落间距? 华为手机怎样和日常车连接蓝牙 华为手机与abusun连接车载蓝牙 考会计初级职称要什么条件? 小学数学微课一年级《大于、小于和等于》( 深圳元平特殊教育学校 王建) 华为mate10怎样连接车上的蓝牙 考初级会计师职称有什么报考条件 会计初级职称报考条件是什么?难考吗?