- 博客(36)
- 资源 (10)
- 收藏
- 关注
原创 dl备忘
参考文档Dynamic Library Programminglinphone AudioTrackcpp class demo/* File: Person.cpp */#include <iostream>#include "Person.h" #define EXPORT __attribute__((visibility("default"))) EXPORTPerson::Person() { char default_name[] = "<no v
2021-01-26 17:44:43 144
原创 java 泛型备忘
Java为什么要添加运行时获取泛型的方法java泛型类类型的问题Java获得泛型类型Examining Class Modifiers and Types
2020-11-17 09:59:22 123
原创 java 反编译工具
CFR - another java decompilerhttps://www.benf.org/other/cfrhttps://github.com/leibnitz27/cfrProcyonhttps://github.com/mstrobel/procyonBytecode Viewerhttps://github.com/Konloch/bytecode-viewerd4jhttp://www.secureteam.net/d4jjclasslib bytecode viewe
2020-11-16 10:29:36 262
原创 java unicode 备忘
java8 字符串使用 UTF-16public class Hex { public static void main(String[] args) { // codePoint 和 代理对的转换 int codePoint = 0x26b99; System.out.println(new String(new int[]{codePoint}, 0, 1)); // ???? System.out.println("\uD85A
2020-11-13 11:09:39 74
原创 java Selector 备忘
Thinking in Enterprise Java 里的例子//: TIEJ:X1:NonBlockingIO.java// Socket and selector configuration for non-blocking// Connects to JabberServer.java// {RunByHand}import java.net.*;import java.nio...
2019-11-04 23:15:35 92
原创 java8 time API 备忘
当前时间 LocalDateTime.now() 2019-03-31T14:48:06.699 LocalDate.now() 2019-03-31 LocalTime.now() 14:48:06.699 ZonedDateTime.now() 2019-03-31T14:48:06.699+08:0...
2019-03-31 15:36:54 158
原创 Source Insight 使用AStyle代码格式化
Source Insight没有格式化代码的快捷键,看到各种缩进不统一的代码实在眼疼 发现可以SI里可以自定义指令来使用外部工具来格式化代码,非常方便这里使用的是Astyle,一个开源的工具。可以使用AStyle对Java文件进行格式化下载链接 https://sourceforge.net/projects/astyle/ 解压到任意盘符,我解压在E盘,最后Astyle的exe路径为...
2018-05-18 14:32:36 1423
原创 ArrayList (openjdk 1.6)源码分析
本文只是学习笔记,如有错误,欢迎指出ArrayList是使用一个elementData对象数组来存储元素的private transient Object[] elementData;构造器很简单,就是根据传入的参数初始化elementData数组,默认大小为10public ArrayList(int initialCapacity) { super(); i...
2018-05-16 17:52:57 159
原创 LinkedHashMap (openjdk 1.6)源码分析
本文只是学习笔记,如有错误,欢迎指出LinkedHashMap继承HashMap,在HashMap的基础上维护一个Entry双向链表 HashMap的分析可以看上一篇class LinkedHashMap<K,V> extends HashMap<K,V>header是双向链表的头节点,header的after指向链表的最后一个节点,before指向第一个节点...
2018-05-15 11:52:00 147
原创 ConcurrentHashMap(openjdk1.6)源码分析
本文只是学习笔记,如有错误,欢迎指出ConcurrentHashMap包含若干个Segment组成的数组,每个Segment包含一个table数组,而table是若干HashEntry链表组成的数组HashEntry类,并没有像HashMap那样实现Map.Entry类因为value成员变量是volatile的,不是final, 对于非同步读取,通过数据竞争进行读取时得到null而不是初...
2018-05-11 16:33:48 227
原创 HashMap(openjdk1.6)源码分析
本文只是笔记,如有错误,欢迎指出openjdk HashMap源码在线查看HashMap的成员变量 //默认的初始化容量,必须是2的幂次方static final int DEFAULT_INITIAL_CAPACITY = 16;//最大容量static final int MAXIMUM_CAPACITY = 1 &amp;amp;amp;lt;&amp;amp;amp;lt; 30;//默认的加载因子sta...
2018-05-10 17:11:01 233
原创 android用live555 rtsp服务器传输camera图像
本程序的硬件编码是基于下文的示例代码修改,再加上live555和libyuv Android硬编解码接口MediaCodec使用完全解析 这篇文件写得很好,值得一看live555和libyuv的编译可以看我前面几篇文章的介绍,编译的部分就不介绍了,主要是讲下怎么把camera图像传递给live555服务器camera预览数据被MediaCodec编码成H264码流后,放到一个阻塞队列里...
2018-05-08 09:36:03 4827 5
原创 搭建EasyDarwin服务器
EasyDarwin是高性能开源RTSP流媒体服务器,基于Darwin Streaming Server 维护和优化:RTSP转发、关键帧缓存、秒开画面主要是买了个服务器,以前做rtsp相关的时候,也使用过EasyPusher、EasyIPCamera来测试,所以没什么事做就弄来玩一玩搭建很简单 wget https://github.com/EasyDarwin/EasyDarwin/...
2018-05-07 19:48:28 8524 4
原创 android使用libyuv
libyuv可以帮我们将rgb转换成yuv,也可以用来旋转yuv,转换成其他yuv格式 libyuv git地址是https://chromium.googlesource.com/libyuv/libyuv,由于众所周知的原因,无法直接访问,我们可以用gitlab来中转一下 首先创建一个project,选择Import project,点击Repo by URL,在url里填入这个网址,勾选...
2018-05-07 19:31:18 5591 3
原创 android实现rtsp服务器的一些参考资料
1 https://github.com/fyhertz/libstreaming 支持rtsp、rtp协议,H264编码,主要是基于这个库进行开发 需要先了解RTSP协议、RTP协议和怎么通过RTP协议来传输H264的每一帧 RTSP协议介绍 RTP协议介绍 h264基础及rtp分包解包libstreaming的目录 net └── majorkernelpanic ...
2018-05-07 18:17:51 8122 1
原创 android移植live555
live555是什么就不介绍了,你点进来肯定知道是什么东西了,前段时间折腾了一下rtsp相关的东西,觉得有必要记录一下。废话不多说,首先下载live555 最新的live555源码下载在Android Studio3里新建一个工程,记得勾选C++支持 将下载的live555源码解压出来后,放到src/main/cpp的目录下,有的是src/main/jni目录 默认的AS工程是使用C...
2018-05-07 18:13:29 3048 1
原创 Django 博客 - 10 基于MPTT的评论
前言上一篇Comment模型有一个问题,当我们要获取一篇文章的所以评论时 需要通过parent为空的Comment对象,一级一级的通过commet.children.all()获取 如果层级或者评论很多,需要对每一条评论都查询是否有回复,每一次查询都要对数据库查询,并且数据库查询都是相对很慢的什么是MPTTMPTT(Modified Preorder Tree Traversal)是一种在数据库
2017-10-26 23:25:46 4619 2
原创 Django 博客 - 9 评论
评论模型由于可以回复评论,所以评论是一个层次架构的模型 所以在模型中,评论是自己的外键,可以通过一条评论获取回复的评论在blog/models.py中添加Comment模型class Comment(models.Model): user = models.ForeignKey(User) content = models.TextField() #parent为该评论的父
2017-10-26 18:28:23 1744
原创 Django 博客 - 8 分页
前言经过了上一篇添加侧边栏之后,我们的博客主页就基本有个博客样子了,但是博客主页会将所有的文章一次性显示出来,这就不太科学了,所以需要对文章进行分页,同时添加一个分页导航栏Paginator和PagePaginator是分页器,可以将一个列表,按要求分页,而Page就是其中的一页from blog.models import Postfrom django.core.paginator impor
2017-10-25 16:53:57 508
原创 Django 博客 - 7 侧边栏
前言一般博客主页都有侧边栏,分别有阅读排行、文章分类和文章存档等栏目,可以在视图函数将这些内容传递给模板,在模板里展示如果在另一个页面也要显示这些栏目,就会造成很多重复代码。可以使用自定义模板标签来减少这些重复,同时也不用改变已有的视图函数自定义模板标签新建blog/templatetags目录,创建post_tags.py,文件名随意在post_tags.py里添加from django impo
2017-10-23 23:46:31 1532
原创 Django 博客 - 6 标签、分类和归档页面
编写模板文件首先编写tag的模板,新建blog/templates/blog/tags.html文件,假设传给模版的上下文里有一个tags,代表所有标签,因此模板可以这么写<ul> {% for tag in tags %} <li> <h3 id="{{ tag.name }}">{{ tag.name }}</h3> <ul>
2017-10-22 17:33:27 1968
原创 Django 博客 - 5 编写博客详情界面
编写视图这里是使用的是基于类的视图,由于要详情页展示的是Post的内容,所以需要继承DetailViewfrom django.views.generic import DetailViewclass PostView(DetailView): model = Post context_object_name = 'post' template_name = 'blog/d
2017-10-21 16:42:49 472
原创 Django 博客 - 4 编写第一个页面-主页
编写视图在blog/views.py文件里添加from django.views.generic import ListViewfrom blog.models import Postclass IndexView(ListView): model = Post context_object_name = 'posts' template_name = 'blog/ind
2017-10-21 14:59:53 1384
原创 Django 博客 - 3 生成测试数据
前言在上一篇文章中介绍,我们可以在python manage.py shell或者后台管理界面里创建博客,但是如果要创建大量博客来测试博客应用的时候,这两个方法就太麻烦了,所以可以编写一个函数来生成测试数据,同时编写一个django-admin命令来调用这个函数,就可以通过python manage.py <command-name>来调用了。编写生成数据的函数首先先清除数据库中的Tag、Categ
2017-10-21 13:56:32 2105
原创 Django 博客 - 2 创建数据库模型
创建模型观察csdn的博客界面,一篇博客通常有标题,作者,内容,摘要,访问数,创建时间,修改时间,标签,类别等等。 其中一篇文章对应一个类别,一个作者,而对应多个标签。 因此创建相关模型。from django.contrib.auth.models import Userfrom django.db import modelsfrom django.utils import timezon
2017-10-20 15:38:14 575
原创 Django 博客 - 1 创建博客应用
新建工程python3 安装最新版本djangopip3 install Django创建django工程django-admin startproject web在新建的django工程web目录下新建应用blogpython manage.py startapp blog修改web/settings.py,将blog应用添加到INSTALLED_APPS里INSTALLED_APPS = [
2017-10-20 15:02:30 474
原创 ubuntu16.04使用nginx、uwsgi部署django应用
安装相关软件更新源 sudo apt-get update sudo apt-get upgrade安装虚拟环境 sudo apt-get install python-virtualenv安装nginx sudo apt-get install nginx安装uwsgi sudo pip3 install uwsgi或者 ...
2017-08-30 15:53:12 1965 4
原创 System_Server与Zygote共存亡
Zygote孵化System_server的最后阶段ForkAndSpecializeCommon里会调用SetSigChldHandler设置信号处理函数。SetSigChldHandler定义了信号处理函数SigChldHandler,当信号SIGCHLD到来的时候,会进入信号处理函数。如果子进程SystemServer挂了,Zygote就会自杀。从而导致Zygote重启。
2017-05-18 18:21:14 3254 1
android用live555 rtsp服务器传输camera图像示例代码
2018-05-08
Live555_android.zip
2018-05-07
sicp in python 中文 sicp 中文
2017-11-16
sicp in python 中文版 sicp
2017-11-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人