学习Java半年了,我觉得一个Java程序员应该必备一下技能

1.基本语法

static,final,volatile,transient,public,protected,private,synchronized等关键词的用法,lambda表达式的应用,类,内部类,接口具体的用法,作用,以及底层实现原理.

2.集合框架

Java中对常用的数据结构进行了封装,比如Collection接口,以及它下面的List接口,Set接口及其子类ArrayList,LinkedList,HashSet,Vector,Map接口的子类HashMap的应用场景,以及底层实现原理.
特别注意的是jdk1.5后引入了java.util.current包下面的一些类,比如concurrentHashMap的底层实现原理,AtomInteger等类的应用.

3.设计模式

设计模式是前人的经验总结,里面有着优秀的设计思想,很多流行的框架里面充斥着这些模式的踪影,提到设计模式,你应该了解常用的设计模式,如何使用,设计模式的优缺点,以及设计模式中有那些角色,以及他们的类图

4.多线程和并发

这是我们从校园走向开发岗位或者说从学习走向工作的一步,在现在的互联网应用中,多线程和并发不可或缺,所以掌握这块知识也是程序员的必备技能,可以研究JUC包下面的类的应用场景及其实现原理.

5.IO

IO分为文件I/O和Socket I/O,BI/O,NI/O,AI/O的区别,以及对他们进行封装了的Netty框架的底层实现原理

6.JVM

作为一个Java程序员来说,了解Java虚拟机是不可或缺的,这样我们在一些场景下正确应用一些类或语法,对以后虚拟机的调优,上线优化也有作用

7.框架

现在主流的框架有Spring家族的(SpringFrameWork,SpringMVC等),GitHub的开源项目Mybatis,还有全自动的ORM Hibernate等;
当会用之后,我们应该去看源码,了解大神的设计思路.然后将思想应用到自己的开发中.

8.数据库

常用的关系型数据库:MySQL,Oracle,SQL Server,DB2等,常用的非关系型数据库:Redis,MongoDB,Hbase等.
除了了解基本的语法,我们还要了解底层的数据结构,索引的实现等,有助于我们合理的设计数据库和选择数据库,来提高我们的数据访问效率和并发量

9.web相关的

我们除了上面的技术还应该了解计算机网络相关的东西,因为我们开发的应用要依赖与网络,ISO七层模型,TCP/IP五层模型,以及每一层的作用和应用,还有常用的web服务器,如果以偶精力可以看看源码

10数据结构和算法

在csdn上看过一句话,如果一个程序员和数据结构和算法都忘完了,那么他也没有什么价值了
数据结构和算法是一个程序的核心或者说灵魂,没有了他们不能称作为程序,或者只是一副空皮囊.
深入常用的数据结构和算法,并深入,在后续的开发或者升职中有极大的帮助.

11有一颗上进的心

