引入课程和Maven1.Mavenmaven中央仓库:MavenRepository:Search/Browse/Explore(mvnrepository.com)maven仓库是国外的一个网站,由于网络问题,我们也常使用maven仓库的镜像maven的原理和java程序操作数据库,然后数据库返回相关数据类似。1.1创建maven-web项目先创建一个Maven的Web项目选择file-new-project在弹出的窗口中选择Maven,点击选择右边的createfromarchetype在下面选择maven-archetype-webapp,然后点击next输入相关数据,点击next指定项
实现011.实现任务阶段1编写mytomcat,该服务器能给浏览器返回“你好,我是服务器!”的简单信息。根据之前的tomcat框架整体分析,我们将浏览器发送请求,tomcat服务器处理请求,返回资源的整个过程分为三个部分。现在来分析并初步实现第一部分的功能。1.1基于socket开发服务端流程1.2需求分析/图解工作:先打通自定义web服务器和浏览器之间的通道。如浏览器请求http://localhost:8080/Xxx,服务器可以接收请求并返回简单数据。注意:这里的交互是都建立在http协议之上的。服务器获取到的数据是http格式的,返回的数据也要封装成http格式,浏览器才能正常解析。h
实现011.实现任务阶段1编写mytomcat,该服务器能给浏览器返回“你好,我是服务器!”的简单信息。根据之前的tomcat框架整体分析,我们将浏览器发送请求,tomcat服务器处理请求,返回资源的整个过程分为三个部分。现在来分析并初步实现第一部分的功能。1.1基于socket开发服务端流程1.2需求分析/图解工作:先打通自定义web服务器和浏览器之间的通道。如浏览器请求http://localhost:8080/Xxx,服务器可以接收请求并返回简单数据。注意:这里的交互是都建立在http协议之上的。服务器获取到的数据是http格式的,返回的数据也要封装成http格式,浏览器才能正常解析。h
正则表达式015.1正则表达式的作用正则表达式的便利在一篇文章中,想要提取相应的字符,比如提取文章中的所有英文单词,提取文章中的所有数字等。传统方法是:使用遍历的方式,对文本中的每一个字符进行ASCII码的对比,如果ASCII码处于英文字符的范围,就将其截取下来,再看后面是否有连续的字符,将连续的字符拼接成一个单词。这种方式代码量大,且效率不高。使用正则表达式packageli.regexp;importjava.util.regex.Matcher;importjava.util.regex.Pattern;//体验正则表达式的便利publicclassRegexp_{publicstati
正则表达式015.1正则表达式的作用正则表达式的便利在一篇文章中,想要提取相应的字符,比如提取文章中的所有英文单词,提取文章中的所有数字等。传统方法是:使用遍历的方式,对文本中的每一个字符进行ASCII码的对比,如果ASCII码处于英文字符的范围,就将其截取下来,再看后面是否有连续的字符,将连续的字符拼接成一个单词。这种方式代码量大,且效率不高。使用正则表达式packageli.regexp;importjava.util.regex.Matcher;importjava.util.regex.Pattern;//体验正则表达式的便利publicclassRegexp_{publicstati
开篇词|四纵四横,带你透彻理解分布式技术谁更好掌握了分布式技术,谁就更容易在新一轮技术浪潮中获得主动。很多有多年工作经验的人,在分布式上面,也可能会有下面的问题:各种分布式概念、名词学了一大堆,但经常张冠李戴,傻傻分不清楚。做了多年技术,也参与了很多分布式技术实践,却无法回答工作中各种分布式技术、组件、框架选型背后的根源。在一个分布式技术配套的典型场景往往能驾轻就熟,但一旦稍微变更考察业务场景、业务目标后,就变得好无头绪。我们在学习中不要完全依赖于碎片化信息,这样不能体系化的理解我们要学习的知识,更不用说去综合运用了。针对整个分布式体系,我们可以从下往上,将其分为4部分:分布式资源池化,解决资
开篇词|四纵四横,带你透彻理解分布式技术谁更好掌握了分布式技术,谁就更容易在新一轮技术浪潮中获得主动。很多有多年工作经验的人,在分布式上面,也可能会有下面的问题:各种分布式概念、名词学了一大堆,但经常张冠李戴,傻傻分不清楚。做了多年技术,也参与了很多分布式技术实践,却无法回答工作中各种分布式技术、组件、框架选型背后的根源。在一个分布式技术配套的典型场景往往能驾轻就熟,但一旦稍微变更考察业务场景、业务目标后,就变得好无头绪。我们在学习中不要完全依赖于碎片化信息,这样不能体系化的理解我们要学习的知识,更不用说去综合运用了。针对整个分布式体系,我们可以从下往上,将其分为4部分:分布式资源池化,解决资
1. 语言的演变1.1. C和C++仍然是构建操作系统和各种嵌入式系统的流行工具1.2. Java和C#等安全型语言在诸多运行资源不太紧张的应用中已经取代了C和C++1.3. Java可能会被同样运行在JVM上的竞争对手语言(如Scala或Groovy)取代1.4. Ada、Algol、COBOL、Pascal、Delphi、SNOBOL没落1.4.1. COBOL一度是最重要的商用语言之一2. Java的演进路径2.1. Java8于2014年3月2.1.1. 比Java历史上任何一次改变都深远2.1.2. 长支持(LTS)2.2. Java9于2017年9月2.2.1. 效率提升方面的重要
1. 语言的演变1.1. C和C++仍然是构建操作系统和各种嵌入式系统的流行工具1.2. Java和C#等安全型语言在诸多运行资源不太紧张的应用中已经取代了C和C++1.3. Java可能会被同样运行在JVM上的竞争对手语言(如Scala或Groovy)取代1.4. Ada、Algol、COBOL、Pascal、Delphi、SNOBOL没落1.4.1. COBOL一度是最重要的商用语言之一2. Java的演进路径2.1. Java8于2014年3月2.1.1. 比Java历史上任何一次改变都深远2.1.2. 长支持(LTS)2.2. Java9于2017年9月2.2.1. 效率提升方面的重要
Java集合011.什么是集合?前面我们保存数据使用的是数组,数组有不足的地方,我们来分析一下:长度开始时必须指定,而且一但指定不能更改保存的必须是同一类型的元素使用数组进行增加/删除元素的很麻烦----重新创建一个数组,将旧数组的元素拷贝过来集合的好处:可以动态地保存任意多个对象,使用比较方便提供了一系列方便的操作对象的方法:add、remove、set、get等使用集合添加、删除新元素简单高效1.1集合的框架体系集合主要是两组(单列集合,双列集合)Collection接口有两个重要的子接口List和Set,它们的实现子类都是单列集合Map接口的实现子类是双列集合,存放的是K-V例子pack