浩然42
码龄15年
关注
提问 私信
  • 博客:102,526
    102,526
    总访问量
  • 25
    原创
  • 1,472,358
    排名
  • 34
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2010-06-24
博客简介:

oyyj42的专栏

博客描述:
一点一滴地积累!
查看详细资料
个人成就
  • 获得38次点赞
  • 内容获得8次评论
  • 获得217次收藏
  • 博客总排名1,472,358名
创作历程
  • 1篇
    2015年
  • 46篇
    2014年
成就勋章
TA的专栏
  • Android基础学习
    8篇
  • 模电、数电、电路分析
    5篇
  • 深入学习C、嵌入式
    7篇
  • Java
    8篇
  • Android中级进阶
    7篇
  • linux学习
    7篇
兴趣领域 设置
  • 数据结构与算法
    数据结构
  • 移动开发
    kotlinflutterandroid studio
  • 软件工程
    性能优化
  • 学习和成长
    面试
创作活动更多

『技术文档』写作方法征文挑战赛

在技术的浩瀚海洋中,一份优秀的技术文档宛如精准的航海图。它是知识传承的载体,是团队协作的桥梁,更是产品成功的幕后英雄。然而,打造这样一份出色的技术文档并非易事。你是否在为如何清晰阐释复杂技术而苦恼?是否纠结于文档结构与内容的完美融合?无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

55人参与 去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Android中不同方向嵌套滑动的解决方案(ListView为例子)

前言:就像手机QQ 的聊天消息列表,一个纵向滑动的ListView列举所有消息,但每一条消息可以横向滑动。        是否觉得很分裂?其实实现起来也不复杂。        理解了以后,可以方便延伸到GridView,ViewPager,ScrollView等等滑动控件。        图片来源网络,侵删。
原创
发布博客 2015.08.07 ·
4397 阅读 ·
2 点赞 ·
1 评论 ·
15 收藏

Android NDK 编译移植FFmpeg2.5

本文描述将FFmpeg2.5(2014.12.05最新版)编译移植到Android上 开发环境:1.ubuntu 12.10 64bit2.android-ndk-r10c-linux-x86_643.ffmpeg2.5*特别说明,64位的Ubuntu 需要安装32位的兼容包ia32-libs,先在Terminal输入:sudo apt-get inst
原创
发布博客 2014.12.16 ·
828 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java并发框架Executor学习笔记

转自:Java并发框架Executor学习笔记Java SE5的java.util.concurrent包中的执行器(Executor)将为你管理Thread对象,从而简化了并发编程。Executor在客户端和执行任务之间提供了一个间接层,Executor代替客户端执行任务。Executor允许你管理异步任务的执行,而无须显式地管理线程的生命周期。Executor在Java
转载
发布博客 2014.12.09 ·
625 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Java Executors(线程池)

Sun在Java5中,对Java线程的类库做了大量的扩展,其中线程池就是Java5的新特征之一,除了线程池之外,还有很多多线程相关的内容,为多线程的编程带来了极大便利。为了编写高效稳定可靠的多线程程序,线程部分的新增内容显得尤为重要。   有关Java5线程新特征的内容全部在java.util.concurrent下面,里面包含数目众多的接口和类,熟悉这部分API特征是一项艰难的学习过程。
转载
发布博客 2014.12.04 ·
601 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java多线程-工具篇-BlockingQueue

前言:     在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。认识BlockingQueue阻塞队列,顾名思义,首先它是一个队列,而一个
转载
发布博客 2014.12.04 ·
548 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

java抽象类和接口的区别,使用场景

转自:http://blog.chinaunix.net/uid-25979788-id-3187475.html在Java语言中, abstract class 和interafce是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因
转载
发布博客 2014.12.04 ·
401 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

java,Android:在eclipse中的快捷键(经典收藏)

1.选中你要加注释的区域,用ctrl+shift+C 会加上//注释 2.先把你要注释的器材选中,用shit+ctrl+/ 会加上/* */注释 3.要批改在eclispe中的号令的快捷键体式格式我们只需进入windows -> preference -> General -> key设置就行了(转) 补充:选中要加注释的区域,ctrl+/ 会加//注释 2010/09/13 选中
原创
发布博客 2014.11.03 ·
478 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

M-JPEG、H.261/H.263、MPEG4、H.264这4种压缩方式有什么区别

1、JPEG/M-JPEG JPEG是一种静止图像的压缩标准,它是一种标准的帧内压缩编码方式。当硬件处理速度足够快时,JPEG能用于实时动图像的视频压缩。在画面变动较小的情况下能提供相当不错的图像质量,传输速度快,缺点是数据量较大。 M-JPEG源于JPEG压缩技术,是一种简单的帧内JPEG压缩,压缩图像质量较好,在画面变动情况下无马赛克,但是由于这种压缩本身技术限制,无法做到大比例压缩,
原创
发布博客 2014.10.31 ·
8104 阅读 ·
1 点赞 ·
0 评论 ·
11 收藏

