1、将过去的工程用VS2010打开的时候。你有可能会遇到一大堆的警告:warning C4996。
比如:warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_W...
分类:
编程语言 时间:
2016-07-06 15:09:36
阅读次数:
316
自己的总结: 1、原子类的核心是循环CAS,其中CAS使用的是unsafe类里面的3种CAS。 2、原子类共分为4类 3、CAS会带来ABA问题,所以直接使用原子类也有ABA问题。但是使用AtomicStampedReference 可以解决这个问题。 4、自己对CAS的理解:含义像下面的代码那样, ...
分类:
其他好文 时间:
2016-07-06 00:22:37
阅读次数:
183
http://www.cnblogs.com/mickole/articles/3757278.html unsafe类里面是大量的native方法,主要是一些对内存的直接操作等。 Unsafe类提供了硬件级别的原子操作,Java无法直接访问到操作系统底层(如系统硬件等),为此Java使用nativ ...
分类:
其他好文 时间:
2016-07-02 13:17:26
阅读次数:
190
以AtomicLong的compareAndSet方法举例。先说结论:如果CPU支持,则基于CPU指令(CMPXCHG8)实现;否则使用ObjectLocker锁实现。 分析过程如下: 该方法在jdk中源代码如下: unsafe是sun.misc.Unsafe的一个实例,Unsafe类在jdk中没有 ...
分类:
编程语言 时间:
2016-06-28 18:08:46
阅读次数:
406
以下是方法,不要纠结原理,等东西积累多了,你才有能力纠结原理: 首先,你需要有一个这样的函数,这是在 nsq 的源码里直接抄过来的: 你有一个 struct: 现在你想通过 reflect 的方式去改这个 i int。 下面是代码: ...
分类:
其他好文 时间:
2016-06-24 22:04:37
阅读次数:
151
1. 下载mysql community server 2. 下载mysql workbench 3. 启动mysql server 4. 进入mysql命令行 5. 修改root密码 6. 增加用户 7. unsafe updates under safe update model ...
分类:
数据库 时间:
2016-06-23 14:27:44
阅读次数:
151
转自 http://blog.sina.com.cn/s/blog_628821950100wh9w.html C#进行图像处理的几种方法 本文讨论了C#图像处理中Bitmap类、BitmapData类和unsafe代码的使用以及字节对齐问题。 Bitmap类 命名空间:System.Drawing ...
分类:
Windows程序 时间:
2016-06-17 12:23:25
阅读次数:
2317
概述
ByteBuffer是NIO里用得最多的Buffer,它包含两个实现方式:HeapByteBuffer是基于Java堆的实现,而DirectByteBuffer则使用了unsafe的API进行了堆外的实现。这里只说HeapByteBuffer。
使用
ByteBuffer最核心的方法是put(byte)和get()。分别是往ByteBuffer里写一个字节,和读一个字节。
值得注...
分类:
其他好文 时间:
2016-05-30 15:15:52
阅读次数:
107
以往的Delphi版本,不支持接口的Weak,和UnSafe的引用,支持对象的Weak, UnSafe,而且仅在Android和Ios平台上支持。 现在Delphi XE10.1 Berlin终于增加了对接口的Weak, UnSafe的支持。 1.Weak Weak引用,不影响引用计数器,但是如果对 ...
通过 __unsafe_unretained标示符标示指针类型的值,否则xcode会报以下错误(前提,你使用的是ARC模式): ARC forbids Objective-C objects in struct 例如: ...
分类:
其他好文 时间:
2016-05-23 21:12:23
阅读次数:
90