Java知识点二

2023-11-17

20世纪90年代,硬件领域出现了单片式计算机系统,这种价格低廉的系统一出现就立即引起了自动控制领域人员的注意,因为使用它可以大幅度提升消费类电子产品(如电视机顶盒、面包烤箱、移动电话等)的智能化程度。Sun公司为了抢占市场先机,在1991年成立了一个称为Green的项目小组,帕特里克、詹姆斯·高斯林、麦克·舍林丹和其他几个工程师一起组成的工作小组在加利福尼亚州门洛帕克市沙丘路的一个小工作室里面研究开发新技术,专攻计算机在家电产品上的嵌入式应用。

由于C++所具有的优势,该项目组的研究人员首先考虑采用C++来编写程序。但对于硬件资源极其匮乏的单片式系统来说,C++程序过于复杂和庞大。另外由于消费电子产品所采用的嵌入式处理器芯片的种类繁杂,如何让编写的程序跨平台运行也是个难题。为了解决困难,他们首先着眼于语言的开发,假设了一种结构简单、符合嵌入式应用需要的硬件平台体系结构并为其制定了相应的规范,其中就定义了这种硬件平台的二进制机器码指令系统(即后来成为“字节码”的指令系统),以待语言开发成功后,能有半导体芯片生产商开发和生产这种硬件平台。对于新语言的设计,Sun公司研发人员并没有开发一种全新的语言,而是根据嵌入式软件的要求,对C++进行了改造,去除了留在C++的一些不太实用及影响安全的成分,并结合嵌入式系统的实时性要求,开发了一种称为Oak的面向对象语言。
由于在开发Oak语言时,尚且不存在运行字节码的硬件平台,所以为了在开发时可以对这种语言进行实验研究,他们就在已有的硬件和软件平台基础上,按照自己所指定的规范,用软件建设了一个运行平台,整个系统除了比C++更加简单之外,没有什么大的区别。1992年的夏天,当Oak语言开发成功后,研究者们向硬件生产商进行演示了Green操作系统、Oak的程序设计语言、类库和其硬件,以说服他们使用Oak语言生产硬件芯片,但是,硬件生产商并未对此产生极大的热情。因为他们认为,在所有人对Oak语言还一无所知的情况下,就生产硬件产品的风险实在太大了,所以Oak语言也就因为缺乏硬件的支持而无法进入市场,从而被搁置了下来。
1994年6、7月间,在经历了一场历时三天的讨论之后,团队决定再一次改变了努力的目标,这次他们决定将该技术应用于万维网。他们认为随着Mosaic浏览器的到来,因特网正在向同样的高度互动的远景演变,而这一远景正是他们在有线电视网中看到的。作为原型,帕特里克·诺顿写了一个小型万维网浏览器WebRunner。
1995年,互联网的蓬勃发展给了Oak机会。业界为了使死板、单调的静态网页能够“灵活”起来,急需一种软件技术来开发一种程序,这种程序可以通过网络传播并且能够跨平台运行。于是,世界各大IT企业为此纷纷投入了大量的人力、物力和财力。这个时候,Sun公司想起了那个被搁置起来很久的Oak,并且重新审视了那个用软件编写的试验平台,由于它是按照嵌入式系统硬件平台体系结构进行编写的,所以非常小,特别适用于网络上的传输系统,而Oak也是一种精简的语言,程序非常小,适合在网络上传输。Sun公司首先推出了可以嵌入网页并且可以随同网页在网络上传输的Applet(Applet是一种将小程序嵌入到网页中进行执行的技术),并将Oak更名为Java(在申请注册商标时,发现Oak已经被人使用了,再想了一系列名字之后,最终,使用了提议者在喝一杯Java咖啡时无意提到的Java词语)。5月23日,Sun公司在Sun world会议上正式发布Java和HotJava浏览器。IBM、Apple、DEC、Adobe、HP、Oracle、Netscape和微软等各大公司都纷纷停止了自己的相关开发项目,竞相购买了Java使用许可证,并为自己的产品开发了相应的Java平台。
1996年1月,Sun公司发布了Java的第一个开发工具包(JDK 1.0),这是Java发展历程中的重要里程碑,标志着Java成为一种独立的开发工具。9月,约8.3万个网页应用了Java技术来制作。10月,Sun公司发布了Java平台的第一个即时(JIT)编译器。
1997年2月,JDK 1.1面世,在随后的3周时间里,达到了22万次的下载量。4月2日,Java One会议召开,参会者逾一万人,创当时全球同类会议规模之纪录。9月,Java Developer Connection社区成员超过10万。
1998年12月8日,第二代Java平台的企业版J2EE发布。1999年6月,Sun公司发布了第二代Java平台(简称为Java2)的3个版本:J2ME(Java2 Micro Edition,Java2平台的微型版),应用于移动、无线及有限资源的环境;J2SE(Java 2 Standard Edition,Java 2平台的标准版),应用于桌面环境;J2EE(Java 2Enterprise Edition,Java 2平台的企业版),应用于基于Java的应用服务器。Java 2平台的发布,是Java发展过程中最重要的一个里程碑,标志着Java的应用开始普及。
1999年4月27日,HotSpot虚拟机发布。HotSpot虚拟机发布时是作为JDK 1.2的附加程序提供的,后来它成为了JDK 1.3及之后所有版本的Sun JDK的默认虚拟机 。
2000年5月,JDK1.3、JDK1.4和J2SE1.3相继发布,几周后其获得了Apple公司Mac OS X的工业标准的支持。2001年9月24日,J2EE1.3发布。2002年2月26日,J2SE1.4发布。自此Java的计算能力有了大幅提升,与J2SE1.3相比,其多了近62%的类和接口。在这些新特性当中,还提供了广泛的XML支持、安全套接字(Socket)支持(通过SSL与TLS协议)、全新的I/OAPI、正则表达式、日志与断言。2004年9月30日,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE 1.5更名为Java SE 5.0(内部版本号1.5.0),代号为“Tiger”,Tiger包含了从1996年发布1.0版本以来的最重大的更新,其中包括泛型支持、基本类型的自动装箱、改进的循环、枚举类型、格式化I/O及可变参数。
2005年6月,在Java One大会上,Sun公司发布了Java SE 6。此时,Java的各种版本已经更名,已取消其中的数字2,如J2EE更名为JavaEE,J2SE更名为JavaSE,J2ME更名为JavaME。
2006年11月13日,Java技术的发明者Sun公司宣布,将Java技术作为免费软件对外发布。Sun公司正式发布的有关Java平台标准版的第一批源代码,以及Java迷你版的可执行源代码。从2007年3月起,全世界所有的开发人员均可对Java源代码进行修改 。
Java创始人之一:詹姆斯·高斯林
Java创始人之一:詹姆斯·高斯林
2009年,甲骨文公司宣布收购Sun 。2010年,Java编程语言的共同创始人之一詹姆斯·高斯林从Oracle公司辞职。2011年,甲骨文公司举行了全球性的活动,以庆祝Java7的推出,随后Java7正式发布。2014年,甲骨文公司发布了Java8正式版 。
编程开发编辑
编程环境

