您现在的位置:首页
--> 孙豪杰
总有一些看不见的手在控制着软件的世界,就像CAP定理,第一次听到这个词竟然是在面试场合,真的是汗颜,回来之后数次尝试去理解这个定理。英文原文理解不透,中文介绍更是百花齐放百家争鸣,总是感觉一知半解。痛定思痛,决定好好研究一番,并用更加通俗的言语进行解释。
虽然系统越来越复杂,以及新分布式架构设计的思想普及,越来越多的系统采用了分布式的架构,特别是HTTP为交互方式的接口调用,移动端和PC端的并行对分布式架构带来了很大的推动。各式各样的服务接口,在处理业务流程之外有一些共性的问题,正视设计和解决这些问题,会大大提高程序的可用性,扩展性和可维护性。
在前面我们介绍的客户端与服务器端通信的小程序,当一个客户端退出通信时服务器端也结束了,不满足我们对于服务器端的定位。通常服务器应该可以同时接受多个客户端的链接,并且客户端结束后服务器端应该正常运行。所以服务器端接受链接的代码应该一直接受新的客户链接,每个客户有一个独立的程序处理,相互之间不影响,这种场景成为并发。那么什么是并发,我们一起了解一下。
虽然计算机的历史才六七十年,但是研究机器计算的历史非常久远,历史上很多杰出的数学家使用10进制进行了大量的研究,20世纪人类使用电位表示2进制(0,1),计算机才有了飞速的发展。计算机的存储和网络传输都是2进制,每个位为一个bit,每8bit为一个字节。后来计算机的用途逐渐从纯粹的数学计算扩展到各个方面,为了表示文字使用固定2进制串表示各种字符集,这种方式叫编码。目前存在的编码方式各种各样,其中我们会用到的包括ASCII主要表示英文相关字母和符号,GBK编码双字节表示中文常用字符集,UTF-8使用1-3个字节常用中文字符集。如果不涉及与GBK字符集编码的应用交互,最好使用UTF-8字符集进行开发。
继承是面向对象的三个特性之一,Java语言通过继承父类和实现接口两种方式实现继承。Java的继承有两个比较重要的特点:单继承结构,每个类只能有一个父类;所有的类继承java.lang .Object类。Object类中包含了多个默认实现的方法,其中常用的有3个,hashCode,equals,toString。
内存中的数据在程序重启或者服务器重启时会丢失,所以数据需要保存在硬盘中,关系型数据库是比较常用的数据存储方式,采用二维表(行列)模型存储的方式更加容易理解,关系型数据库有很多oracle, mysql 和 sql server是比较常用的,java web项目中经常使用mysql作为数据库存储。
前面我们介绍到了form表单,其中action属性是把表单数据提交的路径,那么数据在服务器端是怎么处理的呢?我们一起来学习一下java servlet开发实现数据在服务器端的处理。
总结一下,常用容器有4种:
List容器,主要特点有序,值可以重复,主要子类ArrayList,另外一个文章没有提到的LinkedList,在容器中值更新频繁的场合下使用。
Set容器,主要特点,无序,值不可重复,主要子类HashSet。
Map容器,键值对存储,无序,不可重复,主要子类HashMap。
数组,主要特点有序。
中国古代是否有自己的历法是朝代是否确立的标志之一,可见日期时间对人们生活的重要性,在计算机中日期和时间仍然占有非常重要的地位。Java中日期是以1970-01-01 08::00:00为基准,其他时间为这个基准的相加(或者相减)的毫秒数。jdk为格式化Date提供了一个工具类java.text.DateFormat,这是一个抽象类,最常用的子类为java.text.SimpleDateFormat,我们把当前时间输出为"2016-02-01 23:27:72"的格式。
Java的字符串类(java.lang.String)也被称为第九种基础数据类型,它是jdk中最常用的类,没有之一。
前面学习数学运算符的时候在控制台输出了所有运算的结果值,我们输出结果值的时候同时也输出了方程式结果会更清晰,比如"3 + 7 = 10"。前面我们一起学习过几次数据类型,那么基础数据类型和String之间是怎么转换的呢?"=="比较运算符是判断符号两侧的变量是否相等,如果两个字符串直接比较会是什么结果呢。
小明帮妈妈打酱油,临出门了妈妈就会说:"如果有瓶装的就买个瓶装的,否则就买一个袋装的。"这种场景在计算机中非常常见,一起来看下怎么用Java实现吧。
目前一共介绍了3种运算符,数学运算符(+-*/%),比较运算符(,=)和逻辑运算符(&&,||),基本能满足日常开发。当一起使用的时候优先级是:数学运算符>比较运算符>逻辑运算符,"()"大于数学运算符。
最初设计计算机的目的是为二战中的盟国军队计算导弹的轨迹,数学计算是计算机的最初目的,本章我们共同学习一下最基础的数学四则运算符。
为了给网页增加动态效果,设计了在浏览器(最近新出的note.js技术,可以使用javascript在服务端运行,这里不讨论这点)上运行的javascript,直接使用javascript不太方便,所以基于javascript语言开发了很多工具包,其中最常用的一个就是jquery,也是本章学习的主题。
我们基本把jquery常用的方法都介绍了一遍,包括各种选择器,数据获取,文档处理以及数组遍历,Ajax提交工具等,一篇不到1万字的文章肯定不能完全介绍jquery,开发中需要不断的查参考手册才能使用更快速的方法解决问题。
网页界面一般会有网页设计师开发,程序员在开发好的静态界面上做动态扩展,所以也需要学习html语言,会一些简单的开发和修改。另外很多小公司没有专业的网页设计师,程序员会在一些基础上(就是扒别人做好的网页)做开发和变更,因此作为一个Java工程师有必要学习一下HTML基础开发。本文介绍常用的h,span,div,br,font,i,b,a,img,ul,ol,li,tatble,form等常用标签。
[ 共14篇文章 ][ 第1页/共1页 ][ 1 ]
近3天十大热文
- [70] IOS安全–浅谈关于IOS加固的几种方法
- [67] Twitter/微博客的学习摘要
- [65] 如何拿下简短的域名
- [62] android 开发入门
- [61] find命令的一点注意事项
- [60] Go Reflect 性能
- [58] 流程管理与用户研究
- [57] 图书馆的世界纪录
- [56] Oracle MTS模式下 进程地址与会话信
- [56] 读书笔记-壹百度:百度十年千倍的29条法则
赞助商广告