java 静态 编译_Java中的动态和静态编译

2023-10-27

public class Frame{

public static void main(String args[])throws Exception{

System.out.println("请输入您要输入的类的名字");

//输入一个类的名字

java.util.Scanner sc=new java.util.Scanner(System.in);

String s=sc.next();

//加载这个类

Class c=Class.forName(s);

//获得这个类的实例化对象

Object obj=c.newInstance();

//强制转型

Color color=(Color)obj;

color.changeColor();

}

}

注意Frame类,当我们编译它的时候,只会出现两个class文件--Frame.class和Color.class,然后我们运行这个程序,由于没有编译ColorImp,会抛出一个异常-- java.lang.ClassNotFoundException。

于是,我们打开另一个cmd进程,单独编译ColorImp类,再在上一个cmd对话框中输入ColorImp,则程序会正常运行。

这样我们可以在不停止程序运行的情况下,动态地加载一个类。我认为这体现出了Java的动态性。通过上面的例子,我认为java语言是一种“半动态”语言。

我们可以看出,上述例子使用了Color接口类。这里不得不提我对接口的一点小小感触。

在使用数据库的时候,Java语言只是定义了一个数据库接口,然后不同的数据库来实现这个借口。这些包括了(以mysql数据库为例)

加载数据库驱动:

Class.forName("com.mysql.jdbc.Driver");

建立与数据库的链接:

java.sql.Connection conn = java.sql.DriverManager.getConnection(

url, user, password);