JDK(Java Development Kit)称为Java开发包或Java开发工具,是一个编写Java的Applet小程序和应用程序的程序开发环境。JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一些Java工具和Java的核心类库(Java API)。不论什么Java应用服务器实质都是内置了某个版本的JDK。主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如,IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK 。
另外,可以把Java API类库中的Java SE API子集和Java虚拟机这两部分统称为JRE(JAVA Runtime Environment),JRE是支持Java程序运行的标准环境 。
JRE是个运行环境,JDK是个开发环境。因此写Java程序的时候需要JDK,而运行Java程序的时候就需要JRE。而JDK里面已经包含了JRE,因此只要安装了JDK,就可以编辑Java程序,也可以正常运行Java程序。但由于JDK包含了许多与运行无关的内容,占用的空间较大,因此运行普通的Java程序无须安装JDK,而只需要安装JRE即可 。
编程工具
Eclipse:一个开放源代码的、基于Java的可扩展开发平台 。
NetBeans:开放源码的Java集成开发环境,适用于各种客户机和Web应用。
IntelliJ IDEA:在代码自动提示、代码分析等方面的具有很好的功能。
MyEclipse:由Genuitec公司开发的一款商业化软件,是应用比较广泛的Java应用程序集成开发环境 。
EditPlus:如果正确配置Java的编译器“Javac”以及解释器“Java”后,可直接使用EditPlus编译执行Java程序。
语言特点编辑
1.简单性
Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。例如,Java不支持go to语句,代之以提供break和continue语句以及异常处理。Java还剔除了C++的操作符过载(overload)和多继承特征,并且不使用主文件,免去了预处理程序。因为Java没有结构,数组和串都是对象,所以不需要指针。Java能够自动处理对象的引用和间接引用,实现自动的无用单元收集,使用户不必为存储管理问题烦恼,能更多的时间和精力花在研发上。
2.面向对象
Java是一个面向对象的语言。对程序员来说,这意味着要注意应中的宝宝起名网数据和操纵数据的方法(method),而不是严格地用过程来思考。在一个面向对象的系统中,类(class)是数据和操作数据的方法的集合。数据和方法一起描述对象(object)的状态和行为。每一对象是其状态和行为的封装。类是按一定体系和层次安排的,使得子类可以从超类继承行为。在这个类层次体系中有一个根类,它是具有一般行为的类。Java程序是用类来组织的。
Java还包括一个类的扩展集合,分别组成各种程序包(Package),用户可以在自己的程序中使用。例如,Java提供产生图形用户接口部件的类(java.awt包),这里awt是抽象窗口工具集(abstract windowing toolkit)的缩写,处理输入输出的类(java.io包)和支持网络功能的类(java.net包)。
3.分布性
Java设计成支持在网络上应用,它是分布式语言。Java既支持各种层次的网络连接,又以Socket类支持可靠的流(stream)网络连接,所以用户可以产生分布式的客户机和服务器。
网络变成软件应用的分布运载工具。Java程序只要编写一次,就可到处运行。
4.编译和解释性
Java编译程序生成字节码(byte-code),而不是通常的机器码。Java字节码提供对体系结构中性的目标文件格式,代码设计成可有效地传送程序到多个平台。Java程序可以在任何实现了Java解释程序和运行系统(run-time system)的系统上运行。
在一个解释性的环境中,程序开发的标准“链接”阶段大大消失了。如果说Java还有一个链接阶段,它只是把新类装进环境的过程,它是增量式的、轻量级的过程。因此,Java支持快速原型和容易试验,它将导致快速程序开发。这是一个与传统的、耗时的“编译、链接和测试”形成鲜明对比的精巧的开发过程。
5.稳健性
Java
Java原来是用作编写消费类家用电子产品软件的语言,所以它是被设计成写高可靠和稳健软件的。Java消除了某些编程错误,使得用它写可靠软件相当容易。
Java是一个强类型语言,它允许扩展编译时检查潜在类型不匹配问题的功能。Java要求显式的方法声明,它不支持C风格的隐式声明。这些严格的要求保证编译程序能捕捉调用错误,这就导致更可靠的程序。
可靠性方面最重要的增强之一是Java的存储模型。Java不支持指针,它消除重写存储和讹误数据的可能性。类似地,Java自动的“无用单元收集”预防存储漏泄和其它有关动态存储分配和解除分配的有害错误。Java解释程序也执行许多运行时的检查,诸如验证所有数组和串访问是否在界限之内。
异常处理是Java中使得程序更稳健的另一个特征。异常是某种类似于错误的异常条件出现的信号。使用try/catch/finally语句,程序员可以找到出错的处理代码,这就简化了出错处理和恢复的任务。
6.安全性
Java的存储分配模型是它防御恶意代码的主要方法之一。Java没有指针,所以程序员不能得到隐蔽起来的内幕和伪造指针去指向存储器。更重要的是,Java编译程序不处理存储安排决策,所以程序员不能通过查看声明去猜测类的实际存储安排。编译的Java代码中的存储引用在运行时由Java解释程序决定实际存储地址。
Java运行系统使用字节码验证过程来保证装载到网络上的代码不违背任何Java语言限制。这个安全机制部分包括类如何从网上装载。例如,装载的类是放在分开的名字空间而不是局部类,预防恶意的小应用程序用它自己的版本来代替标准Java类。
7.可移植性
Java使得语言声明不依赖于实现的方面。例如,Java显式说明每个基本数据类型的大小和它的运算行为(这些数据类型由Java语法描述)。
Java环境本身对新的硬件平台和操作系统是可移植的。Java编译程序也用Java编写,而Java运行系统用ANSIC语言编写。
8.高性能
Java是一种先编译后解释的语言,所以它不如全编译性语言快。但是有些情况下性能是很要紧的,为了支持这些情况,Java设计者制作了“及时”编译程序,它能在运行时把Java字节码翻译成特定CPU(中央处理器)的机器代码,也就是实现全编译了。
Java字节码格式设计时考虑到这些“及时”编译程序的需要,所以生成机器代码的过程相当简单,它能产生相当好的代码。
9.多线索性
Java是多线索语言,它提供支持多线索的执行(也称为轻便过程),能处理不同任务,使具有线索的程序设计很容易。Java的lang包提供一个Thread类,它支持开始线索、运行线索、停止线索和检查线索状态的方法。
Java的线索支持也包括一组同步原语。这些原语是基于监督程序和条件变量风范,由C.A.R.Haore开发的广泛使用的同步化方案。用关键词synchronized,程序员可以说明某些方法在一个类中不能并发地运行。这些方法在监督程序控制之下,确保变量维持在一个一致的状态。
10.动态性
Java语言设计成适应于变化的环境,它是一个动态的语言。例如,Java中的类是根据需要载入的,甚至有些是通过网络获取的。
工作原理编辑
工作原理
由四方面组成:
(1)Java编程语言
(2)Java类文件格式
(3)Java虚拟机
(4)Java应用程序接口
当编辑并运行一个Java程序时,需要同时涉及到这四种方面。使用文字编辑软件(例如记事本、写字板、UltraEdit等)或集成开发环境(Eclipse、MyEclipse等)在Java源文件中定义不同的类 ,通过调用类(这些类实现了Java API)中的方法来访问资源系统,把源文件编译生成一种二进制中间码,存储在class文件中,然后再通过运行与操作系统平台环境相对应的Java虚拟机来运行class文件,执行编译产生的字节码,调用class文件中实现的方法来满足程序的Java API调用 。
语言基础编辑
基本数据结构
在Java中有8种数据类型来存储数值、字符和布尔值。
整数类型
整数型用来存储整数数值,即没有小数部分的数值。可以是正数,也可以是负数。整数数据在Java程序中有3种表示形式,分别为十进制、八进制和十六进制。
整型数据根据它所占内容大小的不同可分为4种类型。
数据类型 内存
byte 8位
short 16位
int 32位
long 64位
浮点类型
数据类型 内存
float 32位
double 64位
字符类型
字符类型用于存储单个字符,占用16位(两个字节)的内存空间。在定义字符型变量时,要以单引号表示。使用char关键字可定义字符变量。
数据类型 内存
char 16位
布尔类型
布尔类型又称逻辑类型,通过关键字boolean来定义布尔类型变量,只有只有true和false两个取值,分别代表布尔逻辑中的“真”和“假”。布尔类型通常被用在流程控制中作为判断条件。
关键字
关键字
含义
abstract
抽象类或方法
assert
用来查找内部程序错误
break 跳出一个switch或循环
byte 8位整数类型
case switch的一个分支
catch
捕获异常的try块子句
class 定义一个类类型
continue 在循环末尾继续
default switch的缺省语句
do do/while循环最前面的语句
double 双精度浮点数类型
else
if语句的else子句
enum
枚举类型
extends
定义一个类的父类
final
一个常量,或不能覆盖的一个类或方法
finally
try块中总会执行的部分
float
单精度浮点数类型
for
一个循环类型
if
一个条件语句
implements
定义一个类实现的接口
import
导入一个包
instanceof
测试一个对象是否是某个类的实例
int
32位整型数
interface
接口,一种抽象类型,仅有方法和常量的定义
long
64位长整数型
native
由宿主系统实现的一个方法
new
分配新的类实例
null
一个空引用
package
包含类的一个包
private
表示私有字段,或者方法等,只能从类内部访问
protected
表示保护类型字段
public
表示共有属性或者方法
return
从一个方法中返回
short
16位整数类型
static
这个特性是这个类特有的,而不属于这个类的对象
strictfp
对浮点数计算使用严格的规则
super
超类对象或构造函数
switch
选择语句
synchronized
对线程而言是原子的方法或代码块
this
当前类的一个方法或构造函数的隐含参数
throw
抛出一个异常
throws
一个方法可能抛出的异常
transient
标志非永久性的数据
try
捕获异常的代码块
void
标记方法不返回任何值
volatile
标记字段可能会被多个线程同时访问,而不做同步
while
一种循环
运算符
运算符是一些特殊的符号,主要用于数学函数、一些类型的赋值语句和逻辑比较方面。
赋值运算符
赋值运算符以符号“=”表示,它是一个二元运算符(对两个操作数作处理),其功能是将右方操作数所含的值赋给左方的操作数。

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

