Java
文章平均质量分 69
拉布拉多先生
这个作者很懒,什么都没留下…
展开
-
java中public,private,protect,default区别
public: Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不 仅可以跨类访问,而且允许跨包(package)访问。private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以 及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。protect: 介于public 和 private 之...转载 2018-03-30 11:24:23 · 992 阅读 · 0 评论 -
剑指offer 打印出二叉树中结点值的和为输入整数的所有路径。
输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。 构建一个新的ArrayList<Integer>放入,如果把arr直接放入,后面修改 //修改arr,会改变已经放入ArrayList的arr的数值。 arr.r...原创 2018-04-04 21:51:36 · 155 阅读 · 0 评论 -
action与servlet区别
在struts2.0中,可以通过ServletActionContext.getRequest()获取request对象。 在action的方法中return一个字符串,该字符串对应struts.xml中的result标签的name相同,result标签中包含的就是跳转页面, 上图提供了struts2的执行流程。如下: 1:从客户端发出请求(HTTPServletRequest)。 2...转载 2018-04-22 18:40:43 · 4366 阅读 · 0 评论 -
apache的FileUtils的jar包下载导入以及FileUtils方法
需要导入commons-io的jar包,下载地址:(选择bin,不是src)然后解压缩zip里有jar包,自行导入下载地址: * http://commons.apache.org/proper/commons-io/download_io.cgi Java中的一般的方法,我们要复制一个文件,可能需要读取源文件,生成流对象,再写入一个新的文件中,使用apache commons-io很容就可以处...原创 2018-04-30 12:25:23 · 16857 阅读 · 1 评论 -
COOKIE和SESSION有什么区别
1. 由于HTTP协议是无状态的协议,所以服务端需要记录用户的状态时,就需要用某种机制来识具体的用户,这个机制就是Session.典型的场景比如购物车,当你点击下单按钮时,由于HTTP协议无状态,所以并不知道是哪个用户操作的,所以服务端要为特定的用户创建了特定的Session,用用于标识这个用户,并且跟踪用户,这样才知道购物车里面有几本书。这个Session是保存在服务端的,有一个唯一标识。在服务...转载 2018-04-24 20:56:33 · 121 阅读 · 0 评论 -
死锁的诞生,写一个简单的死锁实例
在实际编程中,要尽量避免出现死锁的情况,但是让你故意写一个死锁的程序时似乎也不太简单(有公司会出这样的面试题),以下是一个简单的死锁例子。线程的同步化可能会造成死锁,死锁发生在两个线程相互持有对方正在等待的东西(实际是两个线程共享的东西)。只要有两个线程和两个对象就可能产生死锁。/** * 一个简单的死锁类 * 当DeadLock类的对象flag==1时(td1),先锁定o1,睡眠500毫秒 *...原创 2018-05-04 22:55:31 · 680 阅读 · 0 评论 -
MyEclipse2017 下查询和设置服务器 Tomcat JVM内存大小
1.为什么要设置JVM内存大小呢? 因为如果你的程序运行时超过JVM默认内存大小,就不会报传说中内存溢出异常。Exception in thread "main" java.lang.OutOfMemoryError: Java heap spaceat junit.Bean.main(Bean.java:25)2.设置步骤一.MyEclipse2017 下的打开方式 还有一种run->ru...原创 2018-05-29 11:23:18 · 2942 阅读 · 0 评论 -
clone:浅复制和深复制
首先需要明白,浅拷贝和深拷贝都是针对一个已有对象的操作。那先来看看浅拷贝和深拷贝的概念。在 Java 中,除了基本数据类型(元类型)之外,还存在 类的实例对象 这个引用数据类型。而一般使用 『 = 』号做赋值操作的时候。对于基本数据类型,实际上是拷贝的它的值,但是对于对象而言,其实赋值的只是这个对象的引用,将原对象的引用传递过去,他们实际上还是指向的同一个对象。而浅拷贝和深拷贝就是在这个基础之上做...原创 2018-06-22 17:32:34 · 205 阅读 · 0 评论 -
Set集合排序以及Java中数组、List、Set互相转换
TreeSet使用元素的自然顺序对元素进行排序,或者根据创建set时提供的Comparator进行排序,具体取决于使用的构造方法。通俗一点来说,就是可以按照排序后的列表显示,也可以按照指定的规则排序。public class test { public static void main(String[] args) { Set<Integer> set = new TreeS...原创 2018-07-01 21:40:48 · 2675 阅读 · 0 评论 -
java.lang.NullPointerException 运行异常
一般报java.lang.NullPointerException的原因有以下几种: ·字符串变量未初始化; ·接口类型的对象没有用具体的类初始化,比如: List lt; 会报错 List lt = new ArrayList(); 则不会报错了 ·当一个对象的值为空时,你没有判断为空的情况。 你可以试着把下面的代码前加一行代码: if(rb!=null); ....................原创 2018-07-02 11:42:27 · 3610 阅读 · 0 评论 -
剑指offer :奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。找到第一个偶数标记startou再往下找奇数,与之前的偶数交换,先交换距离近的,直到偶数标记,startou++找完,Breakpackage Test3;public class niuke33 {public sta...原创 2018-04-04 18:37:03 · 1074 阅读 · 0 评论 -
java Comparator接口中(底层源码)compare方法决定排序的升序降序问题
转自CSDN论坛,稍加整理和总结 点击打开链接Comparator升序降序实现 int compare(Object o1, Object o2) 返回一个基本类型的整型 1) 如果要按照升序排序, 则o1 小于o2,返回-1(负数),相等返回0,01大于02返回1(正数) 那这是为什么呢?通过底层源码了解一下:public static <T> void sort(T[] a, Co...转载 2018-04-16 22:40:23 · 5294 阅读 · 3 评论 -
剑指Offer,从外向里以顺时针打印矩阵
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 1213 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.import java.util.ArrayList;public class Solution { public ArrayLis...原创 2018-03-31 11:57:34 · 152 阅读 · 0 评论 -
double类型的浮点数的N次方
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。public class Solution { public double Power(double base, int exponent) { double res=1; if(exponent<0) { base=1/ba...原创 2018-03-31 23:52:15 · 2558 阅读 · 0 评论 -
面试题:数列还原(网易笔试17)
牛牛的作业薄上有一个长度为 n 的排列 A,这个排列包含了从1到n的n个数,但是因为一些原因,其中有一些位置(不超过 10 个)看不清了,但是牛牛记得这个数列顺序对的数量是 k,顺序对是指满足 i < j 且 A[i] < A[j] 的对数,请帮助牛牛计算出,符合这个要求的合法排列的数目。 输入描述: 每个输入包含一个测试用例。每个测试用例的第一行包含两个整数 n 和 k(1 <...原创 2018-03-26 19:53:49 · 628 阅读 · 0 评论 -
线程和进程的区别,并发与并行的区别
进程是cpu资源分配的最小单位,线程是cpu调度的最小单位。以前进程既是资源分配也是调度的最小单位,后来为了更合理的使用cpu(实际上是cpu性能越来越好),才将资源分配和调度分开,就有了线程。线程是建立在进程的基础上的一次程序运行单位。一、进程进程:指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的,是一个能独立运行的活动实体。 注意,进程一般有三个状态:...原创 2018-04-01 17:18:28 · 1083 阅读 · 0 评论 -
面试在线题 幸运盒子(网易2017)
题目可以转化成求符合条件的集合真子集个数。每次从全集中选择若干元素(小球)组成子集(袋子)。集合子集个数为2^n个,使用dfs必然超时。且此题有重复元素,那么就搜索剪枝。 对于任意两个正整数a,b如果满足 a+b>a*b,则必有一个数为1.可用数论证明: 设a=1+x,b=1+y,则1+x+1+y>(1+x)*(1+y),---> 1>x*y,则x,y必有一个...原创 2018-03-27 11:32:46 · 210 阅读 · 0 评论 -
HashMap和Hashtable比较 以及线程安全的集合
HashMap和Hashtable的比较是Java面试中的常见问题,用来考验程序员是否能够正确使用集合类以及是否可以随机应变使用多种思路解决问题。HashMap的工作原理、ArrayList与Vector的比较以及这个问题是有关Java 集合框架的最经典的问题。Hashtable是个过时的集合类,存在于Java API中很久了。在Java 4中被重写了,实现了Map接口,所以自此以后也成了Java...原创 2018-04-02 20:13:49 · 4288 阅读 · 0 评论 -
连续子数组的最大和
HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。你会不会被他忽悠住?(子向量的长度至少是1)...原创 2018-04-02 23:10:57 · 106 阅读 · 0 评论 -
2018年 京东实习生 算法题 只包含因子2、3和5的数,求第N个数(丑数)
把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。package Test3;import java.util.*; public class tecncent1 { public static void main(String[] args) ...原创 2018-04-10 23:08:08 · 899 阅读 · 0 评论 -
腾讯2017笔试题 求素数对
首先看一个关于质数分布的规律:大于等于5的质数一定和6的倍数相邻。例如5和7,11和13,17和19等等;证明:令x≥1,将大于等于5的自然数表示如下:······ 6x-1,6x,6x+1,6x+2,6x+3,6x+4,6x+5,6(x+1),6(x+1)+1 ······可以看到,不在6的倍数两侧,即6x两侧的数为6x+2,6x+3,6x+4,由于2(3x+1),3(2x+1),2(3x+2)...原创 2018-04-03 20:45:50 · 322 阅读 · 0 评论 -
集合迭代器Iterator与java.util.NoSuchElementException异常
总结:Iterator中.next()方法只能调用一次,每一次使用都会指向下一个元素,当下一个元素不存在是(边界溢出)即报该错误.创建set的iteratorSet<Object> set = new HashSet<Object>();Iterator<Object> it = set.iterator();while(it.hasNext())//判断是否有...原创 2018-07-09 18:15:55 · 522 阅读 · 0 评论