`
文章列表
Java中java.lang.ThreadLocal类不是一个线程的本地实现,而是线程局部变量,也许叫ThreadlocalVar更加合适。ThreaLocal使用非常简单,就是为使用该变量的线程提供一个变量值的副本,每个线程都可以独立的改变自己的副本,而不会与其他线程冲突。 从线程角度看,每个线程都保持一个对其线程局部变量的隐式引用,只要线程是活动并且ThreadLocal实例可访问。线程结束之后,相应的线程局部变量的所有副本都会被垃圾回收。 通过ThreadLocal存取的数据,总是与当前线程有关。Jvm为每个运行的线程,绑定了私有的本地实例存取空间,每一个线程都可以独立地改变空间内容而不 ...
程序1: void myMalloc(char *s) //我想在函数中分配内存,再返回 {   s=(char *) malloc(100); } void main() {   char *p=NULL;   myMalloc(p); //这里的p实际还是NULL,p的值没有改变,为什么?   if(p) free(p); } 程序2: void myMalloc(char **s) {   *s=(char *) malloc(100); } void main() {   char *p=NULL;   myMalloc(&p); //这里的 ...
#include <stdio.h> #include <string.h> #include <wchar.h> #include <locale.h>                              //printf zh language #include "StrTest.h" int main(int argc,char*argv[]) {     wchar_t wstr[]=L"Hello World,呵呵!";     setlocale(LC_ALL, "zh_CN.UT ...
1):PostgreSql数据库查询结果随机排列语句 select id,name from article  order by random();
1:字符串中不准输入'<','>'字符 function ChkStr(obj)                                    {               var reg=/^[^<>]+$/;               if (!obj.value) return;                     if (!reg.test(o ...
#include <stdio.h> #include <string.h> #include <stdlib.h> char* StrReplace(char*src,char*rpl,char*dest) {     char *temp,*buf,*str;     int ind=0,i=0,next=0;     size_t srcLen=0,destLen=0,rplen=0,len=0;         srcLen=strlen(src);     destLen=strlen(dest);     rplen=strlen(rpl); ...
extern关键字理解: extern有两个作用,第一个,当它与"C"一起连用时,如: extern "C" void fun(int a, int b); 则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的函数名而不是C++的, C++的规则在翻译这个函数名时会按照C++编译器的规则进行转换,不同的编译器采用的方法不一样,因为C++支持函数的重载。     例如:      #ifndef _c_h_      #define _c_h_      #ifdef __cplusplus           extern " ...
字符数组(一维、二维)(一) 第二节   字符数组 字符数组是数组元素为char类型的一种数组。凡是适合数组的定义和赋值,也都适合于字符数组。由于C语言没有提供字符串类型,字符串一般用一维字符数组来存放,而 ...
下面是我自己的见解,不具有权威性,如果哪位大神发现错误还请指出以共同进步。 int main(int argc,char*argv[]){     char *temp;     temp="King";     printf("temp address is %d\n",temp);//此处temp的内存地址应该指向栈空间的地址。此时未给temp分配堆内存,如果调用srncpy(temp,"abc",4);则会出错,我估计是因为strncpy函数是给分配堆空间的变量赋值的函数,但我们尚未给temp使用malloc或calloc函数分 ...
package net.com.tree; public class BinaryTree { public static void main(String[] args){ BinaryTree binaryTree=new BinaryTree(); int[]array={8,3,10,9,1,5}; TreeNode treeNode=binaryTree.bulidSortTree(array); binaryTree.printTreeInorder(treeNode); } public void createTree(TreeNode treeNod ...
package net.com.heap; import java.util.Arrays; public class HeapSort { /* * fun将给定的一个数组创建成大頂堆 * array代表给定的数组,right代表数组的最大下标值 * */ public void createHeap(int[] array,int right){//创建大頂堆 int middle=right%2==0?right/2-1:right/2; if(middle*2+2>right){//末尾的叶子节点不对称的情况 if(array[middle]< ...
对int类型的数组利用Arrays类实现降序排序 首先实现Comparator类: public class SortCompare implements Comparator<Integer>{ public int compare(Integer o1, Integer o2) { if(o1 < o2){ return 1; }else if(o1 == o2){ return 0; }else{ return -1; } } 再用Arrays类实现排序时调用如下语句即可: Arrays.sort(scoresTemp,(Compa ...
#include <stdio.h> #include <stdlib.h> int Index(int *array,int left,int right){//用于得到枢轴的坐标     int temp = 0;     int *flag = &array[left];     //开始时写成了flag = array[left],这是不正确的,因为在下面做交换时,只是数据的交换,而不会将数据写到原来的地址值中去。     //也可以通过随机数产生参考值     while(left < right){         while(array[rig ...
package net.com.security; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MD5Test { public String testMD5(String str){ String result = null; try { MessageDigest mdInst = MessageDigest.getInstance(&quot;MD5&quot;); byte[] ...
#include <stdio.h> #include <stdlib.h> void InsertSort(int *a,int n){     int i = 1;     int flag = 0;//标记交换的两个数的下标值     int temp = 0;//交换两个数据时作为中间变量使用     int exc  = 0;//标记是否后面的一个数小于前面的     for(i = 1; i < n ; i++){             if(a[i] < a[i-1]){                 temp = a[i];       ...
Global site tag (gtag.js) - Google Analytics