Java基础3:数据类型
什么是变量变量就是内存中存储数据(值)的一小块空间。也就是说,当创建变量的时候,需要在内存中申请空间。Java属于强类型语言,内存管理系统根据变量的类型来为变量分配存储空间,分配的空间只能用来储存相应类型的数据。
而在Java中,数据类型又分为两大类:
内置数据类型
引用数据类型
内置数据类型byte
8位、有符号的,以二进制补码表示的整数;
最小值是-128(-2^7),最大值是127(2^7-1);
默认值是0;
byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;例:12byte a = 100;byte b = -50;
short
16 位、有符号的以二进制补码表示的整数;
最小值是-32768(-2^15),最大值是32767(2^15 - 1);
Short 数据类型也可以像 byte 那样节省空间。一个short变量是int型变量所占空间的二分之一;
默认值是 0;例:12short s = 1000;short r = -20000;
int
32位、有符号的以二进制补码表示的整数;
最小值是-2,1 ...
Java基础2:类与对象
内容回顾上一篇已经介绍过Java的基础语法和一些概念:
对象:对象是类的一个实例,有状态和行为(例如:职工是一个对象,他有工号、岗位、姓名、性别等状态,有工作、吃饭、睡觉等行为)。
类:类是一个模板,它描述一类对象的行为和状态。
类我们来举个例子。有一位职工,它具有工号,岗位,姓名,年龄的属性(状态),以及工作、吃饭、睡觉等行为。这段描述,我们可以用代码表示为:
123456789101112131415161718192021222324252627/*** 职工类*/public class Employee { int jobNo; //工号 String job; //岗位 String name; //姓名 int age; //年龄 /** * 工作行为 */ void work() { } /** * 吃行为 */ void eat() { } /** * 睡觉行为 */ ...
Java基础1:基础语法
第一个Java程序
使用编辑器新建一个文件Test.java;
在文件内编写以下代码,完成后保存:
12345public class Test { public static void main(String[] args) { System.out.println("Hello World!"); }}
在命令行输入javac Test.java后回车,即可对代码进行编译。不出意外的话,编译完成后会在相同目录下生成一个文件:Test.class;
在命令行输入java Test后回车,即可运行程序。它将会正常输出结果:Hello World!。
基本概念和约定一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。
基本概念:
对象:对象是类的一个实例,有状态和行为(例如:职工是一个对象,他有工号、岗位、姓名、性别等状态,有工作、吃饭、睡觉等行为)。
类:类是一个模板,它描述一类对象的行为和状态。
方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据 ...
Twikoo私有化部署第二弹:进阶篇
前言上一篇已经介绍过,我的Twikoo评论系统已经采用了私有化部署方式。但是存在一个问题,如果日后博客的访问量上升,评论内容增多,每次加载评论都需要从源站请求资源,会造成源站压力增大的问题,容易出现单点故障。
So,CDN派上用场了。
操作步骤CDN
打开腾讯云CDN控制台,添加域名,加速域名为后续要使用的域名,加速类型为CDN网页小文件,开启IPv6访问(可选),源站类型为自有源、回源协议为http,源站地址为Twikoo后端所在的服务器地址(即服务器的域名。需要在DNS控制台添加一条A记录,指向服务器IP地址),端口为Twikoo后端服务使用的端口(默认是8080,可自行修改):
检查无误后点击确认添加,然后提交配置(推荐配置保持默认即可,后续有需要再慢慢细调):
最后一步是配置CNAME,点击一键配置,确定。点击验证CNAME状态,显示已生效后,点击完成即可。
博客修改_config.butterfly.yml中的相关配置项即可:
12345twikoo: envId: http://加速域名/ region: #留空 visitor: false option: #留 ...
Twikoo私有化部署第一弹:基础篇
Twikoo不是支持云开发吗我肯定知道啊。再看看云开发目前的收费方式:
发生了什么事情呢?看这位博主就知道了(我不想说话):https://blog.zhheo.com/p/99d020fe.html
前段时间我忙不过来,然后腾讯直接把我的环境给干掉了。。
虽说能恢复数据,但我觉得一个小小的评论区,评论条目也不多,还得花10几块钱月费才能继续恢复,真的没有必要了。
腾讯云,我劝你善良。
另起炉灶上有政策,下有对策。Twikoo是支持多种方式部署的,刚好我有一台闲置的云主机,直接部署在上面就得了。
环境介绍
操作系统:Windows Server 2012 R2
软件:Node.js 16.17.1
后端部署
首先,从官网下载好Node.js,安装(步骤过于简单,所以不写了):
打开cmd,输入npm i -g tkserver,安装Twikoo后端服务:
输入tkserver,启动Twikoo后端服务。浏览器输入http://服务器IP地址:8080,如果出现这个提示,说明Twikoo已经正常运行:
前端配置我的博客是基于Hexo+Butterfly主题构建的。对于Butte ...
搬家:从云开发到COS
编写中
年度水文:解决了访问博客出现的403问题
Long time no see伙计们,我回来了
发现问题去年Coding Pages下线后,我把博客托管在了云开发CloudBase上(有一说一,还挺方便的,连CDN配置都省了)。
部署完成后,发现部分博客文章打不开了,报403错误:
然鹅很奇怪的是,早前博客部署在Github Pages、Coding Pages的时候,是没有这个问题的。在本地测试,也能正常打开:
解决思路只能怀疑是环境的问题了,毕竟在本地都能正常打开。
检查问题文章中的图片链接,复制到浏览器后能正常打开,排除了图床的访问权限问题
将问题文章和其他正常文章对比后发现,问题文章的源文件名、文章标题中都包含有“+”符号,会不会是这个造成的呢?
先从源文件名下手,将源文件重命名了一下,把“+”替换为“、”:
更改前:
更改后:
随后将博客部署到CloudBase,小等1分钟后刷新,再次访问这篇文章,发现可以正常访问了:
另一篇文章也采用相同方法进行操作。最后,问题全部解决。
域名变更
没错,域名又双叕换了!本blog正式用上新域名辣~
1https://tokiame.cn
契机自从博客名改名时雨小栈以后,思来想去总感觉不对劲啊,unlinus.cn这域名和标题不符!于是就有了换域名的想法。
光是域名就想了大半天,后来决定使用“时雨”二字的日语罗马音——tokiame作为域名。上万网找了下,发现tokiame.com已经被人注册过了。虽说不打算将.com作为自己的一级域名,但是总感觉二级域tokiame和别人重名了,不爽(就是这么任性)。于是,我在tokiame后面加上了自己英文名的前三位asu,再综合自己的钱包情况(穷),注册了tokiame-asu.top(首年7块钱)。为什么一级域名是.top呢?因为真的不想被人whois查到我的信息(cn域名在阿里云那边搞不了whois隐藏,不知道是不是我的问题)
今年年初开始,我的博客一直托管在Github Page上,通过阿里云的CDN和OSS图床给博客加速,效果很不错。然而现在想换域名,问题来了,国内CDN都需要域名备案,而我已经接近大半年没用过阿里云的ECS了。因为备案域名需要绑定ECS、云存储网关之类的产品,或者绑 ...
欢迎新成员——红米AX5使用感受
家里的无线路由器是TP-Link的WDR6500千兆版,2018年初升级电信宽带买的(当时还是小白,在电信营业厅200多买的,巨坑!网上随便100多就能搞到 = =),到目前为止服役了3年多。最近实在是受不了了,要么信号不稳定,要么隔一堵墙就从5GHz掉到2.4GHz。还有相当麻烦的一点就是,距离WiFi太远时不能切换到2.4GHz,或者离WiFi近时不能自动切换回5Ghz。我也尝试过改变路由器的摆放位置,也设置过定时重启,无果。那么办法只有一个了——买买买!
采购!在买之前,首先考虑一下需求。由于家里宽带是电信的200M下行,百兆接口的产品显然会成为瓶颈,考虑到将来带宽升级的空间,千兆速率肯定是首选。另外一个要考虑的是无线的速率,早些年的Wifi5无线路由器,主流速率多数是2.4GHz 300M+5GHz 867M。其实这个速率放在我家的话,使用设备不多,重度使用的情况相对比较少,其实也基本够用。
讲真,无线信号的稳定性才是需要考虑的重点。因为对于对于家里的房屋构造来说,普通的路由器显然有点力不从心了:
(内心OS:0.3米厚的墙,大量的柱子,辣鸡路由器,糟糕的摆 ...
使用Diskpart优雅地管理你的磁盘分区
前言强迫症(OCD)属于焦虑障碍的一种类型,是一组以强迫思维和强迫行为为主要临床表现的神经精神疾病,其特点为有意识的强迫和反强迫并存,一些毫无意义、甚至违背自己意愿的想法或冲动反反复复侵入患者的日常生活。患者虽体验到这些想法或冲动是来源于自身,极力抵抗,但始终无法控制,二者强烈的冲突使其感到巨大的焦虑和痛苦,影响学习工作、人际交往甚至生活起居。我们每次在虚拟机上安装Windows,设置Windows安装位置的时候,都会提示“Windows可能要为系统文件创建额外的分区”。这样安装的话会默认创建EFI(存放EFI引导文件)、MSR(保留分区)和主分区,强迫症表示非常不爽。撇开强迫症不说,如果需要扩展磁盘空间,有个MSR分区卡在中间的话,根本没法进行在线扩容,需要进入Windows PE利用分区软件来进行扩容,带来极大的不便。我们可以利用Windows安装镜像自带的Diskpart工具,亲手进行磁盘分区。
操作过程环境介绍
系统镜像文件:Windows Server 2019镜像文件
虚拟化平台:VMware vSphere 7.0u2
一台能上网的破笔记本
一位懂电脑并且会用vSpher ...
P0-我的Linux之路
前言掐指一算,接触Linux差不多有3年时间了,说不上精通,但也不能说对它感到陌生。回过头来细想了一下,似乎还没有针对Linux进行过系统化的学习。So,这是我第一篇正经的Linux笔记。(水文章の警告/滑稽)
先闻其名第一次听说Linux这五个字母,是在我读初一的时候。我姐大学毕业以后,寄回了一箱子的书。有一天我在收拾房间的时候,看到了这破箱子。我寻思,这箱子里会不会找到一些有意思的东西?然后便开始疯狂搜刮(老毛病了哈哈),找到了这本东西:(这书几乎改变了我未来的发展方向。从我读初中开始,到高中毕业,都会时不时拿出来翻)某天在看着书的时候,偶然翻到了Linux部分。这部分对Linux的叙述,用了2页左右的文字,和几张平平无奇的黑白配图。后来专门去百度搜了一下Linux,除了知道Linux的作者是Linus、Linux是开源的以外,其他的感觉没什么吸引力,就没再继续研究。
小试牛刀读初二的时候,我认识了同桌,就叫他小威吧。他当时给我的印象是:啥都懂,经常聊到计算机这些东西(他说的什么黑苹果,IOS,我当时都不知道是什么玩意/尴尬),而且他还是个重度游戏玩家。有一次在 ...
P5-存储虚拟化
前言说到存储,可能大多数人首先想到的是硬盘、U盘,然而这些都只是冰山一角。在虚拟化领域,存储是以什么样的形式存在的呢?
存储介质:硬盘存储介质种类繁多。在虚拟化领域,硬盘的使用非常广泛,下面会重点介绍硬盘的分类。
根据接口进行划分
IDE硬盘:也称为并口硬盘、ATA硬盘,采用并行传输模式。然而线缆数量过多,难以实现高速率。理论上,提高工作频率可以使传输速率更高,但由于线缆数量多,提高工作频率会导致线路间产生串扰,传输距离变短。目前,这种硬盘已经不再生产,面临淘汰。
SATA硬盘:也称为串口硬盘,采用串行传输方式,线缆数量少,容易达到较高的传输速率,且传输距离长。SATA硬盘采用了嵌入式时钟信号,能够同时对数据、传输指令进行检查,纠错能力强,可靠性高。SATA硬盘还支持热插拔,维护较为方便。目前,在消费级硬盘领域,SATA硬盘的使用非常广泛。
SAS硬盘:即串行SCSI硬盘,采用SAS接口。SAS接口是向下兼容SATA接口的,但是和SATA接口不一样的是,它支持串行SCSI协议(SSP)、SCSI管理协议(SSP),且额外提供了冗余传输端口(位于供电接口和数据接口之间的补平部分),可 ...
P4-揭秘FusionCompute的核心技术——Xen与KVM
前言Xen和KVM都是开源的虚拟化软件,同时它们也是FusionCompute所采用的底层架构。为了方便我们后续对FusionCompute的学习,有必要对Xen和KVM进行初步理解。
Xen vs KVMXenXen的虚拟化架构如下:在Xen架构中,有两类虚拟机:Domain 0和Domain U。Domain 0:属于控制域,是一台启动优先级最高、处于特权级别的虚拟机,用于对Domain U进行管理。全虚拟化场景下,Xen负责DomainU的CPU虚拟化和内存虚拟化,而Domain 0的后端驱动会主动捕获Domain U的I/O操作,通过硬件驱动去实现I/O虚拟化。而在半虚拟化场景下,Domain U的前端驱动可以主动将I/O请求发送给Domain 0的后端驱动,Domain 0通过硬件驱动直接访问硬件资源,实现I/O虚拟化。可以这么说,Domain 0全权负责Domian U的I/O虚拟化。Domain U:普通的用户虚拟机
KVMKVM,全称Kernel-based Virtual Machine,意为“基于内核的虚拟机”。KV ...
P3-计算虚拟化
前言本文将会在P2的基础上,对云计算中的重要组成部分——计算虚拟化,进行介绍。
计算虚拟化概述定义:计算虚拟化通过虚拟化软件层(即Hypervisor或VMM),将物理服务器的硬件资源与上层应用进行解耦,形成统一的资源池,将资源弹性分配给逻辑隔离的虚拟机共享使用。
CPU虚拟化CPU特权级别在我们的计算机系统中,CPU被划分为几个特权级别,每个级别我们称之为Ring。通过划分Ring级别,可以对CPU进行访问控制。
Ring0:OS内核,处于特权指令级别,安全等级最高,一般只有操作系统才能执行,是内核态;
Ring1/2:一般驱动程序,处于非特权指令级别;
Ring3:应用程序,处于非特权指令级别,是用户态;
CPU指令说到特权级别,不得不提的一点是CPU指令。CPU指令即指挥机器工作的指示和命令,程序就是一系列按一定顺序排列的指令,执行程序的过程就是计算机的工作过程,而指令集就是CPU中用来计算和控制计算机系统的一套指令的集合。目前,CPU指令集分为两大阵营:RISC指令集和CISC指令集。
根据权限划分的不同,CPU指令又分为以下几种:
特权指令:可以对操作系统产生 ...
P2-虚拟化技术概览
前言上一篇文章已经介绍了云计算的一些基础概念,让我们对云计算有了一定的了解。那么,云计算中强大的功能从何而来?它又是如何实现的呢?
虚拟化技术最初印象在日常生活中,我们可能已经听说过,或者说已经在使用虚拟化技术了,下图是我们日常使用非常广泛的一个虚拟机软件:VMware Workstation:通俗的讲法就是,虚拟机可以在一台具备操作系统的物理机上,运行一台或多台和物理机一样具有操作系统的虚拟主机。这可能是我们最早对虚拟机的一个理解了。
虚拟化概念在虚拟化中,我们需要了解一些重要的概念以及专业术语:OS:操作系统Guest OS:虚拟机操作系统Virtual Machine(VM):虚拟机Hypervisor:虚拟化软件层/虚拟机监视器(也称VMM,Virtual Machine Monitor)Host OS:运行在物理机之上的OSHost Machine:(主机)物理机
在虚拟化中,OS必不可少。OS是Operating System的缩写,即操作系统。OS具有以下作用:
接管硬件;
调度和分配软硬件资源;
为OS软件进行升级、补丁更新;
对主机的生命周期进行管理;
提 ...
P1-初识云计算
前言云计算作为近几年发展非常迅速的技术,已经成为各大应用的一个基础。那什么是云计算呢?
初识云计算何为云计算?美国国家标准与技术研究院(NIST)对云计算作出了定义:
云计算是一个模型,这个模型可以方便地按需访问一个可配置的计算资源(例如,网络、服务器、存储设备、应用程序以及服务)的公共集。这些资源可以被迅速供应并释放,使得管理资源的工作量、与服务提供商的交互量减小到最低限度。
通俗来讲,“云”指的是提供资源的网络,而“计算”则指的是一台或多台性能强大的计算机提供的计算服务(包括各种功能、资源等)。云计算通过网络,将大量的计算资源聚合起来,使用软件进行智能化管理,形成计算资源池,并向广大用户提供计算服务。云计算并非是一种全新的技术,而是一种以互联网为中心的全新的网络应用概念。
云计算的部署模式云计算常见的部署模式分为三种,分别是公有云、私有云、混合云。公有云由第三方服务提供商建设,供用户使用;私有云由用户自行建设,即资源建设者=资源使用者;混合云则为私有云和公有云的混合体。而根据层级关系,云计算又分为多种服务模式,如下图:
IaaS(Infrastructure as ...