自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

原创 mysql学习之行锁,表锁,悲观锁,乐观锁

注:这里讲的都是InnoDBInnoDB存储引擎实现两种行锁:共享锁(S LOCK),即事物可以读取数据排他锁(X LOCK),允许事物删除或者更新数据表锁:悲观锁:一般为表级锁,比如事物中,select  *from tab_xxx for update但是当有条件时,select  *from tab_xxx where name="test" for update...

2019-01-30 00:08:00 240

转载 Java命名规范学习(也适用于其他语言)

说明:此文主要摘自《阿里巴巴java开发手册》,由于笔者平时部分遵循了里面的编程规约,觉得非常有道理,故摘取部分如下:1、程序中方法名、参数、成员变量、局部变量统一使用lowerCamelCase风格,即小驼峰模式举例:String getUserInfo(int userId){String userName = getUserNameByUserId(userId);}...

2018-11-28 23:22:00 242

原创 java工程中log的使用小结

以下内容为本人工作经验,及读《码出高效-java开发手册》的精炼总结,自己踩得坑都在该书有提及log日志在软件项目中的使用非常普遍,它主要具有以下几个作用1、记录程序运行的流程,即程序运行了哪些代码2、打印调试,即可以用日志来记录变量或者某一段逻辑3、在高并发环境下,还可以记录流量,后期可以通过ELK(包括EFK进行流量统计)4、程序出异常或者出故障时快速的定位问题,方便后期解...

2018-11-17 20:29:06 2198

原创 Elipse打开时显示JVM terminated Exit code==2 解决

最近Eclipse打开老是报terminated Exit code==2 错误,同时java -version看不到版本号 ,知道是安装jdk1.8版本引起的问题(我电脑上同时装了1.6,1.7,1.8)PS:由于问题发生时本机未截图,此Eclipse报错图为网上搜索类似错误而来于是按照以往的成功解决经验,把path的值里面的“%JAVA_HOME%/bin;%JAVA_HOME%/jre/bi...

2018-05-05 23:22:14 1345

原创 Mybatis 动态切换数据源

当数据库中采用了分库的策略(即数据库中有多个数据库),Mybatis查询时,一定要切换数据库,否则就会报Cannot determine target DataSource for lookup key [null] 错误,即找不到对应的数据库附上切换数据库的类public class DBContextHolder { private static final ThreadLocal<St...

2018-04-21 18:40:56 954

原创 将博客搬至CSDN

很久没有写博客了,相当初信誓旦旦的计划定期写博客,但是后面由于工作变动等原因,博客中断了多年 但是心中一直认同要写博客进行分享的,也一直认同自己明白不算明白,要给别人讲明白才是真明白的道理 今天无意间又在看雪上看到仙果的一句话“不仅需要自己学,还要讲给别人听”,深受触动,这不就是我内心的初衷吗?一直认为自己工作忙,没时间写,怎样怎样,其实自己也很清楚,随便有意抽点时间,也能写出一篇博文 博客

2017-06-25 20:58:02 281

原创 复习C语言 位运算

0x01:按位与(&) 作用: 1)清零。如果想让一个单元清零,即使其全部二进制位为0 2)取一个数中某些指定位。即将想要的那些位置1. 例:如有一个整数a(2个字节),想要其中的低字节,只需将a与(377,8进制 == 00000000 11111111)按位与即可。 3)要想将哪一位保留下来,就与一个数&运算,此数在该位取1. 0x02:按位或(|) 作用: 常用来对一个数据的

2017-06-25 20:57:58 403

原创 C++ 类的大小计算

