类型系统

linux基础之用户及用户组管理

亡梦爱人 提交于 2020-01-16 16:40:36
本节内容 用户管理 1. 为什么需要用户? 1.linux 是一个多用户系统 2. 权限管理(权限最小化) 2. 用户相关文件 /etc/passwd --> 用户基本信息 /etc/shadow --> 密码信息 /etc/default/useradd --> 保存了 useradd 的默认配置 /etc/login.defs --> 保存了全局信息 /etc/group --> 组信息 /etc/gshadow--> 组密码 /etc/skel--> 用户家目录模板 3. 用户信息 三类用户: 超管 root ( 0 ) 系统用户(运行服务,通常不许登录系统 1-999 ) 普通用户( 1000-60000 ) 4. useradd :添加用户 -g: 指定主组 -G :指定附加组 -u: 指定 uid -r: 创建系统用户 -s: 指定 shell 类型( /bin/bash,/sbin/nologin ) -c: 添加描述信息 5. usermod :修改用户信息 -g: 指定主组 -G :指定附加组 -u: 指定 uid -r: 创建系统用户 -s: 指定 shell 类型( /bin/bash,/sbin/nologin ) -l: 改名 -e: 过期时间( / ) 6. passwd :修改用户密码 passwd 用户名 echo " 用户密码 " | passwd

sigar开发(java)

浪子不回头ぞ 提交于 2020-01-16 03:47:51
下载sigar,地址:https://yunpan.cn/cBEWbEfdAm98f (提取码:f765) 可以收集的信息 CPU信息:包括基本信息(vendor、model、mhz、cacheSize)和统计信息(user、sys、idle、nice、wait) 文件系统信息:包括Filesystem、Size、Used、Avail、Use%、Type 事件信息:类似Service Control Manager 内存信息:物理内存和交换内存的总数、使用数、剩余数;RAM的大小 网络信息:包括网络接口信息和网络路由信息 进程信息:包括每个进程的内存、CPU占用数、状态、参数、句柄 IO信息:包括IO的状态,读写大小等 服务状态信息 系统信息:包括操作系统版本,系统资源限制情况,系统运行时间以及负载,JAVA的版本信息等 文件目录结构 hyperic-sigar-1.6.4压缩包中 bindings:使用例子 docs:文档 sigar-bin:开发文件(jar包,dll文件,so文件等) 1. 在自己的Java项目中引入sigar.jar 2. 同时将对应的dll文件或者so文件添加到系统目录。例如:windows下把sigar-x86-winnt.dll添加到c:\WINDOWS\system32或者jdk的bin目录 获取数据,代码如下: import java.net

使用redis实现系统消息推送

允我心安 提交于 2020-01-14 06:30:37
使用redis实现系统消息推送 大致的思路: 1.Redis信息发布:redisTemplate.convertAndSend(channel,message) 2.Redis信息监听:实现MessageListener接口,重写OnMessage(Massage message,byte[] pattern)方法。请参考代码,本例中的key,value的序列化方式均为string,其中key必须为stringSerializer,和redisTemplate.convertAndSend对应。使用线程池ThreadPoolTaskExecutor(sipring-context包)通过入表达式实现,具体看代码。逻辑大概如下: 触发客户端(个人和群发的区别)-先更新用户缓存-删除已经关闭的信息-执行消息推送。 3.消息推送:使用SseEmitter实现,长时间监听,sseEmitter.send(value) ,其中value是json格式化得来的字符串,包含用户id,用户类型,未读信息数目等。 来源: CSDN 作者: 林小二 链接: https://blog.csdn.net/qq_42947952/article/details/103792953

IS-IS路由协议知识总结

自闭症网瘾萝莉.ら 提交于 2020-01-13 13:23:30
一. IS-IS简介 IS-IS(Intermediate System-to-Intermediate System intra-domain routing information exchange protocol,中间系统到中间系统的域内路由信息交换协议)最初是国际标准化组织(International Organization for Standardization,ISO)为它的无连接网络协议(ConnectionLess Network Protocol,CLNP)设计的一种动态路由协议。 为了提供对IP的路由支持,IETF(Internet Engineering Task Force,因特网工程任务组)在RFC 1195中对IS-IS进行了扩充和修改,使它能够同时应用在TCP/IP和OSI环境中,称为集成化IS-IS(Integrated IS-IS或Dual IS-IS)。 IS-IS属于内部网关协议(Interior Gateway Protocol,IGP),用于自治系统内部。IS-IS是一种链路状态协议,使用最短路径优先(Shortest Path First,SPF)算法进行路由计算。 1. 基本概念 1) IS-IS路由协议的基本术语 l IS(Intermediate System):中间系统。相当于TCP/IP中的路由器,是IS

