自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 刷刷笔试题--[位运算编程题]

1.数组中只出现一次的数字一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。解析:最正规的做法:异或运算的性质:任何一个数字异或它自己都等于0 。也就是说,如果我们从头到尾依次异或数组中的每一个数字,那么最终的结果刚好是那个只出现一次的数字,因为那些出现两次的数字全部在异或中抵消掉了。如果能够把原数组分为两个

2016-09-30 18:30:39 1177

转载 Get请求携带数据量的各种限制及解决办法

正好在看请求数据量大时要怎么处理,找到了这篇文章~到新公司处理的第一个线上问题是某个商品页,在某个人机器上访问失败,nginx返回400错误,但其它人机器上没有问题,即使用虚拟机重建了出问题机器的软硬件环境也不会出问题。经过对出问题机器的http请求进行抓包,发现URL超长,cookie也很大,然后问题就很清楚了,因为大部分人用的是IE浏览器,IE浏览器限制了URL长度,做了自动截断处

2016-09-29 16:09:00 1685

原创 刷刷笔试题~~[迷宫问题!!]

1.迷宫问题定义一个二维数组:int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0,};它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。输入描

2016-09-29 14:56:14 1501

原创 刷刷笔试题~~[操作系统!!!]

1.设某计算机的逻辑地址空间和物理地址空间均为64KB,按字节编址。某进程最多需要6页数据存储空间,页的大小为1KB, 操作系统采用固定分配局部置换策略为此进程分配4个页框。当该进程执行到时刻260时,要访问逻辑地址为17CAH的数据 。该逻辑地址对应的页号是()页号   页框好 装入时间  访问位0       7      130        11       4    

2016-09-28 23:31:33 1343

原创 刷刷笔试题~~[回溯法]

1.矩阵中的路径请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如 a b c e s f c s a d e e 矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含"abcb"路径,因为字符串

2016-09-28 08:47:18 535

原创 堆&&堆排序!!

堆排序思想:堆是一棵完全二叉树,可以用数组来存储,假设某元素在数组中下标为i,如果它有左子树,那么左节点的下标是2*i+1;如果有右子树,右节点的下标是2*i+2如果有父节点,父节点的下标是(i-1)/2取整。堆分为最大堆和最小堆,最大堆的任意子树跟节点不小于任意子节点,最小堆的根节点不大于任意子节点堆排序就是利用堆来对数组排序,我们使用的是最大堆处理思想和冒泡、选择排

2016-09-27 12:15:53 930

原创 刷刷笔试题~~[一些暴力可以解但是很容易超时的题]

1.[编程题]或与加给定 x, k ,求满足 x + y = x | y 的第 k 小的正整数 y 。 | 是二进制的或(or)运算,例如 3 | 5 = 7。比如当 x=5,k=1时返回 2,因为5+1=6 不等于 5|1=5,而 5+2=7 等于 5 | 2 = 7。输入描述:每组测试用例仅包含一组数据,每组数据为两个正整数 x , k。 满足 0 输出描述

2016-09-27 12:05:07 717

原创 刷刷笔试题~~--[有关DFS的一些题]

