我是一名用java的菜鸟级别的编程人员,严格意义来说,只是一个写代码的,算不上真正的程序员。一年半的经历告诉了我一个事实,你想要靠别人带你走上这条路,不如想想别的出路。这是一条孤独,寂寞的乡野小路,当你一天天的开辟出一条通往大道的小路时,你回头会发现,你收获的和你付出的不一定成正比,这不是危言耸听,这是铁一般的事情。
开始的我的以为只要自己付出点时间,工作认真一点就能学到东西。但是后来发现,你是可以学到一些你以前没有的看过,或者做过的东西。但是人也慢慢变得比较孤僻了,也许在网上和网友或者聊微信,QQ的时候才算是另一个我吧!开始的时候想着在网上各种百度,看看程序员应该需要掌握哪些技术,看哪些书什么的。但是也就是三分钟热度吧,过了一段时间就冷却下来了,没有那股冲劲了,想着只要能完成任务就行了,天天看书,学习实在是太过无聊了。相信没有几个人想要那种除了工作就是工作的生活,我选择编程这份工作,为的就是有个体面的工作,过好一点的生活,不用像我们父母那样那么辛苦,还夹杂的一点对计算机的兴趣吧,没有一点兴趣,也不会促使我走上编程的道路。
那么我们难道注定要当一个孤独的狼嘛! 不,那是很艰辛,很迷茫的人生,我们也可以像别人一样,一边享受工作的乐趣,一边找自己喜欢的人。我们也可以利用我们业余的时间放松自己,有空闲的时候去外面爬爬山,逛一逛,你会发现这个世界还是很美好的,你只是缺乏一个发现美的机会。只要你肯去做,就能体会到这种感觉。
做过一段时间的工作,我才发现,原来很多基础的东西我只是知道,但是根本不会灵活运用,一旦碰到了一些比较复杂的业务的时候,思考能力就很狭隘了。然后我就想着从基础学起,首先你可以看看java的23种设计模式,不用你全部掌握运用,你需要了理解这些模式是什么,在什么情况下去运用。
java的设计模式大体上分为三大类:
- 创建型模式(5种):工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。
- 结构型模式(7种):适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元模式。
- 行为型模式(11种):策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
设计模式遵循的原则有6个:
1、开闭原则(Open Close Principle)
对扩展开放,对修改关闭。
2、里氏代换原则(Liskov Substitution Principle)
只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。
3、依赖倒转原则(Dependence Inversion Principle)
这个是开闭原则的基础,对接口编程,依赖于抽象而不依赖于具体。
4、接口隔离原则(Interface Segregation Principle)
使用多个隔离的借口来降低耦合度。
5、迪米特法则(最少知道原则)(Demeter Principle)
一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立。
6、合成复用原则(Composite Reuse Principle)
原则是尽量使用合成/聚合的方式,而不是使用继承。继承实际上破坏了类的封装性,超类的方法可能会被子类修改。
第二个需要掌握的就是数据库
1.MySQL数据库
1.1mysql的概念
MySQL是一个关系型数据库管理系统,使用结构化查询语言(SQL)进行数据库管理,sql是最常用的数据库管理语言.
关系型数据库:是指采用了关系模型来组织的数据库.简单说,关系模型指的就是二维表格模型,儿一个关系型数据库就是由二维表及其之间的联系所组成的一个数据库组织.
非关系型数据库:非关系型数据库严格说不是一种数据库,是一种数据结构化储存方法的集合.
1.2mysql的特点
MySQL是一个小型关系型数据库管理系统、被广泛地应用在中小型网站.
特点:
1.体积小
2.速度快
3.使用成本低
4.源码开放
2.Oracle数据库
2.1Oracle的概念
亿级的 跨平台 安全性高
Oracle体系结构
(1)数据库的组成,工作过程与原理,以及数据在数据库中的组织与管理机制
(2)oracle服务器结构:由Oracle数据库和Oracle实例组成
(3)oracle数据库结构:包括逻辑结构和物理结构
(4)oracle数据库操作系统文件,即实际物理储存区
*数据文件 以dbf结尾 信息的物理地址
*控制文件 以ctl结尾
*日志文件 以log结尾
(5)oracle系统表
*详细描述了表数量,表名,表的属主,表的列信息等,通常只能查看
2.2Oracle的特点
优点:
开放性:oracle能在所有主流平台运行,完全支持所有工业标准采用完全开放策略使客户选择适合解决方案对开发商
全力支持
安全性:获得最高认证级别的ISO标准认证
性能:Oracle性能高
客户端支持及应用模式:Oracle多层次网络计算支持多种工业标准用ODBC、JDBC、OCI等网络客户连接
使用风险:Oracle长时间开发经验完全向下兼容得广泛应用地风险低
缺点:
对硬件的要求很高
价格比较昂贵
管理维护麻烦
操作比较复杂,需求技术含量较高
3.SqlServer数据库
3.1SqlServer概念
SQL Server是由Microsoft开发和推广的关系型数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate
三家公司共同开发的
3.2SqlServer特点
-
- 真正的客户机/服务器体系结构
- 图形化用户界面,使系统管理和数据库管理更加直观、简单
- 丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地
- SQL Server与Windows NT完全集成,SQL Server也可以很好地与Microsoft BackOffice产品集成
- 具有很好的伸缩性,可跨越从运行Windows 95/98的小型电脑到运行Windows 2000的大型多处理器等多种平台使用
- 对web技术的支持,使用户能够很容易地将数据库中的数据发布到web页面上
- SQL Server提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有
- 支持XML(Extensive Markup Language,扩展标记语言)
- 强大的基于web的分析
- 支持OLE DB和多种查询
- 支持分布式的分区图
3.3SQL Server的应用场景
SQL Server是Windows生态系统的产品,好处坏处都很分明.
好处:高度集成化,微软也提供了一整套的软件方案
3.4SQL Server数据架构
SQL Server数据架构基本是纵向划分,
分为:
Protocol Layer(协议层)
Relational Engine(关系引擎)
Storage Engine(储存引擎)
MySQL、Oracle、SqlServer三大数据库的区别
Oracle:
最贵,功能最多,安装最不方便,Oracle环境里的其他相关组件最多,支持平台数量一般,使用中等方便,
开发中等方便,,运维中等方便,不开源,速度最慢,最安全.它是一个数据库中多个用户的形式.Oracle支
持大并发,大访问量,是OLTP(on-Line Transaction Processing联机事物处理系统)最好的工具.
Sql Server:
中等贵,功能少,安装中等方便,Microsoft SQL Server环境里的其他相关组件最少,支持平台最少,使用最
方便,开发最方便,运维最方便,不开源,速度中等,一般安全.
MySql:
免费,功能中等,安装最方便,MySQL环境的其他相关组件数量中等,支持平台最多,使用最不方便,开发最
不方便,运维最不方便,有开源版本,速度最快,最不安全.