全国千锋IT培训

java网络编程怎么学,Java网络编程(一):初体验

发布时间: 2021-06-18 20:42:19

想了解java网络编程怎么学吗?想了解Java网络编程(一):初体验,怎样才能学好java基础?记住,平时没人会给你说这些!,自学5个月Java找到了9K的工作,我的方式值得大家借鉴?? 吗?......本文带你一探究竟。

1.Java网络编程(一):初体验

有同学反应,光写数据结构太枯燥了,能不能搞点有趣的东西。嗯,我决定把网络这一部分提到前边来,做一点有趣的东西。这节课,我们体验一下Java网络编程。Java语言被越来越多地应用在网络环境下,偏重于服务端的开发,还有分布式系统,软件定义硬件功能的场景等等。这些场景下,都非常依赖于语言的网络开发的能力。我们今天就尝试使用一下Java的网络编程。Java的网络编程的接口大多数位于 和 java.nio 这两个package里,掌握这两个package是Java程序员必备的基础技能。服务端连接网络的过程和打电话的过程可以进行类比。比如,在手机网络中,每一个手机都有一个手机号,我们知道了某个提供服务的号码(比如外卖电话,银行电话等),拨通这个号码,就可以进行通话了。计算机网络也差不多,在计算机网络中,每个计算机上的每个网卡,都会有一个号码相互识别,这个号码在不同的场景下,会有不同的表现,比如,网址:知乎 - 与世界分享你的知识、经验和见解,再比如IP地址,再比如mac地址。后面我们会一点点讲解这些地址分别在什么场景下使用的。现在我们只需要知道一个服务端是要有一个地址的。而在我们的今天的场景下,这个地址(可以类比手机号码)就是IP地址。不多说了,先上代码,跑起来,大家就明白了。public class Server { public static void main(String args[]) throws { ss = new (8080); Socket conn = ss.accept(); br = new (new (conn.())); bw = new (new (conn.())); String s = br.readLine(); while (s != null) { System.out.println(s); bw.write(s.() + "\n"); bw.flush(); s = br.readLine(); } br.close(); bw.close(); conn.close(); } } 可以看到服务端在8080端口上开启了一个,等待连接。大家可以单步调试一下,看看当调用到accept的时候会发生什么情况。然后就是创建一个Reader用于从网络上读数据,一个Writer向网络上写数据。读进来的一行,把它转成大写,再发回到客户端。客户端也把代码放上来public class Client { public static void main(String args[]) throws { Socket conn = new Socket("127.0.0.1", 8080); br = new (new (conn.())); bw = new (new (conn.())); bw.write("hello\n"); bw.flush(); String s = br.readLine(); System.out.println(s); bw.write("world\n"); bw.flush(); s = br.readLine(); System.out.println(s); br.close(); bw.close(); conn.close(); } } 和服务端对应的,客户端创建一个Socket,这个 Socket 在构造的时候就发起向服务端的连接。连接了以后,也创建一个 Reader,一个 Writer。接着向服务端发送了两个小写字符串。先运行服务端,再运行客户端,我们可以看到这样的结果:问题今天就先稍微体验一下吧。这里涉及到socket,ip 地址, 端口号(程序中是8080)这些到底有什么关系?在Java虚拟机里到底是如何实现的?这些问题,我们会在接下来的课程里慢慢解释。今天的作业,从控制台上输入一个字符串,然后发送到服务端。上一节课:数据结构(七):二叉树的删除和应用举例下一节课:分层网络协议目录:课程目录

2.怎样才能学好java基础?记住,平时没人会给你说这些!