取得编译对象和结果集对象等,这些都只是定义了接口,具体的实现则交给了数据库开发商,只要实现了这个接口就行。这就体现了接口的扩展性和规范性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java 静态 编译_Java中的动态和静态编译 的相关文章

  • 【满分】【华为OD机试真题2023 JS】简单的解压缩算法

    华为OD机试真题 2023年度机试题库全覆盖 刷题指南点这里 简单的解压缩算法 知识点栈 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 现需要实现一种算法 能将一组压缩字符串还原成原始字符串 还原规则如下 1 字符后面加数
  • 高并发短信平台实现

    01 短信介绍 在项目介绍的时候 已经定义了austin项目的核心功能 发送消息 我认为 短信是在一整个消息推送平台里最重要的一个消息类型了 毕竟关联了很多重要的业务场景 想想我们日常使用APP时的场景 验证码 登录注册 支付等等重要场景
  • matplotlib 绘制Sigmoid函数,Tanh函数,ReLU函数

    import numpy as np import matplotlib pyplot as plt def sigmoid x return 1 1 np exp x def tanh x return np exp x np exp x
  • python global函数用法及常用的 global函数代码

    Python中的 global函数是用于在程序中定义变量的函数 在我们实际的开发中 我们可能会用到 global函数来定义变量 但是我们在这里就不具体介绍它的用法了 global函数定义变量的方法 global函数使用参数a来指定变量在程序
  • 外卖点餐系统小程序 PHP+UniAPP

    一 介绍 本项目是给某大学餐厅开发的外面点餐系统 该项目针对校内的学生 配送由学校的学生负责配送 因此 该项目不同于互联网的外卖点餐系统 该系统支持属于 Saas 系统 由平台端 商家端 用户端 以及配送端组成 其中 平台端 商家端是由基于
  • 520七夕表白,还不懂浪漫?4套代码教会你如何深情表白【建议收藏】❤️

    马上又到了脱单的黄金时刻 七夕啦 如果你有喜欢的女孩子 一定要趁着这个时候把喜欢说出口 但是该不会还有人表白在学校的操场上摆着爱心蜡烛抱一束花喊一堆人来围观吧 No 请你立刻马上放弃这个计划 毫无心意不说 对于女孩子来说是真的很社死啊 PS
  • linux 查看java安装目录

    这本阿里P8撰写的算法笔记 再次推荐给大家 身边不少朋友学完这本书最后加入大厂 Github 疯传 史上最强悍 阿里大佬 LeetCode刷题手册 开放下载了 获取java安装路径前要判断是否已经安装成功java 执行命令 java 1 U
  • 清晰图解,一图看懂图卷积GCN、时空图卷积ST-GCN

    目录 1 前言 2 普通卷积与图卷积 2 1 普通卷积 2 2 图卷积 3 ST GCN图卷积的代码解读 4 图卷积的缺陷 5 参考文献 6 联系方式 1 前言 本文为我阅读论文 Spatial Temporal Graph Convolu
  • 微信小程序API~GET

    框架提供丰富的微信原生API 可以方便的调起微信提供的能力 如获取用户信息 本地存储 支付功能等 1 wx on 开头的 API 是监听某个事件发生的API接口 接受一个 CALLBACK 函数作为参数 当该事件触发时 会调用 CALLBA
  • libmysqlclient.so.15: cannot open shared object file: No such file or directory

    libmysqlclient so 15 cannot open shared object file No such file or directory 分类 mysql服务器管理优化 2009 06 02 16 11 26769人阅读
  • DC系列漏洞靶场-渗透测试学习复现(DC-6)

    DC 6是一个易受攻击的实验环境 最终目的是让攻击者获得root权限 并读取flag DC 6使用的操作系统为Debian 64位 靶场下载链接 1 http www five86 com downloads DC 6 zip 2 http
  • P2141 [NOIP2014 普及组] 珠心算测验

    题目描述 珠心算是一种通过在脑中模拟算盘变化来完成快速运算的一种计算技术 珠心算训练 既能够开发智力 又能够为日常生活带来很多便利 因而在很多学校得到普及 某学校的珠心算老师采用一种快速考察珠心算加法能力的测验方法 他随机生成一个正整数集合
  • HTML之表格篇——表格的嵌套

    表格的嵌套一方面是为使页面 贴子 的外观更为漂亮 利用表格嵌套来编辑出复杂而精美的效果 另一方面是出于布局需要 用一些嵌套方式的表格来做精确的编排 或者二者兼而有之 熟练地掌握表格的嵌套技巧并不是很困难的 只要你思路清晰 对表格的整体嵌套构
  • Shiro源码分析之ShiroFilterFactoryBean

    创建核心Filter 同其他框架一样 都有个切入点 这个核心Filter就是拦截所有请求的 通过web xml中配置的Filer进入 执行init方法获取这个instance 调用下面的createInstance方法创建核心Filter
  • 学习《TensorFlow实战Google深度学习框架》(九)LeNet-5模型

    文章目录 6 4 经典卷积网络模型 6 4 4 LeNet 5模型 LeNet 5模型的架构 源代码 6 4 经典卷积网络模型 6 4 4 LeNet 5模型 LeNet 5模型是Yann LeCun教授于1998年在论文Gradient
  • hash函数(哈希表)

    一 什么叫做散列表 哈希表 散列表是存储key value映射的一种集合 散列表也叫做哈希表 散列表底层也是数组 只是通过一种hash函数来计算他的key值 二 hash函数 在Java中每一个对象都有属于自己的hashcode 这个has
  • interview5-多线程篇

    一 线程的基础知识 1 线程与进程 程序由指令和数据组成 但这些指令要运行 数据要读写 就必须将指令加载至 CPU 数据加载至内存 在指令运行过程中还需要用到磁盘 网络等设备 进程就是用来加载指令 管理内存 管理 IO 的 进程 当一个程序
  • docker中的Volume

    简介 Volume是计算机存储技术中的一个术语 用于表示一块独立的存储空间 在操作系统中 一个硬盘可以被分为多个分区 每个分区可以被格式化为一个独立的卷 这个卷就被称为Volume Volume通常是指一个逻辑存储单元 可以是硬盘 U盘 S
  • 操作系统名词解释

    名词表示 CF 溢出标志位 进位标志位 IF 中断屏蔽标志位 SF 符号标志位 PROW 可编程只读存储器 FCFS 先来先服务算法 SJF 最短进程优先算法 SRTN 最短剩余时间优先算法 HRRF 最高响应比优先算法 名词解释 1 特权

