自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

说码解字

专注于计算机基础技术研究

  • 博客(12)
  • 资源 (2)
  • 收藏
  • 关注

原创 JNI一文详解

1. 准备工作Ubuntu更换阿里云软件源在Ubuntu上安装gcc和g++在Ubuntu上安装OpenJDKsudo apt install default—jdk设置JAVA_HOME环境变量:找到OpenJDK的安装路径(e.g. /usr/lib/jvm/java—11—openjdk—amd64)sudo vim /etc/profile在文件末尾添加export JAVA_HOME=/usr/lib/jvm/java—11—openjdk—amd64export

2020-09-01 22:49:04 21253

原创 Java局部匿名内部类是否会持有外部类的引用?

分四种情况讨论:普通内部类public class Demo { public class DemoRunnable implements Runnable { @Override public void run() { } }}用javac命令生成字节码文件,根目录下生成两个文件Demo$DemoRunnable.class 和 Demo.class,查看反编译后的代码,public class Demo

2020-08-19 01:13:24 1633

原创 HLS、Smooth Streaming、HDS和Dash

主流的基于HTTP的流媒体网络传输协议主要有四种:苹果的HLS微软的Smooth StreamingAdobe的HDS国际标准MPEG-DASH分别介绍一下。苹果的HLS全称HTTP Live Streaming。HLS是由苹果公司提出基于HTTP的流媒体网络传输协议。是苹果公司QuickTime X和iPhone软件系统的一部分。它的工作原理是把整个流分成一个个小的基于HTTP的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源,

2020-08-17 01:35:04 1497

原创 指针

文主要介绍一下C语言中的指针。什么是指针指针就是地址,而指针变量就是存储地址的变量。虽然用数表示地址,但是地址的取值范围可能不同于整数的范围,所以一定不能用普通整型变量存储地址。指针变量的声明对指针变量的声明与对普通变量的声明基本一样,唯一的不同就是必须在指针变量名字前放置星号:int *p;上述声明说明p是指向int类型对象的指针变量。取地址运算符和间接寻址运算符取地址运算符:如果x是变量,那么**&x**就是x在内存中的地址。间接寻址运算符:为了获得对指针所指向对象

2020-08-13 02:24:56 159

原创 如何将ORM框架封装为通用的BaseDao

如何将ORM框架封装为通用的BaseDao

2020-08-13 01:46:35 896

原创 响应式编程在Android中的应用

响应式编程简介响应式编程的具体实现-RxJava基本概念RxJava的四种角色热Observable和冷ObservableObservable创建符Subject直接创建 Observable从列表创建 Observable具有特殊功能的创建符过滤Observables过滤序列获取我们需要的数据有且仅有一次First and lastSkip and SkipLast

2020-08-13 01:46:20 6040 2

原创 利用AspectJ实现Android端非侵入式埋点

前言AspectJ是什么AspectJ中的几个名词术语解释AOP编程的具体使用场景注入代码的时机几个常用的工具和类库为什么选择AspectJ举个栗子创建注解创建用于控制监听的类封装一下androidutilLog关键的Aspect类的实现在buildgradle文件中的一些必要的配置测试方法总结前言最近在项目中遇到通过埋点对用户行为进行收集的需求,由于项目运行在局域网,而

2020-08-13 01:46:02 4853 1

原创 集合在迭代过程中能否添加、删除或修改元素

使用 for 循环List<String> list = new ArrayList<>(); list.add("1"); list.add("2"); list.add("3"); for (int i = 0; i < list.size(); i++) { System.out.println(list

2020-08-13 01:45:47 6690

原创 C语言格式化输入输出

本文主要介绍一下C语言中printf和scanf两个函数。printf函数printf函数被设计用来显示格式串(format string)的内容,并且在该串中的指定位置插入可能的值。调用printf函数时必须提供格式串,格式串后面的参数是需要在显示时插入到该串中的值:printf(格式串, 表达式1, 表达式2, ...);显示的值可以是常量、变量或者更加复杂的表达式。调用printf函数一次可以打印的值的个数没有限制。转换说明转换说明可以用%m.pX格式或%-m

2020-08-11 00:39:46 300

原创 创建型模式

本文主要介绍一下设计模式中的创建型模式。开篇之前,先说一下,什么是设计模式,一言以蔽之,设计模式是代码设计经验的总结。设计模式的原理非常简单,但是也绝不可能通过一篇文章或者一本书来完全掌握(在学习任何一种知识的时候都应该博采众长,取舍有度,而不是盯着一本书或者一篇文章看,偏信一家之言,要如鲁迅所说:“运用脑髓,放出眼光,自己来拿!”)。其次,死记硬背设计模式的UML图或者示例代码没有意义,和OOP编程一下,设计模式本质上是一种思想,须得领会后方能灵活运用。设计模式主要基于以下两个面向对象的编程思想:

2020-08-09 11:54:02 431

原创 工厂、策略和桥接

本文主要横向地分析比较一下这三种设计模式。注:本文的示例代码使用的语言为Java。之所将这三种模式放在一起讲,是因为这三种模式都体现了架构设计中先”分而治之“然后”自由组合“的模块化思想,其中,工厂模式是创建型模式,策略模式是行为型模式,桥接模式是结构型模式。下面分别来讲一讲。工厂模式工厂模式是这种三种模式中最简单的,也是最容易理解的。之所以称为创建型模式,是因为它提供了一种创建对象的优化方案,在工厂模式中,我们不会对客户端暴露我们的创建逻辑,而是通过一个共同的接口来指向需要创建的对象。工厂模式定

2020-08-02 02:20:21 324

原创 多线程下的单例模式

public class Singleton{ private static Singleton instance; private Singleton{ } public static Singleton getInstance(){ if(instance == null){ instance = new Singleton(); } return instance; }}

2020-07-06 20:25:25 317

佳博打印机SDK二次开发包

佳博打印机通用SDK二次开发包,适用于佳博各型号打印机

2014-11-20

ASP操作ACCESS数据库

ASP操作ACCESS数据库,讲的不太详细,不过够用了

2011-12-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除