- Android/Linux音频架构开发ALSA-篇6
走别人不走的路
audio-alsa系列详解音视频androidlinux
上一张我们讲到pcm的创建,用户空间可以通过pcm设备节点进行放音和录音操作,但是这只能控制音频流的输入输出,如果我想要控制codec的增益(gain)或者说mixer方式怎么办?那我们就要用到另一个逻辑设备control。还记的我们创建声卡的代码么,里面有这么一个函数,snd_ctl_create创建control设备节点1、snd_ctl_create与pcm设备一样,一开始先定义了一个ops
- Android开机流程-从Init进程启动到进入Android桌面
techfuture
Android基础架构系列androidjava机器人
1.init进程启动流程Androidbootloader负责加载boot.img,将其内容放入内存,然后启动内核。内核接管之后,会解压并加载ramdisk到内存中,然后启动用户空间的第一个进程init。在Android系统启动过程中,ramdisk.img被内核直接解压到内存中并用作初始根文件系统。这一过程不是通过挂载块设备来实现的,而是通过解压cpio档案的内容到内存中的临时文件系统(tmpf
- Android图形显示架构概览
sino lee
SurfaceFlingerWMSBinderHIDLOpenGL
图形显示系统作为Android系统核心的子系统,掌握它对于理解Android系统很有帮助,下面从整体上简单介绍图形显示系统的架构,如下图所示。这个框架只包含了用户空间的图形组件,不涉及底层的显示驱动。框架主要包括以下4个图形组件。1、图形流生产者图形流生产者一般指的是各个应用,应用通过不同的方式生产出要显示的图形流。可以通过Skia、OpenGLES等图形库绘制得到,也可以通过Camera拍摄得到
- /var/lib/docker/overlay2 占用很大,清理Docker占用的磁盘空间
@小匠
运维docker容器运维
今天收到一个磁盘告警,告警的原因是一台Jenkins机器上某个磁盘空间满了。马上使用df-h命令看下使用情况上图是我优化后的截图,告警的时候磁盘使用量已经接近100%。上图中看到的overlay分区是Docker的虚拟文件系统,其真实的文件系统是/dev/vda1。所以我们要找到是什么原因大量占据了/dev/vda1。一般有两种情况。无用的镜像和容器太多我们可以使用以下命令大致看下情况docker
- 什么是IO多路复用?其原理和用途是什么?
听说唐僧不吃肉
LinuxIO多路复用
什么是IO?IO:Input/Output,即数据的读取(接收)/写入(发送)操作,针对不同的数据存储媒介,大致可以分为网络IO和磁盘IO两种。在Linux系统中,为了保证系统安全,操作系统将虚拟内存划分为内核空间和用户空间两部分。因此用户进程无法直接操作IO设备资源,需要通过系统调用完成对应的IO操作。1、I/O多路复用简介I/O多路复用(I/OMultiplexing)是一种高效处理多个I/O
- Linux开源
少校0778
Linuxlinux
Linux是一种自由和开放源代码的类UNIX操作系统,该操作系统的内核由林纳斯·托瓦兹在1991年首次发布,之后,在加上用户空间的应用程序之后,就成为了Linux操作系统。严格来讲,Linux只是操作系统内核本身,但通常采用“Linux内核”来表达该意思。而Linux则常用来指基于Linux内核的完整操作系统,它包括GUI组件和许多其他实用工具。一、何为开源?简单来说,就是把源代码公开了。那么开源
- 【Linux内存】Linux的内存管理机制
Stay_Hun_forward
linux驱动开发
Linux内存管理机制不管是在用户空间还是在内核空间,程序代码一律不能直接访问物理地址。用户空间和内核空间访问必须要访问虚拟地址,只是各个空间对应的虚拟地址是不一样的。内核空间的设备驱动程序要想访问各个寄存器的物理地址,只需要将物理地址映射到内核空间的虚拟地址上,一旦映射成功,以后在内核空间的设备驱动程序中访问虚拟地址就是在访问对应的物理地址(MMU实现地址的转换)一个物理地址可以有多个虚拟地址,
- 2.3.6 返回用户空间
aspirestro三水哥
InterruptPipelinelinux运维服务器
InterruptPipeline系列文章大纲-CSDN博客2.3el0_irq2.3.1el0_irq代码框架2.3.2kernel_entry0与kernel_exit02.3.3el0_irq_naked与enable_da_f2.3.4trace_hardirqs_off与trace_hardirqs_on2.3.5irq_handler2.3.6返回用户空间目录InterruptPipe
- Linux内核(4)——Linux设备文件open函数从应用到内核全过程解析
Embedded-Xin
Linux驱动/内核编程块设备驱动linux嵌入式c++物联网服务器
学习并整理了下open等系统调用,从用户态如何调用到内核态的全过程。1.Linux内核目录总览2.Linux文件系统与设备驱动关系这是在Linux设备驱动开发详解里找的两张图,内容很形象。当用户程序通过系统调用陷入内核态时,会先经过VFS,也就是虚拟文件系统,使用不同的file_operations,在这里会根据操作的文件类型,来进行不同操作。3.系统调用完成内核调用全过程详解3.1用户态确认好自
- Linux 学习笔记:input 子系统
gdut_llkkyy
Linux读书笔记linux学习运维linux驱动input子系统
一、概述input子系统是管理输入的子系统,和pinctrl、gpio子系统一样,都是Linux内核针对某一类设备而创建的框架。input子系统分为input驱动层、input核心层、input事件处理层,最终给用户空间提供可访问的设备节点。二、使用input子系统编写设备驱动的流程2.1驱动入口2.1.1申请input_devstructinput_dev*input_allocate_devi
- 嵌入式面经篇十一——操作系统
须尽欢~~
嵌入式软件面经linux嵌入式软件
文章目录前言一、操作系统1、Linux系统的组成部分?2、Linux内核的组成部分?3、内存管理MMU的作用?4、常见的操作系统进程调度策略有哪些?5、满足短作业优先又不会发生饥饿现象的调度算法是?6、I/O子系统层次结构7、逻辑地址、线性地址、物理地址、总线地址、虚拟地址的区别?8、操作系统的内存分配一般有哪几种方式,各有什么优缺点?9、用户空间与内核空间有哪些通信方式?10、用户进程调用rea
- 16.C基础_内存管理
荣世蓥
C语言linuxc语言
内存分区1、整体框图内存分为代码区、全局区、栈区、堆区。代码区和全局区在代码编译完之后就已经确定,栈区和堆区是在程序运行时进行开辟和释放的。整体内存分区框图如下:对于一个进程,它一共有4G的空间,其中0~3G为上述的4个区(用户空间)、3G~4G为内核空间。2、各区的含义2.1代码区代码区存放的是函数体的二进制代码,由操作系统进行管理,具有共享、只读的特征。即:存放的是我们自己写的代码通过编译后生
- UnQLite:多语言支持的嵌入式NoSQL数据库深入解析
橘色的喵
nosql数据库Key/ValueACID嵌入式SQLiteNoQLite
文章目录1.引言2.Key/Value存储接口2.1关键函数2.2使用示例2.3高级操作:批量文件存储3.游标的使用4.UnQLite-Python使用示例4.UnQLite数据库引擎架构5.1Key/Value存储层5.2文档存储层5.3可插拔的存储引擎5.4事务管理器与分页模块5.5虚拟文件系统6.UNQliteVSSQLite7.总结1.引言UnQLite是一个嵌入式的NoSQL数据库引擎,
- 虚拟线程:.NET和Rust不如Go或Java ?
极道Jdon
javascriptreactjs
由于.NET和Rust存在指向堆栈的指针,这很难有效地实现用户模式绿色虚拟线程:什么是绿色线程(虚拟线程)绿色线程是用户空间线程,由运行时库或虚拟机(VM)而不是操作系统管理。它们很轻量,可以比内核线程更快地创建和管理。绿色线程在其他编程语言中也称为“协程”或“纤程”。绿色线程则不同。绿色线程的内存分配在堆上。但所有这些都是有代价的:由于它们不受操作系统管理,因此它们本身无法利用多个内核。但对于I
- 如何使用Kdrill检测Windows内核中潜在的rootkit
FreeBuf-
工具windows
关于KdrillKdrill是一款用于分析Windows64b系统内核空间安全的工具,该工具基于纯Python3开发,旨在帮助广大研究人员评估Windows内核是否受到了rootkit攻击。需要注意的是,该项目与Python2/3兼容,无其他依赖组件,无需Microsoft符号或网络连接即可执行安全检查。KDrill还可以分析完整崩溃转储和内核崩溃转储(主要存储在中C:\Windows\MEMOR
- Linux学习之-内核空间和用户空间以及内存地址映射
Three_ST
Linux计算机基础linux内核操作系统
Linux内核空间和用户空间的概念内核空间和用户空间32位操作系统,它的寻址空间(虚拟地址空间,或叫线性地址空间)为4G(2的32次方)。也就是说一个进程32位操作系统,它的寻址空间(虚拟地址空间,或叫线性地址空间)为4G(2的32次方)。也就是说一个进程的最大地址空间为4G(也就是WindowsXP在不安装补丁的时候只能使用4G内存)。注意这里是32位内核地址空间划分,64位内核地址空间划分是不
- BIO、NIO、AIO的区别
Qlh_行则将至
nio服务器数据库
什么是IO?I/O描述了计算机系统与外部设备之间通信的过程程序在用户空间对操作系统的内核发起IO调用,具体IO的执行是由操作系统的内核来完成的。当应用程序发起I/O调用后,会经历两个步骤:内核等待I/O设备准备好数据内核将数据从内核空间拷贝到用户空间。BIO:同步阻塞IO。应用程序发起read调用后,会一直阻塞,直到内核把数据拷贝到用户空间,阻塞等待的是内核数据准备好和数据从内核态拷⻉到⽤户态这两
- 【Linux 事件驱动模型】selet/epoll 里程碑意义记录
Michael_Good
事件驱动C/C++linux网络服务器
文章目录关键思想Epoll关键流程关键思想在Linux内核中,当使用select/epoll系统调用等待事件发生时,内核会使用poll_wait函数将当前进程添加到等待某个事件的等待队列中。当有事件发生时,内核会使用中断或轮询等机制来感知事件的发生。具体来说,当进程调用select/epoll系统调用时,内核会将进程的文件描述符集合复制到内核空间,并使用poll_wait函数将进程添加到每个文件描
- 检测usb口HotPlug-netlink
cany1000
linux
为了完成内核空间与用户空间通信,Linux提供了基于Socket的NetLink通信机制。SELinux,Linux系统的防火墙分为内核态的netfilter和用户态的iptables,netfilter与iptables的数据交换就是通过Netlink机制完成。下面看一个检测usb口的例子:s32InitUsbHotPlug(void){s32nSockFd=0;//套接字地址structsoc
- libusb开源库使用说明
Hubert丶冰羽
linuxc++
1简介libusb是一个跨平台的用户空间USB库,允许用户编写基于USB的应用程序,而无需了解底层的USB协议。它提供了一个可移植的、抽象的接口来访问USB设备,支持多个操作系统,包括Linux、macOS、Windows和其他类Unix系统。通过使用libusb,开发人员可以以设备为中心,而不是以系统为中心来开发USB应用程序,从而获得更好的可移植性和开发效率。libusb还包括用于设备描述符解
- linux驱动程序设计8 Linux设备驱动中的阻塞与非阻塞I/O
oushaojun2
linuxlinux驱动
本章导读阻塞和非阻塞I/O是设备访问的两种不同模式,驱动程序可以灵活地支持这两种用户空间对设备的访问方式。8.1节讲述了阻塞和非阻塞I/O的区别,并讲解了实现阻塞I/O的等待队列机制,以及在globalfifo设备驱动中增加对阻塞I/O支持的方法,并进行了用户空间的验证。8.2节讲述了设备驱动轮询(Poll)操作的概念和编程方法,轮询可以帮助用户了解是否能对设备进行无阻塞访问。8.3节讲解在glo
- 【无标题】
!燚㵘!
java前端服务器
1.IO进程线程之共享内存:shmrcv.c:#include#definePAGESIZE4096intmain(intargc,constchar*argv[]){key_tkey=-1;if((key=ftok("/",'k'))==-1){perror("ftokerror");return-1;}printf("key=%d\n",key);//创建共享内存,将物理内存映射到内核空间in
- Linux用户态和内核态通信方法--netlink
嵌入式软件和硬件
Linux系统和应用编程
Linux用户空间和内核空间通信方法:系统调用、procfs、ioctl接口、netlinknetlink是Linux用户态与内核态通信最常用的一种方式。netlink:netlinksocekt是一种用于在内核态和用户态进程之间进行数据传输的特殊的IPC。它通过为内核模块提供一组特殊的API,并为用户程序提供了一组标准的socket接口的方式,实现了一种全双工的通讯连接。类似于TCP/IP中使用
- VSCode连接远程服务器问题---持续更新中
程序小吴
开发工具vscode
VSCode连接远程服务器问题vscodecouldnotestablishconnectionto“sshname”TheVSCodeServerfailedtostart原因:服务器用户空间不足本机与服务器密钥不匹配vscode与服务器glibc版本不匹配解决方案:方法一点击vscode左上角的view点击commandpalette输入remote-ssh点击Killvscodeserver
- Windows系统本地部署HFS并结合内网穿透实现公网访问本地存储文件
日出等日落
内网穿透windows服务器运维
文章目录前言1.下载安装cpolar1.1设置HFS访客1.2虚拟文件系统2.使用cpolar建立一条内网穿透数据隧道2.1保留隧道2.2隧道名称2.3成功使用cpolar创建二级子域名访问本地hfs总结前言在大厂的云存储产品热度下降后,私人的NAS热度快速上升,其中最具代表性的,必然是群晖NAS。但群晖价格太高,个人和小型企业无法承担。实际上,我们完全可以使用cpolar,与特定软件配合,打造属
- /proc/{pid}/stat 文件说明
零K沁雪
各种教程linux服务器
在Linux系统中,/proc是一个虚拟文件系统,它提供了大量关于系统和正在运行的进程的信息。/proc/[pid]/stat是其中一个文件,它提供了关于指定进程ID(PID)的详细状态信息。/proc/{pid}/stat/proc/[pid]/stat文件包含了进程的许多详细信息,这些信息对于系统管理员和开发者在调试、性能分析或系统监控时非常有用。以下是/proc/[pid]/stat文件中一
- 5.8 BCC工具之mysqld_query.py解读
huangyabin001
AndroideBPFBookandroidlinuxebpf
一,mysqld_query简介我们首先来看USDT,USDT即UserlandStaticallyDefinedTracing,它是一种静态定义的跟踪技术,用于在用户空间应用程序中添加自定义的跟踪点。USDT利用DTrace(动态跟踪)框架,允许开发者在代码中定义跟踪点,并在需要时启用它们。这样,开发人员可以在不改变程序代码的情况下,对程序的运行时行为进行详细的分析和调试。而我们的mysqld_
- Java中I/O模式详解
lairikeqi
JavaSEI/ONIO多路复用
一、计算机的组成现代计算机是由硬件、操作系统组成,操作系统通过内核与硬件交互。操作系统可以划分为:内核与应用两部分,内核提供进程管理、内存管理、网络等底层功能,封装了与硬件交互的接口,通过系统调用提供给上层应用使用。二、用户空间与内核空间由于CPU某些指令比较危险,如果错用会导致系统崩溃,为了保护系统,操作系统将内存空间划分为了两部分:内核空间(Kernelspace)用户空间(Userspace
- Unix I/O 模型及Java I/O 模型详解
若明天不见
I/OunixlinuxI/O多路复用java
在UnixSocket的输入操作中,可以将其分为以下几个阶段:等待数据就绪(内核空间):在这个阶段,应用程序通过调用阻塞式的读取函数(如recv)或非阻塞式的读取函数(如recv、recvfrom)等待数据的到达。如果没有数据到达,阻塞式的读取函数会一直等待,而非阻塞式的读取函数会立即返回一个错误码或标识表示数据未准备好。数据拷贝到内核缓冲区(内核空间):当数据就绪后,操作系统会将数据从网络中拷贝
- Android Binder通信原理--05:Binder驱动分析
Darcy1024
本文转载自:Android10.0Binder通信原理(五)-Binder驱动分析本文基于Android10.0源码分析(Kernel4.9)1.摘要 本节主要来讲解Android10.0Binder的驱动层分析(Kernel4.9)。2.概述 在Android中,用户空间的应用程序都可以看做是一个独立的进程,进程间存在隔离,进程不能互相访问数据,如果需要访问就需要借助内核。 每个应用程序都
- 分享100个最新免费的高匿HTTP代理IP
mcj8089
代理IP代理服务器匿名代理免费代理IP最新代理IP
推荐两个代理IP网站:
1. 全网代理IP:http://proxy.goubanjia.com/
2. 敲代码免费IP:http://ip.qiaodm.com/
120.198.243.130:80,中国/广东省
58.251.78.71:8088,中国/广东省
183.207.228.22:83,中国/
- mysql高级特性之数据分区
annan211
java数据结构mongodb分区mysql
mysql高级特性
1 以存储引擎的角度分析,分区表和物理表没有区别。是按照一定的规则将数据分别存储的逻辑设计。器底层是由多个物理字表组成。
2 分区的原理
分区表由多个相关的底层表实现,这些底层表也是由句柄对象表示,所以我们可以直接访问各个分区。存储引擎管理分区的各个底层
表和管理普通表一样(所有底层表都必须使用相同的存储引擎),分区表的索引只是
- JS采用正则表达式简单获取URL地址栏参数
chiangfai
js地址栏参数获取
GetUrlParam:function GetUrlParam(param){
var reg = new RegExp("(^|&)"+ param +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null
- 怎样将数据表拷贝到powerdesigner (本地数据库表)
Array_06
powerDesigner
==================================================
1、打开PowerDesigner12,在菜单中按照如下方式进行操作
file->Reverse Engineer->DataBase
点击后,弹出 New Physical Data Model 的对话框
2、在General选项卡中
Model name:模板名字,自
- logbackのhelloworld
飞翔的马甲
日志logback
一、概述
1.日志是啥?
当我是个逗比的时候我是这么理解的:log.debug()代替了system.out.print();
当我项目工作时,以为是一堆得.log文件。
这两天项目发布新版本,比较轻松,决定好好地研究下日志以及logback。
传送门1:日志的作用与方法:
http://www.infoq.com/cn/articles/why-and-how-log
上面的作
- 新浪微博爬虫模拟登陆
随意而生
新浪微博
转载自:http://hi.baidu.com/erliang20088/item/251db4b040b8ce58ba0e1235
近来由于毕设需要,重新修改了新浪微博爬虫废了不少劲,希望下边的总结能够帮助后来的同学们。
现行版的模拟登陆与以前相比,最大的改动在于cookie获取时候的模拟url的请求
- synchronized
香水浓
javathread
Java语言的关键字,可用来给对象和方法或者代码块加锁,当它锁定一个方法或者一个代码块的时候,同一时刻最多只有一个线程执行这段代码。当两个并发线程访问同一个对象object中的这个加锁同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。然而,当一个线程访问object的一个加锁代码块时,另一个线程仍然
- maven 简单实用教程
AdyZhang
maven
1. Maven介绍 1.1. 简介 java编写的用于构建系统的自动化工具。目前版本是2.0.9,注意maven2和maven1有很大区别,阅读第三方文档时需要区分版本。 1.2. Maven资源 见官方网站;The 5 minute test,官方简易入门文档;Getting Started Tutorial,官方入门文档;Build Coo
- Android 通过 intent传值获得null
aijuans
android
我在通过intent 获得传递兑现过的时候报错,空指针,我是getMap方法进行传值,代码如下 1 2 3 4 5 6 7 8 9
public
void
getMap(View view){
Intent i =
- apache 做代理 报如下错误:The proxy server received an invalid response from an upstream
baalwolf
response
网站配置是apache+tomcat,tomcat没有报错,apache报错是:
The proxy server received an invalid response from an upstream server. The proxy server could not handle the request GET /. Reason: Error reading fr
- Tomcat6 内存和线程配置
BigBird2012
tomcat6
1、修改启动时内存参数、并指定JVM时区 (在windows server 2008 下时间少了8个小时)
在Tomcat上运行j2ee项目代码时,经常会出现内存溢出的情况,解决办法是在系统参数中增加系统参数:
window下, 在catalina.bat最前面
set JAVA_OPTS=-XX:PermSize=64M -XX:MaxPermSize=128m -Xms5
- Karam与TDD
bijian1013
KaramTDD
一.TDD
测试驱动开发(Test-Driven Development,TDD)是一种敏捷(AGILE)开发方法论,它把开发流程倒转了过来,在进行代码实现之前,首先保证编写测试用例,从而用测试来驱动开发(而不是把测试作为一项验证工具来使用)。
TDD的原则很简单:
a.只有当某个
- [Zookeeper学习笔记之七]Zookeeper源代码分析之Zookeeper.States
bit1129
zookeeper
public enum States {
CONNECTING, //Zookeeper服务器不可用,客户端处于尝试链接状态
ASSOCIATING, //???
CONNECTED, //链接建立,可以与Zookeeper服务器正常通信
CONNECTEDREADONLY, //处于只读状态的链接状态,只读模式可以在
- 【Scala十四】Scala核心八:闭包
bit1129
scala
Free variable A free variable of an expression is a variable that’s used inside the expression but not defined inside the expression. For instance, in the function literal expression (x: Int) => (x
- android发送json并解析返回json
ronin47
android
package com.http.test;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import
- 一份IT实习生的总结
brotherlamp
PHPphp资料php教程php培训php视频
今天突然发现在不知不觉中自己已经实习了 3 个月了,现在可能不算是真正意义上的实习吧,因为现在自己才大三,在这边撸代码的同时还要考虑到学校的功课跟期末考试。让我震惊的是,我完全想不到在这 3 个月里我到底学到了什么,这是一件多么悲催的事情啊。同时我对我应该 get 到什么新技能也很迷茫。所以今晚还是总结下把,让自己在接下来的实习生活有更加明确的方向。最后感谢工作室给我们几个人这个机会让我们提前出来
- 据说是2012年10月人人网校招的一道笔试题-给出一个重物重量为X,另外提供的小砝码重量分别为1,3,9。。。3^N。 将重物放到天平左侧,问在两边如何添加砝码
bylijinnan
java
public class ScalesBalance {
/**
* 题目:
* 给出一个重物重量为X,另外提供的小砝码重量分别为1,3,9。。。3^N。 (假设N无限大,但一种重量的砝码只有一个)
* 将重物放到天平左侧,问在两边如何添加砝码使两边平衡
*
* 分析:
* 三进制
* 我们约定括号表示里面的数是三进制,例如 47=(1202
- dom4j最常用最简单的方法
chiangfai
dom4j
要使用dom4j读写XML文档,需要先下载dom4j包,dom4j官方网站在 http://www.dom4j.org/目前最新dom4j包下载地址:http://nchc.dl.sourceforge.net/sourceforge/dom4j/dom4j-1.6.1.zip
解开后有两个包,仅操作XML文档的话把dom4j-1.6.1.jar加入工程就可以了,如果需要使用XPath的话还需要
- 简单HBase笔记
chenchao051
hbase
一、Client-side write buffer 客户端缓存请求 描述:可以缓存客户端的请求,以此来减少RPC的次数,但是缓存只是被存在一个ArrayList中,所以多线程访问时不安全的。 可以使用getWriteBuffer()方法来取得客户端缓存中的数据。 默认关闭。 二、Scan的Caching 描述: next( )方法请求一行就要使用一次RPC,即使
- mysqldump导出时出现when doing LOCK TABLES
daizj
mysqlmysqdump导数据
执行 mysqldump -uxxx -pxxx -hxxx -Pxxxx database tablename > tablename.sql
导出表时,会报
mysqldump: Got error: 1044: Access denied for user 'xxx'@'xxx' to database 'xxx' when doing LOCK TABLES
解决
- CSS渲染原理
dcj3sjt126com
Web
从事Web前端开发的人都与CSS打交道很多,有的人也许不知道css是怎么去工作的,写出来的css浏览器是怎么样去解析的呢?当这个成为我们提高css水平的一个瓶颈时,是否应该多了解一下呢?
一、浏览器的发展与CSS
- 《阿甘正传》台词
dcj3sjt126com
Part Ⅰ:
《阿甘正传》Forrest Gump经典中英文对白
Forrest: Hello! My names Forrest. Forrest Gump. You wanna Chocolate? I could eat about a million and a half othese. My momma always said life was like a box ochocol
- Java处理JSON
dyy_gusi
json
Json在数据传输中很好用,原因是JSON 比 XML 更小、更快,更易解析。
在Java程序中,如何使用处理JSON,现在有很多工具可以处理,比较流行常用的是google的gson和alibaba的fastjson,具体使用如下:
1、读取json然后处理
class ReadJSON
{
public static void main(String[] args)
- win7下nginx和php的配置
geeksun
nginx
1. 安装包准备
nginx : 从nginx.org下载nginx-1.8.0.zip
php: 从php.net下载php-5.6.10-Win32-VC11-x64.zip, php是免安装文件。
RunHiddenConsole: 用于隐藏命令行窗口
2. 配置
# java用8080端口做应用服务器,nginx反向代理到这个端口即可
p
- 基于2.8版本redis配置文件中文解释
hongtoushizi
redis
转载自: http://wangwei007.blog.51cto.com/68019/1548167
在Redis中直接启动redis-server服务时, 采用的是默认的配置文件。采用redis-server xxx.conf 这样的方式可以按照指定的配置文件来运行Redis服务。下面是Redis2.8.9的配置文
- 第五章 常用Lua开发库3-模板渲染
jinnianshilongnian
nginxlua
动态web网页开发是Web开发中一个常见的场景,比如像京东商品详情页,其页面逻辑是非常复杂的,需要使用模板技术来实现。而Lua中也有许多模板引擎,如目前我在使用的lua-resty-template,可以渲染很复杂的页面,借助LuaJIT其性能也是可以接受的。
如果学习过JavaEE中的servlet和JSP的话,应该知道JSP模板最终会被翻译成Servlet来执行;而lua-r
- JZSearch大数据搜索引擎
颠覆者
JavaScript
系统简介:
大数据的特点有四个层面:第一,数据体量巨大。从TB级别,跃升到PB级别;第二,数据类型繁多。网络日志、视频、图片、地理位置信息等等。第三,价值密度低。以视频为例,连续不间断监控过程中,可能有用的数据仅仅有一两秒。第四,处理速度快。最后这一点也是和传统的数据挖掘技术有着本质的不同。业界将其归纳为4个“V”——Volume,Variety,Value,Velocity。大数据搜索引
- 10招让你成为杰出的Java程序员
pda158
java编程框架
如果你是一个热衷于技术的
Java 程序员, 那么下面的 10 个要点可以让你在众多 Java 开发人员中脱颖而出。
1. 拥有扎实的基础和深刻理解 OO 原则 对于 Java 程序员,深刻理解 Object Oriented Programming(面向对象编程)这一概念是必须的。没有 OOPS 的坚实基础,就领会不了像 Java 这些面向对象编程语言
- tomcat之oracle连接池配置
小网客
oracle
tomcat版本7.0
配置oracle连接池方式:
修改tomcat的server.xml配置文件:
<GlobalNamingResources>
<Resource name="utermdatasource" auth="Container"
type="javax.sql.DataSou
- Oracle 分页算法汇总
vipbooks
oraclesql算法.net
这是我找到的一些关于Oracle分页的算法,大家那里还有没有其他好的算法没?我们大家一起分享一下!
-- Oracle 分页算法一
select * from (
select page.*,rownum rn from (select * from help) page
-- 20 = (currentPag