- 浏览: 153938 次
- 性别:
- 来自: 桂林
最新评论
-
vavi:
这个原因应该是你的类放在系统的classpath下面,由系统类 ...
不同ClassLoader加载的类,能cast赋值啊! -
xyg123_1979163.com:
因为你的FileSystemClassLoader没有指定其父 ...
不同ClassLoader加载的类,能cast赋值啊! -
banxi1988:
mirguest 写道因为C中参数其实是传值的。调用那个函数时 ...
我做错的面试笔试题(c/c++版) -
mirguest:
#include<stdio.h>
#inclu ...
我做错的面试笔试题(c/c++版) -
mirguest:
因为C中参数其实是传值的。调用那个函数时,我们只是把全局的p的 ...
我做错的面试笔试题(c/c++版)
文章列表
在原有应用中,还不能让用户自己添加茶叶,及修改每种茶叶的泡茶时间等等。
下面我们将完成这些功能。
首先要以一个菜单来在让用户执行这些功能,主要有添加及修改相关功能。
一般在android机都在机身了提供了一个menu按钮。当用户点击机身上的"Menu"按钮时,选项工菜单一般设置在底部出现。
Android会自己负责菜单的自动创建和显示。我们只需要告诉android。菜单显示什么内容及当用户点击相应的菜单选项时该做什么就行了。
先在string.xml文件中添加一个菜单标签先。如下:
<!-- begin Menu 选项菜单项 -->
...
我在前面文章中记录了学习第一个android程序的过程及经验总结。
下面是这个教程的升级版。也是应用程序的升级版。
泡茶计时器,第二版带sqllite功能。
此笔记根据经网站教程学习总结得来:
http://coolshell.cn/articles/4334.html
1. sqLite.
现在使用的是sqlite3。如果是在ubuntu等linux发行版的话,安装sqlite等
相关软件是很方便的。安装相关文档也很方便。或者可以轻松在网上找到。
sqlite数据库最主要的特点是可嵌入一个数据库就是一个文件。创建数据库就是创建文件。基本的sql与标准sql差不多。但是一些事务性的支 ...
Vim是编辑器之神,学会使用给人很好的感觉,但是学习曲线也是很长很陡的。
因为我也是从Windows的使用过程中转换过来的。下面是我自己的一些使用习惯。
这篇文章也是我进一步学习vim的起点,所谓温故而知新嘛。
1. 环境。我在Ubuntu中使用vim。主要是使用gvim。因为给我一些熟悉亲切的菜单。
2. 我给gvim设置了快捷键。开始是用Ctrl+e。但是与bash中的Ctrl+e将光标移到后面冲突。
所以改成了Ctrl+Alt+e了。在这里也简单重复下怎么设置自定义快捷键吧。
(1) Ctrl+Shift+t打开终端
...
原本很久以前就有打算学习Android的。但是因为android官网访问不了。我就停止了。
哈哈,其实也因为自己还是要先把Java学好先。
嗯,昨天看到android和网站能够正常访问了,就找到以前搭建好的环境,了解下。
做一下记录,也分享下心得。纯粹是一个初学者的心得。
1.此地址中有Eclipse开发Android应用程序入门,而且示例系统是Ubuntu哦。http://coolshell.cn/articles/4270.html
注意点:下载的android SDK只有大概20-30M这个样子因此是不带有示例代码的。
要在Android SDK and AVD Manager ...
花了一个下午和半个晚上写了这个简单通讯录:
哈哈,第一次写这么长的Python代码,自认为结构还是挺合理的。
代码如下:
#-*- coding:utf-8 -*-
# file :addrList.py
# date :2011-10-24 15:40:13
# 设计一个基本的通讯录管理程序,使其具有添加,删除,编辑,查找等功能。
# 要求使用C/C++,java,javascript,python中任意一种语言实现。字符界面即可。
# 不需要有GUI(图形界面)
import sys
import os
import string
import re
from dat ...
在我学习python的时候,我将在ipython中测试的过程通过gnome-screenshot截屏下来保存。
一开始我命名的规则如下:
引用
banxi1988@banxi:~/work/python$ ls images/
assign_py16.png class_private_var_py06.png instance_init_py08.png
class_attribute_py02.png dict_create_py14.png issubclass_py01.png
class_attribute_py03.png div_ ...
引用
#!/bin/bash
# addrList.sh
# 实现一个简单的通讯录程序,联系人信息的添加,修改,删除,查找等操作。
#
这是我给我们的组员布置的一道题目。给他们的要求是用任何他们熟悉的编程语言来实现。
为也更多的了解,他们在没有多少编程基础的情况下,怎么把这个任务完成,
我选择我没有学习过的shell脚本来试验。边学边用。
现在做一个基础的设计。
添加的话比较简单。
只要接收收入然后使用echo >>就可以将联系人信息添加进去。
但是查找的话使用grep命令也比较容易。但删除的话,就比较难了。
先写出来第一版本的程序来
banxi1988@banxi:~/wo ...
关于shell脚本的调试在我的博客“shell学习与使用,边学边用之二”中
后面关于"set -x"命令选项的使用就已经够了。
下面一些当作补充。
一:最原始最常用的调试技术:
使用echo和print命令。
二:根据调试层次控制输出。使用echo指令的不足之处在于,当程序员不想显示这些输出的时候。就不得不注释掉或者删除这些指令。如果下次要再调试又要再次添加。麻烦又容易出错。
借鉴C语言中常用的控制调试输出技巧,即使用
#define DEBUG 1
#ifdef DEBUG
printf("messages ……");
...
下面是一个简单的shell程序。(来自 expert shell scripting一书 后面没有特殊说明也是一此书中的一些代码示例。为基础修改而来)
#!/bin/sh
#set -x
echo -n "Can you write device drivers(y/n)?"
read answer
answer = ‘echo $answer | tr [a-z] [A-Z]’
if[ $answer = Y] then;
echo "Wow,you must be very skilled!"
esle
echo "N ...
1. 使用wget和shell脚本下载一系列路路径有规律的资源:
我想下载ubuntu社区杂志fullcircle但是不想一个一个的点击进去然后在下载。
于是我想到用wget工具加上shell脚本来做。
其实我几乎没写过shell脚本。所起没写一行代码读会先测试下。
最后得到的脚本如下:
#!/bin/bash
issue="http://dl.fullcirclemagazine.org/issue"
country=_en
for index in `seq 1 53`;
do
wget -c $issue ...
在Java并发编程实践(Java concurrency in practice) 一书中第二章讲到了线程安全的概念.
有些话非常的经典.我同时找来英文放在这里.
引用
编写线程安全的代码,本质上就是管理状态(state)的访问,而且通过都是共享的,可变状态.
通俗地说,一个对象的状态就是它的数据,存储在状态变量(state variables)中,比如实例域或静域.对象的状态还包括了其他附属对象的域.
======================================================
Writting thread-safe code is ,at its core, ...
在Java并发编程实践(JAVA concurrency in practice)中的第十六章(Java存储模型)中.
有讲到对象安全发布.
其中就是以单例模式来说明这个安全初始化技巧的.这是学习分析总结如下:
引用
不正确发布带来的风险的真正原因是在"发布共享对象"与从"另一个线程访问它"之间,缺少happens-before排序.
不安全的发布.
发布(Publishing):
引用
发布(Publishing)一个对象的意思是使它能够被当前范围之处的代码所使用.比如将一个引用
存储到其他代码可以访问的地方.在一个非千私有的方 ...
今天我参加一个面试,面试中有下面的一道题.
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
void get_memory(char *p){
p = (char *)malloc(100);
}
int main(void) {
char *str = NULL;
get_memory(str);
strcpy(str,"hello,world");
printf("%s\n",str);
return ...
Java中的接口抽象方法与C++中的抽象类纯虚函数
接着我的文章当中C++静态绑定和动态绑定的例子.
一个简单的形状类:
如下:
class Figure{
public:
Figure(){
_name = "Figure";
}
virtual string getName() const{
return _name;
}
virtual double area()const = 0;
private:
string _name;
};
形状表示一种抽象的概念.所以如果是在Java中的话Figur ...
在我前面的一篇文章中,有写到C++的静态绑定和动态绑定.期间遇到了很多问题.
而用Java的话,可以很轻松的实现所要的需求.
但是...
/**
* @time 上午10:23:34
* @fileName TestStaticDynamicBinding.java
* @package me.banxi.oo
*/
package me.banxi.oo;
class Figure{
public static final String name = "Figure";
public Figure(){
}
publ ...