- Android 音视频编解码 -- MediaCodec
消失的旧时光-1943
音视频android视频编解码
引言如果我们只是简单玩一下音频、视频播放,那么使用MediaPlayer+SurfaceView播放就可以了,但如果想加个水印,加点其他特效什么的,那就不行了;学习Android自带的硬件码类–MediaCodec。MediaCodec介绍MediaCodec是从API16后引入的处理音视频编解码的类,它可以直接访问Android底层的多媒体编解码器,通常与MediaExtractor,Media
- Appium原理及版本变化细节
萧十一郎456
Appium原理小结Api接口调用selenium的接口,android底层用android的instrumentation(API2.3+通过绑定另外一个独立的selendroid项目来实现的)、uiautomator接口(API4.2+),ios底层用ios的uiautomation接口。Client/ServerArchitectureAppiumserver是用node.js写的,安装no
- Dex、Smali、Class、Java、Jar之间的相互转换
布道课堂
Dex、Smali、Class、Java、Jar之间的相互转换-分析Android底层代码工具工具作用javacjava------>classddxclass------>dexbaksmalidex------>smalismalismali------>dexdex2jardex------>jar(class的压缩包)apktoolapk------>smaliAndroid源代码从编译到
- android中MediaCodec类解析
刘泊然
音视频安卓开发安卓开发音视频
转载自:https://www.jianshu.com/p/14da1baaf08f简介MediaCodec类可以获取底层媒体编码/解码库,是Android底层多媒体支持库的一部分(一般和MediaExtractor、MediaSync、MediaMuxer、MediaCrypto、MediaDrm、Image、Surface、AudioTrack搭配使用)。MediaCodecBuffers流宽
- Android篇
CJYMars
Android篇1.性能测试Android性能测试分为两类:1、一类为rom版本(系统)的性能测试2、一类为应用app的性能测试Android的app性能测试包括的测试项比如:1、资源消耗2、内存泄露3、电量功耗4、耗时5、网络流量消耗6、移动终端相关资源利用率7、帧率8、渲染等等....工具:(工具的原理都是基于调用android底层的一些api来获取到测试所用到的值)GT等测试方法:1、设计场
- 学习鸿蒙先解决这几个是关键问题~
OpenHarmony_小贾
HarmonyOSOpenHarmony移动开发学习harmonyos华为移动开发openharmony鸿蒙
HarmonyOS是最近最火的操作系统,HarmonyOS宣布删除Android代码之后,正式向世界上第三大操作系统有迈进了一步,HarmonyOS前期为了完成从Android到HarmonyOS的过渡,在设计之初HarmonyOS采用了双框架架构设计。从图中可以看出无论HarmonyOS还是Android底层都是Linux内核,在Linux内核的上一层,还有硬件抽象层,从这一层开始将Harmon
- Linux驱动开发简易流程
苏柘_level6
linux驱动开发
推荐视频:正点原子【第四期】手把手教你学Linux之驱动开发篇小智-学长嵌入式Linux&Android底层开发入门教程能力矩阵基础能力矩阵熟悉c/c++、熟悉数据结构熟悉linux系统,Shell脚本,Makefile/cmake/mk文件IO、多线程、竞争、并发、阻塞、同步、中断、网络熟悉调试工具,gdb、gdbserver、tcpdump行业能力矩阵平台相关:海思/君正/安霸MTK/NXP/
- Android.mk之编译生成可执行文件
銨靜菂等芐紶
Linuxandroidlinux
转载自品略图书馆http://www.pinlue.com/article/2019/11/1122/279786016747.htmlAndroid.mk之编译生成可执行文件一、简介对于学过Linux内核的来说,想要去编译一个文件,生成可执行文件也好,打包成库也罢,都是使用Makefile来管理编译的。那么对于Android底层开发来讲,也是需要把咱们写的代码,编译成可执行文件或者其他可用的文件
- 如何通过EventChannel实现Flutter与原生平台之间的双向通信
sg_knight
FlutterflutterAndroid前端EventChannel双向通信
本文将介绍如何通过EventChannel实现Flutter与原生平台之间的双向通信。如果想了解如何通过MethodChannel实现Flutter调用Android原生平台的方法,可以参考上篇文章。Flutter如何实现与Android底层平台通信,调用底层Android原生方法https://sgknight.blog.csdn.net/article/details/1349258891、什
- Android APP性能及专项测试
博闻强记
APPAPPAndroid性能测试
Android篇1.性能测试Android性能测试分为两类:1、一类为rom版本(系统)的性能测试2、一类为应用app的性能测试Android的app性能测试包括的测试项比如:1、资源消耗2、内存泄露3、电量功耗4、耗时5、网络流量消耗6、移动终端相关资源利用率7、帧率8、渲染等等....工具:(工具的原理都是基于调用android底层的一些api来获取到测试所用到的值)GT等测试方法:1、设计场
- TextView测量文字长度、加粗、删除线、下划线
ffengz
Android日常总结androidtextview字体
测量文字的长度一定要记着post()与主线程直接获取的区别,View的dispatchAttachedToWindow()方法调用才会执行runnable中的action,而这个方法设计Android底层UI逻辑处理。反正记住,post方法会在View的performMeaure()之后掉用。textView.post(newRunnable(){@Overridepublicvoidrun(){
- 嵌入式,单片机,ARM,Android底层开发之间的关系
鹰眼2号
嵌入式
很多人在问我们学这些东西能干什么,这些东西有什么关系,我该学那个?想知道这些首先得知道这些东西都试试很么。单片机(Microcontrollers,亦称MCU)包括了CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。ARM是一家公司,ARM是一种架构,ARM是一系列使用ARM核心芯片的
- 探索嵌入式开发领域:单片机、ARM、Android底层的紧密联系
单片机一哥
单片机51单片机
作为一个曾编写ARM教程和参与Android产品开发的专家,我发现单片机、ARM、嵌入式开发和Android底层开发之间存在紧密的联系。对于那些希望在嵌入式开发领域发展的人来说,了解这些领域的知识至关重要。为了帮助你更好地学习这些内容,我总结了一些嵌入式资料,你可以在视频结尾处找到。在Android底层开发中,底层涵盖了内核接口以下的程序,包括AndroidHAL驱动、Android框架和Andr
- Android底层驱动开发(九)
来自东南亚的皮皮虾
驱动开发驱动开发
目录一、CPU、MPU、MCU、SOC的概念与区别1、概念2、区别二、总线1、总线概念2、详解UART、I2C、SPI常用通信协议一、CPU、MPU、MCU、SOC的概念与区别1、概念1.1CPU(CentralProcessingUnit)CPU(CentralProcessingUnit),是一台计算机的运算核心和控制核心。CPU由运算器、控制器和寄存器及实现它们之间联系的数据、控制及状态的总
- 单片机、ARM、嵌入式开发、Android 底层开发有什么关系?
枪哥玩转嵌入式
单片机编程嵌入式单片机51单片机
单片机、ARM、嵌入式开发、Android底层开发有什么关系?从我目前的见识来看:单片机是个系统(比如:51、AVR、PLC...),其中包含了去除了输入输出之外的运算器、控制器、存储器,我们用程序可以非常直观的控制引脚电平的高低。最近很多小伙伴找我,说想要一些ARM的资料,然后我根据自己从业十年经验,熬夜搞了几个通宵,精心整理了一份「ARM资料从专业入门到高级教程+工具包」,点个关注,全部无偿共
- android aidl流程
泓汉
aidl为实现跨进程通信,android提供的简单方案对于跨进程,我们都知道android底层是linux,所以进程管理也是linux系统的那一套,即进程之间是相互独立的互不干扰的,数据是独享的,所以要进行进程间的通信也是通过老掉牙的方案Binder机制去搞,而android的AIDL底层也是基于Binder机制来搞的,只不过封装的比较好。支持的数据类型,如下java的基本类型,list(内部都是
- Android底层驱动开发(三)
来自东南亚的皮皮虾
驱动开发android
目录一、Android系统架构图二、Android源码目录解析Android源码目录结构如下:Android系统结构与源码的对应关系:三、设备文件系统目录解析Android设备文件夹结构sysfs文件系统设备文件节点基础操作四、Android启动过程Android启动过程及可执行文件bin的组成和打包一、Android系统架构图http://t.csdn.cn/Ja8ulhttp://t.csdn
- (转)8位bmp图片格式详细说明文档
chengg0769
其他语言BMP格式BMP文件
来自:天苍野茫的CSDN博客:http://blog.csdn.net/ichen86/article/details/50534197目前我供职的公司是一家与指纹有关的公司,指纹模组抓取到的图像原始数据一般是8位的,算法开发时也是针对8位图,所以我需要将Android底层抓到的原始数据转换为8位bmp图并保存,但我不知道bmp的相关协议,找到后却发现绝大部分都是针对24位以上的真彩bmp图,并不
- 事件分发源码,Android性能优化之启动优化实战篇,终获offer
A小小开发者
程序员android
Android系统庞大且错综复杂,今天小编将带领大家初探Android系统整体架构,一窥其全貌。引言本文作为Android系统架构的开篇,起到提纲挈领的作用,从系统整体架构角度概要讲解Android系统的核心技术点,带领大家初探Android系统全貌以及内部运作机制。虽然Android系统非常庞大且错综复杂,需要具备全面的技术栈,但整体架构设计清晰。Android底层内核空间以LinuxKerne
- Android_Binder原理分析
刘小厨
Binder是什么?Binder可以实现进程与进程之间的通信(IPC),Binder是Android底层系统的一个特色了,它很好地解决了进程间通讯的问题。image可能很多小伙伴对Binder感觉有点儿陌生,但是Binder在Android系统中无处不在,比如:媒体的播放音视频捕获传感器使用startActivity()/startService()等...Binder是Android独有的跨线程
- Android底层驱动开发(四)
来自东南亚的皮皮虾
驱动开发java开发语言
目录一、Android源码编译编译原理编译组成原生Android编译二、Makefile文件三、Android.mk文件四、Android.bp文件五、Android公码和私码HLOS(公码)non-HLOS(私码)补充:http://t.csdn.cn/ktjxzhttp://t.csdn.cn/ktjxz一、Android源码编译编译原理编译:将高级语言翻译成汇编语言或机器语言的过程,编译的本
- Android底层摸索改BUG(二):Android系统移除预置APP
林林要一直努力
bugandroidandroidstudio开发语言java
首先我先提供以下博主博文,对相关知识点可以提供理解、解决、思考的Android系统如何预装第三方应用以及常见问题汇集androidAndroid.mk属性说明及预置系统app操作说明系Android中去除系统原生apk的方法取消预置APK方法一:其实就是上面的链接3,但是这个方法有局限性,比较适用于单个Android系统项目,直接对Android.mk中的相关APK代码进行删除,(下图来源链接3)
- Android底层摸索改BUG(一):Android系统状态栏显示不下Wifi图标
林林要一直努力
bug学习
这是我入职的第一个BUG,头疼,隔壁实习生一周解决了,我多花了几天其中最大的原因就是我思考复杂了,在公司系统上,此BUG标题为:请确认Wifi优先级,状态栏Wifi被忽略BUG意思就是:当前安卓系统状态栏图标有显示尺寸的测量,如果比如需要显示8个图标,已经在状态栏绘制不下,则显示一个点表示省略,而不希望wifi被省略我思考了一下一直以为就是优先级问题,是不是Android底层状态栏有各个图标优先级
- Java内存管理机制 ————浅析原理
RosenYang
java内存管理机制内存泄漏内存溢出内存抖动:话术整理首先java的内存管理机制gc的垃圾回收机制,然后引出leakcanary,总分总的回答思路java内存模型划分imagec,c++主要就是系统鞥直接操作内存,android底层是linuxlinux的底层也是c或者c++java性能优化,内存+cup+gpu(图像渲染)java程序执行过程()image堆内存:new(对象)(强引用)成员变量
- Android 底层新增按键系统上层适配详解
峥嵘life
androidAndroid系统android
Android底层新增按键系统上层适配详解文章目录Android底层新增按键系统上层适配详解一、前言二、网上的一个参考三、按键基本准备和信息查看四、Android13上framework上的实际修改1、native/cpp相关文件修改(1)头文件定义按键键值字符串和键值数值(2)按键处理代码InputEventLabels.cpp2、Java相关文件修改(1)resattrs资源文件定义键值字符串
- Android多媒体--MediaCodec api
APersonOnTheRoad
音视频
http://www.cnblogs.com/roger-yu/p/5635494.htmlMediaCodecpublicfinalclassMediaCodecextendsObjectJava.lang.Object→android.media.MediaCodecMediaCodec类可用于访问Android底层的媒体编解码器,也就是,编码器/解码器组件。它是Android底层多媒体支持基
- Android底层:通熟易懂的分析binder--2. binder进程通信协议及“记录链路”结构体
牛晓伟
前言binder的准备工作主要介绍了binder进程通信之前需要做的准备工作有哪些,既然binder准备工作做好了,那下一步就是通信了,在讲解通信之前,我希望先把通信的基础知识讲清楚,比如进程与driver层之间的通信协议是啥?binder_node,binder_ref,binder_thread,binder_proc这些东西到底都是啥?在通信过程中起啥作用?Binder,BinderProx
- Android底层:通熟易懂的分析binder--2. binder进程通信协议及“记录链路”结构体
niurenwo
androidandroidjava
前言binder的准备工作主要介绍了binder进程通信之前需要做的准备工作有哪些,既然binder准备工作做好了,那下一步就是通信了,在讲解通信之前,我希望先把通信的基础知识讲清楚,比如进程与driver层之间的通信协议是啥?binder_node,binder_ref,binder_thread,binder_proc这些东西到底都是啥?在通信过程中起啥作用?Binder,BinderProx
- android底层Input事件传递流程
爱炒饭
android笔记androidrom
在android事件分发机制一文中介绍了应用层Touch事件的分发,那么Touch事件从哪里来的呢?本文基于android9源码进行分析。一、IMS首先,触摸事件肯定需要驱动去接收,android是在/dev/input节点获取事件。由于WindowManagerService.java(后面简称WMS)负责界面窗口的管理,既然是屏幕事件那么肯定和WMS有关了,WMS是在SystemServer.
- Linux编程——内核模块
萝卜D大哥
LinuxFiRalinux智能硬件物联网
在FiRa的Android底层实现中,其IEEE802.15.4协议相关实现均作为内核模块实现,因此,本文简要介绍内核模块的相关定义,并节选相关FiRa实现内核模块的使用。1.Linux内核模块内核模块是Linux操作系统中比较独特的机制。模块本身不被编译进内核镜像,这就有效控制了内核的大小;模块一旦被加载,就和内核中的其他部分完全一样。Linux启动中在完成BIOS加载、读取MBR、BootLo
- 枚举的构造函数中抛出异常会怎样
bylijinnan
javaenum单例
首先从使用enum实现单例说起。
为什么要用enum来实现单例?
这篇文章(
http://javarevisited.blogspot.sg/2012/07/why-enum-singleton-are-better-in-java.html)阐述了三个理由:
1.enum单例简单、容易,只需几行代码:
public enum Singleton {
INSTANCE;
- CMake 教程
aigo
C++
转自:http://xiang.lf.blog.163.com/blog/static/127733322201481114456136/
CMake是一个跨平台的程序构建工具,比如起自己编写Makefile方便很多。
介绍:http://baike.baidu.com/view/1126160.htm
本文件不介绍CMake的基本语法,下面是篇不错的入门教程:
http:
- cvc-complex-type.2.3: Element 'beans' cannot have character
Cb123456
springWebgis
cvc-complex-type.2.3: Element 'beans' cannot have character
Line 33 in XML document from ServletContext resource [/WEB-INF/backend-servlet.xml] is i
- jquery实例:随页面滚动条滚动而自动加载内容
120153216
jquery
<script language="javascript">
$(function (){
var i = 4;$(window).bind("scroll", function (event){
//滚动条到网页头部的 高度,兼容ie,ff,chrome
var top = document.documentElement.s
- 将数据库中的数据转换成dbs文件
何必如此
sqldbs
旗正规则引擎通过数据库配置器(DataBuilder)来管理数据库,无论是Oracle,还是其他主流的数据都支持,操作方式是一样的。旗正规则引擎的数据库配置器是用于编辑数据库结构信息以及管理数据库表数据,并且可以执行SQL 语句,主要功能如下。
1)数据库生成表结构信息:
主要生成数据库配置文件(.conf文
- 在IBATIS中配置SQL语句的IN方式
357029540
ibatis
在使用IBATIS进行SQL语句配置查询时,我们一定会遇到通过IN查询的地方,在使用IN查询时我们可以有两种方式进行配置参数:String和List。具体使用方式如下:
1.String:定义一个String的参数userIds,把这个参数传入IBATIS的sql配置文件,sql语句就可以这样写:
<select id="getForms" param
- Spring3 MVC 笔记(一)
7454103
springmvcbeanRESTJSF
自从 MVC 这个概念提出来之后 struts1.X struts2.X jsf 。。。。。
这个view 层的技术一个接一个! 都用过!不敢说哪个绝对的强悍!
要看业务,和整体的设计!
最近公司要求开发个新系统!
- Timer与Spring Quartz 定时执行程序
darkranger
springbean工作quartz
有时候需要定时触发某一项任务。其实在jdk1.3,java sdk就通过java.util.Timer提供相应的功能。一个简单的例子说明如何使用,很简单: 1、第一步,我们需要建立一项任务,我们的任务需要继承java.util.TimerTask package com.test; import java.text.SimpleDateFormat; import java.util.Date;
- 大端小端转换,le32_to_cpu 和cpu_to_le32
aijuans
C语言相关
大端小端转换,le32_to_cpu 和cpu_to_le32 字节序
http://oss.org.cn/kernel-book/ldd3/ch11s04.html
小心不要假设字节序. PC 存储多字节值是低字节为先(小端为先, 因此是小端), 一些高级的平台以另一种方式(大端)
- Nginx负载均衡配置实例详解
avords
[导读] 负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦。负载均衡先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可以解 负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦。
负载均衡
先来简单了解一下什么是负载均衡
- 乱说的
houxinyou
框架敏捷开发软件测试
从很久以前,大家就研究框架,开发方法,软件工程,好多!反正我是搞不明白!
这两天看好多人研究敏捷模型,瀑布模型!也没太搞明白.
不过感觉和程序开发语言差不多,
瀑布就是顺序,敏捷就是循环.
瀑布就是需求、分析、设计、编码、测试一步一步走下来。而敏捷就是按摸块或者说迭代做个循环,第个循环中也一样是需求、分析、设计、编码、测试一步一步走下来。
也可以把软件开发理
- 欣赏的价值——一个小故事
bijian1013
有效辅导欣赏欣赏的价值
第一次参加家长会,幼儿园的老师说:"您的儿子有多动症,在板凳上连三分钟都坐不了,你最好带他去医院看一看。" 回家的路上,儿子问她老师都说了些什么,她鼻子一酸,差点流下泪来。因为全班30位小朋友,惟有他表现最差;惟有对他,老师表现出不屑,然而她还在告诉她的儿子:"老师表扬你了,说宝宝原来在板凳上坐不了一分钟,现在能坐三分钟。其他妈妈都非常羡慕妈妈,因为全班只有宝宝
- 包冲突问题的解决方法
bingyingao
eclipsemavenexclusions包冲突
包冲突是开发过程中很常见的问题:
其表现有:
1.明明在eclipse中能够索引到某个类,运行时却报出找不到类。
2.明明在eclipse中能够索引到某个类的方法,运行时却报出找不到方法。
3.类及方法都有,以正确编译成了.class文件,在本机跑的好好的,发到测试或者正式环境就
抛如下异常:
java.lang.NoClassDefFoundError: Could not in
- 【Spark七十五】Spark Streaming整合Flume-NG三之接入log4j
bit1129
Stream
先来一段废话:
实际工作中,业务系统的日志基本上是使用Log4j写入到日志文件中的,问题的关键之处在于业务日志的格式混乱,这给对日志文件中的日志进行统计分析带来了极大的困难,或者说,基本上无法进行分析,每个人写日志的习惯不同,导致日志行的格式五花八门,最后只能通过grep来查找特定的关键词缩小范围,但是在集群环境下,每个机器去grep一遍,分析一遍,这个效率如何可想之二,大好光阴都浪费在这上面了
- sudoku solver in Haskell
bookjovi
sudokuhaskell
这几天没太多的事做,想着用函数式语言来写点实用的程序,像fib和prime之类的就不想提了(就一行代码的事),写什么程序呢?在网上闲逛时发现sudoku游戏,sudoku十几年前就知道了,学生生涯时也想过用C/Java来实现个智能求解,但到最后往往没写成,主要是用C/Java写的话会很麻烦。
现在写程序,本人总是有一种思维惯性,总是想把程序写的更紧凑,更精致,代码行数最少,所以现
- java apache ftpClient
bro_feng
java
最近使用apache的ftpclient插件实现ftp下载,遇见几个问题,做如下总结。
1. 上传阻塞,一连串的上传,其中一个就阻塞了,或是用storeFile上传时返回false。查了点资料,说是FTP有主动模式和被动模式。将传出模式修改为被动模式ftp.enterLocalPassiveMode();然后就好了。
看了网上相关介绍,对主动模式和被动模式区别还是比较的模糊,不太了解被动模
- 读《研磨设计模式》-代码笔记-工厂方法模式
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
package design.pattern;
/*
* 工厂方法模式:使一个类的实例化延迟到子类
* 某次,我在工作不知不觉中就用到了工厂方法模式(称为模板方法模式更恰当。2012-10-29):
* 有很多不同的产品,它
- 面试记录语
chenyu19891124
招聘
或许真的在一个平台上成长成什么样,都必须靠自己去努力。有了好的平台让自己展示,就该好好努力。今天是自己单独一次去面试别人,感觉有点小紧张,说话有点打结。在面试完后写面试情况表,下笔真的好难,尤其是要对面试人的情况说明真的好难。
今天面试的是自己同事的同事,现在的这个同事要离职了,介绍了我现在这位同事以前的同事来面试。今天这位求职者面试的是配置管理,期初看了简历觉得应该很适合做配置管理,但是今天面
- Fire Workflow 1.0正式版终于发布了
comsci
工作workflowGoogle
Fire Workflow 是国内另外一款开源工作流,作者是著名的非也同志,哈哈....
官方网站是 http://www.fireflow.org
经过大家努力,Fire Workflow 1.0正式版终于发布了
正式版主要变化:
1、增加IWorkItem.jumpToEx(...)方法,取消了当前环节和目标环节必须在同一条执行线的限制,使得自由流更加自由
2、增加IT
- Python向脚本传参
daizj
python脚本传参
如果想对python脚本传参数,python中对应的argc, argv(c语言的命令行参数)是什么呢?
需要模块:sys
参数个数:len(sys.argv)
脚本名: sys.argv[0]
参数1: sys.argv[1]
参数2: sys.argv[
- 管理用户分组的命令gpasswd
dongwei_6688
passwd
NAME: gpasswd - administer the /etc/group file
SYNOPSIS:
gpasswd group
gpasswd -a user group
gpasswd -d user group
gpasswd -R group
gpasswd -r group
gpasswd [-A user,...] [-M user,...] g
- 郝斌老师数据结构课程笔记
dcj3sjt126com
数据结构与算法
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
- yii2 cgridview加上选择框进行操作
dcj3sjt126com
GridView
页面代码
<?=Html::beginForm(['controller/bulk'],'post');?>
<?=Html::dropDownList('action','',[''=>'Mark selected as: ','c'=>'Confirmed','nc'=>'No Confirmed'],['class'=>'dropdown',])
- linux mysql
fypop
linux
enquiry mysql version in centos linux
yum list installed | grep mysql
yum -y remove mysql-libs.x86_64
enquiry mysql version in yum repositoryyum list | grep mysql oryum -y list mysql*
install mysq
- Scramble String
hcx2013
String
Given a string s1, we may represent it as a binary tree by partitioning it to two non-empty substrings recursively.
Below is one possible representation of s1 = "great":
- 跟我学Shiro目录贴
jinnianshilongnian
跟我学shiro
历经三个月左右时间,《跟我学Shiro》系列教程已经完结,暂时没有需要补充的内容,因此生成PDF版供大家下载。最近项目比较紧,没有时间解答一些疑问,暂时无法回复一些问题,很抱歉,不过可以加群(334194438/348194195)一起讨论问题。
----广告-----------------------------------------------------
- nginx日志切割并使用flume-ng收集日志
liyonghui160com
nginx的日志文件没有rotate功能。如果你不处理,日志文件将变得越来越大,还好我们可以写一个nginx日志切割脚本来自动切割日志文件。第一步就是重命名日志文件,不用担心重命名后nginx找不到日志文件而丢失日志。在你未重新打开原名字的日志文件前,nginx还是会向你重命名的文件写日志,linux是靠文件描述符而不是文件名定位文件。第二步向nginx主
- Oracle死锁解决方法
pda158
oracle
select p.spid,c.object_name,b.session_id,b.oracle_username,b.os_user_name from v$process p,v$session a, v$locked_object b,all_objects c where p.addr=a.paddr and a.process=b.process and c.object_id=b.
- java之List排序
shiguanghui
list排序
在Java Collection Framework中定义的List实现有Vector,ArrayList和LinkedList。这些集合提供了对对象组的索引访问。他们提供了元素的添加与删除支持。然而,它们并没有内置的元素排序支持。 你能够使用java.util.Collections类中的sort()方法对List元素进行排序。你既可以给方法传递
- servlet单例多线程
utopialxw
单例多线程servlet
转自http://www.cnblogs.com/yjhrem/articles/3160864.html
和 http://blog.chinaunix.net/uid-7374279-id-3687149.html
Servlet 单例多线程
Servlet如何处理多个请求访问?Servlet容器默认是采用单实例多线程的方式处理多个请求的:1.当web服务器启动的