1.C语言强制类型转换,Type b = (Type)a,这种不安全,转换前没有类型检查。例如: char *pChar = new char; int *pInt = (int *)pChar; 这种是从小的地址(char *)转换为大的地址(int *),虽然可以编译过,但是有可能访问不安全的地 ...
分类:
编程语言 时间:
2020-06-01 00:53:03
阅读次数:
72
CAS和AtomicInteger AtomicInteger用来保证自增原子性,它的实现是基于CAS(比较和交换)的。 CAS(CompareAndSwap):判断内存某个位置的值是否与预期值一致,如果是则更改为新值,这个过程是原子的。不会造成数据不一致的问题。 compareAndSet(exc ...
分类:
其他好文 时间:
2020-05-31 16:17:58
阅读次数:
81
Python增强建议#8,也称为PEP 8,是关于如何格式化Python代码的样式指南。你可以使用任何你想要的方式编写Python代码,只要它有有效的语法。但是,使用一致的格式化代码更易于阅读。在更大的社区中,与其他Python程序员共享一种共同的风格可以促进协作项目。但是,即使您是惟一阅读您的代码 ...
分类:
其他好文 时间:
2020-05-31 11:26:19
阅读次数:
63
全局配置段 主要是全局性的和服务级别的属性配置,常见的主要有以下几种设置 配置选项说明 user 设置使用用户 worker_processed 进行增大并发连接数的处理 跟cpu保持一致 八核设置八个 error_log nginx的错误日志 pid 服务启动时候的pid events 定义事件相 ...
分类:
其他好文 时间:
2020-05-31 01:15:49
阅读次数:
89
1.配置支持AnyCpu编译模式 2.使用Http代理服务 3.Cookie隔离,每个IWebBrowser实例的数据不共享 4.使用IResponseFilter获取响应数据 1.配置支持AnyCpu编译模式 CefSharp从51版本以后开始支持AnyCpu编译模式,首先需要在当前项目的cspr ...
分类:
Web程序 时间:
2020-05-30 22:00:58
阅读次数:
928
/*** 删除左右两端的空格*/function trim(str){ return str.replace(/(^\s*)|(\s*$)/g, ”);}/*** 删除左边的空格*/function ltrim(str){ return str.replace(/(^\s*)/g,”);}/*** ...
分类:
Web程序 时间:
2020-05-30 19:37:00
阅读次数:
73
原子CAS操作 原子操作指令里,有原子加,原子减,cas到底是什么呢? 首先看一段代码, bool compare_and_swap(int *accum, int *dest, int newval) { if (*accum == *dest) { *dest = newval; return ...
分类:
其他好文 时间:
2020-05-29 23:38:08
阅读次数:
104
在了解悲观锁和乐观锁之前,我们先了解一下什么是锁,为什么要用到锁? 技术来源于生活,锁不仅在程序中存在,在现实中我们也随处可见,例如我们上下班打卡的指纹锁,保险柜上的密码锁,以及我们我们登录的用户名和密码也是一种锁,生活中用到锁可以保护我们人身安全(指纹锁)、财产安全(保险柜密码锁)、信息安全(用户 ...
分类:
其他好文 时间:
2020-05-29 13:44:51
阅读次数:
58
说明 substr_compare ( string $main_str , string $str , int $offset [, int $length [, bool $case_insensitivity = FALSE ]] ) : int substr_compare() 从偏移位置 ...
分类:
其他好文 时间:
2020-05-28 16:13:51
阅读次数:
51
public Type GetMyType(Dictionary<string, Type> dic) { string strDynamicModuleName = "dynamic"; string strDynamicClassName = "<>dynamic"; AppDomain cur ...
分类:
其他好文 时间:
2020-05-27 20:40:03
阅读次数:
81