volatile、ThreadLocal的使用场景和原理

  • Post author:
  • Post category:其他

并发编程中的三个概念 原子性 一个或多个操作。要么全部执行完成并且执行过程不会被打断,要么不执行。最常见的例子:i++/i--操作。不是原子性操作,如果不做好同步性就容易造成线程安全问题。 可见性 多个线程访问同一个变量,一个线程改变了这个变量的值,其他线程可以立即看到修改的值。可见性的问题,有两种方式保证。一是volatile关键字,二是通过synchronized和lock。详细在后面。 有序…

继续阅读 volatile、ThreadLocal的使用场景和原理

python 利用爬山法和迪杰斯特拉算法求解TSP最短路径

  • Post author:
  • Post category:python

爬山法和模拟退火算法通常用来求解TSP的最短路径问题。爬山法的一个最大的缺点就是,它只能获取一个局部最优的解,但是无法获取一个全局最优的解。而模拟退火算法,它以一定的概率接受较差的解,因此,可以在一定程度上避免局部最优的问题。而迪杰斯特拉算法虽然能够得到最短路径,但是由于需要大量的计算,比较消耗性能,因此,实际应用中并不多。关于爬山法和模拟退火算法的介绍,百度上不是很清楚,其他的一些资料上也介绍的…

继续阅读 python 利用爬山法和迪杰斯特拉算法求解TSP最短路径

java socket+nginx 配置 tcp 长连接

  • Post author:
  • Post category:java

问题 本地搭建了一个 ServerSocket 可以接收数据,但是服务器上只能连接上,一直接收不到数据。 解决 nginx 需要配置 配置长连接 配置如下。 events { use epoll; worker_connections 51200; multi_accept on; } stream{ upstream abc{ server 127.0.0.1:8543; keepalive 3…

继续阅读 java socket+nginx 配置 tcp 长连接

内存对齐规则

  • Post author:
  • Post category:其他

每个特定平台上的编译器都有自己的默认“对齐系数”(也叫对齐模数)。程序员可以通过预编译命令#pragma pack(n),n=1,2,4,8,16来改变这一系数,其中的n就是你要指定的“对齐系数”。 规则: 1、数据成员对齐规则:结构(struct)(或联合(union))的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员的对齐按照#pragma pack指定的数值和这个数据成…

继续阅读 内存对齐规则

CheckBox的使用(一):onCheckedChanged事件

  • Post author:
  • Post category:其他

重写接口 public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) package com.example.androidtest; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import…

继续阅读 CheckBox的使用(一):onCheckedChanged事件

java中 引用传递_Java中的引用传递

  • Post author:
  • Post category:java

我觉得引用传递  真的很好理解,不知道为什么大家觉得这么难,你只要掌握这几点就可以了 在Java机制中他自己提供的那些数据类型(String ,Object等)要这样理解: 1)在Java中  引用  说的就是  地址指针,或者叫地址变量, 2)引用传递  一般发生在函数调用的时候,最明显的特征就是  函数参数 3)如果引用传递  实用过程中  ,函数没有返回值,这个叫真正的引用传递,没有改变对象…

继续阅读 java中 引用传递_Java中的引用传递

模拟实现strncpy

  • Post author:
  • Post category:其他

模拟实现strncpy strncpy就是将src中的n个字符拷贝到dest中,要注意几个点: 如果 src长度小于len , 用‘\0’ 补齐len的长度 。注意用strlen判断src长度时,要明白strlen是向后找‘\0’来计算长度,所以,如果是用单个字符赋值,不要忘记在结尾加上‘\0’,如果要给src限定长度时也不要忘记算上‘\0’的长度 如果 src长度大于len , 只会拷贝len个…

继续阅读 模拟实现strncpy

将罗马数字转换成整数

  • Post author:
  • Post category:其他

/*********************************************************************** 给定一个罗马数字s,( I<=s<=MMMCMXCIX)(即1到3999),将罗马数字转换成整数。 如罗马数字I,II,III,IV,V分别代表数字1, 2, 3, 4, 5。 格式: 第一行输入一个罗马数字,接下来输出对应的整数。 提示: …

继续阅读 将罗马数字转换成整数

NSUserDefaults — 写读&配置

  • Post author:
  • Post category:其他

<pre name="code" class="objc">NSUserDefaults 1.可以保存一些简单的数据 2.可以定制应用的行为 NSUserDefaults *d = [NSUserDefaults standardUserDefaults]; //write [d setObject:@"iCrazy" forKey:@"name"]; [d setInteger:20…

继续阅读 NSUserDefaults — 写读&配置