现在位置: 首页 > icicle发表的所有文章
  • 06月
  • 10日
移动开发 ⁄ 共 1897字 评论关闭
一.Handle的用例: 1.创建handle实例 new handle(); 2.发送信息载体(Message) sendMessage(msg); 3.处理消息 handleMessage(Message msg){}; 二.原理浅析 结合以上的handle调用三部曲,我们将顺藤摸瓜理清Handle、Looper、Message、MessageQueue的逻辑与关系。 1.new Handle():这个操作将生成一个Handle实例,handle实例有三个属性mLooper、mQueue、mCallback,以下解释这三个属性的来历。 1.a: mLooper = Looper.myLooper();Looper的myLooper静态方法也很简单、 public static Looper myLooper() { return sThreadLocal......
阅读全文
  • 04月
  • 23日
综合 ⁄ 共 967字 评论关闭
UML参考书籍《UML中文参考手册》,DP参考书籍《设计模式.可复用面向对象软件的基础.中文版》,使用的建模工具:Rational Rose,对于Rose的使用方法,可以参考《UML with Rational Rose从入门到精通》。 UML简介: 随着计算机应用越来越广泛,计算机软件的规模和复杂性与日俱增,从而使得软件技术不断受到新的挑战,在上世纪60年代就出现了软件危机,为了解决软件危机,需要更加先进的方法与技术。在开发中,开发者逐渐认识到大型的软件系统的开发是一项工程,必须按工程学的方法组织软件的生产与管理,必须经过分析、设计、实现、......
阅读全文
  • 04月
  • 01日
综合 ⁄ 共 1606字 评论关闭
在Web2.0的时代,基于Tomcat内核的JBoss在J2EE应用服务器领域已成为发展最为迅速的应用服务器。这一青出于蓝而胜于蓝的产品与Tomcat的区别又在哪里?   基于Tomcat内核,青胜于蓝   Tomcat 服务器是一个免费的开放源代码的Web应用服务器,技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可。其运行时占用的系统资源小,扩展性好,且支持负载平衡与邮件服务等开发应用系统常用的功能。作为一个小型的轻量级应用服务器,Tomcat在中小型系统和并发访问用户不是很多的场合下被普遍使用,成为......
阅读全文
  • 03月
  • 20日
综合 ⁄ 共 502字 评论关闭
  单链表是一种最为基本的数据结构,常用的单链表又分为带头结点和不带头结点两种。从线性表的定义可以知道,线性表要求允许在任意位置进行插入和删除操作。所有的链表都有一个头指针head,带头结点的链表中head的数据项为空。接下来具体分析。 1.带头节点的链表的插入,首先使用临时变量p等于要插入之前的节点(不管具体的插入位置),之后不管要插入的节点x是插到链表头还是插到链表的其他位置都是如下语句:x->next = p->next;p->next = x; 2.不带头结点的链表的插入,若要插到链表的开头则 x->next = head->ne......
阅读全文
  • 02月
  • 12日
综合 ⁄ 共 34573字 评论关闭
1.简述OC中内存管理机制。与retain配对使用的方法是dealloc还是release,为什么?需要与alloc配对使用的方法是dealloc还是release,为什么?readwrite,readonly,assign,retain,copy,nonatomic,atomic,strong,weak属性的作用? 答:OC中内存管理机制应该就是引用计数的增减吧,retainCount为0时释放该内存。       retain对应的是release,内存的释放用release。       alloc对应的是dealloc,内存的销毁用dealloc。       readwrite此标记说明属性会被当成读写的,这也是默认属性。       readonly此标记说明属性只可以读......
阅读全文
  • 02月
  • 12日
综合 ⁄ 共 1284字 评论关闭
#include "stdio.h" #include "malloc.h" struct Node* current = NULL; //声明的一个全局变量表示的是链表的尾部 //二叉树 struct Node {int value;struct Node* left;  //左儿子节点struct Node* right; //右儿子节点 }; void addLeftNode(struct Node *node, struct Node *left) //添加一个左儿子 {node->left = left; } void addRightNode(struct Node *node, struct Node *right) //添加一个右儿子 {node->right = right; } struct Node* createNode(int value) {struct Node* node = (struct Node*)malloc(sizeof......
阅读全文
  • 01月
  • 11日
综合 ⁄ 共 1331字 评论关闭
1,关于数据库的操作 在j2se,连接数据库中 有个Statement类 通过产生该类的对象,我们可以进而执行相应的sql语句 一般我们如果要进行增加一条语句到table中,例如String sql="insert into pet values(nameid,sex,owner)"; 这里的nameid,sex,owner均是我们自己从其他地方动态获取的数据, 例如stmt.executeUpdate(sql)是绝对出问题的,因为我们的sql里面的格式严重有问题,必须要自己利用+配合 添加相应的' ' 这种单引号,否则传进去语法报错。 这里我们引入Statement的子类,PreparedStatement;,再进行相应的数据库操作......
阅读全文
没有js的运行环境导致的: lijg@lijg-desktop:~/workruby/helloapp$ ruby script/rails console /home/lijg/.rvm/gems/ruby-1.9.2-p290/gems/execjs-1.2.7/lib/execjs/runtimes.rb:47:in `autodetect': Could not find a JavaScript runtime . See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable) 解决方法1: Adding the following gems to my Gemfile solved the issue: gem 'execjs' gem 'therubyracer' Then of course: bundle install 解决方法2: 安装nodejs lijg@l......
阅读全文
  • 12月
  • 27日
编程语言 ⁄ 共 13147字 评论关闭
from: https://hi.baidu.com/wxipi/blog/item/dcbf1f500991975b1038c298.html from: http://yunhaozou.org/perl-shell/314.html from: http://roclinux.cn/?p=2338 看到好多同学在求Python教程,其实完全没必要, Python非常的简单,简单到恐怕用自然语言来看python就能看懂了... 这里偶就简单的写个教程吧。 首先是数据结构,python所有的数据都是对象,包括0,1之类的: 数只有整数和浮点之分,整数是直接支持高精度的,因此,想知道12345的12345次方是多 少,直接输入print 12345**12345就行了。 不过浮点数不是高精度的,表达......
阅读全文
  • 12月
  • 25日
综合 ⁄ 共 2258字 评论关闭
一  二分查找算法:1、递归方法实现:int BSearch(elemtype a[],elemtype x,int low,int high)/*在下届为low,上界为high的数组a中折半查找数据元素x*/{  int mid;  if(low>high) return -1;  mid=(low+high)/2;  if(x==a[mid]) return mid;  if(x<a[mid]) return(BSearch(a,x,low,mid-1));  else return(BSearch(a,x,mid+1,high));} 2、非递归方法实现:int BSearch(elemtype a[],keytype key,int n){  int low,high,mid;  low=0;high=n-1;  while(low<=high)     {      mid=(low+high)/2;      if(a[mid].key==key) r......
阅读全文
在聊聊高并发(十一)实现几种自旋锁(五)中使用了java.util.concurrent.atomic.AtomicStampedReference原子变量指向工作队列的队尾,为何使用AtomicStampedReference原子变量而不是使用AtomicReference是因为这个实现中等待队列的同一个节点具备不同的状态,而同一个节点会多次进出工作队列,这就有可能出现出现ABA问题。 熟悉并发编程的同学应该知道CAS操作存在ABA问题。我们先看下CAS操作。 CAS(Compare and Swap) 比较并交换操作是一个三元操作: 目标地址的值T(arget),期望值E(xpected),实际值R(eal), 1. 只有当目标值T =......
阅读全文
  • 12月
  • 17日
编程语言 ⁄ 共 1338字 评论关闭
网站制作时,技术用到的代码很多,又很复杂,其实很多网站制作的时候只用一句话的代码就可以制作很好的效果,笔者为站长提供网站制作中9条一句话代码,超级简单,而且很实用哦!!(黄颜色的地方是可以替换的)   一、404页面   当用户访问的内容不存在时,我们就要进入404页面,可是显示太长时候又不好,就需要404页面在规定的时间内跳入其他页面,下面是网页在5秒之后跳入其他页面的代码:   <META  http-equiv=V="REFRESH"  content="5" URL="网址">   二、网站制作有很多内容是不想让其他人复制的,代码如下: ......
阅读全文