class A{};class B{ char ch; virtual void func0()  {  }};class C{ char ch1; char ch2; virtual void func()  {  } virtual void func1()  {  }};class D : public A, public C{ int d; vir

2017-06-25 20:57:54 315

原创 一个字符串,不用循环,不用库函数,求长度

/*法一:传入长度做参数*/int strlen_x(const char * pstr,int &len){ char * pTemp = (char*)pstr; if (*pstr == '\0') return len; len++; pTemp = pTemp++; return strlen_x(pTemp, len);}/*法二不传入长度参数h

2017-06-25 20:57:49 2157 1

原创 DllMain使用的注意事项

https://msdn.microsoft.com/en-us/library/windows/desktop/dn633971(v=vs.85).aspx

2017-06-25 20:57:45 1117

原创 读<<IDA pro权威指南>>之动态计算目标地址

> p348页,另一种技巧常用于面向Windows的恶意软件中,它配置一个异常处理程序,并有意触发一个异常,然后在处理异常时操纵进程的寄存器状态。 下面的例子被tElock反逆向工程工具用于隐藏程序的真实控制流。 00535FC2    E8 00000000     call    00535FC700535FC7    5D              pop     ebp       

2017-06-25 20:57:42 490

原创 C++ new 关键字的 "new" 学习

以前动态申请内存,申请完后,总要判断指针是否为空,比如 const unsigned int iSize = 1024*1024*1024*1.8;char *p = new char[iSize];if(!p){  return ; //异常处理} 一直觉得这样没什么问题(现在想来,真是后怕),今天突然在Effective C++ 上看到,这样写是有大问题的。(当然,malloc/

2017-06-25 20:57:37 432

原创 LINUX总结第13篇:LINUX下动态库及版本号控制

前言 针对同一动态组件的不同版本链接和加载。 一、概念                   DLL HELL字面意思是DLL"灾难",是由于com组件(动态库)升级引起的程序不能运行的情况。         原因          有三种可能的原因导致了DLL Hell的发生:                 一是由使用旧版本的DLL替代原来一个新版本的DLL而引起的。这个原因最普遍,是W

2017-06-25 20:57:33 603

原创 win32汇编 INVOKE 和 call区别

INVOKE 的语法如下: INVOKE expression [,arguments] expression 既可以是一个函数名也可以是一个函数指针。参数由逗号隔开。 INVOKE是编译器支持的伪指令,会检查参数.   CALL会直接去栈里取参.   INVOKE最后也会变成 PUSH PUSH ... CALL 的形式 所以

2017-06-25 20:57:29 726

原创 C下链表的实现

第一版(单向有类型): //author:Yuqingmu//当不能用STL时,自己实现一个无类别链表#include "MemLeak_Check.h"#include "stdafx.h"#include typedef struct Node{ int nValue; Node *next;}NODE,*pNODE;int PushDataToList(NOD

2017-06-25 20:57:25 353

原创 Linux 下GDB的使用之简单入门

Linux 下程序崩溃。先要生成Core文件方可调试(这里Test为被调试程序) 1.查看Core文件(相当于Windows下的dump)大小,如果为0,则不会生成core文件 ulimit -c 查看core文件大小 ulimit -c filesize 设置大小为filesize  ulimit -c unlimited 设置core大小为无限制 2.启动被调试程

2017-06-25 20:57:21 328

原创 读0day第三章开发shellcode艺术Jmp esp

环境:XP sp2 中文版 老规矩,上代码 (代码来自0day2电子资料->02栈溢出原理与实践->2_4_overflow_code_exec.c) /***************************************************************************** To be the apostrophe which chan

2017-06-25 20:57:17 529

原创 Python 文件重命名的小工具

# -*- coding: utf-8 -*- #python3.3import osimport traceback

2017-06-25 20:57:13 501

原创 Python中字典的学习

#字典是由多个键及其对应的值构成的对组成(也叫键/值对称为项){key:value} 下例中,名字是键,电话号码是值. 所以:     每个键和它的值之间用冒号":"隔开,项之间用逗号","隔开,而整个字典是由一对大括号括起来     其中,键为任何不可变类型 phonebook = {'Alice':'2341','Beth':'9102','Cell':'3258'}

2017-06-25 20:57:09 441

原创 windbg 内存操作

-----2014-04-03--------------------- k 显示栈 kb 显示栈上的前三个参数 kp 显示函数原型(如果符号文件中包含私有符号) kv 在kb的基础上增加显示FPO(栈指针省略)和调用协议 dv 显示栈上局部变量 ----------------- 分析内存 d{a|b|c|d|D|f|p|q|u|w|W} 指定范围  dc adr L4(可以使小写l

2017-06-25 20:57:05 274

原创 Python!Python学习

条件分支:if 条件:  条件为真  (所有缩进都会执行)else:  条件为假        While循环  while 条件:   条件为真(true)执行动作         for..in递归使用序列对象中的每个项目      and逻辑操作符      and逻辑操作符可以将任意表达式链接在一起,并得到一个布尔类型的值      example:...

2017-06-25 20:57:01 2259 3

原创 windbg断点

条件断点: 以前对条件断点不熟,总是下bu(bp....)每次都要断下,弄得自己很蛋疼... 于是下决心把条件断点记住并用熟,提高调试效率。 如何判断中断条件? 使用j命令或者.if....else命令,即 bp|bu|bm|ba  Address "j (Condition) 'OptionalCommands';'gc' " bp|bu|bm|ba  Add

2017-06-25 20:56:57 418

转载 windows溢出保护原理与绕过方法概览(转自riusksk's blog(泉哥))

前言从20世纪80年代开始,在国外就有人开始讨论关于溢出的攻击方式。但是在当时并没有引起人们的注意,直至后来经一些研究人员的披露后,特别是著名黑客杂 志Phrack上面关于溢出的经典文章,引领许多人步入溢出研究的行列,从此关于缓冲区溢出的问题才为人们所重视。随着溢出研究的深入,网上开始出现很多 关于溢出攻击教程,揭露了许多溢出利用技术,特别是经典的call/jmp esp,借此溢出攻击案例层出不穷...

2017-06-25 20:56:53 1113

原创 读0day攻击C++函数心得

废话不说,直接上代码 原版代码: #include "windows.h" #include "iostream.h" char shellcode[]= "\xFC\x68\x6A\x0A\x38\x1E\x68\x63\x89\xD1\x4F\x68\x32\x74\x91\x0C" "\x8B\xF4\x8D\x7E\xF4\x33\xDB\xB7\x04\x2B\xE3\x66\xB

2017-06-25 20:56:44 600

Python 批量重命名工具

Python 批量重命名工具,能够快速扩充重命名自定义后缀文件,而且待调试信息,支持二次开发

2017-12-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除