- Windows逆向工程入门之堆栈结构与信息获取
0xCC说逆向
windows汇编c语言c++逆向安全
公开视频->链接点击跳转公开课程博客首页->链接点击跳转博客主页目录1.堆栈结构基础堆栈的主要操作:2.代码功能解析2.1加载ntdll.dll2.2获取NtQueryInformationThread函数指针2.3调用NtQueryInformationThread获取线程信息2.4获取线程环境块(TEB)2.5输出堆栈信息3.涉及的知识点拓展3.1线程环境块(TEB)3.2堆栈溢出与保护3.3
- ret2libc 题型详解
bae-唯一
PWN网络安全ret2libc
1.攻击背景与原理当程序启用NX(No-eXecute)保护时,栈、堆等内存区域不可执行,传统的shellcode注入失效。此时,攻击者可通过覆盖返回地址,跳转到程序本身或动态库(如libc)中的已有函数(如system、execve),实现攻击。核心思路:通过栈溢出覆盖返回地址,使其跳转到libc中的函数(如system)并传递参数(如/bin/sh)。2.PLT和GOT的作用PLT(Proce
- 【C语言】解决C语言报错:Segmentation Fault
E绵绵
Everythingc语言开发语言
文章目录简介什么是SegmentationFaultSegmentationFault的常见原因如何检测和调试SegmentationFault解决SegmentationFault的最佳实践详细实例解析示例1:未初始化指针示例2:数组越界示例3:使用已释放的内存示例4:递归导致栈溢出进一步阅读和参考资料总结简介SegmentationFault(段错误)是C语言中最常见的运行时错误之一,通常在程
- 解决注入线程池的栈溢出问题
S-X-S
Bugjava前端开发语言
文章目录1.问题产生2.问题解决1.问题产生在使用sleuth的时候,需要注入线程池,他才会自动包装,实现traceId的传递,但是突然启动时出现了栈溢出的问题2.问题解决根据报错,发现是Gson序列化相关的问题,因为之前也出过类似的问题,所以就直接找到了日志切面的位置。先把日志切面关闭,后来就没问题了。这个切面的范围太大,直接对controller包和service包里面的类进行出参和入参的序列
- C语言:函数递归
南玖yy
c语言开发语言
一,基本概念函数递归指的是在一个函数的定义中使用该函数自身的编程技巧。也就是说,一个函数会直接或间接地调用自己。递归通常包含两个关键部分:递归基(终止条件):这是递归结束的条件。如果没有终止条件,函数会一直调用自己,最终导致栈溢出错误。终止条件用于确保递归能够在满足特定条件时停止,返回一个确定的结果。递归步骤:函数通过调用自身来解决规模更小的子问题,逐步向终止条件靠近。递归的工作原理当一个函数调用
- 老程序员的感慨
workflower
讲闲话人工智能
三十年前,我第一次在绿底黑字的终端机上看到'HelloWorld'闪烁时,心跳得比收到情书还快。那些年我们用十六进制与机器对话,在堆栈溢出前背诵内存地址,把咖啡渍滴落在泛黄的《算法导论》扉页上。记得为优化三行汇编代码熬到晨光熹微,机房空调的嗡鸣里,年轻的眼睛亮得能烧穿夜幕。如今IDE自动补全了所有思念,云服务吞噬了服务器轰鸣的心跳。抽屉深处藏着VB6的光盘、Delphi的破解狗,还有那本被翻烂的T
- stm32内存溢出怎么办
嵌入式小强工作室
stm32java嵌入式硬件
STM32内存溢出是一个常见的问题,可能由多种原因引起,如数组定义过大、函数调用层级过深、堆栈空间不足等。针对这个问题,可以采取以下几种解决方法:一、增加堆栈大小堆栈溢出通常是由于堆栈空间不足以容纳函数调用和局部变量的信息。因此,增加堆栈大小是一种有效的解决方法。在STM32的工程中,可以通过修改链接脚本文件(.ld文件)中的堆栈大小参数来增加堆栈空间。通常,堆栈大小设置为RAM的一小部分,但需要
- Redis CVE-2022-24834 复现
hicode0101
redis数据库缓存
(CVE-2022-24834)在Redis中执行的特制Lua脚本可能会触发cjson和cmsgpack库中的堆溢出,并导致堆损坏和潜在的远程代码执行。从2.6开始,所有支持Lua脚本的Redis版本都存在该问题,并且仅影响经过认证和授权的用户。GitHub-convisolabs/CVE-2022-24834Contributetoconvisolabs/CVE-2022-24834develo
- 【c++基础概念深度理解——堆和栈的区别,并实现堆溢出和栈溢出】
XWWW668899
C++基本概念c++c语言开发语言青少年编程
文章目录概要技术名词解释栈溢出和堆溢出小结概要学习C++语言,避免不了要好好理解一下堆(Heap)和栈(Stack),有助于更好地管理内存,以及如何写出一段程序“成功实现”堆溢出和栈溢出。技术名词解释理解东西最快的方式是根据自己目前能理解的词语去关联新的概念,不断的纠正,向正确的深度理解靠近,当无限接近的时候也就理解了想要理解的概念。我们经常说堆栈,把这两个名词放到一起。其实,堆是堆,栈是栈,两种
- hackcon ctf 2018 | pwn wp
fantasy_learner
BOF漏洞点:栈溢出利用过程栈溢出跳转callMeMaybe函数获得flagexpSheSellsSeaShells90流程分析:给出了输入的栈地址有一个栈溢出点没有nx利用过程:根据以上三点,得出可以使用ret2shellcode使用shellcraft生成shellcode利用栈溢出,输入并跳转到shellcodeexpSimpleYetElegent150这道题目做了最久,卡在了能否根据_d
- 每日一题 day 08
lhsnhs
蓝桥杯职场和发展
1>递归次数过多,栈溢出emmclassSolution{publicdoublemyPow(doublex,intn){doubleans=1.0;if(n使用快速幂
- 单片机开发过程中经常会遇到什么问题?
好好学习的不知名程序员
学习单片机
开发过程中经常遇到的问题包括数值异常、动作异常以及程序崩溃等。具体如下:1.数值异常问题及其解决方法数组越界:数组越界是一种常见的问题,当数组的索引超出了其实际范围时,可能会导致相邻变量的值被错误地修改。解决这类问题通常需要结合内存映射文件(map文件),通过分析map文件找到可能的不安全代码,并将其修正为安全代码。例如,确保对数组的访问都在有效的索引范围内。栈溢出:栈溢出也是数值异常的一个典型例
- classA cla= ...; if(&cla == nullptr) 这种写法是否安全
kfhj
c++
在C++中,classAcla=…;这行代码创建了一个名为cla的classA类型的对象(假设classA是一个已经定义好的类)。这个对象cla是在栈上分配的,而不是在堆上。因此,&cla(即cla的地址)永远不会是nullptr。在C++中,栈上分配的对象(如局部变量)的地址总是有效的,除非程序遇到了未定义行为(比如栈溢出等极端情况,但这通常不是由正常编程引起的)。因此,if(&cla==nul
- 堆栈溢出的原因
木小同
面试jvmjava内存溢出jvm优化内存泄漏
堆和栈在JVM内存模型中,存在这样几个内存结构,主要是堆和栈。堆:JVM运行中产生变量的实际存储地址栈:每一个线程都会对应一个方法栈,主要存储线程运行时声明的变量,栈的大小取决去这个线程运行的深度堆溢出当创建对象时,没有足够的可用空间,则会发生堆溢出。java.lang.OutOfMemoryError:Javaheapspace堆内存空间不足,一种是真的不够,还有一种是发生了死循环,对象一直在创
- c和JAVA的安全编码_C、C++ 和 Java安全编码实践提示与技巧
humphry huang
c和JAVA的安全编码
文/GwynFisher对于所有类型环境中的开发人员来说,安全性正成为一个越来越重要的主题,即便过去一直认为安全性不成问题的嵌入式系统也是如此。本文将介绍几种类型的编码漏洞,指出漏洞是什么、如何降低代码被攻击的风险、如何更好地找出代码中的此类缺陷。注入攻击通过将信息注入正在运行的流程,攻击者可以危害进程的运行状态,以反射到开发人员无法保护的某种最终目标。例如,攻击者可能会通过堆栈溢出(stackc
- vue 循环 递归组件_vue2 递归组件--树形
weixin_39650091
vue循环递归组件
递归组件,官方给的教程太简便了,根本看不出到底怎么用。于是自己查网摸索了一下,这儿只把核心思想写出来。效果如下图,点击后打开二级菜单,再点击后打开三级。//js//引子//思想:当v-if=‘false’时,循环时进行的。所以一开始就设置为false。ggg:{name:'gs',template:`我是p标签//这儿show必须要初始值为false,不然就是堆栈溢出,死循环。//这个是循环组件。
- 深入剖析二进制漏洞:原理、类型与利用方法
天域网络科技
安全网络web安全
目录引言1.1二进制漏洞简介1.2二进制漏洞的常见类型1.3二进制漏洞在CTF中的重要性缓冲区溢出2.1缓冲区溢出的基本原理2.2栈溢出攻击2.2.1EIP覆盖与ROP攻击2.2.2栈溢出的防御机制2.3堆溢出攻击2.3.1堆管理机制与漏洞利用2.3.2堆溢出的利用技巧格式化字符串漏洞3.1格式化字符串漏洞的原理3.2漏洞利用:信息泄露与任意写3.3格式化字符串漏洞的防御措施整数溢出4.1整数溢出
- 深度剖析Java内存溢出:从堆到栈的全面解析
九转成圣
Java高频面试栏开发语言java后端jvm
Java内存溢出是指在Java程序运行过程中,超出JVM分配的内存范围,导致内存不足的异常情况。本文将深入探讨Java内存溢出的各种类型,包括堆溢出、栈溢出、运行时常量池溢出、元空间溢出、直接内存溢出等,并提供详细的示例代码和技术解析。一、堆溢出(HeapOverflow)堆内存用于存储对象实例和数组。当持续创建新对象且无法及时回收内存时,会导致堆内存溢出。示例代码://设置JVM参数:-Xms2
- C语言高手参考手册:函数进阶技巧
极客代码
玩转C语言开发语言c语言
[大师C语言]合集[大师C语言(第一篇)]C语言栈溢出背后的秘密[大师C语言(第二十五篇)]C语言字符串探秘[大师C语言(第二篇)]C语言main函数背后的秘密[大师C语言(第二十六篇)]C语言结构体探秘[大师C语言(第三篇)]C语言函数参数背后的秘密[大师C语言(第二十七篇)]C语言联合体探秘[大师C语言(第四篇)]C语言段错误原理研究[大师C语言(第二十八篇)]C语言宏探秘[大师C语言(第五篇
- 堆溢出 Use After Free(UAF)
无极921
网络安全网络安全web安全ctf
在CTF(CaptureTheFlag)竞赛中,UseAfterFree(UAF)是一种常见的内存安全漏洞,它发生在程序对已经释放的内存进行访问或操作的时候。这种漏洞通常源于程序设计或实现中的错误,特别是当程序未能正确跟踪内存块的分配和释放状态时。下面详细解释UAF漏洞及其在CTF竞赛中的利用方式。UAF漏洞原理当一个内存块被释放后,它应该被标记为不可用,直到再次被分配。然而,如果程序在内存被释放
- 安恒杯2018-pwn-over
Sadmess
framefaking正如这个技巧名字所说的那样,这个技巧就是构造一个虚假的栈帧来控制程序的执行流。原理概括地讲,我们在之前讲的栈溢出不外乎两种方式控制程序EIP控制程序EBP其最终都是控制程序的执行流。在framefaking中,我们所利用的技巧便是同时控制EBP与EIP,这样我们在控制程序执行流的同时,也改变程序栈帧的位置。一般来说其payload如下bufferpadding|fakeebp
- 【LeetCode+JavaGuide打卡】Day14|144.二叉树的前序遍历、145.二叉树的后序遍历、94.二叉树的中序遍历
WhoAmI\
leetcode算法职场和发展
学习目标:144.二叉树的前序遍历145.二叉树的后序遍历94.二叉树的中序遍历学习内容:递归遍历文章讲解确定递归函数的参数和返回值:确定哪些参数是递归的过程中需要处理的,那么就在递归函数里加上这个参数,并且还要明确每次递归的返回值是什么进而确定递归函数的返回类型。确定终止条件:写完了递归算法,运行的时候,经常会遇到栈溢出的错误,就是没写终止条件或者终止条件写的不对,操作系统也是用一个栈的结构来保
- 父子树形结构(Stream+Lambda)
A尘埃
树形结构StreamLambda
两个类似的需求:返回组装好的部门树、返回组装好的地区信息树,最终都需要返回List集合对象给前端。一般来说完成这样的需求大多数人会想到递归,但递归的方式弊端过于明显:方法多次自调用效率很低、数据量大容易导致堆栈溢出、随着树深度的增加其时间复杂度会呈指数级增加等。一次数据库查询全部数据(几万条),其它全是内存操作、性能高;同时熟练使用stream流操作、Lambda表达式、Java地址引用,完成组装
- QWB-2018-core | 栈溢出
goodcat666
pwn_cve_kernellinuxpwn
题目分析core_writesigned__int64__fastcallcore_write(__int64a1,__int64a2,unsigned__int64a3){unsigned__int64v3;//rbxv3=a3;printk(&unk_215);if(v363){printk(&unk_2A1);result=0xFFFFFFFFLL;}else{result=0LL;qmem
- 嵌入式软件工程师面试题(八)
嵌入式基地
牛客网嵌入式刷题专栏面试嵌入式面试面试题单片机can
✅作者简介:大家好我是:嵌入式基地,是一名嵌入式工程师,希望一起努力,一起进步!个人主页:嵌入式基地系列专栏:嵌入式习题专栏微信公众号:嵌入式基地嵌入式软件工程师面试题(八)1、在FreeRTOS中,任务通知的运行机制是怎么样的?2、什么情况下会栈溢出?如何避免?3、深复制和浅复制的区别?4、从一个源文件到可执行文件的过程?5、简述一下快速排序的步骤6、头文件的两种包含方式的区别,与""区别点击查
- pwn学习笔记(3)ret2syscall
晓幂
学习笔记
pwn学习笔记(3)ROP原理:ROP(ReturnOrientedProgramming)返回导向编程,主要思想是通过在程序中已有的小片段(gadgets)来改变某些寄存器或者变量的值,从而控制程序的执行流程。栈溢出–ret2syscall:1.系统调用:对于一个已经存在于标准库中的函数,例如printf(),我们编写某个程序的时候,这个函数仅仅只用了printf(参数);这么一行,但是,其工作
- ndk-stack使用及符号表还原
神迹12
在android开发中,对于native产生的异常,很可能会产生闪退。对于ndk和native(c、c++)开发中,指针和内存管理是最重要也是最容易出问题的地方,稍有不慎就会遇到诸如内存地址访问错误、野针对、内存泄露、堆栈溢出、初始化错误、类型转换错误、数字除0等常见的问题。AndroidNDK安装包中提供了三个调试工具:addr2line、objdump和ndk-stack可用于native异常
- 复习leetcode第二百三十一题:2的幂(C语言)
一个不知名程序员www
leetcode
注:本题不是必须使用递归的方法来求解的,同时,2的幂也可以用pow函数来代替;但笔者在此讲解会是在不用pow函数情况下,使用递归的方式本题使用递归时,首先考虑的是如何实现2的幂数,笔者在这边又再题目给的函数基础上,又自定义了一个长整型函数mi(这边的返回类型必须是longint,否则使用递归以后会由于返回值超过int字节大小的范围,出现栈溢出),然后在该函数中实现与pow函数相同功能的函数。lon
- 代码随想录算法训练营第十四天|二叉树的递归遍历、二叉树的迭代遍历
前端花卷
代码随想录算法训练营算法数据结构javascript
二叉树的理论基础参考资料(代码随想录)二叉树的递归遍历参考资料(代码随想录)思路递归算法的三个要素:确定递归函数的参数和返回值:确定哪些参数是递归的过程中需要处理的,那么就在递归函数里加上这个参数,并且还要明确每次递归的返回值是什么进而确定递归函数的返回类型。确定终止条件:写完了递归算法,运行的时候,经常会遇到栈溢出的错误,就是没写终止条件或者终止条件写的不对,操作系统也是用一个栈的结构来保存每一
- vue导航前置守卫
ZOE^V1
vue
堆栈溢出不知道为什么routers.beforeEach(async(to,from,next)=>{console.log('to',to)console.log('from',from)console.log('next',next)varuserinfo=store.state.user.userinfoconsole.log(userinfo.name)//----------------
- PHP如何实现二维数组排序?
IT独行者
二维数组PHP排序
二维数组在PHP开发中经常遇到,但是他的排序就不如一维数组那样用内置函数来的方便了,(一维数组排序可以参考本站另一篇文章【PHP中数组排序函数详解汇总】)。二维数组的排序需要我们自己写函数处理了,这里UncleToo给大家分享一个PHP二维数组排序的函数:
代码:
functionarray_sort($arr,$keys,$type='asc'){
$keysvalue= $new_arr
- 【Hadoop十七】HDFS HA配置
bit1129
hadoop
基于Zookeeper的HDFS HA配置主要涉及两个文件,core-site和hdfs-site.xml。
测试环境有三台
hadoop.master
hadoop.slave1
hadoop.slave2
hadoop.master包含的组件NameNode, JournalNode, Zookeeper,DFSZKFailoverController
- 由wsdl生成的java vo类不适合做普通java vo
darrenzhu
VOwsdlwebservicerpc
开发java webservice项目时,如果我们通过SOAP协议来输入输出,我们会利用工具从wsdl文件生成webservice的client端类,但是这里面生成的java data model类却不适合做为项目中的普通java vo类来使用,当然有一中情况例外,如果这个自动生成的类里面的properties都是基本数据类型,就没问题,但是如果有集合类,就不行。原因如下:
1)使用了集合如Li
- JAVA海量数据处理之二(BitMap)
周凡杨
java算法bitmapbitset数据
路漫漫其修远兮,吾将上下而求索。想要更快,就要深入挖掘 JAVA 基础的数据结构,从来分析出所编写的 JAVA 代码为什么把内存耗尽,思考有什么办法可以节省内存呢? 啊哈!算法。这里采用了 BitMap 思想。
首先来看一个实验:
指定 VM 参数大小: -Xms256m -Xmx540m
- java类型与数据库类型
g21121
java
很多时候我们用hibernate的时候往往并不是十分关心数据库类型和java类型的对应关心,因为大多数hbm文件是自动生成的,但有些时候诸如:数据库设计、没有生成工具、使用原始JDBC、使用mybatis(ibatIS)等等情况,就会手动的去对应数据库与java的数据类型关心,当然比较简单的数据类型即使配置错了也会很快发现问题,但有些数据类型却并不是十分常见,这就给程序员带来了很多麻烦。
&nb
- Linux命令
510888780
linux命令
系统信息
arch 显示机器的处理器架构(1)
uname -m 显示机器的处理器架构(2)
uname -r 显示正在使用的内核版本
dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)
hdparm -i /dev/hda 罗列一个磁盘的架构特性
hdparm -tT /dev/sda 在磁盘上执行测试性读取操作
cat /proc/cpuinfo 显示C
- java常用JVM参数
墙头上一根草
javajvm参数
-Xms:初始堆大小,默认为物理内存的1/64(<1GB);默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制
-Xmx:最大堆大小,默认(MaxHeapFreeRatio参数可以调整)空余堆内存大于70%时,JVM会减少堆直到 -Xms的最小限制
-Xmn:新生代的内存空间大小,注意:此处的大小是(eden+ 2
- 我的spring学习笔记9-Spring使用工厂方法实例化Bean的注意点
aijuans
Spring 3
方法一:
<bean id="musicBox" class="onlyfun.caterpillar.factory.MusicBoxFactory"
factory-method="createMusicBoxStatic"></bean>
方法二:
- mysql查询性能优化之二
annan211
UNIONmysql查询优化索引优化
1 union的限制
有时mysql无法将限制条件从外层下推到内层,这使得原本能够限制部分返回结果的条件无法应用到内层
查询的优化上。
如果希望union的各个子句能够根据limit只取部分结果集,或者希望能够先排好序在
合并结果集的话,就需要在union的各个子句中分别使用这些子句。
例如 想将两个子查询结果联合起来,然后再取前20条记录,那么mys
- 数据的备份与恢复
百合不是茶
oraclesql数据恢复数据备份
数据的备份与恢复的方式有: 表,方案 ,数据库;
数据的备份:
导出到的常见命令;
参数 说明
USERID 确定执行导出实用程序的用户名和口令
BUFFER 确定导出数据时所使用的缓冲区大小,其大小用字节表示
FILE 指定导出的二进制文
- 线程组
bijian1013
java多线程threadjava多线程线程组
有些程序包含了相当数量的线程。这时,如果按照线程的功能将他们分成不同的类别将很有用。
线程组可以用来同时对一组线程进行操作。
创建线程组:ThreadGroup g = new ThreadGroup(groupName);
&nbs
- top命令找到占用CPU最高的java线程
bijian1013
javalinuxtop
上次分析系统中占用CPU高的问题,得到一些使用Java自身调试工具的经验,与大家分享。 (1)使用top命令找出占用cpu最高的JAVA进程PID:28174 (2)如下命令找出占用cpu最高的线程
top -Hp 28174 -d 1 -n 1
32694 root 20 0 3249m 2.0g 11m S 2 6.4 3:31.12 java
- 【持久化框架MyBatis3四】MyBatis3一对一关联查询
bit1129
Mybatis3
当两个实体具有1对1的对应关系时,可以使用One-To-One的进行映射关联查询
One-To-One示例数据
以学生表Student和地址信息表为例,每个学生都有都有1个唯一的地址(现实中,这种对应关系是不合适的,因为人和地址是多对一的关系),这里只是演示目的
学生表
CREATE TABLE STUDENTS
(
- C/C++图片或文件的读写
bitcarter
写图片
先看代码:
/*strTmpResult是文件或图片字符串
* filePath文件需要写入的地址或路径
*/
int writeFile(std::string &strTmpResult,std::string &filePath)
{
int i,len = strTmpResult.length();
unsigned cha
- nginx自定义指定加载配置
ronin47
进入 /usr/local/nginx/conf/include 目录,创建 nginx.node.conf 文件,在里面输入如下代码:
upstream nodejs {
server 127.0.0.1:3000;
#server 127.0.0.1:3001;
keepalive 64;
}
server {
liste
- java-71-数值的整数次方.实现函数double Power(double base, int exponent),求base的exponent次方
bylijinnan
double
public class Power {
/**
*Q71-数值的整数次方
*实现函数double Power(double base, int exponent),求base的exponent次方。不需要考虑溢出。
*/
private static boolean InvalidInput=false;
public static void main(
- Android四大组件的理解
Cb123456
android四大组件的理解
分享一下,今天在Android开发文档-开发者指南中看到的:
App components are the essential building blocks of an Android
- [宇宙与计算]涡旋场计算与拓扑分析
comsci
计算
怎么阐述我这个理论呢? 。。。。。。。。。
首先: 宇宙是一个非线性的拓扑结构与涡旋轨道时空的统一体。。。。
我们要在宇宙中寻找到一个适合人类居住的行星,时间非常重要,早一个刻度和晚一个刻度,这颗行星的
- 同一个Tomcat不同Web应用之间共享会话Session
cwqcwqmax9
session
实现两个WEB之间通过session 共享数据
查看tomcat 关于 HTTP Connector 中有个emptySessionPath 其解释如下:
If set to true, all paths for session cookies will be set to /. This can be useful for portlet specification impleme
- springmvc Spring3 MVC,ajax,乱码
dashuaifu
springjquerymvcAjax
springmvc Spring3 MVC @ResponseBody返回,jquery ajax调用中文乱码问题解决
Spring3.0 MVC @ResponseBody 的作用是把返回值直接写到HTTP response body里。具体实现AnnotationMethodHandlerAdapter类handleResponseBody方法,具体实
- 搭建WAMP环境
dcj3sjt126com
wamp
这里先解释一下WAMP是什么意思。W:windows,A:Apache,M:MYSQL,P:PHP。也就是说本文说明的是在windows系统下搭建以apache做服务器、MYSQL为数据库的PHP开发环境。
工欲善其事,必须先利其器。因为笔者的系统是WinXP,所以下文指的系统均为此系统。笔者所使用的Apache版本为apache_2.2.11-
- yii2 使用raw http request
dcj3sjt126com
http
Parses a raw HTTP request using yii\helpers\Json::decode()
To enable parsing for JSON requests you can configure yii\web\Request::$parsers using this class:
'request' =&g
- Quartz-1.8.6 理论部分
eksliang
quartz
转载请出自出处:http://eksliang.iteye.com/blog/2207691 一.概述
基于Quartz-1.8.6进行学习,因为Quartz2.0以后的API发生的非常大的变化,统一采用了build模式进行构建;
什么是quartz?
答:简单的说他是一个开源的java作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。并且还能和Sp
- 什么是POJO?
gupeng_ie
javaPOJO框架Hibernate
POJO--Plain Old Java Objects(简单的java对象)
POJO是一个简单的、正规Java对象,它不包含业务逻辑处理或持久化逻辑等,也不是JavaBean、EntityBean等,不具有任何特殊角色和不继承或不实现任何其它Java框架的类或接口。
POJO对象有时也被称为Data对象,大量应用于表现现实中的对象。如果项目中使用了Hiber
- jQuery网站顶部定时折叠广告
ini
JavaScripthtmljqueryWebcss
效果体验:http://hovertree.com/texiao/jquery/4.htmHTML文件代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>网页顶部定时收起广告jQuery特效 - HoverTree<
- Spring boot内嵌的tomcat启动失败
kane_xie
spring boot
根据这篇guide创建了一个简单的spring boot应用,能运行且成功的访问。但移植到现有项目(基于hbase)中的时候,却报出以下错误:
SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.Lif
- leetcode: sort list
michelle_0916
Algorithmlinked listsort
Sort a linked list in O(n log n) time using constant space complexity.
====analysis=======
mergeSort for singly-linked list
====code======= /**
* Definition for sin
- nginx的安装与配置,中途遇到问题的解决
qifeifei
nginx
我使用的是ubuntu13.04系统,在安装nginx的时候遇到如下几个问题,然后找思路解决的,nginx 的下载与安装
wget http://nginx.org/download/nginx-1.0.11.tar.gz
tar zxvf nginx-1.0.11.tar.gz
./configure
make
make install
安装的时候出现
- 用枚举来处理java自定义异常
tcrct
javaenumexception
在系统开发过程中,总少不免要自己处理一些异常信息,然后将异常信息变成友好的提示返回到客户端的这样一个过程,之前都是new一个自定义的异常,当然这个所谓的自定义异常也是继承RuntimeException的,但这样往往会造成异常信息说明不一致的情况,所以就想到了用枚举来解决的办法。
1,先创建一个接口,里面有两个方法,一个是getCode, 一个是getMessage
public
- erlang supervisor分析
wudixiaotie
erlang
当我们给supervisor指定需要创建的子进程的时候,会指定M,F,A,如果是simple_one_for_one的策略的话,启动子进程的方式是supervisor:start_child(SupName, OtherArgs),这种方式可以根据调用者的需求传不同的参数给需要启动的子进程的方法。和最初的参数合并成一个数组,A ++ OtherArgs。那么这个时候就有个问题了,既然参数不一致,那