zoukankan      html  css  js  c++  java
  • 万丈高楼平地起,拨开技术神秘的面纱 李伟

    仅记录近期的一些思考:万丈高楼平地起,搞清楚底层逻辑,拨开技术神秘的外衣,很多东西迎刃而解。

    一、数据思维

          1. 所有的操作,都是围绕数据, 一个.java文件,一个.class文件, 每一个字母,每一次表单提交,都是数据

          2. 这些数据可以以不同的形态存在于不同的介质中,可以在磁盘中,可以在内存中,可以在CPU中 ,只是存在的形态不一样

          3. 程序代码的各种处理,本质上是对数据的计算和移动,全都依赖于计算机硬件最基本的运行原理

    二、数据移动思维

          1. 互联网各种分层架构,分布式架构体系的本质是数据的移动,在不管使用了多少种框框架架的一次请求/响应中, 数据在 客户端,到网关,到服务层,到MQ,到Redis,到数据库.. 等等等等 各个中间件中来回移动

          2. 各种"奇淫技巧", 都是对数据的计算和移动,并依赖于计算机相关硬件

    三、服务业务:归根揭底技术是服务业务的,这里的"业务"应该是抽象出来的某类事务,而不是指人。

    这几个思维下,来理解技术,比如:

    1. 类加载?从计算机的组成原理来说, 数据必须要"移动"到主存,然后才能移动到CPU中进行各种计算,然后通过网络传输进行数据的各种移动 ,所以需要将.java文件编译为.class文件 ,加载到内存中

    2. JVM内存模型?从数据思维的角度,我们编写的代码,里面有各种东西,比如有类,有方法,有枚举,类中还有各种属性,变量,运行时的各种数据, 这就要求 jvm需要对内存进行分类处理,在加载的过程中,分门别类

    3. 什么voliate,synchronized,CAS,  AQS ,分布式锁  等都是在不同业务场景下,产生了各种数据问题,然后出现了很多所谓"秘技", 来处理对应的问题 

    李伟(CodeL)-软件开发领域持续奋斗者
  • 相关阅读:
    初学微信小程序 TodoList
    设计一个基于svg的涂鸦组件(一)
    基于51单片机的12864驱动
    java 使用xom对象数据序列化为xml、反序列化、Preferences相关操作小案例
    ios UIWebView 播放优酷土豆视频
    VMware Player 使用错误集锦
    Django 使用UEditor
    Entity Framework底层操作封装V2版本号(3)
    cocos2dx笔记1:概述
    oracle10g精简版安装步骤
  • 原文地址:https://www.cnblogs.com/codelir/p/15673680.html
Copyright © 2011-2022 走看看