- 嵌入式 Linux 开发:从系统裁剪到驱动开发
本文聚焦嵌入式Linux开发,全面阐述从系统裁剪至驱动开发的完整流程。开篇介绍嵌入式Linux开发的背景与重要性,接着深入探讨系统裁剪,涵盖原因、方法(如配置选项、模块化设计等)及图形裁剪工具使用。随后详细讲解驱动开发,包括Linux嵌入式驱动优势、关键技术(硬件抽象层、设备树、中断处理等)与开发步骤。同时结合实例说明各环节操作,旨在为开发者提供嵌入式Linux开发的系统指导,助力打造高效稳定的嵌
- 高性能Linux中断全解析:开发者必备的系统、设备树和代码全套理解
推荐阅读:《Yocto项目实战教程:高效定制嵌入式Linux系统》更多学习视频请关注B站:嵌入式Jerry高性能Linux中断全解析:开发者必备的系统、设备树和代码全套理解在嵌入式或内核开发中,我们经常遇到“中断”和“异常”这两个词。很多人初学时会问:它们有什么区别?它们怎么触发?和驱动开发有何关系?从架构上看:异常(Exception)是CPU在执行指令时检测到问题(如非法访问、除以0、缺页、系
- Linux 任务调度在进程管理中的关系和运行机制
嵌入式Jerry
内核+进程管理linuxredisjava
推荐阅读:《Yocto项目实战教程:高效定制嵌入式Linux系统》更多学习视频请关注B站:嵌入式JerryLinux任务调度在进程管理中的关系和运行机制Linux内核中的“任务调度”是进程管理系统的核心部分,相互关联而且分工明确。本文通过概念分析、模型分布、行为模式、调度策略、管理工具、代码示例和流程总结,全面讲解Linux任务调度在进程管理中的作用和机制。一、任务vs进程:基本概念分清概念含义进
- 驱动注册的全景视角:从 `module_init` 到 `/dev/xxx` 的创建之路
推荐阅读:《Yocto项目实战教程:高效定制嵌入式Linux系统》更多学习视频请关注B站:嵌入式Jerry驱动注册的全景视角:从module_init到/dev/xxx的创建之路在Linux驱动开发过程中,驱动的“注册”到底发生在哪?probe()和register谁先谁后?设备节点/dev/xxx又是如何自动出现在系统中的?这些问题看似零散,实则密切关联,构成了驱动模型的关键骨架。本文将带你完整
- 【RK3568 嵌入式linux QT开发笔记】 二维码开源库 libqrencode 交叉静态编译和使用
本文参考文章:https://blog.csdn.net/qq_41630102/article/details/108306720参考文章有些地方描述的有疏漏,导致笔者学习过程中,编译的.a文件无法在RK3568平台运行,故写本文做了修正,以下仅是自我学习的笔记,没有写的很详细。一:下载软件包https://download.csdn.net/download/qq_41630102/12781
- 【Note】Linux Kernel 主题学习之“完整的嵌入式 Linux 环境、构建工具、编译工具链、CPU 架构”
CodeWithMe
读书笔记linuxlinux学习架构
LinuxKernel主题学习之“完整的嵌入式Linux环境、构建工具、编译工具链、CPU架构”一、完整的嵌入式Linux环境一个嵌入式Linux系统通常包括以下关键组件(以Jetson、树莓派等ARM版SBC为例):交叉编译工具链(crosstoolchain):生成目标CPU可执行代码,如aarch64-linux-gnu-gcc+glibc/musl/uClibc。Bootloader:如U
- 理解 Linux 虚拟文件系统 VFS:一次读写的背后发生了什么?
嵌入式Jerry
内核+文件系统linuxredis数据库
推荐阅读:《Yocto项目实战教程:高效定制嵌入式Linux系统》更多学习视频请关注B站:嵌入式Jerry理解Linux虚拟文件系统VFS:一次读写的背后发生了什么?开篇5个问题,你能答对几个?用户空间调用open(),内核是怎么知道你打开的是ext4还是FAT32?Linux文件系统支持那么多种格式,却用一样的命令,这是如何做到的?inode、dentry、file这些结构具体代表什么?它们如何
- 文件系统子系统 · 核心问题问答精要
嵌入式Jerry
内核+文件系统java开发语言
推荐阅读:《Yocto项目实战教程:高效定制嵌入式Linux系统》更多学习视频请关注B站:嵌入式Jerry文件系统子系统·核心问题问答精要本文聚焦于Linux文件系统子系统中最常见、最具代表性的问题,涵盖从总体架构到关键结构体、再到实际实现与接口调用等方面。配合你构建的学习目录结构,形成有重点的掌握路径。一、总体架构理解类❓1.Linux文件系统的整体结构如何划分?答:通常可分为三层结构:应用层接
- 嵌入式Linux内核镜像生成过程
飘逸轻舞
linuxarm开发运维嵌入式
嵌入式Linux内核镜像生成过程嵌入式Linux系统的核心组件是内核,它是操作系统的核心部分,负责管理硬件资源、提供系统调用接口以及驱动设备等功能。在嵌入式系统中,将内核编译成镜像文件是部署系统的关键步骤之一。本文将介绍嵌入式Linux的内核镜像生成过程,并提供相应的源代码示例。获取Linux内核源代码首先,我们需要获取Linux内核的源代码。可以从Linux官方网站(www.kernel.org
- 学cpp c++怎么才能找到嵌入式开发工作
程序员
前言Thelasttime,Ihavelearned这个问题,也是最近两次答疑星球同学提问很多问题中的一个共性问题,比如提问的下面这些问题:嵌入式我需要专门学习什么技术吗?需不需要开发板?想从事嵌入式linux,但是看boss上面有搞摄像头的,有搞车载传感器的...感觉技术栈好杂,马上秋招了,该如何入手?嵌入式linux和这种普通的cpp开发区别在哪里,面试的时候侧重于哪里?我想重点投嵌入式开发,
- 嵌入式Linux-线程同步-自旋锁和读写锁
线程同步一、自旋锁1.1自旋锁概述1.2自旋锁的初始化1.3自旋锁加锁和解锁二、读写锁2.1何为读写锁2.2读写函数初始化2.3读写锁上锁和解锁2.4读写锁的属性一、自旋锁1.1自旋锁概述自旋锁与互斥锁很相似,从本质上说也是一把锁,在访问共享资源之前对自旋锁进行上锁,在访问完成后释放自旋锁(解锁);事实上,从实现方式上来说,互斥锁是基于自旋锁来实现的,所以自旋锁相较于互斥锁更加底层。如果在获取自旋
- Buildroot,Debian 和 Ubuntu 有什么差别
科学的发展-只不过是读大自然写的代码
驱动开发debianubuntu运维
Buildroot、Debian和Ubuntu都是流行的Linux发行版或构建系统,但它们在目标、使用方式和结构上有所不同。以下是它们之间的主要差别:Buildroot:Buildroot是一个为嵌入式Linux系统提供完全自动化构建的工具。它不是一个常规的Linux发行版,而是一个用于构建自定义Linux系统的工具集。使用Buildroot,你可以从零开始构建一个定制的Linux系统,包括内核、
- Buildroot,Ubuntu,Debian,Yocto 它们分别是什么,它们之间的具体关系是什么
玄奕子
嵌入式学习之Linux入门篇ubuntudebianlinuxBuildrootYocto
1.Buildroot定义:Buildroot是一个简化和加速嵌入式Linux系统开发过程的工具,提供一种容易、高效的方式来生成交叉编译工具链、根文件系统、内核映像和引导加载程序。Buildroot使用makefile和kconfig(和Linux内核使用的相同系统)来配置和构建整个嵌入式系统。适用场景:对于需要轻量级或高度定制的嵌入式系统,Buildroot非常适合,尤其是那些资源受限或对启动时
- Linux——搭建嵌入式Linux开发环境步骤总结(虚拟机、Ubuntu、JDK、库文件、GCC)
Winter_world
搭建嵌入式Linux开发环境虚拟机Ubuntu安装JDK安装库文件GCC版本更新
目录0前言1主机软件环境2Linux系统下安装编译组件3Linux系统下安装库文件和JDK0前言回顾一直以来做的嵌入式项目方向,从如ST的单片机裸机开发,SOC开发,到STM32裸机开发,基于uCOSII的开发,基于freeRTOS的开发等,在实时操作系统层面的应用开发停留了一段时间了,一直想再突破下自我,去年做了一个基于工控机方案的Linux系统应用开发项目,对于Linux一直没有系统性的学习整
- ZLG嵌入式笔记 | rootfs镜像制作其实没那么难
ZLG 致远电子
边缘计算ZLG嵌入式开发应用笔记个人开发物联网
在嵌入式Linux开发中,文件系统的打包和镜像制作是关键步骤。本文介绍了Linux核心板文件系统的打包与镜像制作方法,适合嵌入式开发人员快速上手。 前言致远电子Linux核心板提供的系统固件里,除了镜像文件之外,通常还会提供文件系统压缩包。镜像文件可以直接用于烧写到目标板,而文件系统压缩包则可以进行部分修改,修改后重新制作镜像文件烧写。这里只讲直接用编译好的二进制文件对文件系
- 嵌入式linux下基于boa cgic sqlite3的ajax web服务器搭建
モザイクカケラ
嵌入式linux-web嵌入式系统开发boacgicsqlite3嵌入式linuxajax
先上大家的资源全部亲测可用sqlite3数据库c语言常用接口应用实例sqlite3数据库交叉编译并移植到嵌入式开发环境步骤fprintf与stderr、stdout的使用Windows中IIS服务器被防火墙阻止导致外网无法访问sqlite3.OperationalError:unabletoopendatabasefileSQLiteDelete语句SQLite数据库中rowid使用基本操作交叉编
- Linux 设备树详解:从概念到实战
Jay_515
Linux学习嵌入式linux设备树
关键词:设备树(DeviceTree)、DTS、DTC、DTB、嵌入式Linux驱动开发为什么需要设备树?在旧版Linux内核中,硬件信息(如内存映射、外设地址、中断号等)直接硬编码在内核源码中。这导致:内核臃肿,需为不同硬件编译不同版本硬件变动需重新编译内核代码冗余严重(一个board-*.c文件对应一块开发板)设备树(DeviceTree)的引入彻底解决了这一问题!它通过描述硬件拓扑结构的文本
- 工业4.0技术PLC远程控制模块的升级处理
huajiezhikong
PLC远程数据传输模块PLC数据上下载PLC远程控制模块多点组网蓝牙远程控制工业产品PLC远程控制无线通讯西门子
工业4.0是实体物理世界与虚拟网络世界融合的时代,产品全生命周期、全制造流程数字化以及基于信息通信技术,升级版PLC远程控制器带你轻松进入工业4.0技术文档:HJ8900是深圳市华杰智控技术有限公司开发的一款远程控制模块,采用嵌入式LINUX系统,工业级低功耗处理器和工业级通信模块,支持1个WAN口和3个LAN口,2路USB接口,2路RS232和2路RS485,支持4G全网通和2.4GWi-Fi。
- 【嵌入式】鲁班猫玩法大全
CodeWithMe
Embedded嵌入式硬件单片机
文章目录鲁班猫玩法大全一、开发平台概况二、开发路线总览(学习+项目实践)三、项目实战模块划分(学习建议)M1.嵌入式Linux基础与设备树入门M2.驱动开发实践M3.多媒体与图形系统M4.边缘AI推理模块(重点推荐)M5.中间件与协议栈实践M6.安全与系统管理四、工具链与开发方式五、推荐开发环境与资源六、从入门到进阶建议路径鲁班猫玩法大全基于鲁班猫3568(RockchipRK3568)平台,可以
- 01-驱动开发开篇
A-花开堪折
ARMLinux驱动linux嵌入式硬件
概述这个主题已经构思了很久,也犹豫了很久,网上讲述linux驱动开发的博主非常多,我在想,我能给我读者带来什么呢。现在嵌入式Linux的开发难度比以前降低了很多,特别是ai的出现,几乎不需要掌握很多的基础知识,也能完成日常工作。特别是从linux-3.10开始使用设备树开始,现在的嵌入式Linux驱动开发几乎就剩下了复制粘贴和调试一些GPIO引脚。这也是我很困惑地方,如果我讲述驱动开发的步骤,对于
- 毕业设计竞赛选题推荐 | 嵌入式Linux应用之智慧医疗行业解决方案:健康检测仪
华清远见IT开放实验室
stm32嵌入式
第七届(2024)全国大学生嵌入式芯片与系统设计竞赛报名活动正在如火如荼地进行中,众多高校学生非常关注的ST赛道已公布7个选题方向:嵌入式人工智能、数字电源、汽车-车规MCU(含额外奖励)、工业4.0、智能可穿戴设备、MPU应用方向、IOT。其中MPU应用方向明确规定该选题只能使用MPU开发,即选用STM32MP1系列或者STM32MP2系列开发板。为了更好助力赛前的准备和学习,推荐一款华清远见研
- 项目实战:valgrind与kmemleak——内存泄漏的终极“体检神器”
嵌入式Jerry
内核+内存管理网络服务器运维
作者:嵌入式Jerry推荐阅读:《Yocto项目实战教程:高效定制嵌入式Linux系统》京东正版促销,支持作者:https://item.jd.com/15020438.html一、前言:内存泄漏,是每个系统工程师都要面对的“世界难题”无论是嵌入式Linux、服务器软件,还是复杂的设备驱动与内核模块,内存泄漏都是导致“系统越跑越慢”“莫名其妙崩溃”“内存不够用”的核心隐患。但不同层次、不同类型的内
- # 内存管理中的缓存分类与分页机制关系 —— 实战代码与现象解读
嵌入式Jerry
内核+内存管理缓存linux运维服务器算法架构
推荐阅读《Yocto项目实战教程:高效定制嵌入式Linux系统》京东购买链接内存管理中的缓存分类与分页机制关系——实战代码与现象解读一、Linux系统中常见的“缓存”类型1.CPUCache(L1/L2/L3)作用:CPU内部缓存,非操作系统可控。理解时可跳过,不归OS内存管理范畴。2.PageCache(页缓存)用途:文件/块设备I/O加速,占用大量物理内存。现象:读/写大文件,free命令bu
- 初学者指南:如何选择嵌入式Linux和单片机(MCU)
不会倒的鸡蛋
单片机嵌入式硬件arm开发
前言在嵌入式系统开发领域,选择合适的平台是项目成功的关键之一。对于初学者来说,如何在嵌入式Linux和单片机(MCU)之间做出选择可能是一项艰巨的任务。本文将详细解释这两种平台的特点、优缺点,以及在不同应用场景中的适用性,帮助初学者做出明智的选择。嵌入式Linux简介概述嵌入式Linux是指运行在嵌入式设备上的Linux操作系统。它为嵌入式系统带来了强大的处理能力和丰富的软件生态系统。常见的嵌入式
- 嵌入式 Linux 主控芯片选择
前进的程序员
嵌入式Linux开发linux运维处理器主控芯片
在嵌入式Linux系统开发中,选择合适的主控芯片至关重要。当需要ARM9以上的处理器时,市场上有众多品牌可供选择,这些品牌的处理器在性能、功耗、功能特性等方面各有千秋,能够满足不同应用场景的需求。以下为您详细介绍一些常见的品牌及其相关处理器。恩智浦(NXP)恩智浦在嵌入式处理器领域久负盛名。其i.MX系列应用处理器表现卓越。以i.MX6系列为例,该系列包含基于Cortex-A9、Cortex-A9
- 嵌入式linux和图像处理,基于嵌入式Linux系统的图像处理研究
weixin_39812186
嵌入式linux和图像处理
摘要:嵌入式图像处理系统的完成将为图像处理开辟新的实现途径,并且为嵌入式系统的应用打开一片新的领域。基于嵌入式平台的图像处理系统是未来图像处理系统的发展趋势,研究如何将嵌入式平台和图像处理结合起来,对于进一步拓展图像处理应用领域摘要:嵌入式图像处理系统的完成将为图像处理开辟新的实现途径,并且为嵌入式系统的应用打开一片新的领域。基于嵌入式平台的图像处理系统是未来图像处理系统的发展趋势,研究如何将嵌入
- 【开源推荐】嵌入式软件开发学习路线全景图:从裸机到 RTOS,再到嵌入式 Linux(附涵超全电子书资源以及面经资料)
Natsume1710
开源学习linux
本文将系统介绍一个适合初学者&进阶者的嵌入式开发学习开源项目,涵盖C语言、驱动开发、RTOS、嵌入式Linux、物联网通信等核心内容,特别适合电赛、毕设、面试准备和入行工程师使用。一、为什么推荐这个项目?嵌入式学习门槛高、知识零散,这是大多数学习者面临的第一大难题。GitHub项目0voice/EmbeddedSoftwareLearn是由国内技术社区整理并维护的开源仓库,它将整个嵌入式学习路径从
- 嵌入式Linux搭建物联网网关,基于嵌入式Linux的物联网网关研究与实现
Jusper Lee
嵌入式Linux搭建物联网网关
摘要:随着物联网发展速度日益加快,作为连接感知网络和传统通信网络的物联网网关正在其中扮演着重要角色。然而,目前针对物联网网关的统一标准尚未制定,物联网网关的设备类型千差万别。人们往往针对某一具体应用场景来研发特定物联网网关设备,一旦应用场景发生变化,从上层应用协议到下层接口模块都需要重新开发,大大增加工程成本,严重阻碍物联网的发展。本文基于上述问题,同时结合嵌入式系统技术,设计并实现了一种基于嵌入
- 【性能优化硬核实战】一行代码让你的嵌入式系统提速数十倍:从缓存友好访问到极致初始化的全流程揭秘
嵌入式Jerry
Linux+内核性能优化缓存linux面试算法数据库
【《Yocto项目实战教程:高效定制嵌入式Linux系统》京东618正版促销,46元支持作者,点击抢购>>【性能优化硬核实战】一行代码让你的嵌入式系统提速数十倍:从缓存友好访问到极致初始化的全流程揭秘作者:嵌入式Jerry原创首发CSDN,转载请注明出处关键词:Cache、缓存未命中、内存优化、嵌入式、性能分析、valgrind、perf、DMA、显示刷新一、前言:为什么要关心“访问顺序”?在嵌入
- 解锁嵌入式Linux开发:从入门到精通的通关秘籍
前进的程序员
职场心得linux运维服务器
一、引言在科技飞速发展的今天,嵌入式Linux开发已成为众多领域的核心技术,深刻影响着我们的日常生活。从智能家居中的智能音箱、智能摄像头,到工业自动化中的机器人、数控机床,再到智能交通中的车载导航、自动驾驶系统,嵌入式设备无处不在,而嵌入式Linux作为这些设备的关键支撑技术,正发挥着越来越重要的作用。想象一下,当你清晨醒来,通过智能音箱播放喜欢的音乐,用手机远程控制智能窗帘缓缓拉开,让阳光洒进房
- 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