A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

wanhao

初级黑马

  • 黑马币:

  • 帖子:

  • 精华:

© wanhao 初级黑马   /  2019-5-4 18:43  /  1129 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 wanhao 于 2019-5-4 23:14 编辑

二、面向对象
1、面向对象思想:
    (1)概述:面向对象是相对于面向过程而言的,面向过程强调的是功能,面向对象强调的是将功能封装进对象,
         强调具备功能的对象;
    (2)思想特点:
         A:是符合人们思考习惯的一种思想;
         B:将复杂的事情简单化了;
         C:将程序员从执行者变成了指挥者;

         比如我要达到某种结果,我就寻找能帮我达到该结果的功能的对象,如我要洗衣服我就买洗衣机,
         至于怎么洗我不管。
    (3)特征:
        封装:隐藏对象的属性和实现细节,仅对外提供公共访问方式
        继承: 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义
              这些属性和行为,只要继承那个类即可。
        多态: 一个对象在程序不同运行时刻代表的多种状态,父类或者接口的引用指向子类对象
2、类和对象:
    类:对现实世界中某类事物的描述,是抽象的,概念上的定义。
    对象:事物具体存在的个体。

3:成员变量和局部变量的区别(重点)
    (1)作用域
        成员变量:针对整个类有效。
        局部变量:只在某个范围内有效。(一般指的就是方法,语句体内)
    (2)存储位置
        成员变量:随着对象的创建而存在,随着对象的消失而消失,存储在堆内存中。
        局部变量:在方法被调用,或者语句被执行的时候存在,存储在栈内存中。
              当方法调用完,或者语句结束后,就自动释放。
    (3)初始值
        成员变量:有默认初始值。
        局部变量:没有默认初始值,使用前必须赋值。

4、匿名对象
    (1)匿名对象就是没有名字的对象。是对象的一种简写形式。
    (2)应用场景
        A:只调用一次类中的方法。
        B:可以作为实际参数在方法传递中使用

5、封装:
    指隐藏对象的属性和实现细节,仅对外提供公共访问方式;比如电脑机箱、笔记本等
    好处:
        将变化隔离;
        方便使用;
        提高复用性;
        提高安全性

6、关键字private:封装在代码中的体现
    (1)私有的意思,权限修饰符
    (2)用来修饰成员变量和成员函数
    (3)用private修饰的成员只在本类中有效
    (4)私有是封装的一种体现

还没完,除了上边那些,你还要熟练使用各种数据结构和算法,数组、哈希、链表、排序树等等都是;熟练使用Linux操作系统,也是必备的;熟悉各种协议,比如tcp协议,创建连接三次握手和断开连接四次握手的整个过程,不了解就没法对高并发网络应用做优化,http协议,session和cookie的生命周期与关联;熟悉系统集群、负载均衡、反向代理、动静分离,网站静态化;懂得分布式存储系统nfs,fastdfs,tfs,Hadoop了解他们的优缺点,适用场景,以及分布式缓存技术memcached,redis,提高系统性能必备。

以上这些够了吗?当然不。还有呢,工具nginx必备技能超级好用,高性能,基本不会挂掉的服务器,功能多多,解决各种问题;掌握数据库的设计能力,Mysql必备,最基础的数据工具,主要是免费且好用,对它基本的参数优化,慢查询日志分析,主从复制的配置,至少要成为半个mysql dba,其他数据库也要至少略懂一二;还有队列中间件也要会操作,如消息推送,可以先把消息写入数据库,推送放队列服务器上,由推送服务器去队列获取处理,这样就可以将消息放数据库和队列里后直接给用户反馈,推送过程则由推送服务器和队列服务器完成,好处异步处理、缓解服务器压力,解藕系统。

说了这么多,其实都还是纯粹的基础java技术,并且还没有列全。要想成为架构师,除了这些之外,就还要具备我们说的组织能力和解决问题的能力了。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马