- C++11之constexpr
kazamata
C++c++学习笔记visualstudio
注:大前提,本篇文章是在介绍C++11中的constexpr,自C++14以来constexpr有了非常大的改动,如在实验中遇见与本文不符的地方还先请查阅其他资料,确定为本文错误后可留言,我会虚心接受并改正。constexpr定义编译时常量在C++11中添加了一个新的关键字constexpr,这个关键字是用来修饰常量表达式的。所谓常量表达式,指的就是由多个(≥1)常量(值不会改变)组成并且在编译过
- 【C++学习笔记】if 和 if constexpr
Go 鹏ya
C++工作日常技能c++学习笔记
背景在工作中,在一个模版函数里,需要判断if(std::is_same)来选择走哪个分支,分支里的函数是只能处理相应的类型的,编译过程中产生了报错。解释if(std::is_same::value)和ifconstexpr(std::is_same::value)在功能上都是检查模板类型参数T是否与float类型相同。但两者的主要区别在于它们执行这个检查的时间和方式。如果你使用if(std::is
- HTML5新特性
augenstern416
HTMlhtml前端
1.声明方式修改html5:2.更多的语义化标签header(网页头部)footer(网页尾部)aside(侧边栏)section(内容区域块)3.新的input表单输入类型与属性类型邮箱数值输入文件导入上传本地文件,需js代码配合。如果需要上传多个文件,给表单添加mulitiple属性。如果上传图片,给表单添加enctype属性。constmyFile=document.getElementBy
- 使用includes 取多个数组中的交集
The Hyacinth
javascript前端开发语言
constarray1=[1,2,3]constarray2=[2,3,4,5]constarray3=array1.filter(e=>array2.includes(e))console.log(array3)//[2,3]
- 数据结构:利用邻接矩阵构造图及图的输出c++
Belieber53
c++数据结构算法
输入:请输入顶点数及弧数请按照(顶点,顶点,权值)格式输入各边依附的顶点及权值输出:图的结构如下,用邻接矩阵输出#include#include#include#defineINFINITYINT_MAX//最大值#defineMAX_VERTEX_NUM20//最大顶点个数#defineFALSE0#defineTRUE1#defineOK1#defineERROR-2#defineOVERFL
- vue h函数
月下第一风流
vue.jsjavascript前端
在Vue.js中,h函数是用于在渲染函数中创建虚拟DOM元素的主要工具。但是,除了h函数之外,还有其他一些辅助函数和工具可以用于渲染函数和组件开发。以下是一些常见的工具和函数:createApp:用于创建Vue应用程序的实例。在Vue3中,这是启动应用的主要方法。defineComponent:用于定义一个组件。在Vue3中,这是一种定义组件的选项式API的替代方法。resolveComponen
- 算法基础1.3:双指针,位运算,离散化,区间合并
sunluyang521
算法基础算法
双指针for(inti=0,j=0;iusingnamespacestd;constintN=100010;intn;intq[N],s[N];//s存的是当前j到i这个区间里面每一个数出现的次数。intmain(){scanf("%d",&n);for(inti=0;i1)s[q[j++]]--;//有重复的数,把它拿出去,表示这个数减1res=max(res,i-j+1);//更新答案}cou
- vue 判断mp3是否加载成功
xuelong-ming
前端vue.jsjavascript前端
一、需求vueMP3加载时,有可能遇到后端没有MP3,但是返回有链接。要求获取MP3失败提示用户,MP3获取失败。二、代码canPlayAudio(url){//判断录音是否加载constaudio=newAudio(url)returnnewPromise((resolve,reject)=>{audio.oncanplay=()=>{resolve(true)audio.remove()}au
- elementuiPlus日期范围选择el-date-picker动态禁用时间选择
瑶琴AI前端
vue.jsjavascript前端elementui
记录项目中的一个小需求:使用elementuiPlus日期选择组件时,需要动态禁用可选择的日期,禁止选中今天之后的日期,且选中的日期范围不饿能超过30天。饿了么组件的plus版本去掉了v2版本的配置项picker,改用@calendar-change事件来代替,使用disabled-date属性和@calendar-change事件就可以完成动态禁用日期的行为。代码如下:constcurDay=r
- Vue3 中的 defineProps:优雅地实现子父组件传值
良月柒
vue.js前端javascript
Vue.js一直以来都是前端开发者们钟爱的框架之一,而在最新的Vue3中,引入了一些新的特性和改进,其中之一就是defineProps。defineProps提供了一种更加明确和类型安全的方式来定义子组件的props,让子父组件之间的数据传递更加清晰和可维护。本文将介绍Vue3中defineProps的用法以及如何在子组件中使用它来接收父组件传递的props数据。什么是defineProps?de
- 对于简单的HTML、CSS、JavaScript前端,我们可以通过几种方式连接后端
昨今
前端htmlcss
1.使用FetchAPI发送HTTP请求(最简单的方式)://home.html//示例:提交表单数据到后端constsubmitForm=async(formData)=>{try{constresponse=awaitfetch('http://your-backend-url/api/submit',{method:'POST',headers:{'Content-Type':'applic
- Vue3 使用 ref、reactive响应式丢失
张帅涛_666
Vue3开发vue.jsjavascript前端
文章目录一、refreactive实例1.引用refreactive属性2.refreactive替换整条数据3.refreactive解构赋值一、refreactive实例1.引用refreactive属性单独引用refreactive修改其中某一个属性,状态变量不会丢失,正常使用import{ref,reactive,toRefs,toRef}from"vue";constcount=ref(
- 面试官:你知道怎么解决vue2响应式丢失吗?
zayyo
vue.jsjavascript前端
vue2是如何追踪数据变化形成响应?概括版:通过遍历劫持对象的所有属性来实现响应式数据(Object.defineProperty)。专业版:1.初始化阶段:在Vue实例化过程中,Vue会遍历数据对象(通常是data属性中定义的数据)的所有属性,通过Object.defineProperty方法为每个属性添加getter和setter函数。这样做的目的是为了在属性被访问或修改时能够进行依赖收集和派
- vue3 reactive丢失响应式
想不到耶
vue3前端vue.js
问题使用reactive构造响应式对象时,当对其进行重新赋值后,会导致原有变量失去响应式,页面不会发生联动更新例如:1、使用reactive定义一个响应式的对象变量letdata1=reactive({name:'小李',date:'2024-03-18',address:'xx地址'})2、将属性渲染到页面上点击更新{{data1.name}}constchange=()=>{letdata2=
- vue3解构defineProps失去响应式解决办法
半夏ing
前端javascript开发语言
constprops=defineProps({deviceType:{type:String,default:'apple'}});const{deviceType}=props;这样写下来,deviceType,这个玩意就失去响应了。正确的应该向下面的那样constprops=defineProps({deviceType:{type:String,default:"123",},});con
- vue3响应式丢失解决办法(三)
xiaozaq
vue.js前端javascript
vue3的响应式的理解,与普通对象的区别(一)vue3分析总结响应式丢失问题原因(二)经过前面2篇文章,知道了响应式为什么丢失了,但是还是碰到了丢失情况,并且通过之前的内容还不能解决。这里要解决响应式丢失问题需要用到几个函数:toRef、toRefs与storeToRefs。conststate=reactive({a:1,b:2});比如上面一个响应式对象state,该对象在其他组件或者页面需要
- JAVA 类的反射机制 简版
xiaoyustudiowww
java
packageorg.rain;importjava.lang.reflect.Constructor;importjava.lang.reflect.Field;importjava.lang.reflect.Method;classSmallRainTarget{StringsField="SmallRain成员变量";publicSmallRainTarget(){super();}publ
- vue 启动项目报错Cannot read properties of undefined (reading ‘parseComponent‘)
知道的越多越难受
vuevue.jsjavascript前端
如果出现如下报错大概率是因为install时中途出现异常导致vue-template-compiler依赖没有正常安装导致的,重新安装即可SyntaxError:TypeError:Cannotreadpropertiesofundefined(reading'parseComponent')Youmayusespecialcommentstodisablesomewarnings.Use//es
- Tab 如何滚动居中
kilito_01
前端javascriptcss
{{item}}exportdefault{name:"TabList",props:{tabList:{type:Array,},},data(){return{currentIndex:0,};},methods:{onTabClick(index){this.currentIndex=index;},},watch:{currentIndex(newVal){consttabList=thi
- el与data的2种写法
是小傲雨呀^_^
vue.jsjavascript前端
el的2种写法1.el:'#root',constx=newVue({el:'#root',data:{name:'伏尔加'}})2.x.$mount('#root')constx=newVue({data:{name:'伏尔加'}});x.$mount('#root');data的2种写法constx=newVue({el:'#root',data:{name:'伏尔加'}});constx=n
- DFS有向图(用c++编译运行)
是小傲雨呀^_^
深度优先图论算法
#include#include#defineMax100//链表结点的结构定义structListNode{//存放的是链表的节点intindex;//所连接定点的下标//intinfo;//改边所对应的权值structListNode*next;};//顶点的结构定义structVNode{charstr;//存放的是顶点字符ListNode*firstarc;//邻接表顶点指针域};//图结
- [Acwing] 双指针 2816. 判断子序列
*DDL_GzmBlog
#双指针
目录前言思路code:错误的思路前言基础不打牢今朝见鬼神(我是牛马呜呜呜)思路通过i指针循环一遍b数组然后通过j(j=1)遍历a数组当且仅当(jusingnamespacestd;constintN=1e5+10;inta[N],b[N],n,m;voidsolve(){cin>>n>>m;for(inti=1;i>a[i];for(inti=1;i>b[i];intj=1;for(inti=1;
- 2. 大整数
LBJ辉
javascript前端
超过整数存储范围的大整数两个超过整数存储范围的大正整数求和/***两个超过整数存储范围的大正整数求和*@param{String}a*@param{String}b*/functionsum(a,b){letresult=''constlen=Math.max(a.length,b.length)a=a.padStart(len,'0')b=b.padStart(len,'0')letaddOne
- vue字符串的常用方法,截取字符串,获取字符串长度,检索字符串
luckyext
vue.jsjavascript前端
1.使用substr方法截取字符串letstr="12345";letpart=str.substr(0,3);//截取从索引0开始到索引3的子字符串console.log(part);//"123"2.获取字符串长度JavaScript中的字符串有一个length属性,该属性可以用在VUE获取字符串的长度conststr='hello';str.length输出结果:53.检索字符串是否包含特定
- 双指针算法 AcWing 2816. 判断子序列
飞滕人生TYF
算法算法c++数据结构
双指针算法AcWing2816.判断子序列原题链接AcWing2816.判断子序列算法标签双指针思路子序列指序列的一部分项按原有次序排列而得的序列。在枚举序列a时,若匹配上,即a[i]==b[j],需使i,j后移,若尚未匹配上,需使j后移。所以j满足单调性,可使用双指针算法代码#include#defineintlonglong#definerep(i,a,b)for(inti=a;ib;--i)
- 基于vue3实现的课堂点名程序
zhouzhurong
vue.jsjavascriptelementui
设计思路采用vue3实现的课堂点名程序,模拟课堂座位布局,点击开始点名按钮后,一朵鲜花在座位间传递,直到点击结束点名按钮,鲜花停留的座位被点名。课堂点名座位组件seat.vue//组合式APIimport{ref,reactive,onMounted}from'vue';constseatImage=ref('/src/assets/desk.jpg')constprops=defineProps
- 【Jvascript 算法】-- JavaScript实现对树结构数据的增删以及树型数据与数组的相互转换
野生松
在日常开发中我们经常会碰到树结构数据,以下是我的笔记:constarr=[{id:2,name:'部门B',parentId:0},{id:3,name:'部门C',parentId:1},{id:1,name:'部门A',parentId:2},{id:4,name:'部门D',parentId:1},{id:5,name:'部门E',parentId:2},{id:6,name:'部门F',p
- 【c++】四种类型转换形式
钟离墨笺
c++c++开发语言
【c++】四种类型转换形式编译时:static_cast(静态转换)const_cast(去常性转换)reinterpret_cast(重新解释转换,直接转换地址)运行时:dynamic_cast(动态转换,运行时类型识别RTTI)static_cast(静态转换)用途描述注意事项基本数据类型之间的转换用于int转double、char转int等类型之间的转换。适用于已知类型的转换,比C风格转换更
- 已知一个结构体里面的成员的地址,反推出该结构体的首地址的宏
望有恒
操作系统数据结构
/*已知一个结构体里面的成员的地址,反推出该结构体的首地址*/#definert_container_of(ptr,type,member)((type*)((char*)(ptr)-(unsignedlong)(&((type*)0)->member)))#definert_list_entry(node,type,member)rt_container_of(node,type,member)
- [008] [RT-Thread学习笔记] 求结构体首地址rt_list_entry函数与字节对齐RT_ALIGN宏
柯西的彷徨
RT-Threadlist数据结构rtos
RT-Thread学习笔记rt_list_entry函数源码分析应用示例RT_ALIGN宏源码分析应用示例RT-Thread版本:4.0.5MCU型号:STM32F103RCT6(ARMCortex-M3内核)1rt_list_entry函数rt_list_entry函数的作用是根据已知成员的地址,算出其结构体的首地址。函数定义如下(在rtservice.h中):1.1源码分析#definert_
- iOS http封装
374016526
ios服务器交互http网络请求
程序开发避免不了与服务器的交互,这里打包了一个自己写的http交互库。希望可以帮到大家。
内置一个basehttp,当我们创建自己的service可以继承实现。
KuroAppBaseHttp *baseHttp = [[KuroAppBaseHttp alloc] init];
[baseHttp setDelegate:self];
[baseHttp
- lolcat :一个在 Linux 终端中输出彩虹特效的命令行工具
brotherlamp
linuxlinux教程linux视频linux自学linux资料
那些相信 Linux 命令行是单调无聊且没有任何乐趣的人们,你们错了,这里有一些有关 Linux 的文章,它们展示着 Linux 是如何的有趣和“淘气” 。
在本文中,我将讨论一个名为“lolcat”的小工具 – 它可以在终端中生成彩虹般的颜色。
何为 lolcat ?
Lolcat 是一个针对 Linux,BSD 和 OSX 平台的工具,它类似于 cat 命令,并为 cat
- MongoDB索引管理(1)——[九]
eksliang
mongodbMongoDB管理索引
转载请出自出处:http://eksliang.iteye.com/blog/2178427 一、概述
数据库的索引与书籍的索引类似,有了索引就不需要翻转整本书。数据库的索引跟这个原理一样,首先在索引中找,在索引中找到条目以后,就可以直接跳转到目标文档的位置,从而使查询速度提高几个数据量级。
不使用索引的查询称
- Informatica参数及变量
18289753290
Informatica参数变量
下面是本人通俗的理解,如有不对之处,希望指正 info参数的设置:在info中用到的参数都在server的专门的配置文件中(最好以parma)结尾 下面的GLOBAl就是全局的,$开头的是系统级变量,$$开头的变量是自定义变量。如果是在session中或者mapping中用到的变量就是局部变量,那就把global换成对应的session或者mapping名字。
[GLOBAL] $Par
- python 解析unicode字符串为utf8编码字符串
酷的飞上天空
unicode
php返回的json字符串如果包含中文,则会被转换成\uxx格式的unicode编码字符串返回。
在浏览器中能正常识别这种编码,但是后台程序却不能识别,直接输出显示的是\uxx的字符,并未进行转码。
转换方式如下
>>> import json
>>> q = '{"text":"\u4
- Hibernate的总结
永夜-极光
Hibernate
1.hibernate的作用,简化对数据库的编码,使开发人员不必再与复杂的sql语句打交道
做项目大部分都需要用JAVA来链接数据库,比如你要做一个会员注册的 页面,那么 获取到用户填写的 基本信后,你要把这些基本信息存入数据库对应的表中,不用hibernate还有mybatis之类的框架,都不用的话就得用JDBC,也就是JAVA自己的,用这个东西你要写很多的代码,比如保存注册信
- SyntaxError: Non-UTF-8 code starting with '\xc4'
随便小屋
python
刚开始看一下Python语言,传说听强大的,但我感觉还是没Java强吧!
写Hello World的时候就遇到一个问题,在Eclipse中写的,代码如下
'''
Created on 2014年10月27日
@author: Logic
'''
print("Hello World!");
运行结果
SyntaxError: Non-UTF-8
- 学会敬酒礼仪 不做酒席菜鸟
aijuans
菜鸟
俗话说,酒是越喝越厚,但在酒桌上也有很多学问讲究,以下总结了一些酒桌上的你不得不注意的小细节。
细节一:领导相互喝完才轮到自己敬酒。敬酒一定要站起来,双手举杯。
细节二:可以多人敬一人,决不可一人敬多人,除非你是领导。
细节三:自己敬别人,如果不碰杯,自己喝多少可视乎情况而定,比如对方酒量,对方喝酒态度,切不可比对方喝得少,要知道是自己敬人。
细节四:自己敬别人,如果碰杯,一
- 《创新者的基因》读书笔记
aoyouzi
读书笔记《创新者的基因》
创新者的基因
创新者的“基因”,即最具创意的企业家具备的五种“发现技能”:联想,观察,实验,发问,建立人脉。
第一部分破坏性创新,从你开始
第一章破坏性创新者的基因
如何获得启示:
发现以下的因素起到了催化剂的作用:(1) -个挑战现状的问题;(2)对某项技术、某个公司或顾客的观察;(3) -次尝试新鲜事物的经验或实验;(4)与某人进行了一次交谈,为他点醒
- 表单验证技术
百合不是茶
JavaScriptDOM对象String对象事件
js最主要的功能就是验证表单,下面是我对表单验证的一些理解,贴出来与大家交流交流 ,数显我们要知道表单验证需要的技术点, String对象,事件,函数
一:String对象;通常是对字符串的操作;
1,String的属性;
字符串.length;表示该字符串的长度;
var str= "java"
- web.xml配置详解之context-param
bijian1013
javaservletweb.xmlcontext-param
一.格式定义:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>contextConfigLocationValue></param-value>
</context-param>
作用:该元
- Web系统常见编码漏洞(开发工程师知晓)
Bill_chen
sqlPHPWebfckeditor脚本
1.头号大敌:SQL Injection
原因:程序中对用户输入检查不严格,用户可以提交一段数据库查询代码,根据程序返回的结果,
获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。
本质:
对于输入检查不充分,导致SQL语句将用户提交的非法数据当作语句的一部分来执行。
示例:
String query = "SELECT id FROM users
- 【MongoDB学习笔记六】MongoDB修改器
bit1129
mongodb
本文首先介绍下MongoDB的基本的增删改查操作,然后,详细介绍MongoDB提供的修改器,以完成各种各样的文档更新操作 MongoDB的主要操作
show dbs 显示当前用户能看到哪些数据库
use foobar 将数据库切换到foobar
show collections 显示当前数据库有哪些集合
db.people.update,update不带参数,可
- 提高职业素养,做好人生规划
白糖_
人生
培训讲师是成都著名的企业培训讲师,他在讲课中提出的一些观点很新颖,在此我收录了一些分享一下。注:讲师的观点不代表本人的观点,这些东西大家自己揣摩。
1、什么是职业规划:职业规划并不完全代表你到什么阶段要当什么官要拿多少钱,这些都只是梦想。职业规划是清楚的认识自己现在缺什么,这个阶段该学习什么,下个阶段缺什么,又应该怎么去规划学习,这样才算是规划。
- 国外的网站你都到哪边看?
bozch
技术网站国外
学习软件开发技术,如果没有什么英文基础,最好还是看国内的一些技术网站,例如:开源OSchina,csdn,iteye,51cto等等。
个人感觉如果英语基础能力不错的话,可以浏览国外的网站来进行软件技术基础的学习,例如java开发中常用的到的网站有apache.org 里面有apache的很多Projects,springframework.org是spring相关的项目网站,还有几个感觉不错的
- 编程之美-光影切割问题
bylijinnan
编程之美
package a;
public class DisorderCount {
/**《编程之美》“光影切割问题”
* 主要是两个问题:
* 1.数学公式(设定没有三条以上的直线交于同一点):
* 两条直线最多一个交点,将平面分成了4个区域;
* 三条直线最多三个交点,将平面分成了7个区域;
* 可以推出:N条直线 M个交点,区域数为N+M+1。
- 关于Web跨站执行脚本概念
chenbowen00
Web安全跨站执行脚本
跨站脚本攻击(XSS)是web应用程序中最危险和最常见的安全漏洞之一。安全研究人员发现这个漏洞在最受欢迎的网站,包括谷歌、Facebook、亚马逊、PayPal,和许多其他网站。如果你看看bug赏金计划,大多数报告的问题属于 XSS。为了防止跨站脚本攻击,浏览器也有自己的过滤器,但安全研究人员总是想方设法绕过这些过滤器。这个漏洞是通常用于执行cookie窃取、恶意软件传播,会话劫持,恶意重定向。在
- [开源项目与投资]投资开源项目之前需要统计该项目已有的用户数
comsci
开源项目
现在国内和国外,特别是美国那边,突然出现很多开源项目,但是这些项目的用户有多少,有多少忠诚的粉丝,对于投资者来讲,完全是一个未知数,那么要投资开源项目,我们投资者必须准确无误的知道该项目的全部情况,包括项目发起人的情况,项目的维持时间..项目的技术水平,项目的参与者的势力,项目投入产出的效益.....
- oracle alert log file(告警日志文件)
daizj
oracle告警日志文件alert log file
The alert log is a chronological log of messages and errors, and includes the following items:
All internal errors (ORA-00600), block corruption errors (ORA-01578), and deadlock errors (ORA-00060)
- 关于 CAS SSO 文章声明
denger
SSO
由于几年前写了几篇 CAS 系列的文章,之后陆续有人参照文章去实现,可都遇到了各种问题,同时经常或多或少的收到不少人的求助。现在这时特此说明几点:
1. 那些文章发表于好几年前了,CAS 已经更新几个很多版本了,由于近年已经没有做该领域方面的事情,所有文章也没有持续更新。
2. 文章只是提供思路,尽管 CAS 版本已经发生变化,但原理和流程仍然一致。最重要的是明白原理,然后
- 初二上学期难记单词
dcj3sjt126com
englishword
lesson 课
traffic 交通
matter 要紧;事物
happy 快乐的,幸福的
second 第二的
idea 主意;想法;意见
mean 意味着
important 重要的,重大的
never 从来,决不
afraid 害怕 的
fifth 第五的
hometown 故乡,家乡
discuss 讨论;议论
east 东方的
agree 同意;赞成
bo
- uicollectionview 纯代码布局, 添加头部视图
dcj3sjt126com
Collection
#import <UIKit/UIKit.h>
@interface myHeadView : UICollectionReusableView
{
UILabel *TitleLable;
}
-(void)setTextTitle;
@end
#import "myHeadView.h"
@implementation m
- N 位随机数字串的 JAVA 生成实现
FX夜归人
javaMath随机数Random
/**
* 功能描述 随机数工具类<br />
* @author FengXueYeGuiRen
* 创建时间 2014-7-25<br />
*/
public class RandomUtil {
// 随机数生成器
private static java.util.Random random = new java.util.R
- Ehcache(09)——缓存Web页面
234390216
ehcache页面缓存
页面缓存
目录
1 SimplePageCachingFilter
1.1 calculateKey
1.2 可配置的初始化参数
1.2.1 cach
- spring中少用的注解@primary解析
jackyrong
primary
这次看下spring中少见的注解@primary注解,例子
@Component
public class MetalSinger implements Singer{
@Override
public String sing(String lyrics) {
return "I am singing with DIO voice
- Java几款性能分析工具的对比
lbwahoo
java
Java几款性能分析工具的对比
摘自:http://my.oschina.net/liux/blog/51800
在给客户的应用程序维护的过程中,我注意到在高负载下的一些性能问题。理论上,增加对应用程序的负载会使性能等比率的下降。然而,我认为性能下降的比率远远高于负载的增加。我也发现,性能可以通过改变应用程序的逻辑来提升,甚至达到极限。为了更详细的了解这一点,我们需要做一些性能
- JVM参数配置大全
nickys
jvm应用服务器
JVM参数配置大全
/usr/local/jdk/bin/java -Dresin.home=/usr/local/resin -server -Xms1800M -Xmx1800M -Xmn300M -Xss512K -XX:PermSize=300M -XX:MaxPermSize=300M -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=5 -
- 搭建 CentOS 6 服务器(14) - squid、Varnish
rensanning
varnish
(一)squid
安装
# yum install httpd-tools -y
# htpasswd -c -b /etc/squid/passwords squiduser 123456
# yum install squid -y
设置
# cp /etc/squid/squid.conf /etc/squid/squid.conf.bak
# vi /etc/
- Spring缓存注解@Cache使用
tom_seed
spring
参考资料
http://www.ibm.com/developerworks/cn/opensource/os-cn-spring-cache/
http://swiftlet.net/archives/774
缓存注解有以下三个:
@Cacheable @CacheEvict @CachePut
- dom4j解析XML时出现"java.lang.noclassdeffounderror: org/jaxen/jaxenexception"错误
xp9802
java.lang.NoClassDefFoundError: org/jaxen/JaxenExc
关键字: java.lang.noclassdeffounderror: org/jaxen/jaxenexception
使用dom4j解析XML时,要快速获取某个节点的数据,使用XPath是个不错的方法,dom4j的快速手册里也建议使用这种方式
执行时却抛出以下异常:
Exceptio