随机推荐

  • mysql5.5忘记密码——修改密码

    ERROR 1045 28000 Access denied for user root localhost using password YES 1 进入mysql的bin目录 2 net stop mysql关闭Mysql服务 记住这一
  • 线性回归实战:股价预测(未完)

    线性回归实战 股价预测 问题描述剖析 数据预处理 理解股价数据 数据清洗 构造训练数据 处理NA字段 数据归一化 构建模型 训练数据和测试数据 训练模型 可视化结果 本文内容是对贪心科技课程第二章的笔记 问题描述剖析 我们制定的任务是 根据
  • C语言中char数组和char指针有什么区别?

    让我们通过下面的例子 来了解 C语言中字符数组和字符指针之间的区别 void test arr is array of characters char arr 12 Aticleworld ptr is pointer to char ch
  • 给定一个数t,以及n个整数,在这n个数中找到加和为t的所有组合

    题目 给定一个数t 以及n个整数 在这n个数中找到加和为t的所有组合 例如t 4 n 6 这6个数为 4 3 2 2 1 1 这样输出就有4个不同的组合它们的加和为4 4 3 1 2 2 and 2 1 1 请设计一个高效算法实现这个需求
  • 数据结构 ->顺序表的输入 输出 查找 删除 销毁 快速排序

    目录 话不多说 上代码 定义 顺序表的 输入 顺序表的 输出 顺序表的 查找 顺序表的 删除 顺序表的 销毁 顺序表的 快速排序 顺序表 全名顺序储存结构 是线性表的一种 顺序表储存数据时 会提前申请一整块足够大小的物理空间 然后将数据依次
  • 机器学习——聚类算法k-means

    机器学习 聚类算法k means 常见的聚类算法 k means算法 k 均值算法 由簇中样本的平均值来代表整个簇 文章目录 机器学习 聚类算法k means 聚类分析概述 一 k means背景 二 k means算法思想 1 k mea
  • Spring IOC 容器:掌握 Spring 的核心技术

    Spring 是一个非常流行和强大的 Java 开发框架 它可以帮助我们简化和优化 Java 项目的开发过程 Spring 的核心技术之一就是 IOC Inversion of Control 控制反转 它可以实现对象之间的解耦 让对象的创
  • 解决vxe-table切换显示隐藏的时候表格样式错乱问题

    在日常开发过程中我们会遇到表格切换显示的场景 但是切换后表格列宽会压缩到一起 如下图情况 此时我们只需要在切换表格的方法里触发一下表格的refreshData 方法即可解决此问题 this refs xTable refreshData
  • 报错无限递归:Could not write JSON: Infinite recursion (StackOverflowError);

    感谢原文大佬 https blog csdn net east123321 article details 80435051 问题描述 在controller返回数据到统一json转换的时候 出现了json infinite recursi
  • 【MySQL错误解决】ERROR 1273 (HY000): Unknown collation: ‘utf8‘ 错误的解决办法

    一 前言 今天把本地数据库导出的sql文件上传到服务器上的数据库的时候 出现了以下的错误 改错误之处我的文件再导入到数据库的时候 出现字符集不一样的错误 二 问题产生的原因 这是数据库编码的问题 查了网上的一些资料 出现这个问题的原因在于
  • Python基础专栏⑧-python基础篇-数据类型之字符串

    字符串是计算机处理中最常见的数据类型 在编程语言中 都存在字符串类型 python也不例外 一 字符串定义 字符串是由字符构成的一个序列 作为一个整体使用 字符串中字符的个数可以有0个 也可以有多个 0个的话 被称为空字符串 在python
  • CTF从零到一 信息收集 粗心的小李

    看到题目 很明显的说了git泄露 使用scrabble scrabble http 127 0 0 1 ls查看 cat查看index html 发现flag
  • openwrt.21.05烧录固件板子提示文件格式错误

    前面是因为编译的时候提示固件太大了 把flash从 4Mlzma 修改成 16Mlzma 了 那么编译过后 烧录进板子的时候 又报错了 怎么修改看这个 在最后Ubuntu下编译openwrt的过程出错及解决 小蚂蚁t的博客 CSDN博客 o
  • Linux学习之基本指令一

    在学习Linux下的基本指令之前首先大家要知道Linux下一切皆目录 我们的操作基本上也都是对目录的操作 这里我们可以联想我们是如何在windows上是如何操作的 只是形式上不同 类比学习更容易理解 目录 01 ls指令 02 pwd命令
  • Python解决:从键盘输入n个数,统计非负数字的个数和非负数字的和。

    题目 从键盘输入n个数 统计非负数字的个数和非负数字的和 代码如下 str input 请输入几个数字 用逗号隔开 n str1 str split 返回字符列表list sum 0 求和器 negetive number 0 个数求和 f
  • idea--Preferences

    Font Font Monaco Size 16 Line spacing 1 3 Appearance Theme Darcula 勾选Use dark window headers 第三方主题 www color themes com
  • 加密新潮流:社交代币衰落 社区代币崛起?

    这不是 Forefront 首次回顾加密行业中代币化社区赛道的年度发展历程 但毫无疑问 2022 年的情况确实发生了很大变化 其中 Forefront 的第一份报告 2020 年社交代币年度回顾 探讨了加密社交的新兴前景 涵盖了通过代币化时
  • 小程序面试题

    文章目录 简单谈谈微信小程序 小程序的原生组件有哪些 小程序的安卓版和ios版是怎么开发出来 uni app弹窗被覆盖怎么解决 小程序生命周期 小程序路由跳转 小程序的兼容问题有哪些 小程序框架都掌握哪一些 uniapp都会哪一些 平时开发
  • vue电池小图标

    简单的电池小图标 根据电量展示不同的颜色
  • java 静态 编译_Java中的动态和静态编译

    public class Frame public static void main String args throws Exception System out println 请输入您要输入的类的名字 输入一个类的名字 java ut