android NDK jni下的c文件 Unresolved inclusion:<jni.h>

android NDK jni下的c头文件 Unresolved inclusion 原因是在eclipse编辑环境中没有找到对应的include中的文件。解决方法是将包含该文件的include目录作为新的linked folder加入工程中。具体方法如下:1. 右击工程->New->Folder2. 对话框中点击Advanced3. 选择Link to
原创
发布博客 2014.10.29 ·
623 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

java面试题及答案(基础题122道,代码题19道)

JAVA相关基础知识1、面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的
原创
发布博客 2014.10.22 ·
586 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

struct sockaddr_in和struct sockaddr区别

结构体struct sockaddr在/usr/include/linux/socket.h中定义struct sockaddr {       unsigned short sa_family; /* 地址族, AF_xxx */       char sa_data[14]; /* 14字节的协议地址*/   };   上面是通用的socket地址,具体到Interne
转载
发布博客 2014.10.17 ·
686 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

inet_ntoa、 inet_aton、inet_addr 详细介绍

inet_addr()  简述:将一个点间隔地址转换成一个in_addr。  #include   unsigned long PASCAL FAR inet_addr( const struct FAR* cp);  cp:一个以Internet标准“.”间隔的字符串。  注释:  本函数解释cp参数中的字符串,这个字符串用Internet的“.”间隔格式表示一个数字的I
转载
发布博客 2014.10.17 ·
1093 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux下通过系统调用(API)和C语言库函数对文件进行访问

Linux下通过系统调用(API)和C语言库函数对文件进行访问Abstract在Linux平台下对文件编程可以使用两类函数:(1)Linux操作系统文件API;(2)C语言I/O库函数。 前者依赖于Linux系统调用,后者实际上与操作系统是独立的,因为在任何操作系统下,使用C语言I/O库函数操作文件的方法都是相同的。 Introduction一.通过系统调用访问文件  即通
原创
发布博客 2014.10.13 ·
710 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

静态链接和动态链接的区别

引言即使是最简单的HelloWorld的程序,它也要依赖于别人已经写好的成熟的软件库,这就是引出了一个问题,我们写的代码怎么和别人写的库集成在一起,也就是链接所要解决的问题。首先看HelloWorld这个例子:[cpp] view plaincopy// main.c    1 #include     2    3 int main(i
转载
发布博客 2014.10.11 ·
603 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

C语言的预编译

预处理功能主要包括宏定义,文件包含,条件编译三部分。分别对应宏定义命令,文件包含命令,条件编译命令三部分实现。预处理过程读入源代码,检查包含预处理指令的语句和宏定义,并对源代码进行响应的转换。预处理过程还会删除程序中的注释和多余的空白字符。预处理指令是以#号开头的代码行。#号必须是该行除了任何空白字符外的第一个字符。#后是指令关键字,在关键字和#号之间允许存在任意个数的空白字符。整
原创
发布博客 2014.10.11 ·
518 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

整理帖:嵌入式C语言面试题(带答案)

单纯贴上不带答案的面试题是耍流氓啊,
原创
发布博客 2014.10.09 ·
992 阅读 ·
3 点赞 ·
0 评论 ·
12 收藏

linux下错误的捕获:errno和strerror的使用

经常在调用linux 系统api 的时候会出现一些错误,比方说使用open() write() creat()之类的函数有些时候会返回-1,也就是调用失败,这个时候往往需要知道失败的原因。这个时候使用errno这个全局变量就相当有用了。    在程序代码中包含 #include ,然后每次程序调用失败的时候,系统会自动用用错误代码填充errno这个全局变量,这样你只需要读errno这个全局变量
原创
发布博客 2014.10.09 ·
557 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

关于:char (*p)[10] 、char p[10]和char *p[10]的讨论

直观理解:         char(*p)
原创
发布博客 2014.10.09 ·
6827 阅读 ·
8 点赞 ·
0 评论 ·
23 收藏

函数指针用法 以及typedef 优化函数指针

[cpp] view plaincopychar (*pFun)(int);   char glFun(int a){ return;}   void main()   {       pFun = glFun;       (*pFun)(2);   }           第一行定义了一个指针变量pFun。首先我们根据前面提到的“形式1”认识到它是一个指向某种函
转载
发布博客 2014.10.08 ·
628 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

assert()函数用法

assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include assert.h>void assert( int expression );  assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。请看下面的程序清单badpt
原创
发布博客 2014.10.08 ·
505 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏
加载更多