Java知识点二 的相关文章

  • select实现串口阻塞读取数据

    文章目录 前言 一 包含串口编程必要的头文件 二 串口初始化 三 串口写数据 四 串口阻塞读取数据 五 RS485与RS232编程和TTL的区别 六 完整代码 前言 串口编程分为这么几类 lt 1 gt 普通的TTL 一对一通信 lt 2
  • SQL中的DQL(数据查询)语言

    SQL语句分类 通常分为五类 DDL 数据定义语言 create alter drop等 DQL 数据查询语言 select等 DML 数据操纵语言 insert delete update等 TCL 事务操纵语言 commit rollb
  • 我的创作纪念日---Look back on the past year of hard work

    哈 今天在CSDN的站内信收到了通知 为了纪念我在CSDN度过的日日夜夜 故简单写点东西记录一下 分享给可能和我有相同经历的计算机专业的大学生 以此来勉励大家 缘起 嗨 大家好 我是一个内向的计算机小白 在 CSDN 已经度过了 100 多
  • IJKPlayer 编译及运行Demo 教程(详细)

    IJKPlayer 编译及运行Demo 教程 编译环境准备 1 Ubuntu安装 2 工具安装 安装JDK SDK NDK 1 安装JDK 2 安装SDK 3 安装NDK 下载ijkplayer及修改其中配置 编译 android stud
  • [培训-DSP快速入门-8]:C54x DSP汇编语言之寻址方式

    作者主页 文火冰糖的硅基工坊 https blog csdn net HiWangWenBing 本文网址 https blog csdn net HiWangWenBing article details 119023151 目录 第1章
  • Java Timer定时器schedule()函数

    TimerTask task new TimerTask Override public void run 逻辑处理 Timer timer new Timer timer schedule task 0 此处delay为0表示没有延迟 立
  • rosprofiler 安装和使用

    rosprofiler wiki 页面 http wiki ros org rosprofiler rosprofiler package 下载rosprofiler和ros statistics msgs 放到工程目录下编译 https
  • Android列表组件ListView子项的点击事件与子项中组件的点击事件

    点击ListView子项时进行相关的逻辑操作 为ListView组件添加子项点击事件 设置ListView子项的点击事件 testLv setOnItemClickListener new AdapterView OnItemClickLi
  • React 组件根据数据动态渲染

    数据驱动的UI界面 import React from react import as componentLib from components index import dataMap from data dataMap function
  • Error: Cannot find module ‘timers/promises‘

    这个错误很要命 他会导致你本机所有的npm 命令全部报错 首先 这个错误是因为 npm 与 node版本不匹配导致的 最简单的办法就是 查一下你安装的这个npm 的版本适配那个版本的 node 然后将本地的node删除 控制面板写在node
  • 月满中秋夜|中秋和 Jina AI 一起过

    Jina AI 祝您中秋快乐 用开源社区的方式打开别样中秋节 Jina AI 社区准备了两个小任务和精美周边礼物 等你来挑战 活动时间 即日起 9 13号中午12 00 参与方式 Step 1 到 Jina 全家桶的 GitHub 页面 给
  • 使用虚拟机VMware Workstation安装ubuntu22.04

    下载准备 VMwareWorkstation 地址 Download VMware Workstation Pro 我是在windows系统安装 所以选择这个下载按钮 试用版可以在网上找到对应版本的密钥进行破解 一般都不影响使用 iso镜像
  • Warning: Ignoring WAYLAND_DISPLAY on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.Ca

    一 问题描述 centos stream9 安装了多个 qt creator 版本 Qt5 14 1 qt creator 9 0 qt creator 6 0 在调试platforminputcontexts 解决中文无法输入时 在修改
  • 奇迹暖暖服务器不稳定,奇迹暖暖怎么换服务器

    剑雨江湖6月15日服务器互通公告 合服充值大返利 剑雨江湖 6月15日将进行部分服务器互通操作 为了避免不必要的损失 玩家请关注官方公告 详细的 剑雨江湖 15日服务器互通公告 一起来看 服务器级战争爆发 热血三国2 染血战斗檄文呈上 热血
  • lwip接收文件 stm32_LWIP移植文件介绍

    在介绍文件之前首先介绍一下DMA描述符 stm32以太网模块接收 发送FIFO和内存之间的以太网传输是通过以太网DMA使用DMA描述符完成的 一共有两个描述符列表 一个用于接收 一个用于发送 两个列表的基址分别写入ETH DMARDLAR
  • iOS16新特性及开发适配

    一 新特性 iOS 16 满载全新的个性化功能 更具深度的智能技术 以及更多无缝的沟通与共享方式 让 iPhone 的体验更进一步 详细的系统新特性请查看 Apple 发布iOS16预览 中文版 二 开发者适配 IDE环境相关升级 Xcod
  • java: 无法从静态上下文中引用非静态 方法

    Java中静态上下文中无法引用非静态变量的解决办法 一 为什么不能引用 今天编写代码遇到 non static variable mainframe cannot be referenced from a static context 经过
  • 如何将多张图片合成mp4视频格式,并加入背景音乐...

    阅读全文 实现的思路 将准备好的图片通过opencv读取出来 并将其设置好帧数等参数后合成为无声视频 最后通过moviepy编辑视频将背景音乐加入到视频中 开始之前还是需要说明一下非标准库的来源 因为有些库的名称和需要导入模块的名称不一定就
  • 模型部署到移动端_使用 TFLite 在移动设备上优化与部署风格转化模型

    以下文章来源于TensorFlow 作者Google 风格转化 Style Transfer 是一种优化技术 用于采集两张图像 一张内容图像 如建筑物 一张风格图像 如著名画家的作品 并将其融合交织在一起 使输出图像看起来就像是以参考风格图
  • 7-1 厘米换算英尺英寸 (15分)

    7 1 厘米换算英尺英寸 15分 如果已知英制长度的英尺foot和英寸inch的值 那么对应的米是 foot inch 12 0 3048 现在 如果用户输入的是厘米数 那么对应英制长度的英尺和英寸是多少呢 别忘了1英尺等于12英寸 输入格

