自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

转载 java泛型 泛型的内部原理:类型擦除以及类型擦除带来的问题

转自写的很好,侵删一、Java泛型的实现方法:类型擦除 前面已经说了,Java的泛型是伪泛型。为什么说Java的泛型是伪泛型呢?因为,在编译期间,所有的泛型信息都会被擦除掉。正确理解泛型概念的首要前提是理解类型擦出(type erasure)。 Java中的泛型基本上都是在编译器这个层次来实现的。在生成的Java字节码中是不包含泛型中的类型信息的。使用泛型的时候加上的类型参数,会在编译器在编译的

2016-08-22 19:13:55 2593

原创 c++构造,拷贝构造,拷贝赋值,移动构造,移动赋值

相比于 java ,c++ 因为要自己管理内存,管理类使用过程中的内存,又因为效率的考虑,所以产生了各种用于类的初始化和赋值的函数,下面就各种函数被调用到的场景做了个测试。#include <iostream>using namespace std;#include <utility>class A{public: A(){cout << "construct" << endl;};

2016-08-17 19:21:06 1021

原创 你真的会写二分查找吗

看到这个标题你可能感觉二分法太简单了,谁能不会写。的确,二分法是我们学习算法和数据结构路上最早提到的算法,看一遍人人都能理解。也正是因为大家都认为这个问题太简单了,所以基本上都是看看就过去了,根本就不屑于动手写,大家的目标都是徒手写红黑书。今天我在leetcode上看到一道简单的算法题就是用到了二分法,不动手不知道,一动手吓一跳,写了两个多小时(手动害羞)。题目的地址:Guess Number Hi

2016-07-14 20:50:42 1885 3

原创 《C和指针》总结

链接属性1.extern 关键字用于标识符第二次或以后的声明并不会改变第一次声明所指定的属性。2.static 防止被访问 (和java完全不同)存储类型1.变量存储地方:普通内存,堆栈,硬件寄存器2.代码块外声明的是静态变量,存于静态内存(普通内存),程序运行-前-存在,始终存在3.自动变量4.代码块内变量 + static --> 静态变量运算符1. i+++ ++i 这种5个加号的

2016-07-13 10:14:47 2193

转载 Bash中的任务(job)管理

那么什么是任务管理?顾名思义,就是指在Bash中对同一个tty中的多个工作进行添加、删除、处理等。由于Bash中的每个工作实际上是当前Bash的子进程,因此,从根本上说,job管理就是指对进程的管理。注意上述的表述中,使用了“同一个tty”这一字眼,这时因为,我们是无法通过tty1的job管理去管理tty2中的job的。例如,我们在tty3终端通过ctrl+z将vim放置到后台暂停,在当前tty中,

2016-07-06 10:14:34 597

转载 CallableStatement的用法

CallableStatement 对象为所有的 DBMS 提供了一种以标准形式调用已储存过程的方法。已储存过程储存在数据库中。对已储存过程的调用是 CallableStatement 对象所含的内容。这种调用是用一种换码语法来写的,有两种形式:一种形式带结果参数,另一种形式不带结果参数(有关换码语法的信息,参见第 4 节“语句”)。结果参数是一种输出 (OUT) 参数,是已储存过程的返回值。两种形

2016-06-01 22:05:21 1002

原创 windows下删除长路径,长文件名的文件

曾经在windows下搞过 spring 的源码,可是想删除的时候由于文件名太长删除不了。像这样:也上网查了。都是说 dir /x 列出短文件名的,然后 del 短文件名的,很麻烦,我也试了,但是没有像他们说的列除了短文件名,不知为何。 望大神解释其原因!最后想了个办法!!winrar 可以压缩的同时删除!!像这样:再把压缩出来的文件删除,完美解决!!望大神解释其原理!

2016-05-24 18:45:50 1165

原创 Common Lisp 笔记(4)

宏令 lisp 不同于其他语言的特性。标准控制结构定义新的句法抽象,不是像其他语言去创建新的函数抽象型或定义类的层次体系。几个标准控制构造宏if(if condition then-form [else-form])如果 condition 是 nil 并且没有 else-form 则返回 nilwhen 抽象 if 后如果执行多条语句需要用 porgn 的细节。// 自定义 wh

2016-05-05 17:01:42 381

原创 org.json.JsonObject的put和append方法比较

根据字面理解,append 是在后面追加,而 put 则是直接放进去,并不清楚区别到底是什么,特此测试。 发现 append(key,value) 会把 value 包装成一个数组。 JSONArray arr=new JSONArray("[1,2,3,4]"); JSONObject a=new JSONObject(); JSONObject obj

2016-04-30 21:26:04 16743

原创 Common Lisp笔记(4)

