- 鸿蒙OH南向开发 小型系统内核(LiteOS-A)【扩展组件】下
yx525623
鸿蒙开发openharmony鸿蒙南向鸿蒙开发harmonyosopenharmony鸿蒙南向嵌入式硬件
轻量级进程间通信基本概念LiteIPC是OpenHarmonyLiteOS-A内核提供的一种新型IPC(Inter-ProcessCommunication,即进程间通信)机制,不同于传统的SystemVIPC机制,LiteIPC主要是为RPC(RemoteProcedureCall,即远程过程调用)而设计的,而且是通过设备文件的方式对上层提供接口的,而非传统的API函数方式。LiteIPC中有两
- OpenHarmony Liteos_A内核之iperf3移植心得
愿天堂没有996
OpenHarmony移动开发鸿蒙开发单片机嵌入式硬件harmonyos移动开发鸿蒙开发数据结构Liteos_A
一、iperf3工作原理iperf3主要的功能是测试基于特定路径的带宽,在客户端和服务器端建立连接(三次握手)后,客户端发送一定大小的数据报并记下发送的时间,或者客户端在一定的时间内发送数据并记下发送的总数据。带宽的大小等于发送的总数据除以发送的总时间。对服务器端来说,在连接建立时间内,接收的总数据除以所花时间即为服务器端所测得的带宽。iperf3测试UDP的性能时,客户端可以指定UDP数据流的速
- 鸿蒙OH南向开发 小型系统内核(LiteOS-A)【概述】
yx525623
鸿蒙开发openharmony鸿蒙南向鸿蒙开发openharmonyharmonyos鸿蒙南向嵌入式硬件
简介OpenHarmony轻量级内核是基于IoT领域轻量级物联网操作系统HuaweiLiteOS内核演进发展的新一代内核,包含LiteOS-M和LiteOS-A两类内核。LiteOS-M内核主要应用于轻量系统,面向的MCU(MicroprocessorUnit)一般是百K级内存,可支持MPU(MemoryProtectionUnit)隔离,业界类似的内核有FreeRTOS或ThreadX等;Lit
- 鸿蒙OH南向开发 轻量系统内核(LiteOS-M)【内存管理】
yx525623
鸿蒙开发openharmony鸿蒙南向鸿蒙开发harmonyosopenharmony鸿蒙南向嵌入式硬件
基本概念内存管理模块管理系统的内存资源,它是操作系统的核心模块之一,主要包括内存的初始化、分配以及释放。在系统运行过程中,内存管理模块通过对内存的申请/释放来管理用户和OS对内存的使用,使内存的利用率和使用效率达到最优,同时最大限度地解决系统的内存碎片问题。OpenHarmonyLiteOS-M的内存管理分为静态内存管理和动态内存管理,提供内存初始化、分配、释放等功能。动态内存:在动态内存池中分配
- 鸿蒙OH南向开发 轻量系统内核(LiteOS-M)【Trace调测】
yx525623
openharmony鸿蒙南向鸿蒙开发鸿蒙开发harmonyosopenharmony鸿蒙南向嵌入式硬件
基本概念Trace调测旨在帮助开发者获取内核的运行流程,各个模块、任务的执行顺序,从而可以辅助开发者定位一些时序问题或者了解内核的代码运行过程。运行机制内核提供一套Hook框架,将Hook点预埋在各个模块的主要流程中,在内核启动初期完成Trace功能的初始化,并注册Trace的处理函数到Hook中。当系统触发到一个Hook点时,Trace模块会对输入信息进行封装,添加Trace帧头信息,包含事件类
- openharmony--OpenHarmony与HarmonyOS的技术底座在核心架构上完全一致,共享微内核、分布式能力和开发框架
Flamingo_huohuo
openharmonyharmonyos架构分布式
OpenHarmony与HarmonyOS的技术底座在核心架构上高度同源,但存在明确的定位差异和功能扩展。以下是基于华为官方信息和技术文档的深度解析:一、技术底座的同源性共享核心架构OpenHarmony是HarmonyOS的开源基础,两者共享以下核心技术:微内核架构:均采用多内核设计(Linux内核或LiteOS),通过内核抽象层(KAL)屏蔽底层差异,提供进程管理、内存管理等基础能力。分布式能
- 【鸿蒙内核分析】LiteOS-M内核源码分析:静态内存MemoryBox
妙易品
鸿蒙开发OpenHarmony鸿蒙内核harmonyos鸿蒙内核鸿蒙系统LiteOS-M鸿蒙开发鸿蒙源码分析静态内存
往期笔录记录✏️:✏️鸿蒙(HarmonyOS)北向开发知识点记录~✏️鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~✏️鸿蒙应用开发与鸿蒙系统开发哪个更有前景?✏️嵌入式开发适不适合做鸿蒙南向开发?看完这篇你就了解了~✏️对于大前端开发来说,转鸿蒙开发究竟是福还是祸?✏️鸿蒙岗位需求突增!移动端、PC端、IoT到底该怎么选?✏️记录一场鸿蒙开发岗位面试经历~✏️持续更新中……内存管理模
- 四款主流物联网操作系统(FreeRTOS、LiteOS、RT-Thread、AliOS)的综合对比分析
scoone
嵌入式
以下是四款主流物联网操作系统(FreeRTOS、LiteOS、RT-Thread、AliOS)的综合对比分析,基于技术架构、资源占用、生态支持及应用场景等维度:核心特性对比特性FreeRTOSLiteOSRT-ThreadAliOSThings背景/主导方亚马逊AWS(开源)华为(开源)睿赛德科技(开源+商业)阿里巴巴(开源)内核架构微内核(仅基础调度)轻量级分层内核混合内核(微内核+组件化)基于
- 嵌入式openharmony标准鸿蒙系统驱动开发基本原理与流程
嵌入式开发星球
鸿蒙万物互联人工智能之卓越harmonyos驱动开发华为
第一:鸿蒙概述OpenHarmony采用多内核(Linux内核或者LiteOS)设计,支持系统在不同资源容量的设备部署。当相同的硬件部署不同内核时,如何能够让设备驱动程序在不同内核间平滑迁移,消除驱动代码移植适配和维护的负担,是OpenHarmony驱动子系统需要解决的重要问题。为了缩减驱动开发者的驱动开发周期,降低三方设备驱动集成难度,OpenHarmony驱动子系统支持以下关键特性和能力。弹性
- OpenHarmony OS 5.0与Android 13显示框架对比
DecentX
OpenHarmonyAI软件工程androidharmonyos
1.架构概述1.1OpenHarmonyOS5.0架构OpenHarmonyOS5.0采用分层架构设计,图形显示系统从底层到顶层包括:应用层:ArkUI应用和第三方应用框架层:ArkUI框架、窗口管理API系统服务层:图形合成服务、窗口管理服务、ArkGraphics内核层:内核抽象层(KAL)支持多内核(Linux/LiteOS/HarmonyOS微内核)与早期版本的HarmonyOS不同,5.
- 【鸿蒙南向开发】—— OpenHarmony 小型系统内核(LiteOS-A)【LMS调测】
彭家大少
openHarmony鸿蒙南向嵌入式硬件harmonyosOpenHarmonyLiteOS-A鸿蒙系统鸿蒙内核嵌入式硬件鸿蒙开发
往期学习笔录:鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~鸿蒙应用开发与鸿蒙系统开发哪个更有前景?嵌入式开发适不适合做鸿蒙南向开发?看完这篇你就了解了~鸿蒙岗位需求突增!移动端、PC端、IoT到底该怎么选?记录一场鸿蒙开发岗位面试经历~持续更新中……基本概念LMS全称为LiteMemorySanitizer,是一种实时检测内存操作合法性的调测工具。LMS能够实时检测缓冲区溢出(buff
- OpenHarmony(鸿蒙南向开发)——轻量系统内核(LiteOS-M)【LMS调测】
OpenHarmony_小贾
移动开发OpenHarmony鸿蒙开发harmonyosOpenHarmony单片机鸿蒙内核移动开发LiteOS-M
基本概念LMS(LiteMemorySanitizer)是一种实时检测内存操作合法性的调测工具。LMS能够实时检测缓冲区溢出(bufferoverflow),释放后使用(useafterfree)和重复释放(doublefree),在异常发生的第一时间通知操作系统,结合backtrace等定位手段,能准确定位到产生内存问题的代码行,极大提升内存问题定位效率。OpenHarmonyLiteOS-M内
- OpenHarmony - 小型系统内核(LiteOS-A)(十三),LMS调测
__Benco
openharmonyharmonyos人工智能
OpenHarmony-小型系统内核(LiteOS-A)(十三)十七、LMS调测基本概念LMS全称为LiteMemorySanitizer,是一种实时检测内存操作合法性的调测工具。LMS能够实时检测缓冲区溢出(bufferoverflow),释放后使用(useafterfree)和重复释放(doublefree),在异常发生的第一时间通知操作系统,结合backtrace等定位手段,能准确定位到产生
- OpenHarmony - 小型系统内核(LiteOS-A)(完),内核编码规范
__Benco
openharmonyharmonyos人工智能
OpenHarmony-小型系统内核(LiteOS-A)(完)二十二、内核编码规范此规范基于业界通用的编程规范整理而成,请内核的开发人员遵守这样的编程风格。总体原则总体原则:清晰:代码应当易于理解、易于维护、易于重构,避免晦涩语法。简洁:命名简短,函数紧凑。高效:通过使用算法、编译器优化选项或硬件资源提高程序效率。美观:代码风格合理、一致。在大部分情况下,开发人员应当遵从以下规范,但也有一些例外场
- OpenHarmony - 小型系统内核(LiteOS-A)(八)
__Benco
openharmonyharmonyos人工智能
OpenHarmony-小型系统内核(LiteOS-A)(八)十、ShellShell介绍OpenHarmony内核提供的Shell支持调试常用的基本功能,包含系统、文件、网络和动态加载相关命令。同时OpenHarmony内核的Shell支持添加新的命令,可以根据需求来进行定制。系统相关命令:提供查询系统任务、内核信号量、系统软件定时器、CPU占用率、当前中断等相关信息的能力。文件相关命令:支持基
- OpenHarmony - 小型系统内核(LiteOS-A)(五)
__Benco
openharmonyharmonyos人工智能
OpenHarmony-小型系统内核(LiteOS-A)(五)六、文件系统虚拟文件系统基本概念VFS(VirtualFileSystem)是文件系统的虚拟层,它不是一个实际的文件系统,而是一个异构文件系统之上的软件粘合层,为用户提供统一的类Unix文件操作接口。由于不同类型的文件系统接口不统一,若系统中有多个文件系统类型,访问不同的文件系统就需要使用不同的非标准接口。而通过在系统中添加VFS层,提
- OpenHarmony(鸿蒙南向开发)——小型系统内核(LiteOS-A)【概述】
OpenHarmony_小贾
移动开发OpenHarmony鸿蒙开发harmonyosOpenHarmony子系统系统移植android
简介OpenHarmony轻量级内核是基于IoT领域轻量级物联网操作系统HuaweiLiteOS内核演进发展的新一代内核,包含LiteOS-M和LiteOS-A两类内核。LiteOS-M内核主要应用于轻量系统,面向的MCU(MicroprocessorUnit)一般是百K级内存,可支持MPU(MemoryProtectionUnit)隔离,业界类似的内核有FreeRTOS或ThreadX等;Lit
- Hi3861 OpenHarmony嵌入式应用入门--LiteOS Thread
andylauren
hi3861鸿蒙开发嵌入式硬件OpenHarmony
目录ThreadAPI主要接口说明测试代码编写代码分析hi3861使用的实时系统主要是基于HuaweiLiteOS-M,这是华为针对物联网领域推出的轻量级物联网操作系统内核。LiteOS-M是HuaweiLiteOS的一个分支,专为IoT领域构建,主要面向没有MMU(内存管理单元)的处理器。它具备轻量级、低功耗、组件丰富、快速开发等关键能力,为开发者提供“一站式”完整软件平台。技术特点:轻量级:L
- 鸿蒙OS 5.0 服务能力框架深入剖析
DecentX
OpenHarmonyAIharmonyos华为
鸿蒙OS5.0服务能力框架中关键类的作用分析1\.鸿蒙OS5.0服务能力框架导论鸿蒙OS5.0,亦称鸿蒙智联51,标志着华为在分布式操作系统领域迈出的重要一步。与早期版本采用兼容安卓的AOSP层、Linux内核以及LiteOS内核不同,鸿蒙OS5.0专注于一个统一的微内核架构,旨在提供更强的安全性与更高的性能1。这种架构的转变对进程间通信机制产生了深远的影响,而进程间通信正是服务能力框架的核心。操
- 鸿蒙系统liteos_m开发环境配置
dreamczf
harmonyos华为嵌入式软件
在工作中开发基于HC32F4A0的鸿蒙liteos_m的操作系统移植时,开发环境选的命令行模式,官方的参考请看链接《快速入门概述》在ubuntu18.04环境中安装时,安装库和工具集时官方提供的安装库的指令无法进行安装,部分库应该是有安装顺序的要求,重新整理后写了如下脚本,用sudo./install.sh进行安装即可。设置python3.8时按照官方的设置方式如下,会出现问题,导致18.04的整
- OpenHarmony 鸿蒙使用指南——概述
AIGC龙哥
harmonyos华为
简介OpenHarmony采用多内核(Linux内核或者LiteOS)设计,支持系统在不同资源容量的设备部署。当相同的硬件部署不同内核时,如何能够让设备驱动程序在不同内核间平滑迁移,消除驱动代码移植适配和维护的负担,是OpenHarmony驱动子系统需要解决的重要问题。为了缩减驱动开发者的驱动开发周期,降低三方设备驱动集成难度,OpenHarmony驱动子系统支持以下关键特性和能力。弹性化的框架能
- 鸿蒙轻内核M核源码分析系列二一 05 文件系统FatFS
愿天堂没有996
OpenHarmony鸿蒙内核移动开发harmonyos鸿蒙开发移动开发鸿蒙内核LiteOS-M鸿蒙源码轻内核
3、LiteOS-MFATFS的文件系统操作接口快速记录下各个操作接口,对每个接口的用途用法不再描述。可以参考之前的系列文章,《鸿蒙轻内核M核源码分析系列十九MuslLibC》中介绍了相关的接口,那些接口会调用VFS文件系统中操作接口,然后进一步调用FatFS文件操作接口。3.1挂载和卸载操作先看下挂载操作,FatFS支持重新挂载操作。如果挂载选项包含MS_REMOUNT时,会调用函数Remoun
- 一、初识操作系统【Lite OS】
阿猿先森
华为LiteOS物联网操作系统iotosiot
一、为什么要用操作系统从裸机到操作系统是必然发展路线(1)发展阶段1:裸机并且全部代码自写(2)发展阶段2:裸机但调用库函数(3)发展阶段3:裸机加状态机实现简单的多任务(4)发展阶段4:上简单操作系统:RTOS(ucos、LiteoS)(5)发展阶段5:上复杂操作系统:Linux、Windows、Android二、用操作系统的优势(1)轻松实现多任务(2)轻松借用很多第三方组件功能(3)更好实现
- LiteOS 学习第二篇——基本介绍
未知电子
基本概念从系统的角度看,任务是竞争系统资源的最小运行单元。任务可以使用或等待CPU、使用内存空间等系统资源,并独立于其它任务运行。HuaweiLiteOS的任务模块可以给用户提供多个任务,实现了任务之间的切换和通信,帮助用户管理业务程序流程。这样用户可以将更多的精力投入到业务功能的实现中。HuaweiLiteOS是一个支持多任务的操作系统。在HuaweiLiteOS中,一个任务表示一个线程。Hua
- 鸿蒙轻内核M核源码分析系列十二 事件Event
OpenHarmony_小贾
OpenHarmonyHarmonyOS鸿蒙开发harmonyosopenharmony鸿蒙内核鸿蒙开发移动开发嵌入式硬件驱动开发
事件(Event)是一种任务间通信的机制,可用于任务间的同步。多任务环境下,任务之间往往需要同步操作,一个等待即是一个同步。事件可以提供一对多、多对多的同步操作。本文通过分析鸿蒙轻内核事件模块的源码,深入掌握事件的使用。本文中所涉及的源码,以OpenHarmonyLiteOS-M内核为例,均可以在开源站点https://gitee.com/openharmony/kernel_liteos_m获取
- 鸿蒙轻内核M核源码分析系列五 时间管理
OpenHarmony_小贾
HarmonyOSOpenHarmony鸿蒙开发harmonyosopenharmony鸿蒙开发NAPI鸿蒙内核移动开发嵌入式
在鸿蒙轻内核源码分析上一篇文章中,我们剖析了中断的源码,简单提到了Tick中断。本文会继续分析Tick和时间相关的源码,给读者介绍鸿蒙轻内核的时间管理模块。本文中所涉及的源码,以OpenHarmonyLiteOS-M内核为例,均可以在开源站点https://gitee.com/openharmony/kernel_liteos_m获取。时间管理模块以系统时钟为基础,可以分为2部分,一部分是SysT
- 鸿蒙轻内核A核源码分析系列七 进程管理 (2)
OpenHarmony_小贾
HarmonyOS鸿蒙开发OpenHarmonyharmonyosOpenHarmony移动开发驱动开发鸿蒙内核LiteOS-A内核进程通信
本文先熟悉下进程管理的文件kernel\base\core\los_process.c中的内部接口,读读代码,做些记录。1、LiteOS-A内核进程全局变量⑴是进程池,存放各个进程控制块LosProcessCB的信息。⑵处开始的g_freeProcess是空闲进程链表,挂载各个空闲进程控制块;g_processRecycleList是待回收进程控制块链表,挂载各个等待回收的进程控制块。⑶处开始的g
- 鸿蒙内核解析,鸿蒙内核源码分析(内存概念篇)|解读鸿蒙源码
刘轩鸿
鸿蒙内核解析
提示:本文基于开源鸿蒙内核分析,官方源码【kernel_liteos_a】官方文档【docs】参考文档【HuaweiLiteOS】本文作者:鸿蒙内核发烧友,用生活场景讲故事的方式去解构内核,一窥究竟,让神秘的内核栩栩如生,浮现眼前。博文全部原创,持续更新,敬请关注。内容仅代表个人观点,错误之处,欢迎大家指正完善。本系列全部文章进入鸿蒙源码分析(总目录)查看目录最难讲的章节坦白讲内存是整个系列里面最
- 鸿蒙轻内核A核源码分析系列七 进程管理 (3)
OpenHarmony_小贾
OpenHarmony鸿蒙开发HarmonyOSharmonyos嵌入式硬件OpenHarmony鸿蒙嵌入式鸿蒙开发鸿蒙内核进程关联
本文记录下进程相关的初始化函数,如OsSystemProcessCreate、OsProcessInit、OsProcessCreateInit、OsUserInitProcess、OsDeInitPCB、OsUserInitProcessStart等。1、LiteOS-A内核进程创建初始化通用函数先看看一些内部函数,不管是初始化用户态进程还是内核态进程,都会使用这些函数,包含进程控制块初始化函数
- 鸿蒙轻内核M核源码分析系列二十 Newlib C
OpenHarmony_小贾
HarmonyOS鸿蒙开发OpenHarmonyharmonyosc语言移动开发鸿蒙内核鸿蒙开发openharmony开发语言
LiteOS-M内核LibC实现有2种,可以根据需求进行二选一,分别是musllibC和newlibc。本文先学习下NewlibC的实现代码。文中所涉及的源码,均可以在开源站点https://gitee.com/openharmony/kernel_liteos_m获取。使用MuslC库的时候,内核提供了基于LOS_XXX适配实现pthread、mqeue、fs、semaphore、time等模块
- jvm调优总结(从基本概念 到 深度优化)
oloz
javajvmjdk虚拟机应用服务器
JVM参数详解:http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html
Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。
- 【Scala十六】Scala核心十:柯里化函数
bit1129
scala
本篇文章重点说明什么是函数柯里化,这个语法现象的背后动机是什么,有什么样的应用场景,以及与部分应用函数(Partial Applied Function)之间的联系 1. 什么是柯里化函数
A way to write functions with multiple parameter lists. For instance
def f(x: Int)(y: Int) is a
- HashMap
dalan_123
java
HashMap在java中对很多人来说都是熟的;基于hash表的map接口的非同步实现。允许使用null和null键;同时不能保证元素的顺序;也就是从来都不保证其中的元素的顺序恒久不变。
1、数据结构
在java中,最基本的数据结构无外乎:数组 和 引用(指针),所有的数据结构都可以用这两个来构造,HashMap也不例外,归根到底HashMap就是一个链表散列的数据
- Java Swing如何实时刷新JTextArea,以显示刚才加append的内容
周凡杨
java更新swingJTextArea
在代码中执行完textArea.append("message")后,如果你想让这个更新立刻显示在界面上而不是等swing的主线程返回后刷新,我们一般会在该语句后调用textArea.invalidate()和textArea.repaint()。
问题是这个方法并不能有任何效果,textArea的内容没有任何变化,这或许是swing的一个bug,有一个笨拙的办法可以实现
- servlet或struts的Action处理ajax请求
g21121
servlet
其实处理ajax的请求非常简单,直接看代码就行了:
//如果用的是struts
//HttpServletResponse response = ServletActionContext.getResponse();
// 设置输出为文字流
response.setContentType("text/plain");
// 设置字符集
res
- FineReport的公式编辑框的语法简介
老A不折腾
finereport公式总结
FINEREPORT用到公式的地方非常多,单元格(以=开头的便被解析为公式),条件显示,数据字典,报表填报属性值定义,图表标题,轴定义,页眉页脚,甚至单元格的其他属性中的鼠标悬浮提示内容都可以写公式。
简单的说下自己感觉的公式要注意的几个地方:
1.if语句语法刚接触感觉比较奇怪,if(条件式子,值1,值2),if可以嵌套,if(条件式子1,值1,if(条件式子2,值2,值3)
- linux mysql 数据库乱码的解决办法
墙头上一根草
linuxmysql数据库乱码
linux 上mysql数据库区分大小写的配置
lower_case_table_names=1 1-不区分大小写 0-区分大小写
修改/etc/my.cnf 具体的修改内容如下:
[client]
default-character-set=utf8
[mysqld]
datadir=/var/lib/mysql
socket=/va
- 我的spring学习笔记6-ApplicationContext实例化的参数兼容思想
aijuans
Spring 3
ApplicationContext能读取多个Bean定义文件,方法是:
ApplicationContext appContext = new ClassPathXmlApplicationContext(
new String[]{“bean-config1.xml”,“bean-config2.xml”,“bean-config3.xml”,“bean-config4.xml
- mysql 基准测试之sysbench
annan211
基准测试mysql基准测试MySQL测试sysbench
1 执行如下命令,安装sysbench-0.5:
tar xzvf sysbench-0.5.tar.gz
cd sysbench-0.5
chmod +x autogen.sh
./autogen.sh
./configure --with-mysql --with-mysql-includes=/usr/local/mysql
- sql的复杂查询使用案列与技巧
百合不是茶
oraclesql函数数据分页合并查询
本片博客使用的数据库表是oracle中的scott用户表;
------------------- 自然连接查询
查询 smith 的上司(两种方法)
&
- 深入学习Thread类
bijian1013
javathread多线程java多线程
一. 线程的名字
下面来看一下Thread类的name属性,它的类型是String。它其实就是线程的名字。在Thread类中,有String getName()和void setName(String)两个方法用来设置和获取这个属性的值。
同时,Thr
- JSON串转换成Map以及如何转换到对应的数据类型
bijian1013
javafastjsonnet.sf.json
在实际开发中,难免会碰到JSON串转换成Map的情况,下面来看看这方面的实例。另外,由于fastjson只支持JDK1.5及以上版本,因此在JDK1.4的项目中可以采用net.sf.json来处理。
一.fastjson实例
JsonUtil.java
package com.study;
impor
- 【RPC框架HttpInvoker一】HttpInvoker:Spring自带RPC框架
bit1129
spring
HttpInvoker是Spring原生的RPC调用框架,HttpInvoker同Burlap和Hessian一样,提供了一致的服务Exporter以及客户端的服务代理工厂Bean,这篇文章主要是复制粘贴了Hessian与Spring集成一文,【RPC框架Hessian四】Hessian与Spring集成
在
【RPC框架Hessian二】Hessian 对象序列化和反序列化一文中
- 【Mahout二】基于Mahout CBayes算法的20newsgroup的脚本分析
bit1129
Mahout
#!/bin/bash
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information re
- nginx三种获取用户真实ip的方法
ronin47
随着nginx的迅速崛起,越来越多公司将apache更换成nginx. 同时也越来越多人使用nginx作为负载均衡, 并且代理前面可能还加上了CDN加速,但是随之也遇到一个问题:nginx如何获取用户的真实IP地址,如果后端是apache,请跳转到<apache获取用户真实IP地址>,如果是后端真实服务器是nginx,那么继续往下看。
实例环境: 用户IP 120.22.11.11
- java-判断二叉树是不是平衡
bylijinnan
java
参考了
http://zhedahht.blog.163.com/blog/static/25411174201142733927831/
但是用java来实现有一个问题。
由于Java无法像C那样“传递参数的地址,函数返回时能得到参数的值”,唯有新建一个辅助类:AuxClass
import ljn.help.*;
public class BalancedBTree {
- BeanUtils.copyProperties VS PropertyUtils.copyProperties
诸葛不亮
PropertyUtilsBeanUtils
BeanUtils.copyProperties VS PropertyUtils.copyProperties
作为两个bean属性copy的工具类,他们被广泛使用,同时也很容易误用,给人造成困然;比如:昨天发现同事在使用BeanUtils.copyProperties copy有integer类型属性的bean时,没有考虑到会将null转换为0,而后面的业
- [金融与信息安全]最简单的数据结构最安全
comsci
数据结构
现在最流行的数据库的数据存储文件都具有复杂的文件头格式,用操作系统的记事本软件是无法正常浏览的,这样的情况会有什么问题呢?
从信息安全的角度来看,如果我们数据库系统仅仅把这种格式的数据文件做异地备份,如果相同版本的所有数据库管理系统都同时被攻击,那么
- vi区段删除
Cwind
linuxvi区段删除
区段删除是编辑和分析一些冗长的配置文件或日志文件时比较常用的操作。简记下vi区段删除要点备忘。
vi概述
引文中并未将末行模式单独列为一种模式。单不单列并不重要,能区分命令模式与末行模式即可。
vi区段删除步骤:
1. 在末行模式下使用:set nu显示行号
非必须,随光标移动vi右下角也会显示行号,能够正确找到并记录删除开始行
- 清除tomcat缓存的方法总结
dashuaifu
tomcat缓存
用tomcat容器,大家可能会发现这样的问题,修改jsp文件后,但用IE打开 依然是以前的Jsp的页面。
出现这种现象的原因主要是tomcat缓存的原因。
解决办法如下:
在jsp文件头加上
<meta http-equiv="Expires" content="0"> <meta http-equiv="kiben&qu
- 不要盲目的在项目中使用LESS CSS
dcj3sjt126com
Webless
如果你还不知道LESS CSS是什么东西,可以看一下这篇文章,是我一朋友写给新人看的《CSS——LESS》
不可否认,LESS CSS是个强大的工具,它弥补了css没有变量、无法运算等一些“先天缺陷”,但它似乎给我一种错觉,就是为了功能而实现功能。
比如它的引用功能
?
.rounded_corners{
- [入门]更上一层楼
dcj3sjt126com
PHPyii2
更上一层楼
通篇阅读完整个“入门”部分,你就完成了一个完整 Yii 应用的创建。在此过程中你学到了如何实现一些常用功能,例如通过 HTML 表单从用户那获取数据,从数据库中获取数据并以分页形式显示。你还学到了如何通过 Gii 去自动生成代码。使用 Gii 生成代码把 Web 开发中多数繁杂的过程转化为仅仅填写几个表单就行。
本章将介绍一些有助于更好使用 Yii 的资源:
- Apache HttpClient使用详解
eksliang
httpclienthttp协议
Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟练掌握HttpClient是很重要的必修内容,掌握HttpClient后,相信对于Http协议的了解会
- zxing二维码扫描功能
gundumw100
androidzxing
经常要用到二维码扫描功能
现给出示例代码
import com.google.zxing.WriterException;
import com.zxing.activity.CaptureActivity;
import com.zxing.encoding.EncodingHandler;
import android.app.Activity;
import an
- 纯HTML+CSS带说明的黄色导航菜单
ini
htmlWebhtml5csshovertree
HoverTree带说明的CSS菜单:纯HTML+CSS结构链接带说明的黄色导航
在线体验效果:http://hovertree.com/texiao/css/1.htm代码如下,保存到HTML文件可以看到效果:
<!DOCTYPE html >
<html >
<head>
<title>HoverTree
- fastjson初始化对性能的影响
kane_xie
fastjson序列化
之前在项目中序列化是用thrift,性能一般,而且需要用编译器生成新的类,在序列化和反序列化的时候感觉很繁琐,因此想转到json阵营。对比了jackson,gson等框架之后,决定用fastjson,为什么呢,因为看名字感觉很快。。。
网上的说法:
fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。
- 基于Mybatis封装的增删改查实现通用自动化sql
mengqingyu
DAO
1.基于map或javaBean的增删改查可实现不写dao接口和实现类以及xml,有效的提高开发速度。
2.支持自定义注解包括主键生成、列重复验证、列名、表名等
3.支持批量插入、批量更新、批量删除
<bean id="dynamicSqlSessionTemplate" class="com.mqy.mybatis.support.Dynamic
- js控制input输入框的方法封装(数字,中文,字母,浮点数等)
qifeifei
javascript js
在项目开发的时候,经常有一些输入框,控制输入的格式,而不是等输入好了再去检查格式,格式错了就报错,体验不好。 /** 数字,中文,字母,浮点数(+/-/.) 类型输入限制,只要在input标签上加上 jInput="number,chinese,alphabet,floating" 备注:floating属性只能单独用*/
funct
- java 计时器应用
tangqi609567707
javatimer
mport java.util.TimerTask; import java.util.Calendar; public class MyTask extends TimerTask { private static final int
- erlang输出调用栈信息
wudixiaotie
erlang
在erlang otp的开发中,如果调用第三方的应用,会有有些错误会不打印栈信息,因为有可能第三方应用会catch然后输出自己的错误信息,所以对排查bug有很大的阻碍,这样就要求我们自己打印调用的栈信息。用这个函数:erlang:process_display (self (), backtrace).需要注意这个函数只会输出到标准错误输出。
也可以用这个函数:erlang:get_s