首页
登录 | 注册

总结Java程序员最常用的20%技术

总结Java程序员最常用的20%技术《 linux就该这么学》不错的linux自学书籍

我听说编程语言,经常使用的是其中20%的技术。在Java这门语言中,这20%包括哪些内容?


linux

我听说编程语言,经常使用的是其中20%的技术。在Java这门语言中,这20%包括哪些内容?参加培训两个月了,还有两个月的时间,要

想在两个月后,找到一份Java初级程序员的工作,有哪些是必须掌握的,有哪些是可以现学现卖的?一个完整的Javaweb项目,有哪些具体模块,每个模

块用到的技术是哪些?

常用api(String,StringBuffer/StringBuilder等)

集合类,线程类。

Servlet(很少用纯粹的servlet写,但你要懂,因为很多框架都是基于servlet封装的)。

json,xml读写

数据库访问(CRUD,事务,连接池)

http请求(HttpClient)

其他,包括常用框架,设计模式,面向对象

初级程序员会这些就可以写项目了。后期遇到的问题就会复杂得多,要靠各种经验和知识的积累。

除了要掌握的20%以外还要掌握些什么知识才能游刃有余。下面说说我接触(使用)过、的东西吧。

java以分布式应用丰富的生态闻名,在分布式系统中逃不过CAP的抉择。早早了解一些分布式一致性协议paxos、raft等。学习zookeeper的原理和使用场景(metadata、分布式锁、leaderEletion… etc)

RPC框架在SOA架构中起着重要的作用,好好探究终是有好处的,在这里推荐阿里巴巴的dubbo框架,同时会netty、mina等网络库

Hadoop系列 Storm Spark 等离线实时计算框架

ElasticSearchSolrCloud 分布式搜索 ELK 日志相关的东西对这些比较敏感,当然在更多的场景使用ES也是有很多的

消息队列 kafkaMetaQ RabbitMQ 恩,昨天ZeroMQ(不完全算作MQ)的作者选择安乐死了,愿天堂没有痛苦

然后就是各种基础知识,编程语言、网络方面、数据库、数据结构和算法。不要觉得任何一项都精通了,敢说精通的知乎能有几个。

说说自己的感受吧,刚工作应该不会让你独立开始新项目,应该会让你跟正在开发中的项目

学会使用eclipse,svn等IDE和工具(不用说了吧,主要是看你工作的地方,比如大家用eclipse你想用IntelliJ IDEA也可以,但是刚工作肯定很多不懂,这时候暂时还不要标新立异的好,出了问题好问。当然你是ide大神请无视)

刚入职还接触不到核心工作,就让我先改改页面什么的,作为web开发html、css、和javascript不用精通,至少需要了解用法和语法吧,虽然

有前端工程师,但是这个肯定也是要了解的(自己公司小项目组,各个都被逼成全栈了)。javascript其实还是很强大的,但是刚开始不用写的很深,很

多轮子可以用,比如easyui,会查阅官方文档,知道用法往网页里嵌,然后后台按格式把数据传到前台就好。

然后开始逐步往后台写了,熟悉下设计模式,如果太多太难理解可以先理解工厂模式,写一个接口再用一个或若干个实现类实现这个接口,需要用的时候在根据需要

来确定用哪个实现类。(一开始不理解这么做这么繁琐有什么用,但是自从上次项目的数据库从oracle换成mysql就知道这么做其实大有用处)一般项目

开发都会用到设计模式,不了解可能会摸不清楚整个项目的架构,无从下手。

不同公司用的框架不一样,但struts,spring还是用

的比较多的,所以这两个东西还是比较熟悉的好,不然你可能连整个项目的架构都不清楚,不要说自己写,连改都很难入手。比如项目的跳转是怎么配的,哪个配置

文件代表了什么。(一开始我把项目本地跑起来以后我连主页在哪是哪个文件怎么进去的都不清楚T.T,一直在找index.jsp然后才知道项目用

freemarker做的,是一个ftl文件)

web项目要操作数据库的工作是少不了的了,自己跟的项目没用hibernate,主要用的是StringBuffer拼接sql,如果从事web开发,sql还是要比较熟的。

自己感觉做web项目设计高深算法的可能做的比较深才会遇到,更多的是对字符串和数值格式的操作,比如后台从数据库抽出来到前台怎么展示,用户输入的数据

怎么怎么存到数据库里,所以最好熟悉下字符串的操作,分割呀合并呀,String转float、int什么的,日期格式呀什么的。

如果公司有专业运维,服务器部署什么的交给他们就好了,如果没有就最好还是了解下,远程连接呀,linux的一些简单的命令呀,tomcat呀什么的

20%我不知道从哪方面去理解,接下来我会将自己多年来工作中会经常使用到的技术列出来。

html、css

java工作原理(jvm)

java语法、数据结构和算法

java语言特性(封装、继承、多态、抽象)

java设计模式(在开发中会经常用到)

java反射机制(常用框架都会用到反射机制)

io(文件读写)

多线程

网络编程

javascript

jquery

数据库(oracle、mysql等等)

servlet

JDBC

javabean

WEB项目分层架构

前后台交互

ajax

过滤器及过滤器原理

常用框架(Struts、hibernate、spring、springMVC、i/mybatis)

框架整合

工作流(流程引擎工作机制)

xml、properties、json

常用页面以及后台插件(tree、时间、poi等等)

nosql数据库以及应用场景(mongoDB)

缓存数据库以及机制(redis、memcached)

第三方接口调用

SDK

web应用服务器(tomcat、weblogic)

linux

日志

数据库连接池

maven

svn

建模工具(powerdesiner、axure)使用

TCP/IP


相关文章

  • tips:虽然题目是写的Java程序员,但对其他语言的开发来说也会有借鉴作用. 工作一年(以内) 但是加班不代表你就可以松懈了,互联网这个行业,技术迭代的速度非常快,稍不留神你可能就out了.我还记得某位大佬说的那句话,从你入行那一刻起,你 ...
  • [IT168 评论]想成为一名出色的Java程序员么?本文将为大家重点介绍程序员必备的十大技能,成就您的梦想. 1.语法:必须比较熟悉,在写代码的时候IDE的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误并且知道任何修正. 2 ...
  • [Java学习探讨]为什么学Java虚拟机的Java程序员更值钱?
    [Java学习探讨]为什么学Java虚拟机的Java程序员更值钱? 曾经的我经常害怕处理与JVM相关的异常,对JVM的配置参数也一无所知,那时候我天真地认为,JVM的出现本身就是想让程序员屏蔽实现细节,作为一名普通的开发,我们完全没有必要了 ...
  • 对于一个刚从学校毕业的应届生,怎样才能较好地适应企业的发展,而不被企业所淘汰.个人有以下一些见解. 首先,JAVA程序员毕竟是一项技术工作,所以我们必须从技术上和业务上不断地提升自我.那提升自己的技术水平和业务水平又需要大家具备以下能力. ...
  • 首先说明,这几年接触的最多的程序员就是C++程序员和Java程序员,这只是我自己的一点体会而已,一个人的眼光难免是浅薄的.不过,欢迎拍砖,也欢迎对号入座. 从对基础知识掌握的程度来说,例如数据结构和算法,C++程序员要比Java程序员牢靠得 ...

2020 unjeep.com webmaster#unjeep.com
12 q. 0.013 s.
京ICP备10005923号