go语句及其执行规则

佐手、 提交于 2020-01-13 00:15:23
参考: https://time.geekbang.org/column/article/39841?utm_source=weibo&utm_medium=xuxiaoping&utm_campaign=promotion&utm_content=columns 不要通过共享数据来通讯,恰恰相反,要以通讯的方式共享数据。 Don’t communicate by sharing memory; share memory by communicating. 一个进程至少会包含一个线程。如果一个进程只包含了一个线程,那么它里面的所有代码都只会被串行地执行。每个进程的第一个线程都会随着该进程的启动而被创建,它们可以被称为其所属进程的主线程。 相对应的,如果一个进程中包含了多个线程,那么其中的代码就可以被并发地执行。除了进程的第一个线程之外,其他的线程都是由进程中已存在的线程创建出来的。 也就是说,主线程之外的其他线程都只能由代码显式地创建和销毁。这需要我们在编写程序的时候进行手动控制,操作系统以及进程本身并不会帮我们下达这样的指令,它们只会忠实地执行我们的指令。不过,在 Go 程序当中,Go 语言的运行时(runtime)系统会帮助我们自动地创建和销毁系统级的线程。这里的系统级线程指的就是我们刚刚说过的操作系统提供的线程。 这带来了很多优势,比如

关于MySQL的基准测试

痴心易碎 提交于 2020-01-13 00:15:03
什么是基准测试 当我们对数据库进行优化后,只有进行测量系统性能才能知道优化是否有效,这种测量的方式就是基准测试。基准测试的定义如下: 基准测试是一种测量和评估软件性能指标的活动用于建立某个时刻的性能基准,以便当系统发生软/硬件变化时,重新进行基准测试以评估变化对性能的影响 我们可以这样认为: 基准测试是针对系统设置的一种压力测试,可以用来观察系统在不同压力下的行为。评估系统的容量,观察系统如何处理不同的数据。 但是基于测试不等同于压力测试: 基于测试:直接、简单、易于比较,用于评估服务器的处理能力。基准测试可能不关心业务逻辑,所使用的查询和业务的真实性可以和业务环节没有关系 压力测试:对真实的业务数据进行测试,获得真实系统所能承受的压力。压力测试需要针对不同的主题,所使用的数据和查询也是真实用到的 对MySQL进行基准测试的目的: 1、建立MySQL服务器的性能基准线,确定当前MySQL服务器的运行情况 2、模拟比当前系统更高的负载,以找出系统的扩展瓶颈。增加数据库的并发,观察QPS、TPS的变化,以确定并发量与性能最优的关系 3、测试不同的硬件、软件和操作系统配置 4、证明新的硬件设备是否配置正确 如何进行基准测试 通常来说,基准测试有两种方式: 1、对整个系统进行基准测试:从系统的入口进行测试(网站Web前端,手机APP前端) 优点:能够测试整个系统的性能,包括web服务器缓存

关于Mach-O类型文件那点事

白昼怎懂夜的黑 提交于 2020-01-12 22:14:12
Mach-O文件简介 Mach-O是一种文件格式,是Mach Object文件格式的缩写。 它通常应用于可执行文件,目标代码,动态库,内核转储等中。 Mach-O作为大部分基于Mach核心的操作系统所使用。 如:NeXTSTEP,Darwin和Mac OS X等系统使用这种格式作为其原生可执行文件,库和目标代码的格式。 在NeXTSTEP和Mac OS X中,可以将多个Mach-O文件组合进一个多重架构二进制文件中,以用一个单独的二进制文件支持多种架构的指令集。这种称为胖二进制文件(即:Fat binary文件)。 Mach-O文件类型众多,常见的一些Mach-O文件类型如下: MH_OBJECT 目标文件,平时.o结尾的文件 MH_EXECUTE 可执行文件,我们平时编译后的包中的执行文件 MH_DYLIB 一些动态库,该文件夹下很多/usr/lib/xxx.dylib MH_DSYM 符号文件,编译成功后XXX.app.dSYM Mach-O文件结构布局 Mach-O主要有三部分组成: Header 部分主要描述当前Mach-O文件什么架构,是否Fat二进制文件,CUP类型等等; Load commands 部分主要描述: 1.Mach-O文件中在虚拟内存中空间是如何分配的,从哪个内存地址开始到哪个内存地址结束。 2.不同段在Mach-O文件中的位置,大小分布。 Data