迅速发展的信息技术时代,互联网也是行业的领军者。而Java这门语言也一直成为电脑语言的领头大哥,而且在市场上这门语言也非常的成熟,这方面的人才也是供不应求。可能大部分人都知道,Java这门语言也是有点难度的,主要在于他的知识点多,每一个知识点都跟前面的所有知识点相关联,前面的学不懂,后面的课程只会越来越困难。可能会导致你还没有入门就放弃了。虽然所有电脑语言的入门*件事都是,但是其中却存在非常多的熬妙,比如为什么一定要有main方法才能够执行程序,为什么在输出语句里面写了几个字母就能够输出数据来。这些我想你们都没有真正的去了解过,所以从这些细节就可以看出来你是不是真正的学好了Java这门语言。 一、一个系统的学习方案,跟一套完整的教程。现在是互联网时代,不管是书籍还是视频,网络上面的资源是非常的多,但是学习方案每个人都不一样,应该给自己定制一套适合自己的学习方案。这里推荐我觉得写的好的且适合基础入门学习的书籍:1,《Thinking in java 》适合入门建立正确的概念2,《Core java》这本书很贴近实践,更多的API的介绍3,《java入门到精通》4,《java核心编程思想》5,《java编程思想,第四版中文》书是必要的,但是有一到三本就好了,不需要太多,太多了你会看不过来,如果你有更多的时间,那你可以多看几本,不要盲目的去学习,这样不仅达不到效果,还会浪费一大把的时间和金钱。学习过程中要不断的巩固学过的知识,每天把所学的知识点吃透,不断的练习,Java这个行业需要的是你的经验,而经验就是在你不断练习过程中通过程序的报错来积累的。不要害怕写代码的时候出现错误,你要知道,行业里面的大佬,他们也是从你这里过来的,只是他们遇到的问题比你敲的代码的字母量还多。给你看一下我梳理的javase学习路线: 二、掌握学习的方法,这么多自学的人,百分之七八十的人都会放弃,因为他们在盲目的摸索,或者说他们在模仿别人的学习方法。模仿别人没错,但是你也得选对人,不是每个人的学习方法都适合你,而且你跟别人的学习能力都不一样,按照别人的学习方法可能会导致你跟不上或者浪费一部分的时间。其实不管你怎么去学,每天必须给自己一定的压力,把自己的时间安排满,不要让自己闲下来,当你闲下来之后,下一秒钟再去学习就没有这样的激情或者动力,因为当你闲下来之后你就会感觉到自己很疲惫,再去学习就没有多大的效果。 三、每天要对自己学的知识点进行总结,不管是学了多少,一定要记住一个前提,必须学懂。如果你这一个知识点没有学懂就会导致你下一个知识点出现缺漏,然后把自己陷入一个即懂又不懂的僵局。然后再是对自己所学的知识点进行总结,比如今天学了集合,集合中哪些方法是常用的,哪些方法比较难,在这过程中出现了什么问题,如何去解决这些问题的。再然后就对自己今天所学的知识点进行一个综合的检测,检测自己的过程中把不会的或者忘记的再去复习一遍;或者给自己找一个综合一点的题目,把前面所学的知识点包括在里面一起进行检测,这样不仅检测到你今天的知识点,以前的知识点也进行了一个巩固。 四、多去寻找别人的帮助,可能别人的一句话会顶过你几天的知识点,虽然学习是要靠自己,但是想要java学的快学的扎实又高效,外界的帮助是必须的,很多初学者的问题都非常简单,对于别人来说一眼就能看出是什么问题,而你自己看了大半天都找不到自己的问题出现在哪儿。学习要记住的一点就是要脸皮厚,自己解决不了的问题就去寻求别人的帮助;古代有一句话:听君一席话胜读十年书;这句话用在这儿一点都不夸张,因为别人在社会上摸爬滚打这么多年,他们的经验是你无法想象的,你几天能想出来的问题别人一秒钟就能够指出你的问题所存在的问题,而且会把你说得心服口服,甚至有些话你都听不懂。因为什么呢?还不是一个经验的问题,别人把遇到的问题经过多年的经验总结成了自己的一句话,每次在工作的过程中都被这句话提醒到,不能再去范这个错误。其实行业里面的人都会有这个想法,都想炫耀自己学得知识,当你去问他问题的时候,他一定会跟你讲,因为在他眼里看来他就是比你强,然后自己再无私奉献一点知识给你,别人其实一点都不亏,不仅装了X,还把你的问题给解决了。学习Java主要分为四个阶段: 一、JavaSE基础阶段:JavaSE作为Java的基础,非常重要,后面学习的框架的深度就在于你JavaSE的学习程度,基础越好的人对框架的理解完全不一样,因为他们会去了解框架的底层原理,而且还能看懂。这些放在一个JavaSE基础不是很好的人来说很吃力,因为他们看不懂框架的源码,自然就不会真正的知道框架的底层原理。有的人做了一两年的java开发,虽然工资高,但是他们对于JavaSE基础部分的学习是远远不够的,这也关系到他们后面的职业生涯的发展。所以,学习java的人JavaSE才是你真正的起点。可掌握的核心能力: 1,能够掌握DOS系统常用基本命令 2,熟练使用eclipes编写java代码 3,熟练使用java语言的常用对象 4,掌握常用数据结构和算法 5,掌握面向对象编程思想,为以后深入javaee打下坚实基础实战项目:学生管理系统java项目链接: 二、数据库:数据库是开发一个程序中不可缺少的部分,一个程序必须有一个数据库。数据库主要是用来保存数据,保证数据不会错乱,不会随意的改动,更不会使数据消失,保证了数据的完整性。 三、JavaWeb和网页三剑客:JavaWeb基本上是所有的框架的入门,学懂了JavaWeb之后,后面的框架学习也会提升一个档次。网页三剑客就是HTML、JS、CSS;这些也是学习后端必须掌握的知识。java网页开发可掌握的核心能力1,运用常用的网页开发技术设计网页2,掌握WEB系统呼叫管理3,掌握javaWeb开发核心技术4,运用javaWeb核心技术完成简单的功能实现5,掌握javaWeb高级技术,创建更好的Web应用程序项目实战:链接: 提取码:t0x3 四、JavaEE框架:基础框架:SpringMVC、Spring、MyBatis扩展框架:maven、、、、redis、等等代码管理工具:git、svn项目实战:链接: 提取码:xrlp记住,基础学习不要盲目的追求学习速度,要一步步走稳,多去敲代码练习,多积累经验。我是java开发工程师,这些都是我这些年在工作中的一些基本的总结和经验,我是过来人,个人观点,希望把我经历过的,学过的,看到过的分享给你们大家,希望你们在学习中少走弯路,提高学习的效率,少花冤枉钱和时间,这些都是实话,忠言逆耳,希望可以帮助到你,你要知道社会是现实的,当你走向社会的时候,你会发现,没有真本事,社会不是那么好混的。