quote ##特殊操作符,接受单一表达式并返回 等同于符号” ` “(quote (+ 1 2)) 等同于`(+ 1 2)与 list 的区别:(quote (a b)) //两个符号本身的表(list (a b)) //两个值得表setf 宏通用赋值操作符(setf variable value)是宏,不是特殊操作符,可以检测所赋值的 variable 的形式,并展开成适当的底层操作来修

2016-04-26 22:03:56 418

转载 工厂方法模式与抽象工厂模式

工厂模式是很普通也很常用的设计模式,然而共产方法和抽象工厂区分的并不是特别清楚,特转此文。 一、引子 话说十年前,有一个暴发户,他家有三辆汽车——Benz奔驰、Bmw宝马、Audi奥迪,还雇了司机为他开车。不过,暴发户坐车时总是怪怪的:上Benz车后跟司机说“开奔驰车!”,坐上Bmw后他说“开宝马车!”,坐上Audi说“开奥迪车!”。你一定说:这人有病!直接说开车不就行了?!

2016-04-25 21:34:17 371

转载 java枚举使用详解

在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的。例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素组成了四季的“数据集”。在java中如何更好的使用这些“数据集”呢?因此枚举便派上了用场,以下代码详细介绍了枚举的用法。枚举内的每个元素都是这个枚举类,所以在枚举内定义的构造器,抽象函数等在每个元素后面实现。/** * 枚

2016-04-16 20:58:58 262

原创 java 类加载机制--类加载时机

相对于看很多父类和子类如何如何初始化的文章,了解java虚拟机的类加载机制之后都会觉得,噢,原来是这个样子!这里仅就类的加载时机做个学习笔记,更多内容改日再写。详情请看《深入理解java虚拟机》。不同于例如c,cpp那些编译时期就需要进行连接工作的语言,在java里面,类型的加载,连接和初始化过程都可以在程序运行期间完成,虽然稍微增加了性能开销,但是会为java应用程序提供高度的灵活性。java里可

2016-03-28 23:08:27 1916

原创 Common Lisp笔记(3)函数定义

函数一般使用 DEFUN 定义(defun name (parameter*) "Optional documentation string." body-form*)name 任何符号都可以作为函数名,通常函数名仅包含字典字符和连字符,但是在特定命名约束里,其他字符也允许使用。 Lisp 的风格是使用连字符也不是下划线,例如 frob-widget 比 frob_widget

2016-03-27 22:05:08 324

原创 简单的网页处理工具-HtmlParser

HtmlParser 是一个用来解析 HTML 文件的 java 包,相对于jdk提供的api,它更为方便也更为简单。对于写一些java的爬虫或者需要解析html的地方是很实用的。这里是html的下载地址:HtmlParser类的结构 采用了经典了组合模式(cmoposite),类的树形结构如图,从类的名称上就可以很清晰的知道这个类大概的作用。 下面是几个重要的类,了解这几个类再结合类图,基本上

2016-03-25 11:48:52 346

原创 Common Lisp笔记(2)

Common Lisp 创建变量Common Lisp 是动态类型的,类型错误会被动态的检测到。 Common Lisp 是强类型的,因为所有的类型错误都将被检测到,无法将一个对象作为其不属于的类型的实例对待。 Common Lisp 中所有的值都是对象的引用。因此,将一个变量赋予新值会改变该变量所指向的队形,而对之前引用的对象没有影响。let操作符引入新变量 形式:(let (variab

2016-03-23 21:14:11 455

原创 Common Lisp 笔记(1)

Common lisp 执行过程 在大多数编程语言中,语言的处理器,无论是解释器还是编译器的操作方式都类似于黑箱。在黑箱内部,语言的处理器各个子系统各自负责一部分文本转换成具体的行为或目标代码。例如:一个词法分析器将字符流分拆成语元并送进解释器,解释器再构建表达式树形结构,称为抽象语法树,随后被送进一个求值器,求值器要么直接解释,要么编译成其他语言,例如机器码。 在Common Lisp中,执行

2016-03-23 19:36:53 398

原创 ping通却不能远程连接vmware中ubuntu

在ubuntu终端中输入 ifconfig 命令查询本机ip地址,eht0 (ethernet 因特网的缩写)。在主机上 ping 此地址是通的,然而用 putty 通过 SSH 连接时却发出 Network Error,connection refused.警告网上查询发现ubuntu没有ssh服务,[ubuntu开启SSH服务](http://www.cnblogs.com/xiazh

2015-11-16 20:11:07 2075

原创 欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2015-11-16 19:54:47 237

h264 码流包

h264 码流包,一款手机软件中随意hook出的一部分数据,供分析使用,h264visa 直接打开,

2018-01-16

ARMv7 手册-文档

ARMv7 手册-文档,官方手册,两千多页,涵盖你想知道的所有内容

2017-11-29

cppreference chm

c 和 c++11 的编译文档,来源 cppreference, 如果发生脚本错误,百度轻易解决

2016-09-29

HtmlParser

解析网页的工具 HtmlParser

2016-03-25

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

TA关注的人

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