- 博客(73)
- 资源 (9)
- 收藏
- 关注
原创 C++判断字符串是否全是数字
bool IsAllNumString(const std::string& str){ for (const auto& s_char : str) { if (s_char < '0' || s_char > '9') { return false; } } return true;}
2021-12-08 17:40:35
1219
转载 Linux下软连接(softlink)和硬连接(hardlink)的区别
通过实际操作来辨别softlink和hardlink的区别:首先我们在/home/下建立了一个文件source.file[root@wang home]# lltotal 8-rw-r--r-- 1 root root 26 Dec 6 12:07 source.file接着分别建立两种连接:[root@wang home]# ln source.file hardli
2016-10-12 11:53:18
8216
1
原创 原理图学习笔记 UART I2C SPI NAND LCD
UART 通用的异步发送接收器 universal async recive transmit波特率 每秒能传输的数据位数据位 一般8位(一个字节)停止位默认的高电平 高电平到低电平(1--->0)表示要发送数据0x42写入寄存器电平转换电路 时钟信号 数字信号
2016-10-10 21:29:42
893
转载 【Android布局】在程序中设置android:gravity 和 android:layout_Gravity属性
在进行UI布局的时候,可能经常会用到 android:gravity 和 android:layout_Gravity 这两个属性。 关于这两个属性的区别,网上已经有很多人进行了说明,这边再简单说一下。 (资料来自网络) LinearLayout有两个非常相似的属性:android:gravity与android:layout_gravity。
2016-09-29 10:31:09
832
转载 android SD卡缓存
步骤1.发送http请求 获取JSON对象,解析JSON2.判断SD上否可以使用 得到图片路径,截取图片名字3.查看SD卡上否有图片,有使用本地图片 没有使用根据解析的JSON 地址去下载图片 显示出来 缓存到保存到SD卡上步骤1String path = getResources().getString(R.string.serverurl); // 获取本
2016-09-26 18:04:52
506
转载 Android异步加载图片并缓存到内存和SD卡上
* 异步加载图片 * 使用方法: * private AsyncImageLoader asyImg = new AsyncImageLoader(); * asyImg.LoadImage(productItems.get(position).getPic(), (ImageView)view.findViewById(R.id.pic)); */public class Async
2016-09-26 17:53:14
733
转载 list和vector有什么区别?
vector和数组类似,它拥有一段连续的内存空间,并且起始地址不变,因此它能非常好的支持随机存取(即使用[]操作符访问其中的元素),但由于它的内存空间是连续的,所以在中间进行插入和删除会造成内存块的拷贝(复杂度是O(n)),另外,当该数组后的内存空间不够时,需要重新申请一块足够大的内存并进行内存的拷贝。这些都大大影响了vector的效率。list是由数据结构中的双向链表实现的,因此它的内存空间
2016-09-24 09:13:38
4919
原创 关于c++继承
下面的程序输出什么?为什么?class Base{public:int a;Base() { a = 1; }void println() { cout};class Child : public Base{public:int a;Child() { a = 2; }};int main(){Child c;c.println(
2016-09-12 20:04:55
325
转载 c语言那些细节之a+1和&a+1的区别
首先a是一个数组名,当看到这个a与&a时,一般我们的理解都是这个数组的首地址。没错,如果加上打印的话,确实两个值是一样的。不过&a是整个数组的首地址,a则是数组首元素的地址,虽然值一样,但是意义却不相同。在此之前有必要先看下c程序在内存中的分布图。下面来看一个例子吧还是。示例代码:[html] view
2016-09-12 16:42:22
2599
转载 Android数字签名
一、为什么要签名 开发Android的人这么多,完全有可能大家都把类名,包名起成了一个同样的名字,这时候如何区分?签名这时候就是起区分作用的。 由于开发商可能通过使用相同的Package Name来混淆替换已经安装的程序,签名可以保证相当名字,但是签名不同的包不被替换。 APK如果使用一个key签名,发布时另一个key签名的文件将无法安
2016-09-06 21:10:20
954
原创 Java中的 finalize() 与c++的析构函数 分析
《JAVA编程思想》:java提供finalize()方法,垃圾回收器准备释放内存的时候,会先调用finalize()。 (1).对象不一定会被回收。 (2).垃圾回收不是析构函数。 (3).垃圾回收只与内存有关。 (4).垃圾回收和finalize()都是靠不住的,只要JVM还没有快到耗尽内存的地步,它是不会浪
2016-09-05 16:44:12
3505
转载 String, StringBuffer, StringBuilder 三者之间的区别是什么?
最近学习到StringBuffer,心中有好些疑问,搜索了一些关于String,StringBuffer,StringBuilder的东西,现在整理一下。关于这三个类在字符串处理中的位置不言而喻,那么他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下 1.三者在执行速度方面的比较:StringBuilder > StringBuffer > String
2016-09-05 11:02:04
542
转载 C++成员变量的初始化顺序问题
问题来源:由于面试题中,考官出了一道简单的程序输出结果值的题:如下,[cpp] view plain copy print?class A { private: int n1; int n2; public: A():n2(0),n1(n2+2){} void Print(
2016-09-03 12:18:34
324
原创 下面程序输出什么?为什么?
下面程序输出什么?为什么? class A { private: static int i; public: A() { i++; } A(const A&) { i++; } static void output() { cout} }; A f(A& a) { A a
2016-09-02 18:02:50
632
原创 C++多态,虚函数的使用
父类使用虚函数是为了让子类重写,那子类重写的时候也需要带virtual关键字吗?比如: class A{ virtual bool init(); }; class B : public A{ virtual bool init(); //这里的vitual是必须的吗?好像不用也能编译通过呃….. };c++规定,当一个成员函数被声明为虚函数后,其派生类中的
2016-09-02 15:43:11
373
转载 拷贝构造函数的参数为什么必须使用引用类型
在C++中, 构造函数,拷贝构造函数,析构函数和赋值函数(赋值运算符重载)是最基本不过的需要掌握的知识。 但是如果我问你“拷贝构造函数的参数为什么必须使用引用类型?”这个问题, 你会怎么回答? 或许你会回答为了减少一次内存拷贝? 很惭愧的是,我的第一感觉也是这么回答。不好还好,我有理性这个好品质。思索一下以后,发现这个答案是不对的。让我来撕开(有点暴力,但是我喜欢,嘿嘿--龇牙)那件隐藏在真理外的
2016-09-01 22:13:43
306
原创 指针 数组 数组名和数组名取地址的区别
首先指针数组 和数组指针叫法本身是种误导指针数组:array of pointers,即用于存储指针的数组,也就是数组元素都是指针数组指针:a pointerto an array,即指向数组的指针其次他们本质一个是数组,一个是指针int* a[4] 表示是一个数组 数组a中的元素都为int型指
2016-09-01 15:55:08
2859
转载 c++中临时变量不能作为非const的引用参数
试看下面的代码:#include using namespace std;void f(int &a) { cout }void g(const int &a){ cout } int main() { int a = 3, b = 4; f(a + b); //编译错误,把临时变量作为非const的引用参数传递了
2016-09-01 10:57:54
905
原创 c/c++ bool和BOOL的区别
类型不同:bool是C++定义的布尔类型,BOOL是微软定义的int类型(就是int的别名);取值不同:bool的取值只有0(false)、1(true)两个,而BOOL的取值是int范围;长度不同:bool是单字节(8位二进制)类型,BOOL与int长度相同。,以下是FALSE/TRUE在windef.h的定#ifndef FALSE#define F
2016-09-01 09:31:21
1808
转载 类类型的大小
1:先看一个空类的大小:[cpp] view plain copy print?#include using namespace std; class A { }; int main(int argc, char** argv) { coutsizeof(A) return 0; }
2016-08-31 22:16:40
483
原创 java 中byte转int为何要与0xff进行与运算 c 和java右移运算区别
Java中一个byte会转换成int时,对于负数,会做位扩展,举例来说,一个byte的-1(即0xff),会被转换成int的-1(即0xffffffff),那么转化出的结果就不是我们想要的了。而0xff默认是整形,所以,一个byte跟0xff相与会先将那个byte转化成整形运算,这样,结果中的高的24个比特就总会被清0。Byte a = (byte) 0xF0;int c = a
2016-08-26 15:58:55
2419
转载 android里makefile的写法
android里makefile的写法(1)Android.mk文件首先需要指定LOCAL_PATH变量,用于查找源文件,宏函数’my-dir’, 由编译系统提供。由于一般情况下Android.mk和需要编译的源文件在同一目录下,所以定义成如下形式:LOCAL_PATH:=$(call my-dir)上面的语句的意思是 将LOCAL_PATH变量定义成 本文件所在 目录路径。一
2016-08-24 10:39:42
2970
转载 ndk中Log信息的输出
1:在编译so文件的c或cpp文件之前中加入以下代码,就可以在android中的log显示日志内容 #include #define LOG_TAG "show infomation" #define LOGW(a ) __android_log_write(ANDROID_LOG_WARN,LOG_TAG,a) 2:就可
2016-08-23 21:40:22
688
原创 jni缓存共享jclass (globalRef)
jni缓存共享jclass(globalRef)在jni中经常会需要调用java的方法,并且可能在不同线程中都会去调用,另外可能调用次数比较多,这样的话,如果每次都是通过jclass localClass = env->FindClass("com/test/Test");这样类似的方法去得到jclass,然后去获取jmethodid等,效率会比较低,如果只获取一
2016-08-23 21:03:32
3221
转载 解决NDK开发中Eclipse报错“Unresolved inclusion jni.h”的最终方法
在做NDK开发过程中有时候在eclipse里会遇到其无法处理inclusion导致symbol显示错误,网上有许多方法可以解决类似“Unresolved inclusion jni.h” 错误的方法,包括include path等方法,不过对我都不管用。最终的解决办法就是初始化eclipse对该project的native support:1. 在eclip
2016-08-23 16:55:26
395
转载 Mysql中文乱码问题完美解决方案
原文:http://www.2cto.com/database/201108/101151.htmlMySQL会出现中文乱码的原因不外乎下列几点:1.server本身设定问题,例如还停留在latin12.table的语系设定问题(包含character与collation)3.客户端程式(例如php)的连线语系设定问题强烈建议使用utf8!!!!utf8可以兼容世界上所
2016-08-22 14:29:23
377
原创 mysql like字句 排序 is null判断运算
SELECT * from runoob_tbl -> WHERE runoob_author LIKE '%jay'; LIKE 通常与 % 一同使用,来表示任意字符SELECT field1, field2,...fieldN table_name1, table_name2...ORDER BY field1, [field2...] [ASC [DESC]]mysql> S
2016-08-19 21:50:28
604
原创 mySql数据库操作 增删改查
INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN );mysql> INSERT INTO runoob_tbl ->(runoob_title, runoob_author
2016-08-19 17:31:09
1100
原创 mysql用户管理
增加用户mysql> use mysql; 进入默认的mysql数据库Database changed向user表中增加用户,设置相应自动字段的值,赋予相应权限mysql> INSERT INTO user (host, user, password, select_priv, insert_priv, update_priv)
2016-08-19 17:16:43
250
原创 mysql笔记3 外键
常见错误ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails当前表如果插入某条记录时检查到foreign key中指定的值在该外键所在的表中不存在的话,是不允许插入的。即MySQL只允许向当前表中加入外键表中已有的数据列。比如说外键贪官表里有“王二麻子”,那么在当前情
2016-08-18 21:08:07
261
原创 mysql笔记2 常用命令
mysql>show databases; 显示所有数据库 mysql>use dbname; 打开数据库: mysql>show tables; 显示数据库mysql中所有的表mysql>describe tablename; 表的详细描述 mysql>drop database name 直接删除数据库,不提醒 mysql>
2016-08-18 19:57:32
254
原创 MySql笔记1
MySQL语句以分号(;)作为语句的结束安装mysql时,root 用户默认是没有密码的,修改 root 用户密码mysqladmin -u root -p password 新密码MySQL服务的启动、停止与卸载在 Windows 命令提示符下运行:启动: net start MySQL停止: net stop MySQL卸载:
2016-08-17 18:06:53
225
原创 21分钟 MySQL 入门教程
http://www.cnblogs.com/mr-wid/archive/2013/05/09/3068229.html
2016-08-16 20:03:45
292
转载 Java内存泄露分析, WeakReference与SoftReference
在Java里, 当一个对象o被创建时, 它被放在Heap里. 当GC运行的时候, 如果发现没有任何引用指向o, o就会被回收以腾出内存空间. 或者换句话说, 一个对象被回收, 必须满足两个条件: 1)没有任何引用指向它 2)GC被运行.在现实情况写代码的时候, 我们往往通过把所有指向某个对象的referece置空来保证这个对象在下次GC运行的时候被回收 (可以用java -verb
2016-08-16 15:15:48
609
原创 android启动Activity的两种方法
有两种方法可以启动:1. 先说在setClass启动一个Activity的方法吧:(显式调用---直接调用Activity的Class类)Intent intent = new Intent();intent.setClass(this, CreatePlaylist.class) //参数一为当前Package的context,t当前Activity的context就是this,其他
2016-08-13 17:51:55
53964
转载 HashSet、HashMap、ArrayList、LinkedList、Vector区别
HashSet、HashMap、ArrayList、LinkedList、Vector这几个在Java编程中经常用到,他们之间有很多联系,有很多相通的地方、但也有很多不同。首先java集合类主要由两个接口:Collection和Map.Collection又有子接口:Set、Queue、List.(这些基础的接口关系这里不多说了) HashSet与HashMap,名字很接近,都带有
2016-08-11 15:10:04
4207
转载 一个90后创业者血与泪的教训
我是一名90后,现在是一家移动互联网创业公司里的一名员工。如果回到2013年的这个时候我的名片上印着是“为你爱”创始人兼CEO。现在的我却背负了一身债务,每月为了还债整夜辗转反侧。提到90后创业者大多数人一定会想到,大象创始人刘克楠,脸萌创始人郭列,Segmentfault创始人高阳,以及泡否创始人马佳佳。至于像我们这样的创业者who care?说实话在国内的创业圈子里,失败者是没有发言权
2016-08-10 17:23:35
638
原创 c++进程间通讯 为什么不能用PostMessage传递指针数据
1.进程A调用CreateFileMapping创建一个内存映射文件。2.进程A调用MapViewOfFile获取到映射到文件的内存起始地址,调用memcpy往内存中拷贝数据。3.进程B调用CreateFileMapping打开进程A创建的内存映射文件。4.进程B调用MapViewOfFile获取到映射到文件的内存起始地址,调用memcpy从内存中读出数据。
2016-08-10 15:48:56
2475
原创 android -- ProgressDialog
private ProgressDialog dialog;private void showProgressDialog(String msg){dialog = new ProgressDialog(this);dialog.setMessage(msg);dialog.setCancelable(false);dialog.setOnKeyListener(new
2016-08-10 15:20:12
263
原创 java工具类1---一般是通过静态函数实现某个功能,而不需要涉及类的任何属性和变量,直接类名调用
为什么要将方法和变量都写成静态的。因为,这些方法我只是想调用一下,不需要牵扯工具类中的任何属性和变量,所以,我就没有必要实例化了(new)。既然不需要实例化了,那么就用静态就行了。public class CDef{// -- win版本是转成16位的public static int MAKEWORD(byte a, byte b){int bb = (b & 0
2016-08-10 15:03:07
3402
local Path Planning
2018-09-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人