3.自学5个月Java找到了9K的工作,我的方式值得大家借鉴

我是去年9月22日才正式学习Java的,因为在国营单位工作了4年,在天津一个月工资只有5000块,而且看不到任何晋升的希望,如果想要往上走,那背后就一定要有关系才行。而且国营单位的气氛是你干的多了,领导觉得你有野心,你干的不多,领导却觉得你这个人不错。我才26周岁,实在的受不了这种工作氛围,情绪已经压制了很多久,一心想着要跳出来,却一直找不到合适的机会。因为身边的朋友有在北京做Java开发的,他工作了四五年的时间,可以在北京拿到3万的月薪,说心里话我是真的羡慕,这远超出了我的认知范围。所以经过朋友的推荐,我开始学习Java,一共学了大概5个多月的时间,今年的3月6号在天津找到了一份Java开发的工作,我包装了一年的工作经验,月薪9K五险一金,这算是成功上岸了。在刚开始学习的时候我考虑过去线下培训班,但是我朋友不建议去,因为他就是培训出来的,他和我说去培训班几乎没作用,你去了之后会发现全程都是靠自己自学,老师上完课就走,不如自己看视频学有效率,如果再有一次机会,我绝对不会花3万块钱去培训。因为朋友是过来人,他的建议我不得不听,而且我在网上查了一下,培训班的口碑似乎都不好,这就让我直接放弃了培训的想法。况且3万的培训费用是我不吃不喝半年的工资,确实有点舍不得。于是我开始自学,因为有朋友是做这行的,所以自己在开始的时候少走了很多弯路,他给了我很好的建议,所以学习Java有个大佬带是尤为重要的。因为做软件研发的都有一个圈子,所以经过了朋友的引荐,他让我加了他们那个圈子的Java技术研讨群。里面大部分都是自学成功的大佬,在整个学习期间,我在他们这里真的是得到了不少的帮助。因为他们每个人都积累了很多资源,所以平时都是相互分享资源,如果公司有内推就业的名额也会相互推荐工作机会。当然里面也有一些还在学习中的人,这都是朋友相互推荐聚到一起的。所以我建议那些还在学习Java的初学者,一定要多结识一些行业内的大佬,可以加一下这个Java交流群,对于一个初学者来说可以获得非常多的帮助,平时有一些问题发在群里,他们中有人工作不忙的时候就会出来解答,效率很高而且每个解答都讲解的非常透彻。我之所以能在5个月左右的时间自学Java就业,确实是得到了这些大佬不少的帮助。 Java主要的学习内容:一、JavaSE基础篇JavaSE就是一种标准版,是Java语言的基础部分,Java衍生出来的各种框架(如Spring系列)各种产品都是基于JavaSE标准,JavaSE是Java向上发展的基础,Java任何高级产品的底层基础都是JavaSE,通俗来讲这是所有孩子的”爹“。JavaSE如果学不好,理解不透彻,后面学习框架时就有如天书一般,所以JavaSE这部分的重要性是不言而喻的,希望各位初学者铭记。主要包含内容:数据类型、基础语法、运算符、流程控制、数组、面向对象、常用类、异常处理、集合、IO流、多线程、反射、注解、解析、网络编程。二、数据库篇数据库是学习Java语言必学的一项内容,常见的数据库就是MySQL和Oracle这两种,作为初学者一般都是学习MySQL为主,一般情况下中小型企业都会选择MySQL数据库,比较大型的互联网公司会选择用Oracle,而学习Oracle相对于MySQL也要复杂一些,建议是主要学习MySQL数据库,Oracle作为了解即可。学习数据库较为简单,基本的操作就是增删改查。三、Web开发Web前端内容:HTML/CSS//(前端页面)注意:Java后端开发可以不用过多关注HTML页面及CSS的处理,但是最起码要会用简单的HTML,是必需要会的,因为Javaweb后端程序员毕竟要接触使用AJAX方式处理数据及显示。当然如果只关注服务器端实现而不考虑任何用户界面,则HTML、CSS、都不用关注,但是完全脱离前端的开发现在虽然也不少,但是绝对不关心前端是不可能,尤其是,但是前端却可以完全不关心服务器后台的任何实现。JavaEE内容:Servlet/JSP虽然现在网上在传JSP很少用了,可能是被一些模板或JS AJAX方式代替了一些,但是我认为还是应该接触一下,万一要用到不会怎么办,而且它是Java EE的动态网页实现标准组件。学习JSP过程也能更好的帮助我们理解web会话的过程,掌握web会话都有哪些我们必需知道的。如果学习Javaweb、JSP都不接触那就相当于学习使用而一点不接触一样,岂不是稀里糊涂。包括开发Javaweb 我们必需知道的概念诸如Web应用上下文,请求对象,响应对象,,Cookie等都是在接触学习JSP和Servelt中体现的,还有一些比较少见的EJB JSF JMS 以及 Java Felix等。一些初学者不清楚这些难免会有误区,尤其是有些较成熟的工程师也这么说,我只能说他们很无知,只是代码机器而已,其实对于应用开发设计也就稀里糊涂,人云亦云罢了。永远没有被淘汰的技术也没有永远流行万能的技术,要看在什么环境和场合应用,符合我需求的技术和工具就是好的,就是对的。四、高级框架1、 核心IOC容器2、Spring boot 在Spring基础上的更全面提升效率的Spring工具3、ORM 框架当今流行使用较多的是Mybatis 和 MP(Mybatis插件),Hibernate是可选性学习的4、模板技术,比较成熟的、Spring Cloud 微服务框架,Spring Cloud提供的全套的分布式系统解决方案。五、工具maven 是构建管理项目的工具,svn 和git是团队协作开发的项目源代码及相关文档资料管理工具,需要学习者初步掌握其应用。像Tomcat,jetty ,resin,JBoss,GlassFish 等都是部署运行Java web应用的服务器。以上就是初学者大概学习的内容,我是尽量站在初学者的角度来说的,没有写得特别复杂,怕初学者看不懂,没有实质性的帮助。所以我尽量用白话把话说的简单一些,给大家罗列出主要学习的Java知识点。Java学习 - 知乎有任何关于Java相关的疑问,随时私聊我。

上述文章了解到关于Java网络编程(一):初体验,怎样才能学好java基础?记住,平时没人会给你说这些!,自学5个月Java找到了9K的工作,我的方式值得大家借鉴?? ,让我们对java网络编程怎么学 有一个直观的认知。我们发现,作为一个优秀的Java程序员是多么的自豪。

更多培训课程,学习资讯,课程优惠,课程开班,学校地址等学校信息,请进入 全国千锋IT培训网站详细了解
咨询电话:400-850-8622

相关文章

最新文章

相关课程

温馨提示:提交留言后老师会第一时间与您联系! 热线电话:400-850-8622