我java学习时的模样(二)

去掉自己浮躁的心

工作了三年,见识过高山,也见过低估,高山同大神一起共事,低估是几家特别烂的外包公司,现在有了另一种心境。已经开始重视自己,去掉当初浮躁的心。 毕业的一两年内,是人成长特别快的时期,也是特别容易浮躁,成长特别快,是开始负责公司一些模块,开始独立完成任务,在这段时间,可以接触大学没有学到的东西,而特别希望通过自己的能力改变什么,然后特努力去学习,自然而然,个人的成长可以用肉眼能够看得到,一个初出茅庐的小子,如今也可以面对复杂的东西不怂。但是这个时候的自己也开始去审视自己各方面的情况,比如是否是自己喜欢的工作环境,自己待遇是否配上自己的付出。 我经历了这样的情况,两年也换了三份工作,其中两个是因为工作环境,后一个是自己的待遇问题。这个时候的自己,会随着自己的心去工作,工作环境不是自己想要的,工作特压抑,那么就想着找下一家公司,并且工作两年之后,待遇问题也是待在公司需要考虑的,不管技术怎样,听到其他人,和自己一样,有了特别高的待遇,自己总会悸动的。 这样的状态可能很多人都会经历过,但是经历过后要认清了自己了,因为两三年过后,自己已经不是那个青涩的少年了,已经有了一定的社会经验,需要对自己的未来有一个规划了,也开始思考现在的技术是否能够支持自己下一个高工资的工作。如果已经到了非常好的环境,按部就班就可以,但对于我来说的话,需要思考,如何通过自己的努力,去那些头部公司,或者选择其他道路。 这个时候也能够知道自己的水平其实特别差,相比那些资深的程序员,对系统的掌握,对语言的理解都有着天壤之别,自己需要补的短板都太多了,这个时候还想着如何通过跳槽来提升自己的工作,其实不太可取了,因为你开始需要独立面对一个复杂的项目,这个复杂的项目需要的经验超级多,完全不是曾今在别人领导下工作时那么轻松。 去除掉浮躁的心,补自己的短板,深究工作需要使用的语言特性。补足系统框架各个方面的知识,沉下心来学习一两年,不过前提是自己的工作环境是自己还算满意的,自己待遇也可以的那种。

多往前走一步

多往前走一步,需要自己出了将自己本职工作做好之外,尝试着多做一些其他工作。如果是做Java开发的,除了接口的编写外,是否尝试有项目的优化,框架的搭建,服务环境的搭建,这些工作平常很难去碰到,等自己独挡一面时,这些知识都需要知道的,而且如果是一家小公司,就需要掌握特别全面了。做程序员这样,说自己仅仅只是编写程序,其他的都不会,别人会用奇怪的眼神来看你的,程序员不会会组装电脑吗?一般程序员需要什么都可能会,上面安排需要一套什么样的环境,那么你就需要去搭建,如果没有前面一点了解,完全新手去做,可能不能够按照规定的时间完成。 平常的时候,需要将工作上的其他东西了解熟悉,观察那些大牛会些什么,然后自己思考那些技能可能是自己将要也要用到的,一个独挡一面的程序员,不仅仅只是会编写接口的。 还有一个例子就是好多时候,都是一句话的需求,然后要求开发一套系统出来。对的,就一句话需求,然后靠自己和其他员工不断交流,然后再跟老板讨论这些需求是否在系统中,而这些需求就是这样被讨论出来的,这里需要学习的是整个系统如果去讨论,考虑这些需求的可行性,不多思考一下,后续可能这个项目就完成不了。 不在是被动的去学习,完全都是工作教会给自己的。需要自己主动去学习,去思考。

别气馁

很多时候,写代码写不出来,看代码看不懂,逐渐的开始气馁了,Java学习怎么这么难啊。刚开始都这样,不是谁一下子就能够学会了的,需要有一个过程,有时候这个过程很漫长,但是通过不断学习,逐渐的发现以前的问题都将变成很简单的问题。看不懂的代码,在不影响大局的情况下,跳过去,后面再去读的时候就变的简单了。一遍不懂那就留着以后再看,我读Java源码的时候,也是一头雾水,都不知道什么意思,为什么这么些,只是大概的了解这些。但是工作一年之后,再去看的时候,很多问题都迎刃而解。但是还是有很多类是看不懂的,到了第二年,线程安全的大部分内容都已经懂了。因为自己的水平也在提高,思维,对Java的理解也提高了,在去理解那些内容的时候,就不会那么困难了。但是有一点,需要努力提升自己的水平,如果是熬年限,那就算过了一年也未必能够看的懂,没有把时间花在这上面,那么不懂的还是会不懂的。

原文地址:https://www.cnblogs.com/skyice/p/10080641.html

时间: 2024-11-15 00:30:55

