当前位置:首页 > 生态圈 > 正文内容

学java走哪个方向好专升本(java学什么方向)

abcsky884个月前 (01-26)生态圈48

本篇文章给大家谈谈

点「赞」和「关注」是最大的支持想要提升IT技术的小伙伴们欢迎「关注」我们下方👇的【视频号】我们会持续更新技术讲解干货 后端进阶之路 ,赞 3

学java走哪个方向好专升本(java学什么方向)

一、学习步骤熟悉一种文本编辑器,比如Vim, Emacs, Notepad++, TextMate等知道哪些是开源的,哪些是闭源的,哪些要收费养成不用盗版软件的习惯安装JDK(建议用你的Linux发行版自带的软件包管理器安装openjdk,过程中可能需要读发行版特定的文档)。

写一个Java的Helloworld程序,并用命令行工具javac编译,再用java命令运行这个程序过程中熟悉源代码、字节码、虚拟机这些东西,以及Java的包(pa外贸网站推广哪家好ckage)对.class文件所在的路径的影响。

如果这两个命令行工具使用熟练了,可以开始选一个喜欢的集成开发环境,比如Eclipse当然,养成不用盗版软件的习惯熟悉一下如何建立“工程”,以及快捷键的使用学习Java的面向过程编程,包括基本数据结构、表达式、语句、控制流、函数调用。

学习Java的面向对象编程,包括类、引用类型和值类型的区别、成员、方法、访问控制、继承、多态、接口、接口实现顺便学习一下面向对象的基本思想,即对象、消息、封装、继承、多态等,这些通用的内容不是Java特有的。

这时候应该已经涉及了Java的垃圾回收要留意即使有垃圾回收的情况下也会发生的内存泄露(如自己设计数组容器,元素是外贸网站推广哪家好引用,逻辑上删除了元素,但并没有清成null)注意垃圾回收只能回收内存中的对象,除了内存以外,

其它资源不能依靠垃圾回收来关闭比如,文件、管道、Socket、数据库连接等,垃圾回收是不会帮你关闭的学习Java的异常处理,但更重要的是学习什么时候用特殊返回值而不使用异常,什么时候应该抛出异常而不处理异常。

,知道什么是pokemon catch及其危害,了解为什么Java的checked exception是一个糟糕的特性如果愿意,同时学习一下Java1.7的try-with-resource语句和AutoCloseable接口。

熟悉Java常用的数据结构,如基本的数组类型,以及泛型容器(java.外贸网站推广哪家好util.*),尤其是java.util.List接口和java.util.ArrayList实现;以及java.util.Map接口和java.util.HashMap实现。

(java1.5以前的没有泛型参数的就不用碰了)同时留意一下基本类型int, double等和装箱类型Integer和Double的区别,以及它们是如何自动转换的熟悉Java标准库里的各种工具,包括日期时间、字符串格式化、IO等。

**知道文件要自己在finally子句中close(),或者用Java1.7的try-with-resource,不要妄想垃圾回收器会帮你关掉文件学习一下Java的命名习惯,以及JavaBean外贸网站推广哪家好s的常规,知道为什么getter/setter比直接操作成员变量好。

按这种方式给Java的变量、方法命名同时看看你的IDE能不能自动帮你生成getter和setter使用一个第三方的库(比如Apache Commons Lang通用工具库),让你的程序依赖于它的二进制jar包(而不是直接拷贝源代码),用命令行编译、运行(注意classpath等);也熟悉一下如何用你的集成开发环境添加第三方依赖。

感受一下手动管理依赖关系的麻烦学习Maven的使用,试着让Maven帮你解决依赖关系,再试着让Maven帮你创建一个Eclipse工程再试试用Maven打包发布学习软件测试,以及JUnit的使用,以及怎外贸网站推广哪家好么在IDE中使用JUnit。

有空看一下coverage工具读读四人帮写的《设计模式》(这本书是用C++和Smalltalk语言为例子的,但仍然适合Java)具体的是这本书,http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612图书馆应该能还借到英文原版,因为我借到过。

二、关于语言如果学Java学得不舒服了,学Python如果对面向对象编程的概念有点不习惯,学Smalltalk(Ruby也行,但不如Smalltalk经典Ruby的文档是一大硬伤)如果嫌Java太啰嗦,学Python外贸网站推广哪家好

如果嫌Java太啰嗦,又想用JVM,自己又有精力,学Scala如果对对象之间的关系有点晕,学一学UML,以及它的一些图,可以对程序和运行进行直观的建模你的IDE也许有插件可以生成UML图但是不要太沉迷于这些方法论。

三、调试和辅助工具试试用jconsole或者VisualVM监控另一个jvm的状态用profiling工具寻找程序中慢的地方Eclipse有profiling工具VisualVM也有这样的功能(如果不介意使用闭源软件的话,也试试JProfiler和YourKit)。