随机推荐

  • python科学计算——数据可视化(Matplotlib)

    写在前面 Matplotlib提供了大量实现数据可视化功能的模块 采用面向对象进行封装 在编写大型应用时通过面向对象方式将更加有效 这里只是对matplotlib的一些简单功能进行总结 需要更高级别的应用时 请多参考官方说明 pyplot绘
  • 卷积层与批归一化层的参数量计算公式

    卷积层 公式 卷积核的参数量 1 x 输出的特征层数 即该层的卷积核个数 其中的1 表示偏置项 每个卷积核默认附加一个偏置项 批归一化层 公式 4 x 输入的特征层数 其中4表示四个参数值 每个特征图对应一组四个元素的参数组合 beta i
  • sqlmap脚本tamper使用

    很多时候还是得静下来分析过滤系统到底过滤了哪些参数 该如何绕过 sqlmap中的tamper给我们带来了很多防过滤的脚本 非常实用 可能有的朋友还不知道怎样才能最有效的利用tamper脚本 当然使用脚本之前需要确定的就是系统过滤了哪些关键字
  • 网站打开速度多少毫秒为正常_个人做shopify-怎么测试和优化网站打开速度

    当我们shopify独立站弄得差不多的时候 还有一项非常重要的工作需要完成 那就是测试我们的站点打开速度 根据国外的一项调查显示 如果某个网站打开速度比较慢 通常意味着这个网站是不安全的 79 的网上购物者不会再进入这样的网站 除此之外 4
  • setfenv 5.1

    local FuncEnv setmetatable FuncEnv index G local func loadfile a lua setfenv func FuncEnv 等价于setfenv func FuncEnv func f
  • 使用mybatis+spring整合,完成DAO及Service的整合,并完成对图书表的怎删改查操作

    SQL语句如下 CREATE TABLE tb book bookNo int NOT NULL AUTO INCREMENT name varchar 20 CHARACTER SET utf8 COLLATE utf8 bin NOT
  • Pixelmator Pro 教程,认识 Pixelmator Pro 界面

    欢迎观看 Pixelmator Pro 中文版教程 小编带大家学习 Pixelmator Pro 的基本工具和使用技巧 认识 Pixelmator Pro 界面 Pixelmator Pro 具有单一窗口界面 专为在Mac上编辑图像而设计
  • 个人安装与配置VMware 虚拟机过程中发现的注意事项

    1 官网下载VMware安装包 本人版本应该是16 0 0 官网地址 下载 VMware Workstation Pro CN 2 安装过程参考网上搜索到的教程VMware16的安装及VMware配置Linux虚拟机 详解版 何故的博客 C
  • markdown 转为 word 含公式

    markdown 转为 word 含公式 pandoc的下载与安装 将m md转为m docx文件 window10为例 pandoc的下载与安装 pandoc下载地址 https pandoc org installing html 选择
  • 小米、华为、海尔竞争中,全屋智能「崛起」2023

    智能家居进入下半场 互联网大厂凭借着自身的流量红利收割了一部分市场份额 家电企业在向家装企业转型的过程中 也有其自带的流量优势和渠道优势 通信厂商借着 链接 优势 三大阵营在智能家居行业都各占鳌头 作者 思杭 编辑 皮爷 出品 产业家 一屋
  • java中的static关键字

    按照是否静态的对类成员变量进行分类可分两种 一种是被static修饰的变量 叫静态变量或类变量 另一种是没有被static修饰的变量 叫实例变量 static关键字的主要两个作用 1 为特定的数据类型或对象分配单一的存储空间 而与创建对象的
  • UE4 UI界面

    在UE4中创建UI界面是创建一个widget 进去之后左上角是选择控件 找到直接拖上去 中间那个框代表的就是我们的屏幕 在button中打字也就是给button命名时需要在上面在拖一个text控件 更好的排版可以改变锚点 这四个就类似与边距
  • 负数的除法和取模运算(Python 2.7和C的比较)

    一 除法 除法的取整分为三类 向上取整 向下取整 向零取整 1 向上取整 向 方向取最接近精确值的整数 在这种取整方式下 5 3 2 5 3 2 5 3 1 5 3 1 2 向下取整 向 方向取最接近精确值的整数 在这种取整方式下 5 3
  • html插入activex,ActiveX in HTML

    My requirement is to instantiate an object using new ActiveX in html I have created a COM component SimpleActiveX using
  • 第六周作业&实验报告四

    一 实验目的 1 掌握类的继承 2 变量的继承和覆盖 方法的继承 重载和覆盖的实现 二 实验的内容 1 根据下面的要求实现圆类Circle 1 圆类Circle的成员变量 radius表示圆的半径 2 圆类Circle的方法成员 Circl
  • 小甲鱼python学习笔记

    http fishc com 高级语言要编译成汇编语言才能被机器 然后再转换成二进制文件才能被机器所理解 idle window alt n 上一条命令 alt p 下一条命令 苹果mac ctrl n 上一条命令 ctrl p 下一条命令
  • 如何在线剪辑视频?手机视频怎样剪辑?

    在这个短视频当道的时代 大家都开始随手录制视频记录生活 一个视频从录制到发布 中间不可缺少的环节就是对视频的剪辑 想要做出高质量的视频 就少不了要在视频剪辑这一方面下功夫 有视频剪辑经验的小伙伴自然会选择使用PR等富有技术含量的软件 但是对
  • 关系型数据库特点分析

    1970年E F Codd发表的那篇阐述新型数据库设计方式的论文 数据管理技术才开始发生了巨大变化 特点分析 形式化的数学模型 使用关系代数来描述数据及数据间的关系 数据结构的逻辑排布方式同它们的物理存储方式相分离 消除数据异常 保证数据一
  • 互联网时代的营销方法

    随着新型互联网时代的到来 金融社会也跟随着发生剧变 出现了许多新兴的营销方式 他们或多或少都与互联网有着不可分离的关系 在这里 我简单向大家介绍几种我较为认可的营销方式 一 饥饿营销 饥饿营销是指商品提供者有意调低产量 以期达到调控供求关系
  • Java知识点二

    20世纪90年代 硬件领域出现了单片式计算机系统 这种价格低廉的系统一出现就立即引起了自动控制领域人员的注意 因为使用它可以大幅度提升消费类电子产品 如电视机顶盒 面包烤箱 移动电话等 的智能化程度 Sun公司为了抢占市场先机 在1991年