Java程序员必备技能相关推荐

  1. Java如何接手别人项目_程序员必备技能——怎样快速接手一个项目

    作为一个程序员,我们很少能从头到尾参与一个新项目的开发.如果你经常开发的是新项目,那你真是太幸福了. 更多的情况是半路进入一个项目组进行开发,或者是有其他同事离职了,之前由他维护的系统转交给你维护. ...

  2. 丁威: 优秀程序员必备技能之如何高效阅读源码(二更)

    @[toc](丁威: 优秀程序员必备技能之如何高效阅读源码(二更)) 消息中间件 我能熟练使用这个框架/软件/技术就行了, 为什么要看源码?" "平时不用看源码, 看源码太费时间, ...

  3. Java 程序员必备的 15 个框架,前 3 个地位无可动摇!

    2019独角兽企业重金招聘Python工程师标准>>> Java 程序员方向太多,且不说移动开发.大数据.区块链.人工智能这些,大部分 Java 程序员都是 Java Web/后端开 ...

  4. Java程序员必备的10个大数据框架

    当今IT开发人员面对的最大挑战就是复杂性,硬件越来越复杂,OS越来越复杂,编程语言和API越来越复杂,我们构建的应用也越来越复杂.根据外媒的一项调查报告,小千列出了Java程序员在过去12个月内一直使 ...

  5. (程序员必备技能)基于Python的鼠标与键盘控制实战扩展与源码

    (程序员必备技能)基于Python的鼠标与键盘控制实战与源码 文章目录 (程序员必备技能)基于Python的鼠标与键盘控制实战与源码 一.序言 二.配置环境 1.下载pyautogui包 三.鼠标控制 ...

  6. 程序员必备技能之Markdown

    Markdown介绍 Markdown是一种纯文本格式的标记语言,比HTML更简单,通过一些简单的语法标记,就可以让文本简洁好看. Markdown已经是程序员一项必备技能了,代码块.流程图.序列图. ...

  7. Java程序员必备的几款开发工具,高效才是硬道理!

    作为一名优秀的Java程序员,怎能没有几款得心应手的高效开发工具呢!市面上类库.工具千千万,下面我就给大家推荐几款高效的Java开发工具. 一.Eclipse Eclipse做为一款开发源代码的Jav ...

  8. Java程序员必备的几款开发工具

    工欲善其事,必先利其器.作为一名优秀的Java程序员,怎能没有几款得心应手的高效开发工具呢!市面上类库.工具千千万,下面就给大家推荐几款高效的Java开发工具. 1.UItraEdit UltraEd ...

  9. B站疯传|200个Java程序员必备词汇

    相信很多学生在学习英语的时候都有这样那样的问题,因此也困扰着太多想要学习编程的小伙伴. 其实学习编程,常用的单词就那么多,只要把必备的单词学会,你的代码也能写的很6,编程和英语的关系就是这么简单纯粹. ...

最新文章

  1. J - One-Dimensional HYSBZ - 4688
  2. DevExpress ASP.NET 使用经验谈(9)-Dev控件客户端事件 ClientSideEvents
  3. 详解使用fastboot为Android刷入原厂镜像
  4. [原创]同一页面无法多次使用XmlHttp发起Ajax请求的真实原因
  5. VMware演示手机虚拟化
  6. 程序大佬和菜鸟的区别,太准确了!
  7. Arrays.sort与Arrays.parallelSort
  8. jQuery——高级(js对象、json、ajax)
  9. pscad与matlab接口,PSCAD/EMTDC与Matlab接口研究
  10. [转载] python日期时间使用详解和定时器使用讲解
  11. Eclipse主题设置
  12. Firefox浏览器购物比价插件:惠惠购物助手
  13. 学习记录 Halcon 图片拼接
  14. python输入五个数并求平均值、保留一位小数_程序功能要实现输入理财产品金额和存款天数,计算预计收益金额(保留1位小数)。...
  15. python中可迭代对象是什么意思_python可迭代对象概念讲解
  16. 请启用虚拟机平台 Windows 功能并确保在 BIOS 中启用虚拟化。模块“vpmc”启动失败。未能启动虚拟机。
  17. OPA和Gatekeeper区别?
  18. Excel怎么批量设置行高
  19. 功能测试非常重要的43个功能测试点...
  20. builing android2.2(froyo)

热门文章

  1. android资源列表对应国家名称
  2. TRIZ系列-创新原理-2-抽取原理
  3. linux dhcp认证,如何让linux dhcp server同时支持option 60和option 82认证
  4. 【高级编程技术】【作业】【第十四周】【1】
  5. 【Linux】一、Linux系统下安装Nvidia P1000显卡驱动、CUDA、cuDNN
  6. Win7 ODBC 数据源ACCESS2003的链接
  7. 读书有益——》【20181012,得到--涂子沛《数文明》发布会】
  8. 计算机组成原理mips与arm,计算机组成原理之MIPS指令系统和MIPS体系结构
  9. 颜色 透明度取值RGB
  10. 操作系统和磁盘分区及引导