有的JVM允许在运行时更新代码Eclipse可以和某些JVM集成这样你可以频繁修改代码而不用频繁重启JVM对于某些“重外贸网站推广哪家好型”工程很有用(如果不介意使用闭源软件的话,也试试jRebel)四、多线程学习Java的多线程编程以及lock、condition的用法(包括传统Java的synchronized语句以及新加的java.util.concurrent.*),学习一下如何让线程停下来,以及为什么要频繁确认isInterrupted()而不要用Thread.stop()。

了解一下多核处理器、缓存、内存的关系,以及为什么多线程编程这么难如果还舒服,学习一下Runnable的用法,以及自带的Executer等基本多线程工具应该已经留意到java.util里面的很多容器不是线程安全的,但是java.util.Colle外贸网站推广哪家好ctions可以帮你创建一些安全的版本。

另外关注一下java.util.concurrent里面有ConcurrentMap等容器可供使用如果有空的话,看看memory model(内存一致性模型)和无锁同步(见java memory model和java.util.concurrent.atomic)。

如果还有空,再了解一下除了“共享内存多线程编程”以外有没有别的模型(多进程multi-processing、消息传递message passing等)五、反射/元编程学习Java的反射机制,以及Annotation的用法。

如果还舒服,试试java.lang.reflect.Proxy的用法如果外贸网站推广哪家好仍然舒服,玩一玩CGLib(一个第三方的库)六、多线程学习一下IP,TCP协议(计算机专业的应该学过,复习一下),学习Socket编程(注意垃圾回收器不会帮你关掉Socket)。

如果不是很关心HTTP,看看java.nio,学习单线程轮询式IO复用(Selector)如果关心Web还有HTTP,就学习一下HTTP协议,以及用Java进行HTTP的客户端编程如果还舒服,学学HTML,写写HTML的静态网页(不需要Java)。

如果还舒服,用Java写一个基于DOM、XPath或者CSS Selector的网页解析器(爬网页)如果还舒服,学学Java的Servlet接口(先别学jsp)进行Web服务外贸网站推广哪家好器端编程学学标准的Servlet容器怎么用,包括web.xml的用法以及listener、filter等概念。

以及某个Servlet容器(如Jetty或者Tomcat)的具体用法如果仍然还舒服,试着学一种模板语言(如haml, velocity, freemarker,【还有其他更好的框架吗?我不知道】, String.format,如果真的想学JSP的话JSP倒是也行,但不推荐)。

如果仍然觉得舒服,学学Spring框架中的Web框架,或者Struts,看你的口味如果还舒服,看看Spring Bean Container以及里面各种乱七八糟的工具如果还舒服,或者有需求,了解一下什么是RESTf外贸网站推广哪家好ul Web Service,复习一下HTTP,找找适合的Java工具。

你可能会觉得Jackson是一个解析JSON用的好用的东西如果有点不明白nio的意图的话,了解一下c10k问题http://www.kegel.com/c10k.html如果身体没有异样的话,大概了解一下操作系统(包括C语言)提供的select, poll, epoll, kqueue等接口。

如果身体仍然没有异样的话,试着用java.nio写一个文件服务器如果还有精力的话,上网扒一扒有没有其他的通信库,如netty等七、多线程学习一下关系数据库(计算机专业的应该学过,复习一下),包括SQL选一个数据库管理系统熟悉一下(比如外贸网站推广哪家好MariaDB,或者(如果你不讨厌Oracle的话)用被Oracle收购了的MySQL。

先脱离Java单独学学)然后看它们的官方文档教你怎么用Java连接这种数据库这中间会涉及到JDBC接口同时一定要知道SQL注入安全漏洞,以及掌握如何用PreparedStatement防止注入!!建议看 http://bobby-tables.com/。

可能中间会涉及“事务”问题,让你不知不觉地开始去了解java transaction api(JTA)如果还舒服,学一学对象关系转换(如Hibernate)也可以学学非关系数据库,以及如何用Java访问它们。

八、日志记录学习一下slf4j和logback的用外贸网站推广哪家好法如果有精力的话,大概了解一下世界上有多少种Java日志框架,以及slf4j是怎么桥接这些框架的九、构建(build)系统学习一下Ant的用法如果还舒服的话,学习一下用Ivy从Maven的仓库里下载软件包,解决依赖关系。

十、版本控制学习一种分布式版本控制器(如Git、Mercurial、Bzr、Darcs等,推荐Git)的基本用法,以及如何用它管理Java工程希望你已经开始使用Maven了,并且知道为什么把IDE生成的工程文件(如eclipse的.project,.classpath和.metadata)放入版本控制器不好。

