自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(217)
  • 收藏
  • 关注

原创 spring aop 004: 引介增强

package com.thereisnospon.spring.demo.course.imp.c004_aop;import org.aspectj.lang.annotation.Aspect;import org.aspectj.lang.annotation.DeclareParents;import org.springframework.context.Application...

2018-09-15 19:48:30 1133

原创 spring aop 003: 通知

package com.thereisnospon.spring.demo.course.imp.c004_aop;import org.aspectj.lang.ProceedingJoinPoint;import org.aspectj.lang.annotation.*;import org.springframework.context.ApplicationContext;im...

2018-09-15 19:47:14 196

原创 spring aop 000 : cglib

import net.sf.cglib.proxy.Enhancer;import net.sf.cglib.proxy.MethodInterceptor;import net.sf.cglib.proxy.MethodProxy;import java.lang.reflect.Method;public class T000_Aop_02_cglib { public ...

2018-09-15 18:24:10 218

原创 spring aop 000 : jdk

package com.thereisnospon.spring.demo.course.imp.c004_aop;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;public class T000_Aop_01_JDKPr...

2018-09-15 18:14:48 166

原创 spring aop 002: target && this

package com.thereisnospon.spring.demo.course.imp.c004_aop;import org.aspectj.lang.annotation.After;import org.aspectj.lang.annotation.Aspect;import org.aspectj.lang.annotation.Before;import org.a...

2018-09-15 17:59:50 322

原创 spring aop 001 : 增强顺序

/** * 如果增强在同一个切面类中声明,则依照增强在切面类中定义的顺序进行织入; * * 如果增强位于不同的切面类中,且这些切面类都实现了org.springframework.core.Ordered接口,则由接口方法的顺序号决定(顺序号小的先织入); * * 如果增强位于不同的切面类中,且这些切面类没有实现org.springframework.core.Ordered接口,织入的...

2018-09-15 17:58:15 538

原创 idea: spring web maven 配置

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://ma...

2018-09-15 13:31:02 820

原创 gradle 插件调试

gradle 插件开发 gradle插件debug2. 对task进行配置内容为:-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=50063 添加remote端口和刚刚的一样。然后每次运行task,然后程序停止,然后运行remote进行attach....

2018-06-16 14:38:28 3240

原创 fdisk命令

记录一个坑。 在书上看 fdisk 分配主分区时,要求给起始柱面号 cylinders, 但是自己找的 fdisk 的各个版本都是 要求起始扇区号 sector.. 然后发现 fdisk 启动时候需要设置 模式fdisk -u=cylinders /dev/sda...

2018-06-04 13:07:40 3347 1

原创 读取照片部分元信息

读取照片部分元信息import com.drew.imaging.ImageMetadataReader;import com.drew.metadata.Directory;import com.drew.metadata.Metadata;import com.drew.metadata.Tag;import java.io.File;/** * Created by yz...

2018-06-04 11:01:34 789

原创 android studio ndk

Android.mk新建目录 src/main/jni新建文件 src/main/jni/Android.mkLOCAL_PATH:=$(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE:=hello-jniLOCAL_SRC_FILES:=c.cppinclude $(BUILD_SHARED_LIBRARY)新建文件 src/main/jni/

2017-06-27 21:34:42 444

原创 python解压zip脚本

自己并不会python, 但是 网上下了一个 new 游戏合集,需要批量解压zip文件,并提取nes文件出来。 然后磕磕碰碰的按照api写的脚本. 仅供个人使用。。。 # -*- coding: UTF-8 -*-import zipfileimport osimport shutilfiles=os.listdir(".")tmp = "p_y_u_n_z_i_p.zip"outdi

2017-06-19 16:35:27 1129

原创 bochs调试

bochs 调试基本操作 行为 指令 举例 物理地址设置断点 b addr b 0x30400 显示当前所有断点信息 info break info break 继续执行,直到遇到断点 c c 单步执行 s s 单步执行(遇到函数跳过) n n 查看寄存器信息 info cpu info cpu 查看堆栈 pr

2017-05-08 21:19:47 1186

原创 使用pyPdf分割pdf文档

d# -*- coding: utf-8 -*-from PyPDF2 import PdfFileReader, PdfFileWriterimport sys,getopt,ostry: opts,args=getopt.getopt(sys.argv[1:],"i:o:p:",["page="])except getopt.GetoptError: print 'arg e

2017-05-08 15:27:11 739

原创 android studio ndk 开发

android studio ndk 开发新建工程, 选中Include C++ Support一路Next之后, 在最后Finish页面尽量选中图示两项, 这样会给我们包裹一些特定的示例代码, 帮助我们理解和使用自动生成的代码:MainActivity.javapublic class MainActivity extends AppCompatActivity { // Used to l

2017-05-02 21:57:41 412

原创 后缀表达式与中缀表达式求值

public class Evaluate { public static double[] parseNum(char[]str,int i){ double num=0; int k=-1; for(;i<str.length;i++){ if(str[i]>='0'&&str[i]<='9'){

2017-04-02 14:18:30 748

原创 markdown数学公式

行内段落上标下标括号求和与积分分式与根式字体特殊函数与符号空间表格矩阵公式对齐分类表达式mathjax 学习行内$ f(x)=x $f(x)=x f(x)=x 段落$$s=\sum_1^n{n_i}$$s=∑1nnis=\sum_1^n{n_i}上标$$ x^2 $$x2 x^2 下标$$ x_i $$xi x_i 括号小括号与方括号:原始的就好大括号: {} 用

2017-03-20 19:21:09 13952

原创 在idea 使用maven

在工程目录手动新建一个 pom.xml 文件。 加入,并填写相应字段。<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi

2017-03-15 11:28:52 640

原创 idea 远程部署到服务器

参考:在 idea 中远程部署到服务器idea 远程debut,部署到 tomact可能遇到问题及解决:文章最底部服务器修改修改 hostsvim /etc/hosts127.0.0.1 localhost127.0.0.1 localhost Local127.0.0.1 local127.0.0.1 iZ....Z(服务器名)127.0.1.1 localhost

2017-03-06 17:16:20 824

原创 Sublime 插件

Sublime 前端开发常用插件Sublime bootstrap 插件Package Control插件管理提到Sublime Text插件安装,就不得不提Package Control 官方文档简而言之,它是用来管理插件的插件所以,首次使用前也是需要安装的使用 Ctrl+`(Esc键下方)快捷键或者通过View->Show Console菜单打开命令行将以下代码复制后粘贴到如上图中“<代码粘

2017-03-05 11:23:31 630

原创 基础算法-全排列

无去重全排列对于某个元素作为开头的序列,如果知道了它右边的元素的全排列,就知道了以它开头的全排列如果序列后面的元素都跟第一个元素交换位置,就知道了每个元素开头的全排列,也就知道了整个序列的全排列。 public static void permutation1(int a[],int k,int n){ if(k>=n){ for(int i=0;i<n;i+

2017-02-24 17:13:48 314

原创 基础算法-希尔排序

直接插入排序直接插入排序就跟整理扑克牌一样,每次把一张新的牌插入到已经排好序的牌的合适的位置中。数组中排序的时候要将之前位置上的数字全部右移动一个位置,空出来的位置再来放要插入的数字。可以一次性全部右移动一个位置,也可以这样,因为要插入的数字在已经排序的区间的右边如果要插入的数字左边的数字比要插入的数字大,那么就跟左边的数字交换位置,这样如果到了左边位置的数字小于等于它的时候说明它已经到了正确的位置

2017-02-23 22:21:30 297

原创 面试题-100万个数据前100大的数据

先取出前100个数,维护一个100个数的最小堆,遍历一遍剩余的元素,在此过程中维护堆就可以了。具体步骤如下: step1:取前m个元素(例如m=100),建立一个小顶堆。保持一个小顶堆得性质的步骤,运行时间为O(lgm);建立一个小顶堆运行时间为m*O(lgm)=O(m lgm); step2:顺序读取后续元素,直到结束。每次读取一个元素,如果该元素比堆顶元素小,直接丢弃 如果大于堆顶元素,则用该元

2017-02-23 21:48:50 4408

原创 基础算法-归并排序

归并排序思想:如果需要排序的数组分为两个部分,左边是有序的,右边也是有序的(都是升序或者都是降序),那么将两个区间合并为有序的只需要o(n)的复杂度就可以完成。那么如果这两个区域不是有序的呢,可以递归的调用归并排序,直到区间的元素只有一个元素,那么这个区间就是有序的,回到上一层调用,左右两个区间已经有序的情况下,把它们合并在一起,那么这一层就有序了。直到回到了第一层,那么整个数组就有序了。publ

2017-02-23 19:43:05 331

原创 基础算法-快速排序

快速排序选择一个基准值x,把比x小的全部放在左边,把大于等于x的值放在右边,然后把x放到这个边界.这样,如果左边是升序的,那么因为x比左边的都大,左边区间加上x 的这个区间同样是升序的,如果此时右边也是升序的,那么因为x的值小于等于右边的值,则整个数组是升序的而每个区间的排序,可以递归调用快速排序完成,如果区间只有一个值就不用排序了。public class QuickSort { publi

2017-02-23 19:05:16 309

原创 基础算法-堆排序

堆:任意节点的值大于(小于)左右子节点的值,子节点也为堆。 如果对于存储在数组里的堆的话, 节点下标为 j, 它左子节点下标为 2*j+1, 右子节点下标为 2*j+2;堆排序(升序):调整堆:如果节点的左子节点与右子节点都已经是大根堆,调节该节点也为大根堆.如果该节点的左右子节点的值都小于该节点,结束。(已经是大根堆)选定一个最大的子节点 j,将当前根节点的值与最大子节点 p 的值交换,这样,a

2017-02-23 18:25:03 253

原创 Java 对称加密

对称加密public class SecretRSA { /** * 生成秘钥对 * @param privateKeyFilePath 私钥保存的路径 * @param publicKeyFilePath 公钥保存的路径 */ public static void gene

2017-02-21 11:41:58 393

原创 手动打包apk

用的是 android studio 创建了一个工程,然后手动在命令行打包,进入工程里的cd ~/Desktop/DexTest/app/src/mainmkdir genmkdir buildmkdir outsdk 22.以后删除了 apkbuilder,可以在sdk 的 tools 目录里执行:cat android | sed -e 's/com.android.sdkmanager.

2017-02-19 14:19:27 2036

原创 汇编 org

看了几篇博客不知道 org 到底有什么用,实际测试下就了解了~x.asmstart: mov ax ,labellabel: nop nasm x.asm -o x b804 0090 ndisasm -o 0x0 x > dx.asm00000000 B80400 mov ax,0x400000003 90 nopy.as

2017-02-07 15:50:53 2312

原创 写文件到 .img

FAT12.h/* FAT12.h 操作 FAT12 文件系统的镜像文件的库函数申明 四彩 2015-12-08*/#ifndef _FAT12_H#define _FAT12_H#ifdef WINDOWS #define SEPARATOR '\\' // Windows 系统下的分隔符#else #defi

2017-02-05 23:28:23 1940

原创 mac 安装 bochs

mac 安装 bochsbochs下载地址0x01 安装SDL库在http://www.libsdl.org安装,或者使用Homebrew来进行安装。Homebrew的安装命令brew install sdl。0x02 Configure Bochs简单的解压命令tar -xvf bochs-2.6.tar.gz后,Configure需要的参数:./configure --enable-ne2000

2017-02-04 18:10:03 2855

原创 mac hotspot sa

java -classpath /Library/Java/JavaVirtualMachines/jdk1.8.0_66.jdk/Contents/Home/lib/sa-jdi.jar sun.jvm.hotspot.HSDB

2016-12-19 23:04:00 649

原创 TabHost源码分析

TabHost extends FrameLayout关键属性:private TabWidget mTabWidget;//选项卡标签,继承自LinearLayoutprivate FrameLayout mTabContent;//显示内容的区域private List<TabSpec> mTabSpecs;//选项卡组protected int mCurrentTab = -1;//当前选

2016-10-11 16:27:08 1290

原创 mysql

启动mysql服务:mysql.server start登陆mysql -uuserName -p其中-u 和userName(用户名)是没有空格的5.7版本添加用户 CREATE USER userName@host IDENTIFIED BY 'password';--如: CREATE USER userName@localhost IDENTIFIED BY '123456';mysq

2016-09-20 21:46:01 217

原创 倒水算法

#include #include #include #include #include #define MAX 1005using namespace std;int src[MAX];int des[MAX];int cur[MAX];int n;struct Node{ int id; vector current; int ste

2016-06-07 15:33:39 1199

原创 在 idea 中使用 gradle 导入maven仓库

创建新工程写好id这里默认是 use default ,选择这个下载 gradle貌似有点慢,我这里选择的本地下载好的。工程名File -> New -> ModuleModule 名到对应 仓库找到相应使用方法,这里是以gson为例在build.gradle 文件中添加好命令,右边的按钮可以打开gradle的窗口,选择同步

2016-05-14 11:01:20 8727

原创 基础算法-堆排序

#include "array.h"void adjust(int a[],int p,int n){ int t=a[p],j; for(j=2*p+1;j<n;j=2*j+1) { if(j+1<n&&a[j]<a[j+1]) j++; if(a[j]<=t) break;

2016-04-23 19:32:45 294

原创 基础算法-快速排序

#include "array.h"void quickSort(int a[],int left,int right){ if(left<right) { int i=left,j=right,x=a[left]; while(i<j) { while(i=x) j--

2016-04-21 20:01:49 302

原创 基础算法-归并排序

归并排序:思想:如果需要排序的数组分为两个部分,左边是有序的,右边也是有序的(都是升序或者都是降序),那么将两个区间合并为有序的只需要o(n)的复杂度就可以完成。那么如果这两个区域不是有序的呢,可以递归的调用归并排序,直到区间的元素只有一个元素,那么这个区间就是有序的,回到上一层调用,左右两个区间已经有序的情况下,把它们合并在一起,那么这一层就有序了。直到回到了第一层,那么整个数组就有序了。

2016-04-20 15:22:17 322

原创 基础算法-直接插入排序

直接插入排序:把数组划分为左右两个区域,有序区和无序区,开始有序区只有一个元素,就是数组最左边的元素每次取得无序区第一个元素x,从有序区最右边的值开始到最左边,把比x大得元素都往后移动一个位置,直到找到一个不大于x的位置,或者到了最左边(即有序区所有元素都比x大,x应该插入到最前面),停下来的位置就是插入元素x的位置#include"array.h"void isort(int a[],

2016-04-20 13:53:43 380

空空如也

空空如也

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

TA关注的人

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