转自:
http://www.java265.com/JavaMianJing/202205/16515929083261.html
下文笔者讲述Java中基本数据类型占用字节大小的简介说明,如下所示
基础数据类型是所有数据类型的核心
是所有类的核心,那么如何才能精准的使用指定的数据类型呢?
我们必须熟练掌握每一个数据类型的大小,才可准确的使用指定的数据类型,下文笔者将讲述数据类型的大小,如下所示
数据类型 占用大小 备注 byte 占用1个字节 取值范围-128 ~ 127 short 占用2个字节 取值范围-2^15^ ~ 2^15^-1 int 占用4个字节 取值范围-2^31^ ~ 2^31^-1 long 占用8个字节 float 占用4个字节 double 占用8个字节 char 占用2个字节 boolean 占用大小根据实现虚拟机不同有所差异
目录数据演变史单独的文本文件软件开发目录规范数据库应用数据库应用发展史单机游戏阶段多机游戏阶段数据库本质在微观层面在宏观层面数据库软件的本质数据库分类关系型数据库关系型的特点常见关系型数据库名称非关系型数据库非关系型的特点常见非关系型数据库名称SQL与NoSQLSQL与NoSQL的由来SQL语句NoSQL语句MySQL简介MySQL下载与安装版本问题下载使用目录结构MySQL基本使用系统服务制作添加环境变量解决频繁切换路径的问题编写固定的指令解决需要每次启动服务端移除系统服务的方法设置和修改密码直接输入mysql登录如何区分当前是否是游客模式使用用户名和密码的方式登录修改管理员密码重要概念基本SQL语句操作库的基本SQL语句查增改删操作表的基本SQL语句如何查看表的所属库如何切换到指定库下查增改删操作记录的基本SQL语句查逐行展示数据查看指定字段增单条数据多条数据改删
数据演变史 单独的文本文件 没有固定的存放位置 例如: C:\info.txt D:\data\userinfo.txt F:\userdata\admininfo.txt 没有固定的数据格式 例如: jack_ma|123456 pony_ma$123456 robin_li~123456 因为没有统一的标准,程序彼此无法兼容
软件开发目录规范 按照文件功能的不同规定了相应的位置。文件查找变得统一,但是没有解决最关键的格式问题
数据库应用 解决了存放位置和数据格式问题,将数据处理部分统一了起来
数据库应用发展史 单机游戏阶段 数据各自保存在各自的计算机上,无法实现远程共享 特点:无需连接互联网
多机游戏阶段 数据统一基于网络保存到某个固定的服务器上,实现了数据共享 特点:必须连接互联网
数据库本质 在微观层面 运行在计算机上专门处理数据的进程(程序) 例如: 内存中的pycharm代码
在宏观层面 提供给操作者一个简单快捷的操作进程的软件 例如: 屏幕上的pycharm界面 注意:工日常作中提到数据库的时候大部分指的是操作数据库的应用软件
数据库软件的本质 数据库软件的本质其实也是一款CS架构的软件, 所以现在市面上其实存在很多数据库软件
数据库分类 关系型数据库 关系型的特点 有固定的表结构(最主要的特征) 例如: 有固定字段的excel表格 id name gender age height 并且表与表之间可以建立代码层面的关系 例如: 用户表与车牌表 用户购车 那么用户数据和车辆牌照数据就应建立关系 常见关系型数据库名称 MySQL、Oracle、PostgreSQL、MariaDB、sqlite、sql server
据库名称 特点 MySQL 关系型数据库的代表,开源免费,使用频率极高 Oracle 关系型数据库的代表,开源免费,使用频率极高 PostgreSQL 支持二次开发(自己嫁接、扩展功能) MariaDB 与MySQL是同一个作者,开发的初衷是作为MySQL的替代品 sqlite 小型数据库,携带方便但功能较少;主要用于本地测试使用 sql server 老牌数据库软件,目前使用较少 非关系型数据库 非关系型的特点 没有固定的表结构 数据存取采用K:V键值对的形式(最主要的特征) {'name':'kevid'} {'adminname':'admin','pwd':qwer1234} 并且表与表之间无法建立代码层面的关系 常见非关系型数据库名称 Redis、MongoDB、Memcache
本节,我们介绍一下 Linux 系统的优缺点。Linux 不可比拟的优势如下。
1) 大量的可用软件及免费软件 Linux 系统上有着大量的可用软件,且绝大多数是免费的,比如声名赫赫的 Apache、Samba、PHP、mysql 等,构建成本低廉,是 Linux 被众多企业青睐的原因之一。当然,这和 Linux 出色的性能是分不开的,否则,节约成本就没有任何意义。
但不可否认的是,Linux 在办公应用和游戏娱乐方面的软件相比 Windows 系统还很匮乏,所以,即便打游戏、看影片用的也是 Windows,至于 Linux,就把它用在擅长的服务器领域吧。
2) 良好的可移植性及灵活注 Linux 系统有良好的可移植性,它几乎支持所有的 CPU 平台,这使得它便于裁剪和定制。我们可以把 Linux 放在 U 盘、光盘等存储介质中,也可以在嵌入式领域广泛应用。
如果读者希望不进行安装就体验 Linux 系统,则可以在网上下载一个 Live DVD 版的 Linux 镜像,刻成光盘放入光驱或者用虚拟机软件直接载入镜像文件,设置 CMOS/BIOS 为光盘启动,系统就会自动载入光盘文件,启动进入 Linux 系统。
3) 优良的稳定性和安全性 著名的黑客埃里克?雷蒙德(EricS.Raymond)有一句名言:“足够多的眼睛,就可让所有问题浮现”。举个例子,假如笔者在演讲,台下人山人海,明哥中午吃饭不小心,有几个饭粒粘在衣领上了,分分钟就会被大家发现,因为看的人太多了;如果台下就稀稀落落两三个人且离得很远,那就算明哥衣领上有一大块油渍也不会被发现。
Linux 开放源代码,将所有代码放在网上,全世界的程序员都看得到,有什么缺陷和漏洞,很快就会被发现,从而成就了它的稳定性和安全注。
提到 Linux 的安全性,我们可以做一个实验:在一台计算机上,在安装了 Windows 系统后不安装杀毒软件联网一个月,看看会有什么情况;同样,在安装了 Linux 系统后不安装杀毒软件联网一个月,我们比较一下,大家就明白了什么是 Linux 的安全性。Windows 系统不安装杀毒软件,相信大家都知道会有什么下场吧……
4) 支持几乎所有的网络协议及开发语言 经常有初学的朋友问我,Linux 是不是对 TCP/IP 协议支持不好、是不是 Java 开发环境不灵之类的问题。前面在 UNIX 发展史中已经介绍了,UNIX 系统是与 C 语言、TCP/IP 协议一同发展起来的,而 Linux 是 UNIX 的一种,C 语言又衍生出了现今主流的语言 PHP、Java、C++ 等,而哪一个网络协议与 TCP/IP 无关呢?所以,Linux 对网络协议和开发语言的支持很好。
数据演变史 单独的文本文件 没有固定的存放位置:C:\a.txt D:\aaa\c.txt F:\bbb\b.txt 没有固定的数据格式:jason|123 tony$123 kevin~123 '''程序彼此无法兼容 没有统一的标准''' 软件开发目录规范 按照文件功能的不同规定了相应的位置 # 缺点: 虽然存储目录相同了,但是每个人数据格式都不相同 程序之间无法兼容 数据库应用 解决了存放位置和数据格式问题 '''将数据处理部分统一了起来''' 数据库应用发展史 单机游戏阶段 数据各自保存在各自的计算机上 无法实现远程共享 '''无需互联网''' 多机游戏阶段 数据统一基于网络保存到某个固定的服务器上 实现数据共享 '''必须要有互联网''' 集群 如果所有的数据全部存储到一台远程服务器上 那么数据的安全性降低 服务器的压力上升 所以增加远程服务器的数量 数据同步保存 任务均匀分担 具有相同功能的多个服务器组合到一起 就可以称之为是集群 数据库本质 数据库在微观层面上来说 运行在计算机上专门处理数据的进程(程序) eg:内存中的typora代码 数据库在宏观层面上来说 提供给操作者一个简单快捷的操作进程的软件 eg:屏幕上typora界面 我们平时在说数据库的时候大部分指的是操作数据库的应用软件 # 数据库软件的本质其实也是一款CS架构的软件 既然数据库本质是一款CS架构的软件 也就意味着我们每个会网络编程的程序员理论上来说都可以编写出一款数据库软件 在目前地球上有很多牛逼的程序员 他们都具备编写数据库软件的能力 所以现在市面上其实存在很多数据库软件 数据库分类 关系型数据库 1.有固定的表结构(最主要的特征) eg:有固定字段的excel表格 id name gender 2.并且表与表之间可以建立代码层面的关系 eg:用户表与房屋表 用户买房 那么用户数据和房屋数据就应该有关系 # 常见数据库名称: 'MySQL、Oracle、PostgreSQL、MariaDB、sqlite、sql server' MySQL:关系型数据库的代表 开源免费 使用频率极高 Oracle:安全性极高 但是使用和维护收费 使用成本高 PostgreSQL:支持二次开发(自己嫁接、扩展功能) MariaDB:与MySQL是同一个作者 开发的初衷是作为MySQL的替代品 sqlite:小型数据库 携带方便但功能较少 主要用于本地测试使用 sql server:老牌数据库软件 目前主流不用 非关系型数据库 1.
新手往往会被 Linux 众多的发行版本搞得一头雾水,我们首先来解释一下这个问题。
从技术上来说,李纳斯•托瓦兹开发的 Linux 只是一个内核。内核指的是一个提供设备驱动、文件系统、进程管理、网络通信等功能的系统软件,内核并不是一套完整的操作系统,它只是操作系统的核心。一些组织或厂商将 Linux 内核与各种软件和文档包装起来,并提供系统安装界面和系统配置、设定与管理工具,就构成了 Linux 的发行版本。
在 Linux 内核的发展过程中,各种 Linux 发行版本起了巨大的作用,正是它们推动了 Linux 的应用,从而让更多的人开始关注 Linux。因此,把 Red Hat、Ubuntu、SUSE 等直接说成 Linux 其实是不确切的,它们是 Linux 的发行版本,更确切地说,应该叫作“以Linux为核心的操作系统软件包”。
Linux 的各个发行版本使用的是同一个 Linux 内核,因此在内核层不存在什么兼容性问题,每个版本有不一样的感觉,只是在发行版本的最外层(由发行商整合开发的应用)才有所体现。
Linux 的发行版本可以大体分为两类:
商业公司维护的发行版本,以著名的 Red Hat 为代表; 社区组织维护的发行版本,以 Debian 为代表。 很难说大量 Linux 版本中哪一款更好,每个版本都有自己的特点。下面为大家介绍几款常用的 Linux 发行版本。
1) Red Hat Linux Red Hat(红帽公司)创建于 1993 年,是目前世界上资深的 Linux 厂商,也是最获认可的 Linux 品牌。
Red Hat 公司的产品主要包括 RHEL(Red Hat Enterprise Linux,收费版本)和 CentOS(RHEL 的社区克隆版本,免费版本)、Fedora Core(由 Red Hat 桌面版发展而来,免费版本)。
我们千方百计实现了程序的异步,让多个任务可以同时在几个进程中并发处理,但是它们之间的运行没有顺序,一旦开启也不受我们控制。 尽管并发编程让我们能更加充分的利用计算机的资源,但是也给我们带来了新的问题:进程之间数据不共享,但是共享同一套文件系统,所以访问同一个文件是没有问题的,要是对同一文件进行读写操作呢?要知道共享带来的是竞争,竞争带来的结果就是错乱。 from multiprocessing import Process import json,time #在当前目录下创建一个文件(db) #文件db的内容:{count:1}表示的是余票数量 def search(): #查询余票 fp = open('db','r') dic = json.load(fp) #反序列化,将文件中的json数据转换成python字典 print('剩余车票数为:{}'.format(dic['count'])) def get(): #抢票,每次只能购买一张 fp = open('db', 'r') dic = json.load(fp) time.sleep(0.1) if dic['count'] > 0: time.sleep(0.2) dic['count'] -= 1 time.sleep(0.1) json.dump(dic, open('db', 'w')) #购票后,回写到文件中 print('购票成功') def task(): search() #先查询 get() #后购买 if __name__ == __main__: for i in range(3): p = Process(target=task) p.start() #运行结果 #剩余车票数为:1 #剩余车票数为:1 #剩余车票数为:1 #购票成功 #购票成功 #购票成功 上述案例中,总的票数只有1张,我们确成功购票三次。很明显存在问题。 如何控制,就是加锁处理 加锁流程 1.
public class datatype { public static void main(String[] args) { //整数拓展: 进制 二进制0b 十进制 八进制0 十六进制0x int i = 10; int i2 = 010; // 八进制0 int i3 = 0x10; // 十六进制 System.out.println(i); System.out.println(i2); System.out.println(i3); System.out.println(==========================); // 浮点数拓展? 银行业务怎么表示? 钱 // BidDecimal 数学工具类 //float //double float f = 0.1f; double d = 0.1; System.out.println(f==d); // float 有限 离散 舍入误差 大约 接近但不等于 // 最好避免使用浮点数进行比较 float d1 = 232223443556333f; float d2 = d1 + 1; System.
数据演变史
存取发展史
数据库本质
数据库分类
SQL与NoSQL
MySQL下载与安装
系统服务制作
重要概念
基本SQL语句
数据演变史 # 1.单独的文本文件 没有固定的存放位置:C:\a.txt D:\aaa\c.txt F:\bbb\b.txt 没有固定的数据格式:jason|123 tony$123 kevin~123 '''程序彼此无法兼容 没有统一的标准'''# 2.软件开发目录规范 按照文件功能的不同规定了相应的位置 '''文件查找变得统一 但是没有解决格式问题(核心问题)''' # 3.数据库应用 解决了存放位置和数据格式问题 '''将数据处理部分统一了起来''' 数据库应用发展史 # 1.单机游戏阶段 数据各自保存在各自的计算机上 无法实现远程共享 '''无需互联网'''# 2.多机游戏阶段 数据统一基于网络保存到某个固定的服务器上 实现数据共享 '''必须要有互联网'''集群 如果所有的数据全部存储到一台远程服务器上 那么数据的安全性降低 服务器的压力上升 所以增加远程服务器的数量 数据同步保存 任务均匀分担 具有相同功能的多个服务器组合到一起 就可以称之为是集群 数据库本质 数据库在微观层面上来说 运行在计算机上专门处理数据的进程(程序) eg:内存中的typora代码数据库在宏观层面上来说 提供给操作者一个简单快捷的操作进程的软件 eg:屏幕上typora界面我们平时在说数据库的时候大部分指的是操作数据库的应用软件# 数据库软件的本质其实也是一款CS架构的软件 既然数据库本质是一款CS架构的软件 也就意味着我们每个会网络编程的程序员理论上来说都可以编写出一款数据库软件 在目前地球上有很多牛逼的程序员 他们都具备编写数据库软件的能力 所以现在市面上其实存在很多数据库软件 数据库分类 目前市面上有很多数据库软件 大致可以分为两类1.
nginx可以启动但是不能访问浏览器 执行
ps aux|grep nginx ,执行结果如下,的确Nginx服务已经启动。
然后执行
netstat -ntlp 查看80-端口是否被分配给了Nginx,执行结果如下:
一切正常啊,那到底情况出在何处呢?
经过查阅了网上的资料,终于找到解决办法
第一步,对80端口进行防火墙配置:
firewall-cmd --zone=public --add-port=80/tcp --permanent 第二步,重启防火墙服务:
systemctl restart firewalld.service 然后重新在浏览器中访问你的ip,应该就可以访问了。
https://www.cnblogs.com/yeungchie/
PyQt5 from PyQt5.QtWidgets import * from PyQt5.QtCore import * from PyQt5.QtGui import * PySide2 from PySide2.QtWidgets import * from PySide2.QtCore import * from PySide2.QtGui import * 顶部应用 QApplication app = QApplication([]) app.setStyle(QStyleFactory.create('Fusion')) # 稍微好看点的样式 app.exec_() 部件 QWidget wg = QWidget() 窗口标题 wg.setWindowTitle('YEUNGCHIE') 窗口尺寸 初始尺寸 wg.resize(300, 200) # 设置尺寸 wg.size() # 获取当前尺寸 最小/大尺寸 wg.setMinimumSize(300, 200) # 设置最小尺寸 wg.setMaximumSize(300, 200) # 设置最大尺寸 wg.