然后了解一下如何在IDE中使用版本控制(Eclipse自带Git插件)外贸网站推广哪家好如果感觉很舒服的话,为你们实验室搭建一个Linux+SSH+Git服务器,装个GitLab(一种Web界面)了解“集中式版本控制器”和“分布式版本控制器”的区别,并说服同事们不要再用SVN、CVS或者SourceSafe等老旧的“集中式版本控制器”了。

开设一个GitHub账户如果你不喜欢Git,就用BitBucket等十一、持续集成自己(或者为你们实验室)搭建一个持续集成(Continuous Integration)服务器,如Jenkins,定期编译你的程序。

建议同时使用Git等分布式版本控制器如果你做开源软件,试试GitHub和Travis十二、零碎工具淘一淘java.nio.files里外贸网站推广哪家好面有什么好用的东东,然后再淘一淘Apache Commons Lang和Commons IO里有什么好用的工具。

Commons Logging就不要再用了,用SLF4j和Logback十三、XML学学XML、DOM、XPathXML这东西到处都可能用到也可以用它写自己的配置文件如果觉得不舒服了,就学学JSON和YAML。

如果还是不舒服,就学学文本文件解析十四、语法分析和编译器学学Antlr或者别的Parser Generator的用法如果觉得舒服,自己写一个计算器如果还觉得舒服,自己写一种Domain-Specific Language (DSL)。

十五、高效容器学学FastUtil或者Tro外贸网站推广哪家好ve,如果你需要进行大量数值运算的话十六、分布式计算学学MapReduce的思想以及它的实现如果还舒服,学学Scala语言以及号称比MapReduce快得多的Apache Spark。

十七、进程间通信看看ActiveMQ、MINA和RMI十八、其他语言(JVM)学习另一门跑在JVM上的语言或者实现(如Groovy、Scala、Clojure、JRuby、Jython、JavaScript……)。

