博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java框架技术核心基石系列教程(01)——编程语言类型及其特征
阅读量:1952 次
发布时间:2019-04-27

本文共 1255 字,大约阅读时间需要 4 分钟。


版权声明

  • 本文原创作者:谷哥的小弟
  • 作者博客地址:http://blog.csdn.net/lfdfhl

开篇语

近十几年来,在Java和Android开发领域中涌现出许多优秀的框架,比如:Spring、Hibernate、Mybatis、Retrofit、Afinal、OKHttp、ButterKnife等等。这些框架的出现极大地简化了开发流程,提高了工作效率。在项目开发的过程中我们主要是使用这些轮子完成项目,很难有时间去顾及框架的内部实现。

例如,在使用Spring框架时我们都使用到了注解。比较遗憾的是:我们通常只知道用哪个注解,注解有什么属性,注解应该用到什么地方;但是,不知道为什么要这么用,不明白注解到底是如何发挥功效的。以往的学习太机械、太简陋;以至于在框架设计时无从下手。

虽然,这些主流框架的功能各不相同,但每当打开浩繁的源码时我们几乎都可以看到泛型,反射,注解的广泛应用;也正是这些技术使得框架具有了高度的灵活性,优良的扩展性和健壮的稳定性。故,鉴于这些框架必备知识的重要性有必要对该部分内容做一个全面的梳理和总结。

这也写是我写此博客专栏的初衷。

专栏概述

在此,对本专栏进行简要说明。

主要内容

  • 1、类的加载过程
  • 2、Class全面剖析
  • 3、反射实现原理及其应用
  • 4、内省
  • 5、Java常用注解
  • 6、元注解
  • 7、自定义注解入门
  • 8、自定义注解进阶
  • 9、反射与注解的综合运用

专栏特点

  • 1、逻辑清晰、表述准确恰当
  • 2、语言诙谐、言简意赅
  • 3、专栏由浅入深、由易至难
  • 4、图文并茂、生动形象
  • 5、随文配发所有源码

总之,在您决定阅读本专栏之前;强烈建议您瞅瞅我之前的博客,如果你感觉阅读起来舒适且有收获则可继续。反之,建议你关闭本专栏切勿耽误时间。

编程语言类型

OK,我们先从编程语言类型入手。

我们先来了解一下编程语言的两大主流派别:静态类型语言与动态类型语言。

静态类型语言

静态类型语言(Statically Typed Language)也称为强类型语言。在静态语言中,在编译时确定变量的数据类型。所以,绝大多数静态类型语言要求:先声明变量(即确定变量类型)后再使用变量。

常见的静态类型语言有:Java、 C、C++等等

动态类型语言

动态类型语言(Dynamic programming Language)也称为弱类型语言。在动态类型语言中,程序在运行时可以改变其结构;例如:改变变量原有的数据类型、新的函数被引进,已有的函数被删除等在结构上的变化。

常见的动态类型语言有:JavaScript、 PHP、Ruby等等。

Java与动态性

Java程序的执行有两个阶段:

  • 1、编译
  • 2、运行

在这里插入图片描述

在编译阶段会检查基本语法是否正确、变量的类型及其使用是否正确。程序在通过编译之后生成与之对应的字节码文件.class。JVM调用代码时,程序处于运行时状态。虽然说Java语言是静态类型语言,但是它在运行时借助反射从而具有了一定的动态性。所以,也有人说Java是"准动态类型语言"。

你可能感兴趣的文章
PyTorch的学习笔记01-基础中的基础
查看>>
onshape 做参考面等虚拟几何的装配和原点定位
查看>>
MySQL自动补全
查看>>
ANSYS Workbench 输出APDL文件(Input File)到服务器上求解,PBS脚本
查看>>
JAVA学习笔记1 - 类和变量类型
查看>>
JAVA学习笔记2 - 变量类型与修饰符
查看>>
JAVA学习笔记3 - 运算符
查看>>
JAVA学习笔记4 - 循环与分支结构
查看>>
JAVA学习笔记5 - Number类,Math类,Character类,String类,StringBuffer类
查看>>
JAVA学习笔记6 - 数组
查看>>
JAVA学习笔记7 - 方法
查看>>
JAVA学习笔记8 - Stream 和 File I/O
查看>>
JAVA学习笔记9 - 异常
查看>>
JAVA学习笔记10 - 继承
查看>>
JAVA学习笔记11 - 接口interface
查看>>
JAVA学习笔记12 - 包package
查看>>
Android 开发学习笔记 00 - Getting Started
查看>>
【学习笔记】Android Activity
查看>>
【学习笔记】Android Fragments
查看>>
Android使用Retrofit_00_Getting Started
查看>>