1.全排列的一种求法思路简述:一个全排列其实就是一条把数组无重复遍历一遍的DFS过程思路一:简单回溯,1. 一个List存遍历路径,从第N个“结点”到第N+1个“结点”是只需要找一个未遍历的结点就行2. 一个关键点在于查找下一个可遍历“结点”, 可以用SET辅助List存放已遍历结点,List中存遍历书序(文中方法未用SET,复杂度较高,但是可以在L

2016-09-26 01:01:36 707

转载 Java多线程

Java多线程: 线程或者说多线程,是我们处理多任务的强大工具。线程和进程是不同的,每个进程都是一个独立运行的程序,拥有自己的变量,且不同进程间的变量不能共享;而线程是运行在进程内部的,每个正在运行的进程至少有一个线程,而且不同的线程之间可以在进程范围内共享数据。也就是说进程有自己独立的存储空间,而线程是和它所属的进程内的其他线程共享一个存储空间。线程的使用可以使我们能够并行地处理

2016-09-25 21:07:42 324

转载 Java中的sleep()和wait()的区别

1.sleep()方法是属于Thread类中的;wait()方法是属于Object类中的2.sleep()方法让程序暂停执行一段时间,让出cpu给其他线程,但他的监控状态依然保持着,当指定时间到了会自动恢复运行状态在调用sleep()方法中,线程不会释放对象锁;3.调用wait()方法时,线程会放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象调用notify()方法后本线程才进入对象

2016-09-25 20:42:08 460

转载 Java中Synchronized的用法

synchronized是Java中的关键字,是一种同步锁。它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象; 2. 修饰一个方法,被修饰的方法称为同步方法,其作用的范围是整个方法,作用的对象是调用这个方法的对象; 3. 修改一个静态的方法,其作用的范围是整个静态方法,作用的对象是这个类

2016-09-25 19:58:46 308

转载 servlet的单例多线程

因为我们平时编程用到了servlet,而servlet的容器默认是采用单实例多线程的方式处理多个请求的,所以平时的业务代码里也几乎没写过并发编程,感觉好像有些陌生,其实是servlet在默默滴帮我们做了这事,哈哈。 servlet的生命周期是由Web容器负责的。当客户端第一次请求某个Servlet时,Servlet容器将会根据web.xml配置文件实例化这个Servlet类。当有新

2016-09-24 21:56:51 803

转载 HTTP中的重定向和请求转发的区别

一、调用方式我们知道,在servlet中调用转发、重定向的语句如下:request.getRequestDispatcher("new.jsp").forward(request, response);   //转发到new.jspresponse.sendRedirect("new.jsp");   //重定向到new.jsp在jsp页面中你也会看到通过下面的方式

2016-09-24 17:55:13 376

转载 Java中int和Integer的==

对于基本类型来说,==比较的是值对于对象来说,==比较的是内存地址比较对象的值用equals从jdk1.5开始,有了“自动装箱的机制”,在byte-128到127范围内[整型的八位二进制的表示的范围为-128到127]如果存在了一个值,再创建相同的值的时候就不会重新创建,而是引用原来那个但是byte范围外还是会新建的对象Integer i=100,i

2016-09-24 17:05:25 572

转载 子类重写父类的方法应注意的问题

若想实现一个合格重写方法,而不是重载,那么必须同时满足下面的要求!重写规则之一:重写方法不能比被重写方法限制有更严格的访问级别。(但是可以更广泛,比如父类方法是包访问权限,子类的重写方法是public访问权限。)比如:Object类有个toString()方法,开始重写这个方法的时候我们总容易忘记public修饰符,编译器当然不会放过任何教训我们的机会。出错

2016-09-24 15:52:42 785

原创 刷刷笔试题~(1)

1.print()函数是一个类的常成员函数,它无返回值,下列表示中正确的是()void print() const;知识点:常成员函数的说明格式如下:类型说明符 函数名(参数表)const;2.下列对于宏的描述,不正确的是:(A)宏会带来性能的缺失宏不进行类型检查宏可以做到函数无法做到的功能编译时宏的处理早于函数知识点:宏只是预定义的函数

2016-09-23 16:32:04 2578

原创 刷刷笔试题~(2)

1.四个平面最多把三维空间分成几个部分?(15)知识点:n ^ 2-1 = 15这个问题等价于:一个西瓜切4刀,假设在此过程中西瓜不散落,则最多可以切成几块?前3刀沿横、纵、竖三个方向切成8块应该没有问题,第4刀怎么切呢?要得到最多的块数,应该尽可能切到前8块,所以切法应该区别于前3刀的方向,即斜切,但总有1块切不到,所以答案为8×2-1=152.师徒四人西天取经,途中必需

2016-09-23 16:31:52 1107

原创 刷刷笔试题~(4)编程

[编程题]左右最值最大差给定一个长度为N(N>1)的整型数组A,可以将A划分成左右两个部分,左部分A[0..K],右部分A[K+1..N-1],K可以取值的范围是[0,N-2]。求这么多划分方案中,左部分中的最大值减去右部分最大值的绝对值,最大是多少?给定整数数组A和数组的大小n,请返回题目所求的答案。测试样例:[2,7,3,1,1],5返回:6im

2016-09-23 16:30:09 713

原创 刷刷笔试题~~[递归]

[编程题]上楼梯有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶、3阶。请实现一个方法,计算小孩有多少种上楼的方式。为了防止溢出,请将结果Mod 1000000007给定一个正整数int n,请返回一个数,代表上楼的方式数。保证n小于等于100000。测试样例:1返回:1解题思路:这个是很经典的递归问题,这里主要考察递归和溢出的问题递归:

2016-09-23 16:29:47 673

原创 刷刷笔试题~~~[动态规划!!!!]

动态规划算法算法描述:动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。基本思想也是将待求解问题分解成若干个子问题,先求解子问题,并将子问题的结果保存下来,然后从这些子问题的解得到原问题的解。动态规划实质上是一种以空间换时间的技术,它在实现的过程中,不得不存储产生过程中的各种状态,所以它的空间复杂度要大

2016-09-23 14:52:18 3406

原创 刷刷笔试题~~[各种各样的回文序列!!!]

1.[编程题]回文序列如果一个数字序列逆置之后跟原序列是一样的就称这样的数字序列为回文序列。例如:{1, 2, 1}, {15, 78, 78, 15} , {112} 是回文序列, {1, 2, 2}, {15, 78, 87, 51} ,{112, 2, 11} 不是回文序列。现在给出一个数字序列,允许使用一种转换操作:选择任意两个相邻的数,然后从序列移除这两个数,

2016-09-23 13:31:57 832

原创 刷刷笔试题~~[递归类编程]

1.[编程题]暗黑的字符串一个只包含'A'、'B'和'C'的字符串,如果存在某一段长度为3的连续子串中恰好'A'、'B'和'C'各有一个,那么这个字符串就是纯净的,否则这个字符串就是暗黑的。例如:BAACAACCBAAA 连续子串"CBA"中包含了'A','B','C'各一个,所以是纯净的字符串AABBCCAABB 不存在一个长度为3的连续子串包含'A','B','C',所以是

2016-09-23 13:19:28 1351

转载 java中判断一个字符串是否“都为数字”和“是否包含数字”和“截取数字”

// 判断一个字符串是否都为数字 public boolean isDigit(String strNum) { return strNum.matches("[0-9]{1,}"); } // 判断一个字符串是否都为数字 public boolean isDigit(String strNum) { Pattern pattern = Pattern

2016-09-20 12:30:10 6786

转载 判断字符串中是否仅包含字母数字和汉字

判断字符串中是否仅包含字母数字和汉字      *各种字符的unicode编码的范围:     * 汉字:[0x4e00,0x9fa5](或十进制[19968,40869])     * 数字:[0x30,0x39](或十进制[48, 57])     *小写字母:[0x61,0x7a](或十进制[97, 122])     * 大写字母:[0x41,0x5a](或十进制[

2016-09-20 12:27:49 1592

转载 MYSQL索引实例

MYSQL描述:一个文章库,里面有两个表:category和article。category里面有10条分类数据。article里面有20万条。article里面有一个"article_category"字段是与category里的"category_id"字段相对应的。article表里面已经把 article_category字义为了索引。数据库大小为1.3G。问题

2016-09-20 01:07:33 522

转载 线程状态&一些东西

说IO是阻塞的,当多个IO访问服务器时,发生阻塞的时候,CPU要不停的轮询每个IO的线程,看哪个IO的阻塞解除。会浪费CPU资源。然后我看了线程的状态分类,专门有人说过阻塞和同步是不一样的。1、新建状态(New):新创建了一个线程对象。2、就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得可运行,等待

2016-09-18 18:48:26 315

转载 多线程中的join()

Join,单词本事就是连接的意思。先贴出几段代码猜猜结果。         public static int Main() { Alpha oAlpha = new Alpha(); Thread Thread1 = new Thread(delegate() {

2016-09-18 14:22:05 288

转载 什么是死锁?如何避免死锁?

所谓死锁:是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。由于资源占用是互斥的,当某个进程提出申请资源后,使得有关进程在无外力协助下,永远分配不到必需的资源而无法继续运行,这就产生了一种特殊现象死锁。虽然进程在运行过程中,可能发生死锁,但死锁的发生也必须

2016-09-18 14:15:03 795

原创 一个简单的会先客户端/服务器应用

不管服务器从客户端收到什么输入,都会将其回显出来,在命令行中指定TCP接口几个注意的地方:要使用socket.error要记得提前导入"from socket import error"用docopt从命令行中取得端口号,这是字符串类型的,因为是端口号,从命令行取出来后要变成整型  int(  )就okpython3中socket的send()和sendall()的参数得是

2016-09-18 10:20:17 353

转载 MySQL中timestamp字段的一些规则

有同学说timestamp字段的规则比较“诡异”。手册里面说的比较复杂,这里简单说明一下MySQL中 timestamp字段的一些规则。 分为两部分 定义规则: 1、  timestamp字段有三个属性:a)           是否允许NULL。默认为not null。b)           默认值。可以设定为default CU

2016-09-17 17:23:30 2176

转载 关于SQL注入~~~~

SQL注入攻击因如下几点而是一种特别有趣的冒险:1.因为能自动规范输入的框架出现,写出易受攻击的代码变得越来越难——但我们仍然会写差劲的代码。2.因为你使用了存储过程或者ORM框架,你不一定很清楚的是(虽然你意识到SQL注入可能穿透他们,对吗) 我们在这些保护措施之下编写的代码依然是易受攻击的。3.通过精心设计的爬取web搜寻易受攻击站点的自动化工具  使这类站点更易远程检测出来。

2016-09-17 16:23:20 434

转载 双向队列ArrayDeque类

ArrayDeque双向队列!!!Queue接口public abstract boolean add(E paramE);public abstract boolean offer(E paramE);public abstract E remove();public abstract E poll();Queue接口提供了以上几个方法

2016-09-17 01:26:05 448

转载 MySQL删除表数据

在MySQL中有两种方法可以删除数据,一种是DELETE语句,另一种是TRUNCATE TABLE语句。DELETE语句可以通过WHERE对要删除的记录进行选择。而使用TRUNCATE TABLE将删除表中的所有记录。因此,DELETE语句更灵活。  如果要清空表中的所有记录,可以使用下面的两种方法:  DELETE FROM table1  TRUNCATE TABLE

2016-09-17 01:17:29 722

转载 客户端跳转与服务器端跳转的区别

客户端跳转时用HttPservletResopse对象的sendRedirect函数实现,服务器端跳转是使用RequestDispather对象的forward方法实现的。这两者之间的区别主要体现在三个方面:1. 使用服务器端跳转时,客户浏览器的地址栏并不会显示目标地址的URL,    而使用客户端跳转时,地址栏当中会显示目标资源的URL;2. 服务器端跳转是由客户端发送一个请

2016-09-16 13:03:08 963

转载 关闭浏览器后Session失效原因分析

首先需要理解一下几点:1、Http是无状态的,即对于每一次请求都是一个全新的请求,服务器不保存上一次请求的信息2、Session是保存在服务端的,为什么后续请求会读取到session?因为请求会包含一个sessionId,该值存储在cookie中,服务器通过这个sessionId找到对应的session3、cookie是有过期时间的,规则如下:Cookie的Max-Age决定了

2016-09-16 10:55:54 3731

转载 MySQL获取最大自增ID(auto_increment)的五种方式及其特点

在关系型数据库的表结构中,一般情况下,都会定义一个具有‘AUTO_INCREMENT’扩展属性的‘ID’字段,以确保数据表的每一条记录都有一个唯一标识。  而实际应用中,获取到最近最大的ID值是必修课之一,针对于该问题,实践整理如下:   其实auto_increment就是在insert值得时候在自增字段那里输入null,他会自动帮你按上一个的数来填上,last_insert_i

2016-09-15 19:09:41 1682

转载 mysql中key 、primary key 、unique key 与index区别

索引被用来快速找出在一个列上用一特定值的行。没有索引,MySQL不得不首先以第一条记录开始并然后读完整个表直到它找出相关的行。表越大,花费时间越多。如果表对于查询的列有一个索引,MySQL能快速到达一个位置去搜寻到数据文件的中间,没有必要考虑所有数据。如果一个表有1000行,这比顺序读取至少快100倍。注意你需要存取几乎所有1000行,它较快的顺序读取,因为此时我们避免磁盘寻道。 

2016-09-14 23:38:26 106877 12

转载 commons-fileupload实现文件上传功能实例

Apache提供的commons-fileupload jar包实现文件上传确实很简单,最近要用Servlet/JSP做一个图片上传功能,在网上找了很多资料,大多是基于struts框架介绍的,还有些虽然也介绍common-fileupload的上传,但是那些例子比较老,有些类现在都废弃了。  案例场景一个图书馆后台管理界面,需要提供上传图书图片的功能并且最终显示在页面中。

2016-09-14 16:32:08 735

转载 Commons- BeanUtils学习笔记

1.什么是BeanUtils:BeanUtils主要提供了对于JavaBean进行各种操作。 2.BeanUtils的作用:在一般的写bean组件的时候,都必须要写setter和getter方法,当然假如我们事先已经知道bean的相关属性和方法,写bean是比较简单的,但是组件太多的时候,重复编写经常是枯燥乏味令人厌烦的。但当有些时候我么需要调用动态对象的属性的时候,我们应该怎

2016-09-14 15:32:09 325

转载 JDBC中Statement和PrepareStatement的区别及特性

主要区别:Statement执行一条sql就得编译一次,PrepareStatement只编译一次;常用后者原因在于参数设置非常方便;还有就是sql放置的位置不同;常用后者原因在于参数设置非常方便;特性:jdbc的api中的主要的四个类之一的java.sql.statement要求开发者付出大量的时间和精力。在使用statement获取jdbc访问时所具有的一个共通的问

2016-09-14 10:46:14 726

空空如也

空空如也

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

TA关注的人

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