如果还舒服,学一学Java Scripting API(注意不是JavaScript给个链接:http://docs.oracle.com/javase/6/docs/technotes/guides/外贸网站推广哪家好scripting/programmer_guide/ ),然后试着在自己的Java程序里嵌入脚本。

十九、其他语言(非JVM)学习另一门通用脚本语言(如Python、Ruby,其实perl也行,但不推荐),知道什么时候Java不是最好的选择二十、Java语言和Java虚拟机通读一遍(一目十行地读,不用细读)Java Language Specification,以及Java Virtual Machine Specification。

了解以下解释器(interpreter)、编译器(compiler)、即时编译器(just-in-time compiler)和优化器(optimiser)的概念外贸网站推广哪家好如果对编译器的话题不感到畏惧,了解一下method JIT和tracing JIT的概念和区别。

二十一、内存管理学学垃圾回收的几种基本算法,包括mark-sweep、mark-compact、semi-space、generational、mark-region等,各自的性能,以及为什么朴素的reference counting是不完整的。

知道为什么finalizer性能很糟糕,而且标准并不要求finalizer在程序退出前一定会执行如果还舒服,了解一下如何设置Java虚拟机的堆大小限制(如HotSpot虚拟机的-Xmx选项等)了解一下Java里的WeakReference以及SoftRefe外贸网站推广哪家好rence和PhantomReference,以及它们什么时候有用,以及为什么它们实现起来有些困难。

如果有精力,了解一下Hotspot虚拟机的内存管理算法是什么样的二十二、动态装载学学Java的动态装载(class loading)如果还舒服的话,学学OSGI以及它的一种实现(如Felix或者Equinox)。

如果仍然很舒服的话,学学写基于Eclipse平台的程序不是Eclipse集成开发环境,只是利用他们的图形框架,写自己的应用程序如果还觉得舒服的话,写Eclipse集成开发环境的插件二十三、本地/外地接口。

学习一下Java Native Interface(JNI),试着写一个Java和C外贸网站推广哪家好语言混合编程的程序如果觉得不舒服了或者觉得欲仙欲死,就学一学Java Native Access(JNA),试一试不用任何胶水代码而从Java直接装载C库,直接调用C函数。

如果连JNA也懒得学,就学一学SWIG,自动生成绑定如果觉得舒服,就学一学Java Virtual Machine Tooling Interface(JVMTI),用C程序来监视JVM的状态二十四、密码学

学一学密码学,包括编码、密码分析、攻击、对称密钥、公钥系统、数字签名、哈希算法等,看看Java有没有实现如果觉得有点不舒服(你应该不会觉得舒服吧,除非你是学密码学的,要不然总会觉得自己写的程序有安全漏洞),就写一个“人品计外贸网站推广哪家好算器”来放松一下,要求每次输入同一个姓名,得到的人品值是固定的,但又要让人无法用别人的人品值猜自己的人品值。

二十五、移动终端学一学Android开发如果有精力的话,看看Dalvik虚拟机是怎么回事建议买一个iPhone或者iPad,或许你再也不想用Android手机或者平板了二十六、历史如果觉得有些无聊,就去挖一挖历史上比较火的可能和Java相关技术,比如:。

Applet,想想它比起html5+css3+javascript的缺点在哪里AWT、Swing,想想为什么很少有人用Java写图形界面程序你觉得Swing的程序看上去舒服吗?中国人和残疾人喜欢用Swing程序吗?。

JNDI,想想它比起S外贸网站推广哪家好pring Bean Container的缺点在哪里JSP,想想它比起MVC结构的缺点在哪里WSDL/SOAP,把它们和XML-RPC、RESTful Web Service比较一下。

XSLT,以及为什么它是图灵完备的可是它真的比Java本身更好用吗?Log4j、java.util.logging、Apache Commons Logging,各自有什么问题,以及Log4j的作者本人为什么又开发了SLF4j和Logback?。

Java最早是为什么设计的?Type erasure是怎么回事?为什么ArrayList不行但ArrayList就可以?挖一挖历史其实Java不算完全面向对象的语言Jav外贸网站推广哪家好a更偏实用性,很多控制流(if语句、while循环、for循环等)来自面向过程的语言;基本数据类型(int, char, double等)也不是对象。

但另一些语言,比如SmallTalk,更偏向纯粹的面向对象的设计,包括基本的数据类型都是对象,if/while/for等也用对象和方法来实现比如:基本数据类型也是对象,可以接受消息(即方法),比如:(a + b) sqrt

这里面,a+b其实是向a发送“+”消息,参数是bsqrt也是一个消息,发给一个数if分支是这样做的:(x < y) ifTrue: [ max := y. i := j     ] ifFalse: [

max := x. i :外贸网站推广哪家好= k     ]ifTrue:ifFalse: 是一个Boolean对象的一个方法,取两个参数,每个是一个“块”,分别在真和假的情况下执行还有while循环是这样做的:[i <

100] whileTrue: [ sum := sum + i. i := i + 1     ]whileTrue是“块”的一个方法,每次对块求值,如果是真,就反复执行第一个参数(也是“块”)所以,相对其他面向对象的语言,Java并不算很“面向对象”。

所以需要补充一些对面向对象语言的了解

扫描二维码推送至手机访问。

版权声明:本文由海南拓宏网络科技工作室发布,如需转载请注明出处。

本文链接:http://www.4blc.com/post/13110.html

分享给朋友:

“学java走哪个方向好专升本(java学什么方向)” 的相关文章

中国java之父是谁(java之父多少岁)

本文分享给大家的是: 整理 | 王启隆透过「历史上的今天」,从过去看未来,从现在亦可以改变未来今天是 2022 年 5 月 19 日,在 1999 年的今天,分布式计算项目 SETI@home 正式向公众发布SETI@home 是一个通过网际网路利用个人电脑处理天文数据的分布式计算...

java开发简历(java开源项目)

今天给各位分享 Java开发面试题及答案今天抽空来整理整理Java开发面试中的那点事儿吧,帮助那些正在找工作或想跳槽找工作的兄弟姐妹们!分享目前Java开发常见的面试问题以及问题的答案给大家阅读参考。 1、String类可以被继承吗?String类在声明时使用final关键...

辽宁省大学生就业指导局官网(辽宁省大学生就业管理局)

今天给各位分享 最后一期班预约中 为缓解大学毕业生就业压力,提高就业能力,有效解决大学生就业难的问题,辽宁省人力资源和社会保障厅实施离校未就业高校毕业生专业转换及技能提升培训政策,通过对未就业的大学生开展免费培训,培养大学生一技之长,满足企业用人需求,从而促进就业...

java是个啥(java主要是做什么的)

本文分享给大家的是:   无论你是否是计算机科学专业的学生,你都可能听说过Java,它是最受欢迎的编程语言之一,拥有巨大的职业机会有数以百万计的Java 程序员从 Java 编程中赚取可观的薪水  学习Java能做什么?  移动应用程序开发   Java是开发Android...

为什么java面试净问些没用的东西(java面试为什么要离职)

本篇文章给大家谈谈 作为一名优秀的程序员,技术面试都是不可避免的一个环节,一般技术面试官都会通过自己的方式去考察程序员的技术功底与基础理论知识如果你参加过一些大厂面试,肯定会遇到一些这样的问题:1、看你项目都用的框架,熟悉Spring、mybatis等框架实现原理吗?。 2...

2年java,华为面试,一面 挂

本篇文章给大家谈谈 一位深圳的球友,上周去华为的面经,准备不充分,最后就是面试没通过昨晚上,咱们通了电话,一起总结了这次面试失败的原因失败的原因有三点:1.自我介绍现场发挥(临时组织语言,时间太短)2.八股文背的太少3.慌乱不堪(主要是前面两个原因直接导致的) 面试过程自我...