java笔记整理

我与影子孤独终老i 提交于 2020-01-10 03:48:31
基本概念 操作系统中 heap 和 stack 的区别 什么是基于注解的切面实现 什么是 对象/关系 映射集成模块 什么是 Java 的反射机制 什么是 ACID BS与CS的联系与区别 Cookie 和 Session的区别 fail-fast 与 fail-safe 机制有什么区别 get 和 post请求的区别 Interface 与 abstract 类的区别 IOC的优点是什么 IO 和 NIO的区别,NIO优点 Java 8 / Java 7 为我们提供了什么新功能 什么是竞态条件? 举个例子说明。 JRE、JDK、JVM 及 JIT 之间有什么不同 MVC的各个部分都有那些技术来实现?如何实现? RPC 通信和 RMI 区别 什么是 Web Service(Web服务) JSWDL开发包的介绍。JAXP、JAXM的解释。SOAP、UDDI,WSDL解释。 WEB容器主要有哪些功能? 并请列出一些常见的WEB容器名字。 一个”.java”源文件中是否可以包含多个类(不是内部类)?有什么限制 简单说说你了解的类加载器。是否实现过类加载器 解释一下什么叫AOP(面向切面编程) 请简述 Servlet 的生命周期及其相关的方法 请简述一下 Ajax 的原理及实现步骤 简单描述Struts的主要功能 什么是 N 层架构 什么是CORBA?用途是什么 什么是Java虚拟机

[go]内存对齐

余生长醉 提交于 2020-01-07 18:29:31
参考 参考-校对版 理解类型的本质 当我使用 C/C++ 编写代码时,理解类型(type)是非常有必要的。如果不理解类型,你就会在编译或者运行代码的时候,碰到一大堆麻烦。无论什么语言,类型都涉及到了编程语法的方方面面。 加强对于类型和指针的理解,对于提高编程水平十分关键。 本文会主要讲解类型。 我们首先来看看这几个字节的内存: 内存地址: FFE4 FFE3 FFE2 FFE1 存储的值: 00000000 11001011 01100101 00001010 请问地址 FFE1 上字节的值是多少? 如果你试图回答一个结果,那就是错的。为什么?因为我还没有告诉你这个字节表示什么。(不同类型的含义不同) 回答 10,那么你又错了。为什么?因为当我说这是数字的时候,你认为我是指十进制的数字。 基数(number base): 所有编号系统(numbering system)要发挥作用,都要有一个基(base)。 从你出生的时候开始,人们就教你用基数 10 来数数了。 这可能是因为我们大多数人都有 10 个手指和 10 个脚趾。另外,用基数 10 来进行数学计算也很自然。 基定义了编号系统所包含的符号数。基数 10 会有 10 个不同的符号,用以表示我们可以计量的无限事物。 基数 10 的编号系统为 0、1、2、3、4、5、6、7、8、9。一旦超过了 9,我们需要增加数的长度。 例如

三星手机一键修改网络类型信息

强颜欢笑 提交于 2020-01-03 00:06:36
之前文章介绍了如何在安卓手机上安装激活xposed框架,xposed框架的极强的功能大伙都介绍过,能不修改应用程序的前提下,修改系统内部的参数,打比方在某些应用范畴,大伙需要修改手机的某个系统参数,这时就需要使用xposed以及相关模块功能来实现。 下面内容归纳一下具体xposed框架的下载和框架模块应用沙盒的使用流程,成功激活并正确修改网络类型参数。 首先,具体xposed框架各位可以在开发者网站了解详细介绍。 https://repo.xposed.info/ 第一步,下载并安装激活XPosed框架,由于官方版本只支持Root情况下使用,所以如果系统没有Root权限,我们需要使用无Root版本,就没能使用官方的XPosed框架了,这里我们自己根据具体系统选择使用即可,附上各版本下载链接: 最全各种系统版本的XPosed框架资料下载整理 第二步下载并安装参数修改模块应用沙盒, 框架模块下载 。 然后,,根据模块使用手册或指引教程,激活模块后,一键生成参数,然后使用系统信息查看工具查看,如果前面步骤都没问题则能成功修改网络类型参数,这时候系统信息查看工具显示的就是修改后的网络类型参数。 新用户对xposed框架使用过程可能会遇到一些问题,可在框架官方论坛查找相关问题的解答信息, https://forum.xda-developers.com/xposed 来源: 51CTO 作者