内部类使用及注意事项
什么叫内部类呢?
简单来说将一个类定义到另一个类里面,里面那个类就称为是内部类
内部类的访问特点:
内部类可以直接访问外部类中的成员,包括私有成员。外部类要访问内部类中的成员必须要建立内部类的对象才能访问。
内部类的用处:
内部类一般用于类的设计。分析事物时,发现该事物描述中还有事物,而且这个事物还在访问被描述事物的内容。这个时候,这个事物中的事物就定义成内部类来描述。
内部类的修饰符:
java中异常的使用及注意事项
异常:在运行时发生的不正常情况public class ExceptionDemo{
public static void main(String[]args){
int []arr = new int[3];
System.out.println(arr[3]);
}
}异常处理办法:
早期时:以前正常流程代码和问题处理代码相结合, 劣势:问题处
java中占位符替换
写码过程中,避免不了会遇到字符串替换的问题,String提供了replace,replaceAll,replaceFirst方法,也是我们大部分人都熟悉的方法。今天要说的是java提供的MessageFormat类提供的format方法。
可以这样用:
import java.text.MessageFormat;
public class MainClass {
public s...
考一考!嵌入式C面试题3道
题一:
关键字volatile在编译时有什么含义?并给出三个不同使用场景的例子(可以伪代码或者文字描述)。
思考过后,再到下方寻找答案
题二:
C语言中static关键字的具体作用有哪些 ?
思考过后,再到下方寻找答案
题三:
请问下面三种变量声明有何区别?请给出具体含义
int const *p;
int* const p;
int const* const p;
思...
BusyBox 支持的命令
/ # busybox
BusyBox v1.22.1 (2015-05-08 13:56:24 CST) multi-call binary.
BusyBox is copyrighted by many authors between 1998-2012.
Licensed under GPLv2. See source distribution for detailed
copyright...
include\linux cdev.h
#ifndef _LINUX_CDEV_H
#define _LINUX_CDEV_H
#include <linux/kobject.h>
#include <linux/kdev_t.h>
#include <linux/list.h>
struct file_operations;
struct inode;
struct module;
stru...
linux/fs/char_dev.c
/*
* linux/fs/char_dev.c
*
* Copyright (C) 1991, 1992 Linus Torvalds
*/
#include <linux/init.h>
#include <linux/fs.h>
#include <linux/kdev_t.h>
#include <linux/slab.h>...
include/linux/fs.h struct file_operations
struct file_operations {
struct module *owner;
loff_t (*llseek) (struct file *, loff_t, int);
ssize_t (*read) (struct file *, char __user *, size_t, loff_t *);
ssize_t (*write) (struct file *, co...
drivers/char/atmel_sama5_gpio.c
/*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#incl...
/sys/bus/platform/drivers
/sys/bus/platform/drivers # ls -l
total 0
drwxr-xr-x 2 root root 0 Aug 5 15:20 alarmtimer
drwxr-xr-x 2 root root 0 Aug 5 15:20 at91_adc
drwxr-xr-x 2 root ...
【转】15 内核里leds-gpio设备驱动的设备树方法
在linux内核里已提供了连接到gpio的led设备驱动,只需要通过platform_device或设备提供相应的硬件资源即可.
使用platform_device方法可参考: http://blog.csdn.net/jklinux/article/details/73850470
内核里的leds-gpio设备驱动配置选项:
make menuconfig ARCH=arm64 CRO...
【Interview###】华为、中兴嵌入式(C)笔试题
【程序员面试宝典】
1 读程序段,回答问题(a)
int main(int argc,char *argv[])
{
int c=9,d=0;
c=c++%5;
d=c;
printf("d=%d\n",d);
return 0;
}
a) 写出程序输出
b) 在一个可移植的系统中这种表达式是否存在风险?why?
答案:5
存在风险,因为c=c++%5;这个表达式对c有两次修改,行为...
为何printf()经常有重入和性能上的问题
转载:
这个概念在嵌入式操作系统中比较重要,由于存在任务的调度,它实时系统,可剥夺型内核中是危险的,如同一个安静的水雷。可能会被触发,也可能安然无恙。由于它运行结果的不可预期性,会使系统带来隐患。
printf()经常有重入解释
不可重入函数不可以在它还没有返回就再次被调用。例如printf,malloc,free等都是不可重入函数。因为中断可能在任何时候发生,例如在printf执行过程中,...
C语言的未定义行为(undefined behaviour)
什么是未定义行为
简单地说,未定义行为是指C语言标准未做规定的行为。编译器可能不会报错,但是这些行为编译器会自行处理,所以不同的编译器会出现不同的结果,什么都有可能发生,这是一个极大的隐患,所以我们应该尽量避免这种情况的发生。
特征
包含多个不确定的副作用的代码的行为总是被认为未定义。(简单而言, “多
个不确定副作用” 是指在同一个表达式中使用导致同一对象修改两次或修改以后
又被引用的...
软件研发和嵌入式软件研发面试经历
今年的就业形式不太好,在过去的两个月,一直处于奔波的状态。今天总算把自己签了出去。首先,要感谢家人、朋友和老师的鼓励和帮助。对自己的面试经历理了理,过去两个月,居然面了多达14家公司。不做统计,不知道有多么悲催,呵呵。这篇文章,是对自己面试的一个总结,主要包含面试中问的问题,以及自己失误的地方。
第1家,是PPS-上海众源网络,嵌入式开发工程师
笔试过后,获得了面试机会,PPS总共2面。第一面...
数据结构(三)串---KMP模式匹配算法实现及优化
KMP算法实现 #define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
#define MAXSIZE 40
typedef int ElemType;
typedef int Status;
//设置串的存储结构
typedef char S
51Nod1306 高楼和棋子 动态规划
原文链接https://www.cnblogs.com/zhouzhendong/p/51Nod1306.html 题目传送门 - 51Nod1306 题意 有个N层的高楼和若干个棋子,所有的棋子都是一样的。棋子从楼的某层E扔到地上不会碎(0 <= E <= N),但从比这个楼层高的地方扔到地上都会碎。给出楼的高度N,以及棋子的数量M,你来找出这个E(0 <= E <= N),问最坏情况下需要实验多少次才能计算出准确的E(如果棋子摔碎了,就不能继续用这个棋子进行测试了)。 1 <= N
2-SAT问题的解决方案
先象征性地描述一下问题:一组(或者一个)东西有且仅有两种选择,要么选这个,要么选那个,还有一堆的约束条件 图论问题,当然是建边跑图喽 给出模型: 模型一:两者(A,B)不能同时取
那么选择了A就只能选择B’,选择了B就只能选择A’
连边A→B’,B→A’
模型二:两者(A,B)不能同时不取
那么选择了A’就只能选择B,选择了B’就只能选择A
连边A’→B,B’→A
模型三:两者(A,B)要么都取,要么都不取
那么选择了A,就只能选择B,选择了B就只能选择A,选择了
Python基础09 面向对象的进一步拓展
我们熟悉了对象和类的基本概念。我们将进一步拓展,以便能实际运用对象和类。 调用类的其它信息 上一讲中提到,在定义方法时,必须有self这一参数。这个参数表示某个对象。对象拥有类的所有性质,那么我们可以通过self,调用类属性。 class Human(object):
laugh = 'hahahaha'
def show_laugh(self):
print self.laugh
def laugh_100th(self):
for i
python深浅拷贝,集合以及数据类型的补充
1.基础数据类型的补充 1.元组 如果元组中只有一个数据,且没有逗号,则该‘元组’与里面的数据的类型相同。如: 1 tu = (1)
2 tu1 = (1,)
3 tu2 = ('alex')
4 tu3 = ([1,2,3],)
5 print(tu,type(tu)) # 1 <class 'int'>
6 print(tu1,type(tu1)) # (1,) <class 'tuple'>
7 print(tu2,type(tu2)) # alex <class 'str'>
今日推荐
周排行