简介一下 i++和++i&&i=i+i,i+=1;的区别
首先: int i=2; i++=2; ++i=3; 前者先显示当前的值,而后者则是先自增在显示值; second i=i+1和i+=1; 输出结果虽然一样,但是 1.byte i=2; i+=2; 2.byte i=2; i=i+2; 第一种编译可以通过,第二种却不能通过,因为当使用第一种复合赋值的时候,系统会将右边的int类型的值自动转成左边的byte, 而第二种则不会。 特别注意的是:byte i=120; i+=20;输出的值不是140;而是-116; 这是因为结果超出了byte类型表
网络正常只有自己访问网站异常一度让你怀疑,是不是被黑了!域名解析异常是如何发生的,如何解决处理及C#编程实现一键修改Hosts文件
首先大家要知道在浏览器上浏览虚拟主机,必须使用Hosts文件或域名系统(DNS)实现主机名到IP地址的解析。在局域网中用Hosts文件或DNS都可以,在Internet上只能用DNS了。 1.当用户输入一个域名以百度为例(www.baidu.com)。 2.首先会到C:\Windows\System32\drivers\etc目录中用Hosts文件去查询相关的IP是否存在,如果存在就会访问该IP地址。 3.不存在该域名解析,那么就会到公网DNS查找。 当你访问域名出现异常,可能Hosts文件被
Sqlserver数据库中,跨权限执行语句
原文:Sqlserver数据库中,跨权限执行语句 问题来源:最近有同事需要执行批量删除语句。根据他提供的业务需求,推荐他使用“TRUNCATE TABLE”语句。但使用该语句需要 ALTER权限,这与执行用户的角色不符。 解决办法:使用EXECUTE AS语句修改执行权限。代码如下: ALTER PROCEDURE [dbo].[sp_TruncateTable]
@TableName varchar(200)
WITH EXECUTE AS SELF
AS
BE
TCP服务器和客户端_Socket编程
TCP服务器 服务器启动文件 1 import java.io.IOException;
2 import java.net.ServerSocket;
3 import java.net.Socket;
4
5 public class MyServer {
6
7 public static void main(String[] args) {
8
9 ServerSocket serverSocket = null;
10
android studio 3.0 升级问题:implementation和原compile
https://blog.csdn.net/qq_26075861/article/details/80570699
DIY的RPM包怎么签名呢 - 笔记
参考 https://gist.github.com/fernandoaleman/1376720 如果打不开上一个连接,请参考https://www.cnblogs.com/LiuYanYGZ/p/9433756.html 1 如何制作带签名的自定义rpm包
2 操作步骤:
3 制作rpm包的服务器:
4 由于制作rpm包的用户打算使用rpmuser用户,所以可以将gpg的一系统操作在rpmuser下进行,我使用的是root,然后再将/root/.gnupg/拷贝到/home/rpm
深入理解计算机系统(一)
对于程序员来说,计算机基础也是非常重要的一个部分,对于了解程序的执行过程、优化都是非常有帮助的。 一、系统的硬件组成 1、总线 贯穿整个系统的是一组电子管道,简称总线,总线携带信息字节并且负责在各个组件中传递。总线被设计成传递定长的字节块,例如32位系统(4个字节)以及64位系统(8个字节)。 2、I/O设备 通常所使用的键盘、鼠标、磁盘以及显示器等等都是I/O设备。每一个I/O设备都通过控制器或适配器与I/O总线相连接。 3、主存 主存是一个临时存放数据的物质,用来存放指令以及程序运行时的数
Java语言中两种异常的差别
Java提供了两类主要的异常:runtime exception和checked exception。所有的checked exception是从java.lang.Exception类衍生出来的,而runtime exception则是从java.lang.RuntimeException或java.lang.Error类衍生出来的。 它们的不同之处表现在两方面:机制上和逻辑上。 一、机制上 它们在机制上的不同表现在两点:1.如何定义方法;2. 如何处理抛出的异常。请看下面CheckedEx
11.1 进程间通信--共享内存
共享内存是最快的IPC形式,一旦这样的内存映射到共享它的进程的地址空间,这些进程间的数据传递不再涉及到内核,也就是说进程不再通过执行进入内核的系统调用来传递彼此的数据。写共享内存要加锁。常和信号量在一起使用。消息队列和管道读写数据都是要进入内核的。 示意图如下: 传递数据的示意图如下: 共享内存的数据结构及基本API: shmget函数: 原型:int shmget(key_t key, size_t size, int shmflg) 功能:用来创建共享内存 参数:
OpenResty之 limit.count 模块
原文: lua-resty-limit-traffic/lib/resty/limit/count.md 1. 示例 http {
lua_shared_dict my_limit_count_store 100m;
init_by_lua_block {
require "resty.core"
}
server {
location / {
access_by_lua_block {
类加载器(ClassLoader)
静态库、动态连接库 程序编制一般需经编辑、编译、连接、加载和运行几个步骤。在我们的应用中,有一些公共代码是需要反复使用,就把这些代码编译为“库”文件;在连接步骤中,连接器将从库文件取得所需的代码,复制到生成的可执行文件中。这种库称为静态库,其特点是可执行文件中包含了库代码的一份完整拷贝;缺点就是被多次使用就会有多份冗余拷贝。 为了克服这个缺点可以采用动态连接库。这个时候连接器仅仅是在可执行文件中打上标志,说明需要使用哪些动态连接库;当运行程序时,加载器根据这些标志把所需的动态连接库加载到内存。
Nginx RTMP配置文件种HLS部分
hls:值on|off 切换hls hls_path: 设置播放列表(m3u8)和媒体块的位置 hls_fragment: 后面接时间,用来设置每一个块的大小。默认是5秒。只能为整数 hls_playlist_length: 设置播放列表的长度,单位是秒 hls_sync: 音视频的同步时间 hls_continuous: on|off 设置连续模式,是从停止播放的点开始还是直接跳过 hls_nested: on|off 默认是off。打开后的作用是每条流自己有一个文件夹 hls_base_u
AWS设置允许root登陆
Refer to the following to set root login: sudo -s (to become root) vi /root/.ssh/authorized_keys Delete the lines at the begining of the file until you get to the words ssh-rsa. vi /etc/ssh/sshd_config Set the variable PermitRootLogin to PermitRootL
决策树之系列一ID3
应用实例: 你是否玩过二十个问题的游戏,游戏的规则很简单:参与游戏的一方在脑海里想某个事物, 其他参与者向他提问题,只允许提20个问题,问题的答案也只能用对或错回答。问问题的人通过 推断分解,逐步缩小待猜测事物的范围。决策树的工作原理与20个问题类似,用户输人一系列数 据,然后给出游戏的答案。如下表 假如我告诉你,我有一个海洋生物,它不浮出水面可以生存,并且没有脚蹼,你来判断一下是否属于鱼类? 通过决策树,你就可以快速给出答案不是鱼类。 决策树的目的就是在一大堆无序的数据特征中找出有序的规则,
vue初始化项目,构建vuex的后台管理项目架子
构架vuex的后台管理项目源码: https://github.com/saucxs/structure-admin-web 一、node安装 可以参考这篇文章http://www.mwcxs.top/page/440.html 二、vue-cli 全局安装 命令行执行 : npm install -g vue-cli // 加-g是安装到全局 安装完成以后 可以输入命令 :vue 回车,可以看到针对vue的命令行; 三、初始化项目 执行命令: vue init webpack structu
集合类用于存储一组对象
本章介绍Java的实用工具类库java.util包。在这个包中,Java提供了一些实用的方法和数据结构。例如,Java提供日期(Data)类、日历(Calendar)类来产生和获取日期及时间,提供随机数(Random)类产生各种类型的随机数,还提供了堆栈(Stack)、向量(Vector) 、位集合(Bitset)以及哈希表(Hashtable)等类来表示相应的数据结构。 图1.1给出了java.util包的基本层次结构图。下面我们将具体介绍其中几个重要的类。 ┌java.util.BitSe
今日推荐
周排行