我java学习时的模样(二)的相关文章

我java学习时的模样(一)

学会敲键盘,能够实现盲打 程序员写代码,是通过键盘将程序输入到编辑器中,而码子的高效,能够让自己的思路更流畅一些.如果想从事IT工作,那面打字就必须得会,并且,如果还一个一个字母去找,上司就会认为是一个低级程序员.我在上大一的时候,也是敲键盘,需要一个字母一个字母的去找,而想要敲一个程序,至少需要十多分钟,就十多行代码,敲完之后,根本不记得程序的逻辑,所有的经历都放在了找字母上.等自己买了电脑之后,下载金山打字软件,不断练习,也终于在之后,能够实现盲打了.平常的时候,不会记得字符放在哪个地方,但

我Java学习时的模样(三)

读Java源码 平常使用Java的时候,那些集合类使用起来很顺手,但是有没有想过这些集合内部的实现原理是怎样的,它的添加移除都有哪些操作? 有了一些工作经验之后,必须要读一读Java包中的源码,需要知道那些平常使用的类的原理.有一点,不要被这些类的行数给吓到,点击一些集合类,一个类的代码行数都一千多行,很多时候回被这个数字给吓到,除去注释空格,其实也没有多少了,并且只要理解了一点,该类的其他代码就相对简单了. 看源码的第一个步骤,先简单的调用该类的一些方法,让其运行起来,然后点击进入方法,可以在

原 Java学习之Xml系列二:xml按条件查询、xml递归遍历所有元素和属性

xml中加入了几条,为了方便查询时作为示例. 话不多说见代码注释: DTD文件:SwordTypeDefinition.dtd <?xml version="1.0" encoding="UTF-8"?> <!ELEMENT SwordLibrary (Sword*)> <!ELEMENT Sword (SwordName,Price,Attack)> <!ELEMENT SwordName (#PCDATA)> &l

Java学习之路(二) Java命令

1.java.exe:2.javac.exe:编译的Java程序编写的后缀为.java的文件,利用javac编译后会生成执行文件.class文件3.javaw.exe:运行Javac编译后生成的可执行文件.class文件,在执行图形界面的java程序运行java命令时,会出现一个console窗口并一直保持,并通过System.out将程序中的信息在console窗口内输出,avaw 大多用来运行GUI程序,运行javaw,JVM首先会调用控制台程序启动主程序,调用完主程序后就会隐藏控制台:4.

Java学习之路(二)--Thinking in Java

针对昨天Java学习之路(一)--Thinking in Java中的类的静态方法不能访问创建非静态类,给出了将内部类修改成为static静态类,操作方便简单.现在给出第二种不需要添加删除的另一种极为高效的方式.可以将内部类从你所创建的类中复制粘贴到类外,作为一个外部类,在static主方法中就可以创建类的引用了. 源代码如下: ? class test{ int s; char c; } public class test1 { public static class test{ int s;

JAVA学习第五十二课 — IO流(六)File对象

File类 用来给文件或者文件夹封装成对象 方便对文件与文件夹的属性信息进行操作 File对象可以作为参数传递给流的构造函数 一.构造函数和分隔符 public static void FileDemo() {//构造函数演示 //可以将一个已存在或不存在的文件或目录封装成File对象 File file = new File("d:\\a.txt"); File file2 = new File("d:","a.txt"); File file

Java学习笔记—第十二章 Java网络编程入门

第十二章  Java网络编程入门 Java提供的三大类网络功能: (1)URL和URLConnection:三大类中最高级的一种,通过URL网络资源表达方式,可以很容易确定网络上数据的位置.利用URL的表示和建立,Java程序可以直接读入网络上所放的数据,或把自己的数据传送到网络的另一端. (2)Socket:又称"套接字",用于描述IP地址和端口(在Internet中,网络中的每台主机都有一个唯一的IP地址,而每台主机又通过提供多个不同端口来提供多种服务).在客户/服务器网络中,当客

JAVA学习--面向对象的特征二:继承性

* 一.面向对象的特征二:继承性 * 1.为什么要设计继承性?  *  * 2.通过"class A extends B"类实现类的继承.  *   子类:A  父类(或基类 SuperClass):B  *     * 3.子类继承父类以后,父类中声明的属性.方法,子类就可以获取到.  *    明确:当父类中有私有的属性或方法时,子类同样可以获取得到,只是由于封装性的设计,使得子类不可以直接  *        调用罢了.  *   子类除了通过继承,获取父类的结构之外,还可以定义

JAVA学习第四十二课 — 泛型(二)—泛型接口&amp;&amp;通配符应用

一.泛型接口 interface Inter<T>{ public void show(T t); } class InterImple implements Inter<String>{//知道是字符串类型 public void show(String str){ System.out.println("show "+str); } } class InterImple_2<Q> implements Inter<Q>{//不知道是什