自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

李闰土的博客

StackoOverflow

  • 博客(43)
  • 收藏
  • 关注

原创 KMP算法中关于next数组的j=next[j]理解

这篇文章是在oneNote上写的,小弟不懂oneNote怎么转成md,所以只能笨办法截屏上来了。。。觉得看的费劲的可以找我要原本联系方式邮箱: [email protected]————————–图一图二分割线———————————————–—————图二图三分割线(记得和上图对齐..)——————————另: 附上本人KMP算法(C语言版)void g...

2018-04-21 19:11:36 6997 1

原创 HashMap总结(不包括红黑树)

总结:HashMap是用来存放key-value的容器,底层是使用数组+(链表/红黑树)实现的(节点少时(默认是UNTREEIFY_THRESHOLD = 6值)用链表,多时(默认是>TREEIFY_THRESHOLD = 8)用红黑树,),树化容量为MIN_TREEIFY_CAPACITY,默认是64。成员变量: table[]:存放Node的数组,一般称其为”桶”,table容...

2018-03-06 11:09:28 341

原创 HashMap源码分析(不分析红黑树的版本)

HashMap源码分析 不分析红黑树的情况。。水平不到类声明:public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable 常量:1.DEFAULT_INITIAL_CAPACITY :默...

2018-03-05 22:24:01 274

原创 hashCode()和equals()

个人对hashCode()和equals()方法的理解前言: 很多java初学者在学习到容器的时候必定逃不开这俩东西,虽然教材上再三强调了equals相等时hashCode()一定相等,hashCode()相等时equals()不一定相等这句话,并且我们大多数情况下对于这个方法的理解也就是记住这句话。 本人第一遍学容器的时候关于这两个东西也是稀里糊涂,但是最近再次复习容器...

2018-03-04 00:53:32 196

原创 ArrayList源码分析

List:ArrayList:底层数组实现,线程不安全(不要觉得不安全就觉得不好),效率高。增删改查中查询快,其余比较慢LinkedList:底层链表实现,线程不安全,效率高。增删改查中查询慢,其余都快Vector:线程安全,但是效率低ArrayList:类声明:public class ArrayList<E> extends AbstractList...

2018-02-28 01:39:09 155

原创 java.util.date源码分析

java.util.date源码分析API简析: 类 Date 表示特定的瞬间,精确到毫秒。 在 JDK 1.1 之前,类 Date 有两个其他的函数。它允许把日期解释为年、月、日、小时、分钟和秒值。它也允许格式化和分析日期字符串。不过,这些函数的 API 不易于实现国际化。从 JDK 1.1 开始,应该使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat

2017-12-05 21:51:08 1817 1

原创 StringBuffer源码分析

StringBuffer源码分析API简介: 线程安全的可变字符序列。一个类似于 String 的字符串缓冲区,但不能修改。虽然在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容。 可将字符串缓冲区安全地用于多个线程。可以在必要时对这些方法进行同步,因此任意特定实例上的所有操作就好像是以串行顺序发生的,该顺序与所涉及的每个线程进行的方法调用顺序一致

2017-11-30 17:04:44 241

原创 AbstractStringBuilder源码分析

AbstractStringBuilder源码分析简介 这个抽象类是StringBuilder和StringBuffer的直接父类,而且定义了很多方法,因此在学习这两个类之间建议先学习 AbstractStringBuilder抽象类 该类在源码中注释是以JDK1.5开始作为前两个类的父类存在的,可是直到JDK1.8的API中,关于StringBuilder和StringBuffe

2017-11-26 22:14:40 3439 2

原创 String源码简析(下)

