java学习到什么程度可以找第一份工作?

现在很晚了,但是看到这个问题还是比较有感触的。一年前,我大三上学期,创业失败,想转行做技术。那时候我对Java刚刚了解这几个英语单词。 自己买了本Java从入门到精通。以为可以很快的学完,非CS专业。
现在我想说所有系列的从入门到精通都是垃圾,一年多来,我每天白天看视频,晚上敲代码到凌晨,我是一个很倔的人,我认为天下没有任何东西是人类学不会的,所以我就付出高三一样的时间去学习。最开始学习Java SE,看着控制台打印出第一行Hello world的欣喜,到后面学习打印二维数组算法菱形的恐慌,再到后面学习Java Swing的有趣,再到后面自己开发几款小游戏。
这其中有苦有累,总之就是很孤独,我从学校搬到了外面的小区,每天从事着自己喜欢的事情,一直到2018年1月3号,正式入职。是一个初创公司的后端主要负责人。一共收到4个offer。投了10多家。
工作台

这是这一年来我看的一些书籍。
书籍
刚开始的学习十分盲目,不知道如何去学习,看到一个东西觉得有趣就去研究,结果最后没有系统性的学习,还浪费了大量的时间。
6666
现在我觉得如果你要学习Java技术可以先自学一段时间,看自己合不合适,但是一定要坚持,因为既然选择了IT,就要养成终生学习的习惯。下面是我觉得你作为初级Java工程师应该掌握的技术。
1.Java SE部分 初级语法,面向对象,异常,IO流,多线程,Java Swing,JDBC,泛型,注解,反射等。
2.数据库部分,基础的sql语句,sql语句调优,索引,数据库引擎,存储过程,触发器,事务等。

### Java学习路径与技能要求 为了达到月薪1万元的Java开发岗位水平,通常需要掌握一系列核心技术和实践经验。以下是详细的技能要求以及推荐的学习路径。 #### 一、基础知识 对于初学者来说,扎实的基础知识是成功的第一步。这包括但不限于以下内容: - **Java基础语法** 掌握基本的数据类型、运算符、控制语句等内容[^3]。 - **面向对象编程(OOP)** 理解类、对象、继承、多态等概念,并能够熟练运用这些特性来解决问题[^3]。 - **异常处理机制** 学会如何捕获并处理程序中的错误情况,提高代码健壮性。 #### 二、进阶技术 当具备一定基础之后,则需进一步深入学习更复杂的知识点: - **集合框架(Collection Framework)** 如List、Set、Map接口及其常见实现类的特点与应用场景[^4]。 - **IO流操作** 文件读写、字节流/字符流的区别及使用方法[^3]。 - **多线程与并发控制(Thread & Concurrency Control)** 创建管理线程的方式,同步锁(synchronized关键字),volatile变量修饰符的作用等。 #### 三、Web开发相关技术栈 现代企业级应用大多基于B/S架构构建而成,因此熟悉HTML/CSS/Javascript前端展示层技术外加后台逻辑处理部分尤为重要: - **Servlet&JSP** 使用原生API编写简单的动态网页[^3]。 - **Spring全家桶(Spring Core,Spring MVC,Spring Boot)** 这是一套非常流行的轻量级开源框架组合方案,极大地简化了传统JavaEE项目的复杂度同时增强了灵活性。 - **数据库交互(MySQL,Oracle)+ORM映射工具(iBATIS/Hibernate/MyBatis)** 设计合理的表结构模型并通过持久化层访问存储数据[^3]。 #### 四、其他附加能力 除了上述提到的核心竞争力之外还有一些软硬兼备的能力也值得培养起来: - **版本控制系统(Git/GitHub)** 协作开发过程中必不可少的一项利器。 - **测试驱动开发(TDD)/单元测试(JUnit/TestNG)** 提升产品质量的有效手段之一[^4]。 - **持续集成(CI)流程配置(Jenkins,Bamboo etc.)** 实现自动化构建部署流水线作业[^4]。 --- ### 示例代码片段 下面给出一段关于创建自定义注解处理器的例子作为参考: ```java import java.lang.annotation.*; import java.lang.reflect.*; @Retention(RetentionPolicy.RUNTIME) @interface MyAnnotation { String value(); } class TestClass{ @MyAnnotation(value="This is a test message.") public void annotatedMethod(){} public static void main(String[] args)throws Exception{ Method method=TestClass.class.getMethod("annotatedMethod"); if(method.isAnnotationPresent(MyAnnotation.class)){ MyAnnotation annotation=(MyAnnotation)method.getAnnotation(MyAnnotation.class); System.out.println(annotation.value()); } } } ``` ---
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值