04 2019 档案

LED硬件访问服务(2)——JNI/HAL
摘要:一、系统编程 1.SystemServer.java类中提供了main()方法,说明它是以一个进程的方式存在的,启动后直接执行其run() 2.注册服务ServiceManager.addService("vibrator", vibrator);通过addService来告诉系统,告诉系统指的是s 阅读全文

posted @ 2019-04-30 00:43 Hello-World3 阅读(967) 评论(0) 推荐(0) 编辑

JNI加载hal的dlopen()相关操作
摘要:1.函数集合 2.Demo例子 caculate.c用于编译成一个库 int add(int a,int b) { return (a + b); } int sub(int a, int b) { return (a - b); } int mul(int a, int b) { return ( 阅读全文

posted @ 2019-04-29 14:33 Hello-World3 阅读(625) 评论(0) 推荐(0) 编辑

蓝牙简介
摘要:1.蓝牙速率 V1.1 1MbpsV2.0 3MbpsV3.0 54MbpsV4.0 0.3Mbps 低功耗 2.目前主流版本是4.2 3.蓝牙5.0与蓝牙4.2的区别相较于目前的普遍使用的蓝牙4.2,蓝牙5.0的主要优势在于传输速度更快、传输距离更远以及使用功耗更低。(1)更快的传输速度蓝牙5.0 阅读全文

posted @ 2019-04-29 09:07 Hello-World3 阅读(1077) 评论(0) 推荐(0) 编辑

LED硬件访问服务(1)——AS App编写
摘要:一、Android Studio应用编程 1.应用程序界面layout对应的界面是activity_main.xml,后台对应的java文件是MainActivity.java,修改activity_main.xml来修改UI显示效果,点击UI上的控件的事件处理由MainActivity.java完 阅读全文

posted @ 2019-04-27 22:57 Hello-World3 阅读(434) 评论(0) 推荐(0) 编辑

AndroidStudio使用笔记
摘要:Android Studio2.0 教程从入门到精通Windows版 - 安装篇Android Studio2.0 教程从入门到精通Windows版 - 入门篇Android Studio2.0 教程从入门到精通Windows版 - 提高篇 1.模拟器选择Nexus One,运行模拟器才有效果。 2 阅读全文

posted @ 2019-04-26 18:59 Hello-World3 阅读(178) 评论(0) 推荐(0) 编辑

C++中的内部类
摘要:1.内部类的概念 如果一个类定义在另一个类的内部,这个内部类就叫做内部类。注意此时这个内部类是一个独立的类,它不属于外部类,更不能通过外部类的对象去调用内部类。外部类对内部类没有任何优越的访问权限。 也就是说:内部类相当于外部类的友元类。注意友元类的定义,内部类中的方法可以通过外部类的对象参数来访问 阅读全文

posted @ 2019-04-25 21:57 Hello-World3 阅读(4161) 评论(0) 推荐(0) 编辑

JNI学习笔记_Java调用C —— 非Android中使用的方法
摘要:一、学习笔记 1.java源码中的JNI函数本机方法声明必须使用native修饰。 2.相对反编译 Java 的 class 字节码文件来说,反汇编.so动态库来分析程序的逻辑要复杂得多,为了应用的安全性,会将一些复杂的逻辑和算法通过本地代码(C或C++)来实现,然后打包成.so动态库文件 3.使用 阅读全文

posted @ 2019-04-25 15:46 Hello-World3 阅读(342) 评论(0) 推荐(0) 编辑

Android与Linux内核的对应关系
摘要:1. Android各版本和Linux版本对应关系 参考:https://android.stackexchange.com/questions/51651/which-android-runs-which-linux-kernel 2. Android各个大版本主要解决问题 Android 4.1 阅读全文

posted @ 2019-04-25 15:06 Hello-World3 阅读(3345) 评论(0) 推荐(0) 编辑

拦截过滤器模式
摘要:1.拦截过滤器模式简介 拦截过滤器模式(Intercepting Filter Pattern)用于对应用程序的请求或响应做一些预处理/后处理。定义过滤器,并在把请求传给实际目标应用程序之前应用在请求上。过滤器可以做认证/授权/记录日志,或者跟踪请求,然后把请求传给相应的处理程序。 以下是这种设计模 阅读全文

posted @ 2019-04-21 22:42 Hello-World3 阅读(162) 评论(0) 推荐(0) 编辑

前端控制器模式
摘要:1.前端控制器模式简介 前端控制器模式(Front Controller Pattern)是用来提供一个集中的请求处理机制,所有的请求都将由一个单一的处理程序处理。该处理程序可以做认证/授权/记录日志,或者跟踪请求,然后把请求传给相应的处理程序。 以下是这种设计模式的实体:前端控制器(Front C 阅读全文

posted @ 2019-04-21 21:03 Hello-World3 阅读(140) 评论(0) 推荐(0) 编辑

数据访问对象模式
摘要:1.数据访问对象模式简介 数据访问对象模式(Data Access Object Pattern)或 DAO 模式用于把低级的数据访问 API 或操作从高级的业务服务中分离出来。以下是数据访问对象模式的参与者。 数据访问对象接口(Data Access Object Interface):该接口定义 阅读全文

posted @ 2019-04-21 18:18 Hello-World3 阅读(118) 评论(0) 推荐(1) 编辑

组合实体模式
摘要:1.组合实体模式简介 组合实体模式(Composite Entity Pattern)用在 EJB 持久化机制中。一个组合实体是一个 EJB 实体 bean,代表了对象的图解。当更新一个组合实体时,内部依赖对象 beans 会自动更新,因为它们是由 EJB 实体 bean 管理的。以下是组合实体 b 阅读全文

posted @ 2019-04-21 15:33 Hello-World3 阅读(130) 评论(0) 推荐(1) 编辑

业务代表模式
摘要:1.业务代表模式简介 业务代表模式(Business Delegate Pattern)用于对表示层和业务层解耦。它基本上是用来减少通信或对表示层代码中的业务层代码的远程查询功能。在业务层中我们有以下实体。客户端(Client) - 表示层代码可以是 JSP、servlet 或 UI java 代码 阅读全文

posted @ 2019-04-21 12:01 Hello-World3 阅读(176) 评论(0) 推荐(0) 编辑

MVC 模式
摘要:1.MVC 模式简介 MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。Model(模型):模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。View(视图):视图代表模型包含的数据的可 阅读全文

posted @ 2019-04-21 00:09 Hello-World3 阅读(120) 评论(0) 推荐(0) 编辑

访问者模式
摘要:1.访问者模式简介 在访问者模式(Visitor Pattern)中,我们使用了一个访问者类,它改变了元素类的执行算法。通过这种方式,元素的执行算法可以随着访问者改变而改变。这种类型的设计模式属于行为型模式。根据模式,元素对象已接受访问者对象,这样访问者对象就可以处理元素对象上的操作。 关键代码:在 阅读全文

posted @ 2019-04-20 21:53 Hello-World3 阅读(137) 评论(0) 推荐(0) 编辑

模板模式
摘要:1.模板模式简介 在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。定义框架,但允许修改细节。 应用实例:例如在造房子的时候,地基、走线、水管都一样,只有 阅读全文

posted @ 2019-04-20 20:23 Hello-World3 阅读(104) 评论(0) 推荐(0) 编辑

Linux进程调度与抢占
摘要:一、linux内核抢占介绍 1.抢占发生的必要条件 a.preempt_count抢占计数必须为0,不为0说明其它地方调用了禁止抢占的函数,比如spin_lock系列函数。b.中断必须是使能的状态,因为抢占动作要依赖中断。 preempt_schedule()具体源码实现参考如下: asmlinka 阅读全文

posted @ 2019-04-20 16:58 Hello-World3 阅读(3670) 评论(0) 推荐(1) 编辑

IP地址
摘要:1.Ubuntu中ping本机eth0的ip地址是可以ping通的,但是有些Linux机器可能加了防火墙机制导致无法ping通 2.0.0.0.0是最特殊的一个ip地址,代表的是本机所有ip地址,不管你有多少个网口,多少个ip,如果监听本机的0.0.0.0上的端口,就等于监听机器上的所有ip端口。 阅读全文

posted @ 2019-04-19 10:51 Hello-World3 阅读(154) 评论(0) 推荐(0) 编辑

策略模式
摘要:1.策略模式简介 在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。 使用场景:(1 阅读全文

posted @ 2019-04-19 00:10 Hello-World3 阅读(99) 评论(0) 推荐(0) 编辑

空对象模式
摘要:1.空对象模式简介 在空对象模式(Null Object Pattern)中,一个空对象取代对 NULL 对象实例的检查。Null 对象不是检查空值,而是变为返回一个不做任何动作的对象。这样的 Null 对象也可以在数据不可用的时候提供默认的行为。在空对象模式中,我们创建一个指定各种要执行的操作的抽 阅读全文

posted @ 2019-04-18 23:33 Hello-World3 阅读(119) 评论(0) 推荐(0) 编辑

状态模式
摘要:1.状态模式简介 在状态模式(State Pattern)中,类的行为是基于它的状态的改变而改变的。这种类型的设计模式属于行为型模式。在状态模式中,我们创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象。 2.Demo实现 我们将创建一个 State 接口和实现了 Sta 阅读全文

posted @ 2019-04-18 22:34 Hello-World3 阅读(71) 评论(0) 推荐(0) 编辑

观察者模式
摘要:1.观察者模式简介 当对象间存在一对多关系时,则可使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。 使用场景:一个抽象模型有两个方面,其中一个方面依赖于另一个方面。将这些方面封装在独立的对象中使它们可以各自独立地改变和 阅读全文

posted @ 2019-04-18 21:13 Hello-World3 阅读(71) 评论(0) 推荐(0) 编辑

备忘录模式
摘要:1.备忘录模式简介 备忘录模式(Memento Pattern)就是在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便在适当的时候恢复对象,属于行为型模式。 应用实例:后悔药、打游戏时的存档、Windows里的ctri + z、IE 中的后退、数据库的事务管理。 优点:给 阅读全文

posted @ 2019-04-18 18:43 Hello-World3 阅读(109) 评论(0) 推荐(0) 编辑

lsusb
摘要:1.lsusb查看系统的USB设备 $ lsusb Bus 001 Device 006: ID 0951:1666 Kingston Technology Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 阅读全文

posted @ 2019-04-18 17:46 Hello-World3 阅读(855) 评论(0) 推荐(0) 编辑

中介者模式
摘要:1.中介者模式简介 中介者模式(Mediator Pattern)是用来降低多个对象和类之间通信的复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使网状结构变为星型结构,使代码易于维护。中介者模式属于行为型模式。 2.试验Demo 参考:http://www.runoo 阅读全文

posted @ 2019-04-18 17:04 Hello-World3 阅读(103) 评论(0) 推荐(0) 编辑

有用的proc文件系统文件
摘要:1. /proc/iomem I/O内存映射 2. /proc/meminfo 系统内存信息 阅读全文

posted @ 2019-04-18 12:12 Hello-World3 阅读(108) 评论(0) 推荐(0) 编辑

Linux内核启动分析笔记
摘要:一、驱动加载 1.驱动加载调用关系 2.看驱动框架还是从内核启动代码开始看比较好。 3.看中断框架还是从内核启动代码开始看比较好。 4. init进程和kthreadd线程的创建流程 阅读全文

posted @ 2019-04-17 21:04 Hello-World3 阅读(294) 评论(0) 推荐(0) 编辑

迭代器模式
摘要:1.迭代器模式 迭代器模式(Iterator Pattern)用于顺序访问集合对象的元素,不需要知道集合对象的底层表示,属于行为型模式。 把在元素之间游走的责任交给迭代器,而不是聚合对象。关键代码为定义迭代器的接口:hasNext, next。 2.试验Demo 参考:http://www.runo 阅读全文

posted @ 2019-04-17 12:12 Hello-World3 阅读(114) 评论(0) 推荐(0) 编辑

命令模式
摘要:1.命令模式命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。 2.试验Demo 参考:http://www.runoob.com/de 阅读全文

posted @ 2019-04-16 23:47 Hello-World3 阅读(107) 评论(0) 推荐(0) 编辑

责任链模式
摘要:1.责任链模式简介 责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。属于行为型模式。在这种模式中,通常每个接收者都包含对另一个接收者的引用,构成一个单向链表。如果一个对象不能处理该请求 阅读全文

posted @ 2019-04-16 22:58 Hello-World3 阅读(125) 评论(0) 推荐(0) 编辑

代理模式
摘要:1.代理模式简介 在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。属于结构型模式。在代理模式中,创建具有现有对象的对象,以便向外界提供功能接口。 作用:为其他对象提供一种代理以控制对这个对象的访问。想在访问一个类时做一些控制可以使用代理模式。 应用场景:远程代理、虚拟代理、Co 阅读全文

posted @ 2019-04-16 21:07 Hello-World3 阅读(102) 评论(0) 推荐(0) 编辑

享元模式
摘要:1.享元模式 享元模式(Flyweight Pattern)主要用于减少对象的数量,以减少内存占用和提高性能。属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。享元模式尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象。 特别像工厂模式,工厂模式中是new一个对象返回的, 阅读全文

posted @ 2019-04-16 16:19 Hello-World3 阅读(122) 评论(0) 推荐(0) 编辑

外观模式
摘要:1.外观模式简介 外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。缺点:不符合开闭原则。使用 阅读全文

posted @ 2019-04-16 14:04 Hello-World3 阅读(89) 评论(0) 推荐(0) 编辑

装饰器模式
摘要:1.装饰器模式简介 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。 优点:装饰类和被装饰类可以独立发展, 阅读全文

posted @ 2019-04-16 11:25 Hello-World3 阅读(58) 评论(0) 推荐(0) 编辑

原型模式
摘要:1.原型模式简介 说白了原型模式(Prototype Pattern)就是使用一个存在的对象高效地创建多个重复的对象。属于创建型模式。做法是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。 关键代码:实现克隆操作,继承 Cloneable接口,重写cl 阅读全文

posted @ 2019-04-14 12:19 Hello-World3 阅读(154) 评论(0) 推荐(0) 编辑

java中的Object类和其clone()
摘要:1.Object是所有类的父类,任何类都默认继承Object,即直接或间接的继承java.lang.Object类。由于所有的类都继承在Object类,因此省略了extends Object关键字。 2.Object类中主要有以下方法: toString() getClass() equals() 阅读全文

posted @ 2019-04-13 23:52 Hello-World3 阅读(1342) 评论(0) 推荐(0) 编辑

netstat
摘要:1.使用方法 $ sudo netstat -ntlp //查看当前所有tcp端口 $ sudo netstat -nulp //查看当前所有tcp端口 $ sudo netstat -ntulp | grep 53 //查看所有53号端口使用情况,注意加sudo才会打印出使用的程序包 $ sudo 阅读全文

posted @ 2019-04-13 17:49 Hello-World3 阅读(231) 评论(0) 推荐(0) 编辑

组合模式
摘要:1.组合模式简介 组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。属于结构型模式,它创建了对象组的树形结构(注意树形结构的对象比较适合使用组合模式)。这种模式创建了一个包含自己对象组 阅读全文

posted @ 2019-04-12 14:48 Hello-World3 阅读(231) 评论(0) 推荐(0) 编辑

过滤器模式
摘要:1.过滤器模式简介过滤器模式(Filter Pattern)又称标准模式(Criteria Pattern),用于使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。属于结构型模式,它结合多个标准来获得单一标准。 2.测试Demo 参考:http://www.runoob.com/ 阅读全文

posted @ 2019-04-11 12:23 Hello-World3 阅读(233) 评论(0) 推荐(0) 编辑

适配器模式
摘要:一、适配器模式简介 意图:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 主要解决:主要解决在软件系统中,常常要将一些"现存的对象"放到新的环境中,而新环境要求的接口是现对象不能满足的。 何时使用: 1.系统需要使用现有的类,而此类的 阅读全文

posted @ 2019-04-10 18:14 Hello-World3 阅读(127) 评论(0) 推荐(0) 编辑

Java和C++的区别杂记
摘要:1.java中的作用域描述符(类比于C++是通过"."来实现,Java中"类名.静态成员名",C++中"类名::静态成员名" 2.java中子类中不能修改继承到的成员的权限,但是C++中是可以的。 3.java中接口中声明的函数前需要加public 4.static方法,java中通过"类名.方法名 阅读全文

posted @ 2019-04-06 23:35 Hello-World3 阅读(138) 评论(0) 推荐(0) 编辑

建造者模式
摘要:1.建造者模式简介 建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。 意图:将一个复杂的构建与其表 阅读全文

posted @ 2019-04-06 23:29 Hello-World3 阅读(113) 评论(0) 推荐(0) 编辑

java中的数据结构
摘要:1.链表的使用 使用时需要import java.util.List 和 java.util.ArrayList import java.util.ArrayList; import java.util.List; class Item { private int count; public Ite 阅读全文

posted @ 2019-04-06 21:59 Hello-World3 阅读(124) 评论(0) 推荐(0) 编辑

抽象工厂模式
摘要:1.抽象工厂模式概述抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的 阅读全文

posted @ 2019-04-06 19:38 Hello-World3 阅读(127) 评论(0) 推荐(0) 编辑

工厂模式
摘要:1.工厂模式概述 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。 优点:(1)一个调用者想创建一个对象,只要知道其名称就可以了。 (2)扩展性高,如果想增加一个产品,只要扩展一个工厂类就可以。(3)屏蔽产品的具体实现,调用者只关心产品的接口。 阅读全文

posted @ 2019-04-06 15:34 Hello-World3 阅读(137) 评论(0) 推荐(0) 编辑

设计模式概述
摘要:1.设计模式简介 设计模式(Design pattern)代表了最佳的实践,使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。 设计模式使代码编制真正工程化,设计模式是软件工程的基石。 2.创建型模式这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算 阅读全文

posted @ 2019-04-06 14:22 Hello-World3 阅读(131) 评论(0) 推荐(0) 编辑

桥接模式
摘要:1.桥接模式简介 作用:将抽象部分与它的实现部分相分离,使他们都可以独立地变化。 实现:抽象类依赖实现类。抽象出来一个基类,这个基类里面定义共有的一些行为,形成接口函数,聚合一个基类的指针(说白了就是在一个类中放一个指针来指向另一个对象),通过它来使用另一个类的实现函数。 使用场景:(1)如果一个系 阅读全文

posted @ 2019-04-06 13:05 Hello-World3 阅读(151) 评论(0) 推荐(0) 编辑

单例模式
摘要:1.在阅读Android源代码的时候会发现,对于一个简单的问题,这些代码也设计的非常复杂,有各种类和各种嵌套,这些代码看起来一点都不直观,为的是让代码更加容易扩展,引入和很多设计模式。当理解了这些设计模式后再去看Android源代码就不会感觉那么复杂了。 2.单例模式:在一个进程(包括一个进程的多个 阅读全文

posted @ 2019-04-05 23:26 Hello-World3 阅读(179) 评论(0) 推荐(0) 编辑

世界各个地区WIFI 2.4G及5G信道划分表(附无线通信频率分配表)
摘要:参考:https://blog.csdn.net/dxpqxb/article/details/80969760 参考:https://blog.csdn.net/dxpqxb/article/details/80969760 参考:https://blog.csdn.net/dxpqxb/arti 阅读全文

posted @ 2019-04-03 23:21 Hello-World3 阅读(17613) 评论(0) 推荐(2) 编辑

C++中的智能指针、轻量级指针、强弱指针学习笔记
摘要:一、智能指针学习总结 1.一个非const引用无法指向一个临时变量,但是const引用是可以的! 2.C++中的delete和C中的free()类似,delete NULL不会报"double free"的oops。 int main(int argc, char **argv) { int i; 阅读全文

posted @ 2019-04-03 00:10 Hello-World3 阅读(3288) 评论(0) 推荐(0) 编辑

C++中的const关键字
摘要:一、const引用 1. 例子一 执行结果: 1.拷贝构造函数没有使用但是其参数必须是const引用的原因: sp other = new sp();① new sp()生成一个sp*的临时指针变量。② 然后使用这个临时的sp*为参数调用构造函数sp(sp *other)构造出一个临时的sp对象。③ 阅读全文

posted @ 2019-04-02 22:13 Hello-World3 阅读(210) 评论(0) 推荐(0) 编辑

导航