String源码简析(下):常用的方法:1.substring(int beginIndex, int endIndex):得到一个子串.[beginIndex,endIndex)public String substring(int beginIndex, int endIndex) { if (beginIndex < 0) { throw new StringIndex

2017-11-26 15:42:05 200

原创 String类源码简析(上 源码行数1~1904)

String类源码简析(上 源码行数1~1904):类声明:public final class String implements java.io.Serializable, Comparable<String>, CharSequence 要求实现的三个接口: java.io.Serializable: 要求String类实现序列化 Comparable:提供

2017-11-25 21:54:00 223

原创 包装类之Character源码简析

包装类Character源码分析char 数据类型(和 Character 对象封装的值)基于原始的 Unicode 规范,将字符定义为固定宽度的 16 位实体。前言:Unicode码简介: Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二

2017-11-20 20:57:11 997

原创 源代码Boolean

包装类之Boolean的分析(Boolean类没啥可分析的。。)类声明:public final class Boolean implements java.io.Serializable, Comparable<Boolean>成员变量:1 TRUE FALSE TYPE public static final Boole

2017-11-18 18:17:10 285

原创 包装类之Float源码分析

包装类Float源码分析:(Double同理) java float类型用IEEE754标准规定 float类型占4个字节(32位),其中包括1位的符号位,8位的指数位,和23位的小数位 (对于double双精度浮点数,用 1 位表示符号,用 11 位表示指数,52 位表示尾数,其中指数域称为阶码。)类声明:(与其他包装类类似)public final class Float ex

2017-11-18 18:06:44 619

原创 Integer源码分析

包装类之Integer(Long同理)类声明:public final class Integer extends Number implements Comparable<Integer>和Byte差不多,就不做过多说明了成员变量:1.MIN_VALUE :定义Integer的最小值:2-31 public static final int MIN_VALUE = 0x80000000;2.M

2017-11-18 18:05:19 267

原创 System类源码分析

java.lang.System类的源码分析API简介:System 类包含一些有用的类字段和方法。它不能被实例化。 在 System 类提供的设施中,有标准输入、标准输出和错误输出流;对外部定义的属性和环境变量的访问;加载文件和库的方法;还有快速复制数组的一部分的实用方法。 类声明:public final class System可以得出这个类不能被继承静态代码块和registerNati

2017-11-15 21:12:42 1331

原创 Object源码分析

Object源码分析java.lang.Object 类 Object 是类层次结构的根类。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。类原型:public class Object静态代码块:1.调用registerNatives()方法static{ registerNatives(); }方法:2.private stati

2017-11-14 22:19:34 198

原创 正则表达式

为什么需要正则? 正则可以控制用户输入的内容(多指字符串)必须符合你的规范 RegExp(regular expression 规则表达式。。好难听,就是正则)基本概念: 在计算机科学中,是指一个用来描述或者匹配一系列符合某个语法规范的字符串的单个字符串,在很多文本编辑器或者其他工具中,正则表达式通常被用来检索或者替换那些符合某个模式的文本内容。许多编程语言都支持正则表达式

2017-11-05 19:41:30 162

原创 JavaSE ——JDBC

java操作sql servercrud :增删改查JDBC:第一种是 JDBC—ODBC 由原SUN公司开发的,在JDK8.0后被废除掉第二种是 JDBC ,有MS公司提供的,目前基本都是这种的 百度百科定义: JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Jav

2017-10-20 15:17:38 347

原创 jdk 1.8 配置与sql server 2008 连接 ( win10 64位)

前提条件:已经有JDK1.8和ecplise 以及sql server 2008(没有的兄弟们请先出门右转搞好这三个再回来看)说明:1. jdk1.8中JDBC砍掉了JDBC-ODBC,想用这种JDBC的兄弟下个版本低一点的JDK(1.6就不错)就行了。2. 所以这篇文章只是用来配置纯JDBC的,同时说明一下JDBC需要的jre包是sqljdbc,默认是是没有的,需要导入3. 请关掉你的微软自带的防

2017-10-12 22:10:20 4747

原创 Java日记(1 1)—— 布局管理器

介绍:概念:组件在容器(比如JFrame)中的位置和大小是由布局管理器来决定的(相当于CSS)。所有的容器都会使用一个布局管理器,通过它来自动进行组件的布局管理种类:java中布局管理器有20多种(想知道的去查API),常见的有以下5种:流式布局管理器(FlowLayout)边界布局管理器(BorderLayout)网络布局管理器(GridLayout)卡片布局管理器(CardLayout)

2017-09-24 22:40:36 348

原创 Java日记(9)— 异常机制

1概念: java提供了异常处理机制来处理程序中运行的错误(如除数为0,数组下标越界,文件不能打开,内存不够用等) 按照这种机制,将程序运行中打断正常程序流程的任何不正常的情况成为错误(Error)或异常(Exception)。 java系统中,专门设置了一个调用栈,此栈中装有指向异常处理的指针。在程序运行时,系统会把收集到的异常和异常处理指针所指向的处理类型逐个比较

2017-09-19 22:05:53 262

原创 Linux日记(3)——掌握常用的Linux命令

帮助命令:man-h/–help常用系统工作指令:echo(变量命名基本那都是大些 eg:echo $HOSTNAME)date(man参数)rebootpoweroffwget(-O:下载到指定目录 -r:递归 -p:下载页面内所有的资源 )ps(-a:显示所有进程 -u:用户以及其他信息 -x:显示没有控制终端的进程)toppidofkill/killall系统状态检测

2017-09-18 20:51:24 444

原创 Java日记(8)— 数组和字符串

1.数组:声明: 方式一:数据元素类型[]数据名; 方式二:数据元素类型 数据名[];数据声明时,Java并不给数组分配任何空间,仅仅创建了一个引用数组的存储地址([I@15db9742) 数据声明的目的只是告诉操作系统一个新的数组的名称个类型,数组本身不能存放任何数组元素,现阶段的数组值为null,因此,使用数组之前,需要先试用new关键字创建数组,为数组分配指定长度的内存空间

2017-09-15 23:21:56 228

原创 Java日记(7)— 访问控制符

1.static:代码一(类变量):特点:1.类变量可以通过类名直接访问,而不需要创建对象 2.任何一个对象对类变量的修改,都是在统一内存单元上完成的。因此,每个对象对类变量的修改都会影响其他实例对象。package package2;public class Example_5_19 { public static void main(String[] args) {

2017-09-14 22:21:08 238

原创 Java日记(6)— 面向对象特性

1.封装: 将实体特性的属性隐藏起来,对象对外界仅通过公共方式进行交流,这样可以提高程序的可读性,安全性,改善程序的可维护性。 数据的隐藏与开放对外的接口可以通过访问权限控制符来实现,权限控制符可以用来设置类,成员变量,成员方法等的访问权限。java提供public,protected,private和默认等4种访问控制符,在类,成员变量,成员方法的前面均可使用访问控制符关键字。

2017-09-12 19:27:37 219

原创 Java日记(5)— 面向对象程序设计简介/this的用法

1.类1.1类声明:格式:[]class

2017-09-12 10:45:16 277

原创 Linux日记(2)——RPM和YUM

1.RPM红帽软件包(为了降低安装步骤) 在RPM红帽软件包管理器公布之前要想在Linux系统中安装软件只能采取源码包的方式安装,早期在Linux系统中安装程序是一件非常困难,耗费耐心的事情,而且大多数的服务程序仅仅提供编译源码,需要运维人员自行编译代码并解决许多的软件依赖关系,因此源码安装需要运维人员有很多的知识、高超的技能、甚至很好的耐心才能安装好一个程序。在安装、升级、卸载时还要考虑到其

2017-09-11 21:22:54 291

原创 漏洞银行/逆向工程学习日记(6)- 80386寄存器组

记住就行了

2017-09-11 20:45:45 293

原创 C/C++ typedef用法

大一学C和C++的时候就接触过,当时简单的说是给类型一个别名,觉得简单也就没当回事,升了大二之后学了,开设了数据结构这门课,发现对typedef不是很熟悉(好吧其实是把我干蒙蔽了。。。),所以写下此博文,恶补一下。1.typedef的格式:typedef 类型名 别名2. typedef的基本用法:2.1 用法一:简化写法代码一:char *p1,*p2,*p3,*p4;代码二:typed

2017-09-11 18:18:12 187

原创 Java日记(4)— 第一次总结

1.书上的习题:代码一:package Unit_4;public class P62_4_1_2 { public static void main(String[] args) { int x=4; System.out.println("value is "+((x>4)?99.99:9));//输出9.0 }}条件运算符:如果结果一和结果二的

2017-09-10 22:38:11 282

原创 Java日记(3)—Java基本控制结构

Java中的控制语句有以下几大类:分支语句:if-else,switch循环语句:while,do-while,for跳转语句:break,continue,return例外处理语句:try-catch-finally,throw(本节不讲)控制语句用法和c/c++一样,没有区别,下面介绍在练习的过程中用到的Java内置的一些东东.1.分支语句:代码一:import java.util.S

2017-09-07 21:48:33 234

原创 漏洞银行/逆向工程学习日记(5)-标志寄存器

影响标志寄存器的指令:add,sub,mul,div,inc,or,and不影响标志寄存器的指令:mov,pop,push。1.ZF:若操作结果为0,则zf=1eg:mov ax,1 sub ax,1 (ZF=0)2.PF:检查1的个数3.SF:若sf=1,表示操作结果为负数4.OF(只当进行有符号的运算时,无符号数时会产生进位):当发生溢出时,OF=1。标识寄存器相关的指令:adc:带上

2017-09-07 20:51:36 478

原创 漏洞银行/逆向工程学习日记(4)-跳转指令&指令跳转原理

1.offset:取对象的偏移地址2.jmp:跳转指令3.call/ret: call:push ip(注意这里的ip指的是call指令下一条指令的偏移地址)   jmp ret:  pop ip   4. mul/div:mul:乘法指令,默认与(al,ax,eax相乘,结果分别存放在ax,dx-ax,edx-eax)div:除法指令,默认被

2017-09-06 20:28:40 317

原创 Java日记(2)—Java的基本语法元素

1.标识符和关键字:      1.1 标识符:            Java命名标识符的规则和C/C++一样: 标识符只能由字母,数字,下划线(_),美元符号($)组成 关键字不能用作标识符 布尔常量true和false不能作为标识符 null不能作为标识符      1.2 关键字: abstractcontinuefornewswitch

2017-09-05 20:48:53 362

原创 Java日记(1)—运行环境和语言介绍

1.Java语言介绍:Java语言是由Sun Microsystem公司(于2012年被Oracle公司兼并)研制的一种高级语言。Java语言在Web应用开发,嵌入式开发及大型应用程序开发方面具有明显的优势。Java不仅是一种高级语言,而且也是一个开发平台和运行平台。它提供了一系列Java软件开发的工具(如java.exe,javac.exe等应用程序)和环境 , 用于对Java语言开发的源程序进

2017-09-04 21:47:56 1058

原创 漏洞银行/逆向工程学习日记(3)-内存寻址方式

内存寻址方式

2017-09-03 21:00:37 246

原创 漏洞银行/逆向工程学习日记(2)-8086指令系统之通用寄存器

注:8086是16位CPU,有16位的数据总线和20位的地址总线 80386是32位CPU1.通用寄存器 AX,CX,DX,BX 1字节=8位 寄存器占两个字节 AX可分为AH(高八位),AL(低八位) ‘OD的使用:1.双击指令可以修改该指令2.按F8为执行一次指令2.介绍几条汇编指令:mov ax,1mov al,1mo

2017-08-30 23:25:55 241

原创 漏洞银行/逆向工程学习日记(1)-汇编基础

逆向

2017-08-30 21:17:34 528

原创 Linux日记(1)——了解Linux

Linux学习日记

2017-08-28 13:38:47 346

原创 Apache简介(未完待续)

Apache简介

2017-08-27 19:04:11 389

空空如也

空空如也

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

TA关注的人

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