- 嵌入式 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作为这些设备的关键支撑技术,正发挥着越来越重要的作用。想象一下,当你清晨醒来,通过智能音箱播放喜欢的音乐,用手机远程控制智能窗帘缓缓拉开,让阳光洒进房
- 多线程编程之卫生间
周凡杨
java并发卫生间线程厕所
如大家所知,火车上车厢的卫生间很小,每次只能容纳一个人,一个车厢只有一个卫生间,这个卫生间会被多个人同时使用,在实际使用时,当一个人进入卫生间时则会把卫生间锁上,等出来时打开门,下一个人进去把门锁上,如果有一个人在卫生间内部则别人的人发现门是锁的则只能在外面等待。问题分析:首先问题中有两个实体,一个是人,一个是厕所,所以设计程序时就可以设计两个类。人是多数的,厕所只有一个(暂且模拟的是一个车厢)。
- How to Install GUI to Centos Minimal
sunjing
linuxInstallDesktopGUI
http://www.namhuy.net/475/how-to-install-gui-to-centos-minimal.html
I have centos 6.3 minimal running as web server. I’m looking to install gui to my server to vnc to my server. You can insta
- Shell 函数
daizj
shell函数
Shell 函数
linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。
shell中函数的定义格式如下:
[function] funname [()]{
action;
[return int;]
}
说明:
1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。
2、参数返回
- Linux服务器新手操作之一
周凡杨
Linux 简单 操作
1.whoami
当一个用户登录Linux系统之后,也许他想知道自己是发哪个用户登录的。
此时可以使用whoami命令。
[ecuser@HA5-DZ05 ~]$ whoami
e
- 浅谈Socket通信(一)
朱辉辉33
socket
在java中ServerSocket用于服务器端,用来监听端口。通过服务器监听,客户端发送请求,双方建立链接后才能通信。当服务器和客户端建立链接后,两边都会产生一个Socket实例,我们可以通过操作Socket来建立通信。
首先我建立一个ServerSocket对象。当然要导入java.net.ServerSocket包
ServerSock
- 关于框架的简单认识
西蜀石兰
框架
入职两个月多,依然是一个不会写代码的小白,每天的工作就是看代码,写wiki。
前端接触CSS、HTML、JS等语言,一直在用的CS模型,自然免不了数据库的链接及使用,真心涉及框架,项目中用到的BootStrap算一个吧,哦,JQuery只能算半个框架吧,我更觉得它是另外一种语言。
后台一直是纯Java代码,涉及的框架是Quzrtz和log4j。
都说学前端的要知道三大框架,目前node.
- You have an error in your SQL syntax; check the manual that corresponds to your
林鹤霄
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'option,changed_ids ) values('0ac91f167f754c8cbac00e9e3dc372
- MySQL5.6的my.ini配置
aigo
mysql
注意:以下配置的服务器硬件是:8核16G内存
[client]
port=3306
[mysql]
default-character-set=utf8
[mysqld]
port=3306
basedir=D:/mysql-5.6.21-win
- mysql 全文模糊查找 便捷解决方案
alxw4616
mysql
mysql 全文模糊查找 便捷解决方案
2013/6/14 by 半仙
[email protected]
目的: 项目需求实现模糊查找.
原则: 查询不能超过 1秒.
问题: 目标表中有超过1千万条记录. 使用like '%str%' 进行模糊查询无法达到性能需求.
解决方案: 使用mysql全文索引.
1.全文索引 : MySQL支持全文索引和搜索功能。MySQL中的全文索
- 自定义数据结构 链表(单项 ,双向,环形)
百合不是茶
单项链表双向链表
链表与动态数组的实现方式差不多, 数组适合快速删除某个元素 链表则可以快速的保存数组并且可以是不连续的
单项链表;数据从第一个指向最后一个
实现代码:
//定义动态链表
clas
- threadLocal实例
bijian1013
javathreadjava多线程threadLocal
实例1:
package com.bijian.thread;
public class MyThread extends Thread {
private static ThreadLocal tl = new ThreadLocal() {
protected synchronized Object initialValue() {
return new Inte
- activemq安全设置—设置admin的用户名和密码
bijian1013
javaactivemq
ActiveMQ使用的是jetty服务器, 打开conf/jetty.xml文件,找到
<bean id="adminSecurityConstraint" class="org.eclipse.jetty.util.security.Constraint">
<p
- 【Java范型一】Java范型详解之范型集合和自定义范型类
bit1129
java
本文详细介绍Java的范型,写一篇关于范型的博客原因有两个,前几天要写个范型方法(返回值根据传入的类型而定),竟然想了半天,最后还是从网上找了个范型方法的写法;再者,前一段时间在看Gson, Gson这个JSON包的精华就在于对范型的优雅简单的处理,看它的源代码就比较迷糊,只其然不知其所以然。所以,还是花点时间系统的整理总结下范型吧。
范型内容
范型集合类
范型类
- 【HBase十二】HFile存储的是一个列族的数据
bit1129
hbase
在HBase中,每个HFile存储的是一个表中一个列族的数据,也就是说,当一个表中有多个列簇时,针对每个列簇插入数据,最后产生的数据是多个HFile,每个对应一个列族,通过如下操作验证
1. 建立一个有两个列族的表
create 'members','colfam1','colfam2'
2. 在members表中的colfam1中插入50*5
- Nginx 官方一个配置实例
ronin47
nginx 配置实例
user www www;
worker_processes 5;
error_log logs/error.log;
pid logs/nginx.pid;
worker_rlimit_nofile 8192;
events {
worker_connections 4096;}
http {
include conf/mim
- java-15.输入一颗二元查找树,将该树转换为它的镜像, 即在转换后的二元查找树中,左子树的结点都大于右子树的结点。 用递归和循环
bylijinnan
java
//use recursion
public static void mirrorHelp1(Node node){
if(node==null)return;
swapChild(node);
mirrorHelp1(node.getLeft());
mirrorHelp1(node.getRight());
}
//use no recursion bu
- 返回null还是empty
bylijinnan
javaapachespring编程
第一个问题,函数是应当返回null还是长度为0的数组(或集合)?
第二个问题,函数输入参数不当时,是异常还是返回null?
先看第一个问题
有两个约定我觉得应当遵守:
1.返回零长度的数组或集合而不是null(详见《Effective Java》)
理由就是,如果返回empty,就可以少了很多not-null判断:
List<Person> list
- [科技与项目]工作流厂商的战略机遇期
comsci
工作流
在新的战略平衡形成之前,这里有一个短暂的战略机遇期,只有大概最短6年,最长14年的时间,这段时间就好像我们森林里面的小动物,在秋天中,必须抓紧一切时间存储坚果一样,否则无法熬过漫长的冬季。。。。
在微软,甲骨文,谷歌,IBM,SONY
- 过度设计-举例
cuityang
过度设计
过度设计,需要更多设计时间和测试成本,如无必要,还是尽量简洁一些好。
未来的事情,比如 访问量,比如数据库的容量,比如是否需要改成分布式 都是无法预料的
再举一个例子,对闰年的判断逻辑:
1、 if($Year%4==0) return True; else return Fasle;
2、if ( ($Year%4==0 &am
- java进阶,《Java性能优化权威指南》试读
darkblue086
java性能优化
记得当年随意读了微软出版社的.NET 2.0应用程序调试,才发现调试器如此强大,应用程序开发调试其实真的简单了很多,不仅仅是因为里面介绍了很多调试器工具的使用,更是因为里面寻找问题并重现问题的思想让我震撼,时隔多年,Java已经如日中天,成为许多大型企业应用的首选,而今天,这本《Java性能优化权威指南》让我再次找到了这种感觉,从不经意的开发过程让我刮目相看,原来性能调优不是简单地看看热点在哪里,
- 网络学习笔记初识OSI七层模型与TCP协议
dcj3sjt126com
学习笔记
协议:在计算机网络中通信各方面所达成的、共同遵守和执行的一系列约定 计算机网络的体系结构:计算机网络的层次结构和各层协议的集合。 两类服务: 面向连接的服务通信双方在通信之前先建立某种状态,并在通信过程中维持这种状态的变化,同时为服务对象预先分配一定的资源。这种服务叫做面向连接的服务。 面向无连接的服务通信双方在通信前后不建立和维持状态,不为服务对象
- mac中用命令行运行mysql
dcj3sjt126com
mysqllinuxmac
参考这篇博客:http://www.cnblogs.com/macro-cheng/archive/2011/10/25/mysql-001.html 感觉workbench不好用(有点先入为主了)。
1,安装mysql
在mysql的官方网站下载 mysql 5.5.23 http://www.mysql.com/downloads/mysql/,根据我的机器的配置情况选择了64
- MongDB查询(1)——基本查询[五]
eksliang
mongodbmongodb 查询mongodb find
MongDB查询
转载请出自出处:http://eksliang.iteye.com/blog/2174452 一、find简介
MongoDB中使用find来进行查询。
API:如下
function ( query , fields , limit , skip, batchSize, options ){.....}
参数含义:
query:查询参数
fie
- base64,加密解密 经融加密,对接
y806839048
经融加密对接
String data0 = new String(Base64.encode(bo.getPaymentResult().getBytes(("GBK"))));
String data1 = new String(Base64.decode(data0.toCharArray()),"GBK");
// 注意编码格式,注意用于加密,解密的要是同
- JavaWeb之JSP概述
ihuning
javaweb
什么是JSP?为什么使用JSP?
JSP表示Java Server Page,即嵌有Java代码的HTML页面。使用JSP是因为在HTML中嵌入Java代码比在Java代码中拼接字符串更容易、更方便和更高效。
JSP起源
在很多动态网页中,绝大部分内容都是固定不变的,只有局部内容需要动态产生和改变。
如果使用Servl
- apple watch 指南
啸笑天
apple
1. 文档
WatchKit Programming Guide(中译在线版 By @CocoaChina) 译文 译者 原文 概览 - 开始为 Apple Watch 进行开发 @星夜暮晨 Overview - Developing for Apple Watch 概览 - 配置 Xcode 项目 - Overview - Configuring Yo
- java经典的基础题目
macroli
java编程
1.列举出 10个JAVA语言的优势 a:免费,开源,跨平台(平台独立性),简单易用,功能完善,面向对象,健壮性,多线程,结构中立,企业应用的成熟平台, 无线应用 2.列举出JAVA中10个面向对象编程的术语 a:包,类,接口,对象,属性,方法,构造器,继承,封装,多态,抽象,范型 3.列举出JAVA中6个比较常用的包 Java.lang;java.util;java.io;java.sql;ja
- 你所不知道神奇的js replace正则表达式
qiaolevip
每天进步一点点学习永无止境纵观千象regex
var v = 'C9CFBAA3CAD0';
console.log(v);
var arr = v.split('');
for (var i = 0; i < arr.length; i ++) {
if (i % 2 == 0) arr[i] = '%' + arr[i];
}
console.log(arr.join(''));
console.log(v.r
- [一起学Hive]之十五-分析Hive表和分区的统计信息(Statistics)
superlxw1234
hivehive分析表hive统计信息hive Statistics
关键字:Hive统计信息、分析Hive表、Hive Statistics
类似于Oracle的分析表,Hive中也提供了分析表和分区的功能,通过自动和手动分析Hive表,将Hive表的一些统计信息存储到元数据中。
表和分区的统计信息主要包括:行数、文件数、原始数据大小、所占存储大小、最后一次操作时间等;
14.1 新表的统计信息
对于一个新创建
- Spring Boot 1.2.5 发布
wiselyman
spring boot
Spring Boot 1.2.5已在7月2日发布,现在可以从spring的maven库和maven中心库下载。
这个版本是一个维护的发布版,主要是一些修复以及将Spring的依赖提升至4.1.7(包含重要的安全修复)。
官方建议所有的Spring Boot用户升级这个版本。
项目首页 | 源