自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

D.K专栏

欢迎志同道合者相互探讨

  • 博客(20)
  • 资源 (9)
  • 收藏
  • 关注

原创 剑指Offer面试题13(java版):在O(1)时间删除链表节点

题目:给定单向链表的头指针和一个节点指针,定义一个函数在O(1)时间删除该节点。在单向链表中删除一个节点,最常规的方法无疑是从链表的头结点开始,顺序遍历查找要删除的节点,并在链表中删除该节点。比如图a所表示的链表中,我们要删除节点i,可以从链表的头节点a开始顺序遍历,发现节点h的m_PNext指向要删除的节点i,于是我们可疑把节点h的m_PNext指向i的下一个节点即为j。指针调整之后,我

2015-07-31 20:55:53 4587 5

转载 剑指Offer面试题12(Java版):打印1到最大的n位数

题目:输入数字n,按顺序打印出从1最大的的n位数十进制数。比如输入3,则打印出1,2,3一直到最大的3位数即999.1、跳进面试官的陷阱这个题目看起来很简单。我们看到这个问题后,最容易想到的办法是求出最大的n位数,然后用一个循环从1开始逐个打印。于是我们很容易写出下面的代码。void print1ToMaxOfNDigits(int n){        int number =1

2015-07-31 20:02:44 2149 1

原创 剑指Offer面试题11(Java版):数值的整数次方

题目:实现函数double Power(double base,int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题1、自以为很简单的解法:由于不需要考虑大数问题,这道题看起来很简单,可能不少应聘者在看到题目30秒后就能写出如下的代码:public double powerWithExponent(double base,int expo

2015-07-31 08:43:09 3601 10

原创 剑指Offer面试题10(Java版):二进制中的1的个数

题目:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。例如把9表示成二进制是1001,有2位是1,因此如果输入9,该函数输出2.1、可能引起死循环的解法这是一道很基本的考察二进制和位运算的面试题。题目不是很难,面试官提出问题之后,我们很快形成一个基本的思路:先判断证书二进制表示中最右边一位是不是1.接着把输入的证书右移一位,此时原来处于从右边树起的第二位被移到最后一位,再判断是

2015-07-30 08:17:39 3510

转载 next数组介绍

首先看看next数组值的求解方法例如: 模式串 a b a a b c a c next值 0 1 1 2 2 3 1 2               next数组的求解方法是:第一位的next值为0,第二位的next值为1,后面求解每一位的next值时,根据前一位进行比较。首先将前一位与其next值对应的内容进行比较,如果相等,则该位的next值就是前一位的next值加上1;如果

2015-07-29 20:34:29 913

原创 剑指Offer面试题9(java版)斐波那契数列

题目一:写一个函数,输入n,求斐波那契数列的第n项。斐波那契数列的定义如下:1、效率很低效的解法,挑剔的面试官不会喜欢很多C语言的教科书在讲述递归函数的时候,都户拿Fibonacci作为例子,因此很多的应聘者对这道题的递归解法都很熟悉。下面是实现代码我们教科书上反复用这个问题来讲解递归的函数,并不能说明递归的解法最适合这道题目。面试官会提示我们上述递归的解法有很严重

2015-07-29 08:47:20 3668 3

原创 剑指Offer面试题8(java版):旋转数组的最小数字

题目: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为旋转。 输入一个递增的排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小元素为1.这道题最直观的解法并不难,从头到尾遍历一次,我们就能找到最小的元素。这种思路的时间复杂度为O(n)。但是这个思路没有利用输入的旋转数组的特性,肯定达不到面试官的要求。我

2015-07-28 17:26:03 6601 4

原创 剑指Offer面试题7(Java版):用两个栈实现队列与用两个队列实现栈

题目:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deletedHead,分别完成在队列尾部插入节点和在队列头部删除节点的功能。我们通过一个具体的例子来分析该队列插入和删除元素的过程。首先插入一个元素a,不妨先把它插入到stack1,此时stack1 中的元素有{a},stack2为空。再压入两个元素b和c,还是插入到stack1中,此时stack1中的元素有

2015-07-27 19:25:01 8579 3

原创 剑指Offer面试题6(Java版):重建二叉树

题目:输入某二叉树的前序遍历和中序遍历的结果,请重新构造出该二叉树。假设输入的前序遍历和中序遍历的结果中不包含重复的数字。例如输入的前序遍历序列为{1,2,4,7,3,5,6,8}和中序遍历为{4,7,2,1,5,3,6,8},则重建出二叉树并输出它的头结点。我们使用Java语言来实现上面的代码:首先构建二叉树代码:package utils;public class Binary

2015-07-27 18:36:52 8461 1

原创 剑指Offer面试题5(Java版):从尾到头打印链表

题目:输入一个链表的头结点,从尾到头反过来打印出每个节点的值。看到这道题,很多人的第一反应是从头到尾输出将会比较简单,于是我们很自然的想到把链表中的节点的指针反转过来,改变链表的方向,然后就可以从头到尾输出了。但该方法改变原来链表的结构。是否允许在打印链表的时候修改链表的结构?这个取决于面试官的要求,因此在面试的时候我们要询问清楚面试官的要求。通常打印是一个只读操作,我们不希望打印

2015-07-25 09:24:23 1501

原创 剑指Offer面试题4(Java版),替换空格

题目:请实现一个函数,把字符串中的每个空格替换成“%20”。例如输入“We are happy",则输出”We%20are%20happy".原因:在网络编程中,如果URL参数中含有特殊字符,如:空格、“#”等,可能导致服务器端无法获得正确的参数值。我们需要将这些特殊符号转换成服务器识别的字符。转换规则是在“%”后面跟上ASCII码的两位十六进制的表。比如:空格的ASCII玛是32,即十六进制

2015-07-24 17:58:17 3975 1

原创 剑指Offer面试题3(Java版):二维数组中的查找

题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下的数序排列。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数例如下面的二维数组就是每行、每列都递增排序。如果在这个数组中查找数字7,则返回true,如果要查找5,由于数组不含有该数字,则返回false1 2 8 92 4 9 124 7 10 136 8 1

2015-07-24 16:02:54 2558 2

原创 Java单例设计模式

单例设计模式有两种形式:饱汉式和饿汉式对于饱汉式来说,不会出现线程安全问题,实现代码如下:package SingleStrategy;public class SingleTest { private final static SingleTest instance = new SingleTest(); private SingleTest(){ } public

2015-07-24 14:55:22 616

转载 服务器编码

jsp涉及到的编码的流程       jsp要经过3次的“编码”,第1阶段会用pageEncoding,第2阶段会用utf-8至utf-8,第3阶段就是由Tomcat出来的网页,用的是contentType。第1阶段:是jsp编译成.java,它会根据pageEncoding的设定读取jsp,结果是由指定的编码方案翻译成同一的UTF-8Java 源码(即.java)第2阶段:是由JAV

2015-07-23 15:10:44 924

原创 用Java实现二叉树

以下代码实现了二叉树的存储,查找,遍历(前序、中序、后序)package cn.itcast;public class Node { public int value; public Node left; public Node right; public void store(int value){ if(value < this.value){ if(left =

2015-07-22 16:56:14 707

转载 Java编写一个截取字符串的函数,输入一个为字符串和字节数,输出按字节截取的字符串。要求不能出现截半的情况

题目 :编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。需求分析:1、输入为一个字符串和字节数,输出为按字节截取的字符串--------------》按照字节[byte]截取操作字符串,先将String转换

2015-07-22 14:46:34 5591 3

转载 Java 策略设计模式

策略设计模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同的接口的独立类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生。策略模式的结构策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象进行管理。策略模式通常把一个系列的算法包装到一些列的策略类里面,作为一个抽象的策略类的子类。策略模式举例:

2015-07-21 10:58:46 540

转载 Java多线程面试题

1)现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行? 这个线程问题通常会在第一轮或电话面试阶段被问到,目的是检测你对”join”方法是否熟悉。这个多线程问题比较简单,可以用join方法实现。Java多线程中join方法的理解2)在Java中Lock接口比synchronized块的优势是什么?你需要实现一个高效的缓存,它允许多个用户

2015-07-07 20:09:01 1185

转载 jvm内存调优

1)堆运行时数据区域,所有类实例和数组的内存均从此处分配。Java虚拟机启动时创建。对象的堆内存由称为垃圾回收器的自动内存管理系统回收。堆由两部分组成:其中eden+fromspace+toSpace也叫年轻代(young),old space叫旧生代。其中还有S1,S0(在JDK的自带工具输出中会看到),分别指的是Servivor space,存放每次垃圾回收后存活的对象。O

2015-07-07 16:05:44 615

转载 JVM内存管理和JVM垃圾回收机制

首先来看以下JVM内存结构,它是由堆、栈、本地方法栈、方法区等部分组成的,结构图如下所示JVM内存管理和JVM垃圾回收JVM内存结构由堆、栈、本地方法栈、方法区等部分组成,结构图如下所示:1)堆所有通过new创建的对象的内存都在堆中分配,其大小可以通过-Xmx和-Xms来控制。堆被划分为新生代和旧生代,新生代被进一步划分为Eden和Survivor区,最后Survivor由

2015-07-07 14:28:51 768

Java安全编码培训.pdf

Java开发安全编码培训

2021-04-18

springMVC json格式转换demo

此例子对应了springmvc json格式转换的小例子,其中前端请求后端的json,利用springmvc api完成的

2017-12-31

springMVCDemo+maven

spring+mvc+maven开发的springmvcdemo例子,简单实用。

2017-12-27

mybatis进行读写案例demo

mybatis读写案例demo,具体介绍了完整的配置、调用方法,运行方法等

2017-12-25

Ueditor1.4.3 for wordpress 4.0

Ueditor1.4.3 for wordpress 4.0

2016-12-21

FilterPacket流量过滤程序

关于这个程序的原理部分,可以参考我的博客http://blog.csdn.net/jsqfengbao/article/details/52462125 里面有详细的介绍。不懂的部分,大家可以随时跟帖,欢迎咨询

2016-11-30

android安全架构深究

ANDROID安全架构深究_(美)NIKOLAY ELENKOV著;刘惠明,刘跃译;(美)JON SAWYER作序;诸葛建伟审校;诸葛建伟组织翻译_北京:电子工业出版社

2016-09-05

hookUtil.cpp

可以参考我的博客,安卓hook程序

2016-08-16

eclipse颜色字体主题插件(自己编译的,多种)

eclipse颜色字体主题插件(自己编译的,多种)

2016-07-07

空空如也

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

TA关注的人

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