Java程序员必备技能
学习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程序员必备技能相关推荐
- Java如何接手别人项目_程序员必备技能——怎样快速接手一个项目
作为一个程序员,我们很少能从头到尾参与一个新项目的开发.如果你经常开发的是新项目,那你真是太幸福了. 更多的情况是半路进入一个项目组进行开发,或者是有其他同事离职了,之前由他维护的系统转交给你维护. ...
- 丁威: 优秀程序员必备技能之如何高效阅读源码(二更)
@[toc](丁威: 优秀程序员必备技能之如何高效阅读源码(二更)) 消息中间件 我能熟练使用这个框架/软件/技术就行了, 为什么要看源码?" "平时不用看源码, 看源码太费时间, ...
- Java 程序员必备的 15 个框架,前 3 个地位无可动摇!
2019独角兽企业重金招聘Python工程师标准>>> Java 程序员方向太多,且不说移动开发.大数据.区块链.人工智能这些,大部分 Java 程序员都是 Java Web/后端开 ...
- Java程序员必备的10个大数据框架
当今IT开发人员面对的最大挑战就是复杂性,硬件越来越复杂,OS越来越复杂,编程语言和API越来越复杂,我们构建的应用也越来越复杂.根据外媒的一项调查报告,小千列出了Java程序员在过去12个月内一直使 ...
- (程序员必备技能)基于Python的鼠标与键盘控制实战扩展与源码
(程序员必备技能)基于Python的鼠标与键盘控制实战与源码 文章目录 (程序员必备技能)基于Python的鼠标与键盘控制实战与源码 一.序言 二.配置环境 1.下载pyautogui包 三.鼠标控制 ...
- 程序员必备技能之Markdown
Markdown介绍 Markdown是一种纯文本格式的标记语言,比HTML更简单,通过一些简单的语法标记,就可以让文本简洁好看. Markdown已经是程序员一项必备技能了,代码块.流程图.序列图. ...
- Java程序员必备的几款开发工具,高效才是硬道理!
作为一名优秀的Java程序员,怎能没有几款得心应手的高效开发工具呢!市面上类库.工具千千万,下面我就给大家推荐几款高效的Java开发工具. 一.Eclipse Eclipse做为一款开发源代码的Jav ...
- Java程序员必备的几款开发工具
工欲善其事,必先利其器.作为一名优秀的Java程序员,怎能没有几款得心应手的高效开发工具呢!市面上类库.工具千千万,下面就给大家推荐几款高效的Java开发工具. 1.UItraEdit UltraEd ...
- B站疯传|200个Java程序员必备词汇
相信很多学生在学习英语的时候都有这样那样的问题,因此也困扰着太多想要学习编程的小伙伴. 其实学习编程,常用的单词就那么多,只要把必备的单词学会,你的代码也能写的很6,编程和英语的关系就是这么简单纯粹. ...
最新文章
- J - One-Dimensional HYSBZ - 4688
- DevExpress ASP.NET 使用经验谈(9)-Dev控件客户端事件 ClientSideEvents
- 详解使用fastboot为Android刷入原厂镜像
- [原创]同一页面无法多次使用XmlHttp发起Ajax请求的真实原因
- VMware演示手机虚拟化
- 程序大佬和菜鸟的区别,太准确了!
- Arrays.sort与Arrays.parallelSort
- jQuery——高级(js对象、json、ajax)
- pscad与matlab接口,PSCAD/EMTDC与Matlab接口研究
- [转载] python日期时间使用详解和定时器使用讲解
- Eclipse主题设置
- Firefox浏览器购物比价插件:惠惠购物助手
- 学习记录 Halcon 图片拼接
- python输入五个数并求平均值、保留一位小数_程序功能要实现输入理财产品金额和存款天数,计算预计收益金额(保留1位小数)。...
- python中可迭代对象是什么意思_python可迭代对象概念讲解
- 请启用虚拟机平台 Windows 功能并确保在 BIOS 中启用虚拟化。模块“vpmc”启动失败。未能启动虚拟机。
- OPA和Gatekeeper区别?
- Excel怎么批量设置行高
- 功能测试非常重要的43个功能测试点...
- builing android2.2(froyo)
热门文章
- android资源列表对应国家名称
- TRIZ系列-创新原理-2-抽取原理
- linux dhcp认证,如何让linux dhcp server同时支持option 60和option 82认证
- 【高级编程技术】【作业】【第十四周】【1】
- 【Linux】一、Linux系统下安装Nvidia P1000显卡驱动、CUDA、cuDNN
- Win7 ODBC 数据源ACCESS2003的链接
- 读书有益——》【20181012,得到--涂子沛《数文明》发布会】
- 计算机组成原理mips与arm,计算机组成原理之MIPS指令系统和MIPS体系结构
- 颜色 透明度取值RGB
- 操作系统和磁盘分区及引导