- Linux——搭建嵌入式Linux开发环境步骤总结(虚拟机、Ubuntu、JDK、库文件、GCC)
Winter_world
搭建嵌入式Linux开发环境虚拟机Ubuntu安装JDK安装库文件GCC版本更新
目录0前言1主机软件环境2Linux系统下安装编译组件3Linux系统下安装库文件和JDK0前言回顾一直以来做的嵌入式项目方向,从如ST的单片机裸机开发,SOC开发,到STM32裸机开发,基于uCOSII的开发,基于freeRTOS的开发等,在实时操作系统层面的应用开发停留了一段时间了,一直想再突破下自我,去年做了一个基于工控机方案的Linux系统应用开发项目,对于Linux一直没有系统性的学习整
- I.MX6ULL ARM裸机开发---C语言LED实验
一盆电子
ARM裸机开发armc语言驱动开发
一、引言 考虑到工作效率,嵌入式驱动开发很少用汇编,大部分是用C语言进行开发。 嵌入式驱动开发开始部分就可以用C语言吗? 当然不是!在开始部分用汇编来初始化一下C语言环境,比如初始化DDR、设置堆栈指针SP等等,当这些工作都做完以后就可以进入C语言环境,也就是运行C语言代码,一般都是进入main函数。有两部分文件需要完成: 1、汇编文件 汇编文件用来完成C语言环境搭建。 2、C语言文件
- 掌握 FreeRTOS:打造高效嵌入式系统的第一步
平凡灵感码头
RTOS操作系统FreeRTOS
实例对比说明:手机:点击相机->操作系统->打开摄像头无操作系统:相机->打开摄像头也能实现,但方式死板、不支持第三方应用MCU对比说明:裸机开发:MCU->直接控制硬件使用操作系统:MCU->操作系统->硬件定义:操作系统是管理和控制计算机硬件与软件资源的程序,是运行在裸机上的最基本系统软件,其功能是为应用程序提供运行平台。为什么使用操作系统?提高CPU利用效率用更少代码实现更复杂功能屏蔽硬件差
- VSCode + GD32F407 构建&烧录
Mr_Chenph
gd32F407单片机vscodegcc
前言最近调试一块GD32F407VET6(168Mhz,8Mhz晶振)板子时,踩了一些“启动失败”的坑。本以为是时钟配置有误,最后发现是链接脚本(.ld文件)没有配置好,导致程序根本没能正常执行main()函数。顺着这个调试过程,我认真梳理了一遍裸机开发中几个关键文件的作用,也对兆易官方的工程模板、工具链支持以及主流开发方式有了更深理解。这篇文章记录下踩坑的点:GD32F407是什么.ld、启动文
- ARM_Linux驱动开发——字符设备驱动开发(上)
小小_扫地僧
Linuxb树数据结构
目录一、Linux驱动开发思维二、Linux驱动开发分类三、“ARM_Linux驱动开发——字符设备驱动开发”字符设备驱动简介前言在分享Linux驱动开发之前,我想带大家首先回顾一下裸机驱动开发和Linux驱动开发的区别。1、运行环境和操作系统:裸机驱动开发:在裸机开发中,通常是针对没有操作系统支持的嵌入式系统或特定的硬件平台开发驱动程序。这些系统通常直接操作硬件资源,没有操作系统的抽象层。Lin
- 友善之臂210裸机开发教程:从Cortex-A8架构到实践项目
羊迪
本文还有配套的精品资源,点击获取简介:本教程专为Cortex-A8处理器设计,目的是使开发者深入学习ARM架构并掌握裸机编程技巧。介绍了处理器架构、启动过程、嵌入式汇编语言、内存管理、外设驱动、中断处理、系统时钟与定时器、调试工具,以及一系列实践项目。通过这些内容,开发者将能设计和实现基于Cortex-A8的嵌入式系统。1.Cortex-A8处理器架构及编程1.1Cortex-A8处理器概述Cor
- STM32 模块化开发指南 · 第 5 篇 STM32 项目中断处理机制最佳实践:ISR、回调与事件通知
damo王
嵌入式#stm32模块化实战指南单片机嵌入式硬件系统架构stm32
本文是《STM32模块化开发实战指南》第5篇,聚焦于STM32裸机开发中最核心也最容易被忽视的部分——中断服务机制。我们将介绍如何正确、高效地设计中断处理函数(ISR),实现数据与事件从中断上下文传递到主逻辑的通道,并构建一个清晰、可维护、非阻塞的事件通知机制。一、为什么裸机项目中的ISR会失控?常见“错误用法”:在ISR中执行复杂操作(如printf()、长循环、malloc等)在ISR中调用多
- 使用定时器中断进行延时,取代delay,不影响主流程的运行
litvm
bug解决经验分享单片机嵌入式硬件
在单片机开发中,我们经常会用到延时函数-delay();比如LED的闪烁、ADC采集、向其他设备发送指令后等待回复数据等等,应用非常广泛,也很好用。但它也有一个致命的缺点——死等,举个例子,一个工程中有A、B、C三个任务,如果是裸机开发,不考虑中断的话,它会按while(1)中固定的顺序去执行。由于任务需要,B中会经常delay_ms(500);,那么在delay过程中,整个程序都会在B中等待50
- 这个设计思想能启蒙你很多年,嵌入式裸机按键扫描
大方老师嵌入式
嵌入式单片机单片机学习单片机51单片机嵌入式硬件
这个设计思想能启蒙你很多年,嵌入式裸机按键扫描摘要:本文目的是讲述一个按键扫描处理的面向对象开发的设计思想,适用于裸机开发,通过按键扫描,检测到按键是否按下,松开等状态,并将该状态通过其他形式反馈给其他模块进行处理。初次使用按键时,最常用的办法就是如以下代码一样,硬延时抖动滤波,等待确认后做相应的处理。void KEY_Scan(void){  
- 这里是 Grok 3 为我规划的大学物联网工程自学计划!
王倚山
物联网学习开发语言
我理解你可能希望我提供更详细的优化版本,包含更具体的技术细节、时间分配、资源推荐以及项目示例,以便让规划更具操作性。我将在保持原有结构的基础上,显著扩展每个阶段的内容,增加更多具体建议和实践指导,确保优化后的规划更加详尽、全面,同时仍然基于你的裸机开发经验进行调整。优化后的详细学习规划总体思路(扩展版)你的裸机开发经验(数据采集、控制、配网、上云、手机交互)表明你已经掌握了嵌入式开发的基础技能,如
- 中国嵌入式单片机就业形势分析
与光同尘 大道至简
单片机嵌入式硬件pythongithub硬件工程arm开发
此博客分析中国嵌入式单片机的就业形势,包括行业趋势、技能需求,以及不同技能水平的薪资情况。会重点探讨裸机开发与RTOS(如FreeRTOS、TTR等)的市场需求差异,以及如何提升竞争力。行业趋势嵌入式单片机(MCU)作为电子产品的大脑,在各行业中应用广泛且持续增长。在物联网领域,海量的传感器节点和智能设备需要低功耗、小型化的MCU支持,物联网的普及为单片机市场带来了巨大的增量需求(2024年单片机
- FreeRTOS
Zack Zhou
单片机stm32嵌入式硬件
RTOS(RealTimeOperatingSystem),当有外部事件发生时,能够快速响应,调度一切可利用资源,控制实时任务协调一致的运行。裸机开发:一次只能处理一个任务,无法执行并发处理;代码复杂的情况下,中断响应较快,但同时应对多个中断,不定因素较强,精度低;开发效率较差,需要考虑大量因素,代码复杂时可读性差;适用于简单,功能、资源有限的场景实时操作系统:利用时间管理和优先级调度提供多任务支
- C51基础知识
promising-w
单片机单片机嵌入式硬件
1.什么是C51?计算机平台——C语言单片机平台——C51计算机平台的CPU主频,内存和硬盘相较于单片机平台都是巨大的量级,另一方面,计算机平台的有不同的操作系统,如Windows,Linux,macOS等,单片机一般是没有操作系统的,(也会有一些简单的操作系统如:RTOS,但与计算机平台的系统相比,还是较为简单的)代码直接运行在芯片上,我们常称为裸机开发,计算机平台的开发叫做基于系统的开发。另外
- 单片机/嵌入式软件架构分层思想
Dr_Haven
代码规范单片机
以STM32裸机开发为例。软件分层应用层驱动层硬件层固件层①最底层为固件层,Firmware这一层通常是官方给的库,库函数对寄存器进行操作,例如:/***@briefTransmitsaDatathroughtheSPIx/I2Sxperipheral.*@paramSPIx:wherexcanbe*-1,2or3inSPImode*-2or3inI2Smode*@paramData:Datato
- STM32程序开发要考虑的几个问题
安正和科技
stm32单片机linux
#STM32程序开发要考虑的几个问题关于STM32或其它MCU的程序开发,什么样的选择才是最好的。也许每个人/每个项目都有不同的选择。或许我们没有精力和时间对以下选择都尝试,这将花费太多的时间和精力。但是,当我们花时间认真的比较下以列出的不同选择,会给我们带来更深入的理解,帮助我们构建更好的MCU程序,提升我们的发展空间。*裸机开发,库开发还是操作系统?*用什么编程语言,汇编,C语言还是C++语言
- STM32中的计时与延时
lupinjia
STM32stm32单片机
前言在裸机开发中,延时作为一种规定循环周期的方式经常被使用,其中尤以HAL库官方提供的HAL_Delay为甚。刚入门的小白可能会觉得既然有官方提供的延时函数,而且精度也还挺好,为什么不用呢?实际上HAL_Delay中有不少坑,而这些也只是HAL库中无数坑的其中一些。想从坑里跳出来还是得加强外设原理的学习和理解,切不可只依赖HAL库。除了延时之外,我们在开发中有时也会想要确定某段程序的耗时,这就需要
- STM32裸机-时间片任务轮询
妖异的小尾巴
代码结构
瞎逼逼部分程序的编写裸机有几大类,分别是顺序执行前后台程序时间片任务轮询带系统的程序我们平常学习裸机开发程序中最常使用的可能就是顺序执行和前后台程序程序顺序执行的示例简单直接,直接往while(1)循环里放就是了前后台程序则是在顺序执行的基础上加上了中断,用于处理一些外部信号和比较紧急的事件但是这样出来的程序,实际的运行效果就比较乱了,我们无法确定某段程序能不能在我们需要的时候调用,比如让一些实时
- Linux中内核与驱动程序
请叫我7plus
Linux设备驱动linux单片机运维
系列文章目录第一章Linux中内核与驱动程序第二章Linux设备驱动编写(misc)第三章Linux设备驱动编写及设备节点自动生成(cdev)第四章Linux平台总线platform与设备树第五章Linux设备树中pinctrl与gpio(licheenanopi)文章目录系列文章目录前言一、Linux内核简述?1.内核开发与裸机开发的区别2.用户态和内核态二、Linux设备驱动程序1.具体思路2
- 单片机裸机开发框架
跟我一起喵喵喵
STM32嵌入式
前言单片机逻辑开发框架,轮询,前后台,利用定时器的前后台提示:以下是本篇文章正文内容,下面案例可供参考一、轮询该方法比较简单,在main函数内执行while(1),在while内顺序执行函数voidmain(void){//外设初始化xx_Init();while(1){a();b();c();}}二、前后台中断为后台,在中断内更新全局变量,利用全局变量判断要更新那个函数代码如下(示例):vola
- 裸机开发及开发环境搭建
vv不说话
MX6U嵌入式linuxlinux
ARM的裸机开发,也就是不带操作系统开发,就和我们开发STM32一样,如果有STM32开发经验的话学起本篇会很容易1、裸机开发是了解所使用的CPU最直接、最简单的方法,裸机开发是直接操作CPU的寄存器。Linux驱动开发最终也是操作的寄存器,但是在操作寄存器之前要先编写一个符合Linux驱动的框架。同样一个点灯驱动,裸机可能只需要十几行代码,但是Linux下的驱动就需要几十行代码。2.Linux驱
- 电机控制系列模块解析(第二篇)—— 浅谈微型软件架构
初心不忘产学研
软件构建软件工程自动化自动驾驶汽车嵌入式硬件驱动开发
一、电机控制软件架构电机控制大多数产品采用裸机开发,设计裸机嵌入式软件架构时,通常需要考虑系统的实时性、资源效率和模块化等方面。以下是一个基本的步骤和注意事项:1.系统需求分析:功能需求要明确系统需要完成的基本功能。性能需求要确定系统的响应时间(实时性)、功耗限制、存储空间和内存大小等硬件资源约束。安全性与可靠性:评估系统运行环境及可能遇到的问题,确保软件具有必要的错误处理机制和容错能力。2.硬件
- 裸机程序架构-时间片轮询架构
小星星星球
我的开源驱动架构单片机c语言stm32
XxxTimeSlice介绍简介XxxTimeSlice时间片轮询,是一种裸机程序架构。基于外部提供的tick(systick中断或定时器中断),根据注册生成多种时间片(支持0*tick)提供给任务当tick,让多个任务按指定频率依次执行。其核心思想是定时器的分时复用。适合中小型项目的裸机开发,结合状态机可以有效消除程序中不合理的delay阻塞延时。获取方式我的CSDN资源源码仓库特性基于链表,注
- AI嵌入式K210项目-目录
疯狂飙车的蜗牛
K210开发板人工智能K210AI嵌入式AI嵌入式目录
系列文章简介本系列文章简单介绍K210芯片的使用方法,大致分为两个部分:C语言裸机开发MicroPython开发学习第一部分有助于大家对K210芯片的外设接口和内置的各种硬件加速器有更深刻的了解,第二部分有助于大家快速实现功能;实验所使用的的开发如下,大家可以联系我或者到pdd维脑科技购买,购买后可加入技术交流群;目录C语言裸机开发AI嵌入式K210项目(1)-芯片开发板介绍AI嵌入式K210项目
- AI嵌入式K210项目(19)-安装CanMV IDE开发软件
疯狂飙车的蜗牛
K210开发板人工智能AI嵌入式K210MicroPythonCanMVpython
文章目录前言一、软件下载安装二、软件简介三、设备连接四、在线模拟五、开机运行程序附录:MicroPython固件烧录总结前言前几章我们介绍K210使用C语言裸机开发方法,大家对K210内部的硬件和各种加速器有了初步的了解,但是开发人工智能相关程序,使用C语言的话复杂度比较高,因此接下来我们逐步学习基于K210芯片使用python开发人工智能相关程序,包含颜色识别,人脸识别,口罩识别等,也包括一些分
- 嵌入式软件开发人员有必要学习系统移植的知识吗?【ppt获取见文末】
一口Linux
从0学arm原创Linux驱动学习
《从零开始学ARM》的配套视频说明为了让粉丝更好的学习我的新书里面的知识,一口君特地录制了配套学习视频,《从0学ARM第一期》《从0学ARM第一期》视频已经免费发布在B站,而书中除了ARM汇编、裸机开发等知识,还涉及到系统移植的一些知识点所以一口君干脆录制了一期《系统移植》的视频系统移植相关知识是否需要学习?现在很多芯片厂家为了方便客户进行二次开发,将很多系统移植的软件包、制作工具等都封装在sdk
- 【嵌入式-裸机开发】kermit工具安装使用
Japathy
kermitarm
安装ckermitsudoapt-getinstallckermit配置kermitvim~/.mykermrcsetline/dev/ttyS0setspeed115200setcarrier-watchoffsethandshakenonesetflow-controlnonerobustsetfiletypebinsetfilenamelitsetrecpack1000setsendpack
- AI嵌入式K210项目(1)-芯片开发板介绍
疯狂飙车的蜗牛
K210开发板人工智能
系列文章目录在人工智能大潮滚滚而来的时代,作为一个从事嵌入式行业多年的程序猿倍感焦虑,有被替代的焦虑,也有跟不上新技术步伐的无奈,本系列文章将介绍一个从硬件设计到ai训练、最后到模型部署的完整案例;第一阶段我将介绍使用C语言进行裸机开发,在熟悉了硬件和系统之后,我们进入进阶篇,使用MicroPython进行开发;不仅会设计传统的嵌入式技术栈,也有会Python,模型训练,识别分类检测等相关的AI知
- 正点原子阿尔法linux开发板USB烧录裸机例程
一颗无米粿
linux
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、安装uuu工具二、添加工程文件1.在工程文件夹下添加烧录文件2.修改Makefile文件3.开发板配置4.烧录其他问题前言提示:这里可以添加本文要记录的大概内容:使用uuu工具进行usb烧录裸机开发例程提示:以下是本篇文章正文内容,下面案例可供参考一、安装uuu工具sudosnapinstalluniversal-up
- 嵌入式Linux之MX6ULL裸机开发学习笔记(IMX启动方式-IVT表和BootData和DCD详解)
仙牛电祖
linux学习笔记
一,启动头文件1.BootRom做的事情。当我们设置BOOT模式为内部BOOT模式后,I.MX6U内部的bootROM就会执行,首先初始化时钟,设置内核时钟为396MHz。使能MMU和Cache,使能L1Cache和L2CacheMMU,目的就是为了加速启动。从BOOT_CFG设置的外置存储中,读取image,然后做相应的处理。2.IVT和BootData数据bin文件前面要添加头部。可以得到,我
- 嵌入式Linux之MX6ULL裸机开发学习笔记(IMX启动方式-启动设备的选择)
仙牛电祖
Linuxlinux学习笔记
一,硬件启动方式选择1.启动方式的选择6ull支持多种启动方式。比如可以从SD/EMMC、NANDFlash、QSPIFlash等启动。6ull是怎么支持多种外置flash启动程序的。1.启动方式选择:BOOT_MODE0andBOOT_MODE1,这两个是两个IO来控制的,选择从USB启动还是内部BOOT启动,如果要烧写系统到开发板中可以选择从USB下载,下载到SD卡,EMMC,NADN等外置存
- java杨辉三角
3213213333332132
java基础
package com.algorithm;
/**
* @Description 杨辉三角
* @author FuJianyong
* 2015-1-22上午10:10:59
*/
public class YangHui {
public static void main(String[] args) {
//初始化二维数组长度
int[][] y
- 《大话重构》之大布局的辛酸历史
白糖_
重构
《大话重构》中提到“大布局你伤不起”,如果企图重构一个陈旧的大型系统是有非常大的风险,重构不是想象中那么简单。我目前所在公司正好对产品做了一次“大布局重构”,下面我就分享这个“大布局”项目经验给大家。
背景
公司专注于企业级管理产品软件,企业有大中小之分,在2000年初公司用JSP/Servlet开发了一套针对中
- 电驴链接在线视频播放源码
dubinwei
源码电驴播放器视频ed2k
本项目是个搜索电驴(ed2k)链接的应用,借助于磁力视频播放器(官网:
http://loveandroid.duapp.com/ 开放平台),可以实现在线播放视频,也可以用迅雷或者其他下载工具下载。
项目源码:
http://git.oschina.net/svo/Emule,动态更新。也可从附件中下载。
项目源码依赖于两个库项目,库项目一链接:
http://git.oschina.
- Javascript中函数的toString()方法
周凡杨
JavaScriptjstoStringfunctionobject
简述
The toString() method returns a string representing the source code of the function.
简译之,Javascript的toString()方法返回一个代表函数源代码的字符串。
句法
function.
- struts处理自定义异常
g21121
struts
很多时候我们会用到自定义异常来表示特定的错误情况,自定义异常比较简单,只要分清是运行时异常还是非运行时异常即可,运行时异常不需要捕获,继承自RuntimeException,是由容器自己抛出,例如空指针异常。
非运行时异常继承自Exception,在抛出后需要捕获,例如文件未找到异常。
此处我们用的是非运行时异常,首先定义一个异常LoginException:
/**
* 类描述:登录相
- Linux中find常见用法示例
510888780
linux
Linux中find常见用法示例
·find path -option [ -print ] [ -exec -ok command ] {} \;
find命令的参数;
- SpringMVC的各种参数绑定方式
Harry642
springMVC绑定表单
1. 基本数据类型(以int为例,其他类似):
Controller代码:
@RequestMapping("saysth.do")
public void test(int count) {
}
表单代码:
<form action="saysth.do" method="post&q
- Java 获取Oracle ROWID
aijuans
javaoracle
A ROWID is an identification tag unique for each row of an Oracle Database table. The ROWID can be thought of as a virtual column, containing the ID for each row.
The oracle.sql.ROWID class i
- java获取方法的参数名
antlove
javajdkparametermethodreflect
reflect.ClassInformationUtil.java
package reflect;
import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtMethod;
import javassist.Modifier;
import javassist.bytecode.CodeAtt
- JAVA正则表达式匹配 查找 替换 提取操作
百合不是茶
java正则表达式替换提取查找
正则表达式的查找;主要是用到String类中的split();
String str;
str.split();方法中传入按照什么规则截取,返回一个String数组
常见的截取规则:
str.split("\\.")按照.来截取
str.
- Java中equals()与hashCode()方法详解
bijian1013
javasetequals()hashCode()
一.equals()方法详解
equals()方法在object类中定义如下:
public boolean equals(Object obj) {
return (this == obj);
}
很明显是对两个对象的地址值进行的比较(即比较引用是否相同)。但是我们知道,String 、Math、I
- 精通Oracle10编程SQL(4)使用SQL语句
bijian1013
oracle数据库plsql
--工资级别表
create table SALGRADE
(
GRADE NUMBER(10),
LOSAL NUMBER(10,2),
HISAL NUMBER(10,2)
)
insert into SALGRADE values(1,0,100);
insert into SALGRADE values(2,100,200);
inser
- 【Nginx二】Nginx作为静态文件HTTP服务器
bit1129
HTTP服务器
Nginx作为静态文件HTTP服务器
在本地系统中创建/data/www目录,存放html文件(包括index.html)
创建/data/images目录,存放imags图片
在主配置文件中添加http指令
http {
server {
listen 80;
server_name
- kafka获得最新partition offset
blackproof
kafkapartitionoffset最新
kafka获得partition下标,需要用到kafka的simpleconsumer
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.
- centos 7安装docker两种方式
ronin47
第一种是采用yum 方式
yum install -y docker
 
- java-60-在O(1)时间删除链表结点
bylijinnan
java
public class DeleteNode_O1_Time {
/**
* Q 60 在O(1)时间删除链表结点
* 给定链表的头指针和一个结点指针(!!),在O(1)时间删除该结点
*
* Assume the list is:
* head->...->nodeToDelete->mNode->nNode->..
- nginx利用proxy_cache来缓存文件
cfyme
cache
user zhangy users;
worker_processes 10;
error_log /var/vlogs/nginx_error.log crit;
pid /var/vlogs/nginx.pid;
#Specifies the value for ma
- [JWFD开源工作流]JWFD嵌入式语法分析器负号的使用问题
comsci
嵌入式
假如我们需要用JWFD的语法分析模块定义一个带负号的方程式,直接在方程式之前添加负号是不正确的,而必须这样做:
string str01 = "a=3.14;b=2.71;c=0;c-((a*a)+(b*b))"
定义一个0整数c,然后用这个整数c去
- 如何集成支付宝官方文档
dai_lm
android
官方文档下载地址
https://b.alipay.com/order/productDetail.htm?productId=2012120700377310&tabId=4#ps-tabinfo-hash
集成的必要条件
1. 需要有自己的Server接收支付宝的消息
2. 需要先制作app,然后提交支付宝审核,通过后才能集成
调试的时候估计会真的扣款,请注意
- 应该在什么时候使用Hadoop
datamachine
hadoop
原帖地址:http://blog.chinaunix.net/uid-301743-id-3925358.html
存档,某些观点与我不谋而合,过度技术化不可取,且hadoop并非万能。
--------------------------------------------万能的分割线--------------------------------
有人问我,“你在大数据和Hado
- 在GridView中对于有外键的字段使用关联模型进行搜索和排序
dcj3sjt126com
yii
在GridView中使用关联模型进行搜索和排序
首先我们有两个模型它们直接有关联:
class Author extends CActiveRecord {
...
}
class Post extends CActiveRecord {
...
function relations() {
return array(
'
- 使用NSString 的格式化大全
dcj3sjt126com
Objective-C
格式定义The format specifiers supported by the NSString formatting methods and CFString formatting functions follow the IEEE printf specification; the specifiers are summarized in Table 1. Note that you c
- 使用activeX插件对象object滚动有重影
蕃薯耀
activeX插件滚动有重影
使用activeX插件对象object滚动有重影 <object style="width:0;" id="abc" classid="CLSID:D3E3970F-2927-9680-BBB4-5D0889909DF6" codebase="activex/OAX339.CAB#
- SpringMVC4零配置
hanqunfeng
springmvc4
基于Servlet3.0规范和SpringMVC4注解式配置方式,实现零xml配置,弄了个小demo,供交流讨论。
项目说明如下:
1.db.sql是项目中用到的表,数据库使用的是oracle11g
2.该项目使用mvn进行管理,私服为自搭建nexus,项目只用到一个第三方 jar,就是oracle的驱动;
3.默认项目为零配置启动,如果需要更改启动方式,请
- 《开源框架那点事儿16》:缓存相关代码的演变
j2eetop
开源框架
问题引入
上次我参与某个大型项目的优化工作,由于系统要求有比较高的TPS,因此就免不了要使用缓冲。
该项目中用的缓冲比较多,有MemCache,有Redis,有的还需要提供二级缓冲,也就是说应用服务器这层也可以设置一些缓冲。
当然去看相关实现代代码的时候,大致是下面的样子。
[java]
view plain
copy
print
?
public vo
- AngularJS浅析
kvhur
JavaScript
概念
AngularJS is a structural framework for dynamic web apps.
了解更多详情请见原文链接:http://www.gbtags.com/gb/share/5726.htm
Directive
扩展html,给html添加声明语句,以便实现自己的需求。对于页面中html元素以ng为前缀的属性名称,ng是angular的命名空间
- 架构师之jdk的bug排查(一)---------------split的点号陷阱
nannan408
split
1.前言.
jdk1.6的lang包的split方法是有bug的,它不能有效识别A.b.c这种类型,导致截取长度始终是0.而对于其他字符,则无此问题.不知道官方有没有修复这个bug.
2.代码
String[] paths = "object.object2.prop11".split("'");
System.ou
- 如何对10亿数据量级的mongoDB作高效的全表扫描
quentinXXZ
mongodb
本文链接:
http://quentinXXZ.iteye.com/blog/2149440
一、正常情况下,不应该有这种需求
首先,大家应该有个概念,标题中的这个问题,在大多情况下是一个伪命题,不应该被提出来。要知道,对于一般较大数据量的数据库,全表查询,这种操作一般情况下是不应该出现的,在做正常查询的时候,如果是范围查询,你至少应该要加上limit。
说一下,
- C语言算法之水仙花数
qiufeihu
c算法
/**
* 水仙花数
*/
#include <stdio.h>
#define N 10
int main()
{
int x,y,z;
for(x=1;x<=N;x++)
for(y=0;y<=N;y++)
for(z=0;z<=N;z++)
if(x*100+y*10+z == x*x*x
- JSP指令
wyzuomumu
jsp
jsp指令的一般语法格式: <%@ 指令名 属性 =”值 ” %>
常用的三种指令: page,include,taglib
page指令语法形式: <%@ page 属性 1=”值 1” 属性 2=”值 2”%>
include指令语法形式: <%@include file=”relative url”%> (jsp可以通过 include