java编程
yuchao1076244056
这个作者很懒,什么都没留下…
展开
-
算法-java(2)
1,字符串移位 给定两个字符串s1和s2,判断s2能否被s1循环移位得到的字符串包含。如: s1=AABCD,s2=CDAA,,返回true, s1=ABCD,s2=ACBD。返回false分析:若s2能被s1循环移位得到,则s2一定在s1s1上 ,即CDAA一定在AABCDAABCD上。 s1s1.indexOf(s2)!=-1,即可。 或者s1s1.contains(s2)来判断原创 2016-03-29 10:34:29 · 407 阅读 · 0 评论 -
深度优先遍历和广度优先遍历
深度优先遍历的主要思想是: 首先以一个未被访问过的顶点作为起始顶点,沿当前顶点的边走到未访问过的顶点:当没有未访问过的顶点时,则回到上一个顶点,继续试探访问别的顶点,直到所有的顶点都被访问过。类似先序遍历。显然,深度优先遍历是沿着图的某一条分支遍历直到末端,然后回溯,再沿着另一条进行同样的遍历,直到所有的顶点都被访问过为止。 那么,如何存储一个图呢?常用的方法是使用一个二维数组来存储。 图原创 2016-06-20 17:28:14 · 632 阅读 · 0 评论 -
最短路径
1,Floyd-Warshall算法(只有五行)for(int k=1;k<=n;k++){ for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(e[i][j]>e[i][k] + e[k][j]) e[i][j]=e[i][k]+e[k][j]; }原创 2016-06-20 19:23:39 · 275 阅读 · 0 评论 -
迷宫搜索
1,深度优先搜索package 迷宫;import java.util.Scanner;public class Sousuo { static int n,m,q,p,min=99999999; static int[][] a=new int[51][51]; static int[][] book=new int[51][51]; public static v原创 2016-06-20 21:21:46 · 459 阅读 · 0 评论 -
Java四种引用类型
Java有四种引用类型, strongreference,softreference,weakreference,phantomreference。这四种引用的强度按照上面的顺序依次减弱,下面通过几个例子简单了解一下这四种引用类型。 StrongReference 这个不用多讲了,这是java默认的引用类型,如果不特意使用java.lang.ref下的类,那么程序中的所有引用都是强引用转载 2016-07-18 10:36:21 · 303 阅读 · 0 评论 -
HashMap的两种遍历方式
第一种:Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next(); Object key = entry.getKey(); Object val原创 2016-06-21 21:19:19 · 286 阅读 · 0 评论 -
Java继承
关键字this 有两个用途: 1,引用隐式参数 2,调用该类其他的构造器 super也有两个用途: 1 ,调用超类的方法 2,调用超类的构造器 警告: 子类在覆盖父类的一个方法时,子类方法不能低于父类方法的可见性,即 如果父类的类方法是public,则子类方法一定要声明为public。 final修饰的类不能被继承,final修饰的方法原创 2016-04-25 22:04:12 · 425 阅读 · 0 评论 -
一堆数据中查找到第k个大的值。
今天看算法分析是,看到一个这样的问题,就是在一堆数据中查找到第k个大的值。 名称是:设计一组N个数,确定其中第k个最大值,这是一个选择问题,当然,解决这个问题的方法很多,本人在网上搜索了一番,查找到以下的方式,决定很好,推荐给大家。 所谓“第(前)k大数问题”指的是在长度为n(n>=k)的乱序数组中S找出从大到小顺序的第(前)k个数的问题。 解法1: 我们可以对这个乱序数组按照从大到小先行排序转载 2016-07-19 10:26:46 · 523 阅读 · 0 评论 -
Java基础知识(二)
字符串 new String(“abc”)创建了几个对象? 一个或两个,如果常量池中原来有“abc”,则只创建一个对象;如果常量池中原来没有字符串“abc”,那么就会创建两个对象。String s="abc";String s1="ab"+"c";System.out.println(s==s1);输出 true ,因为"ab"+"c"在编译器就被转换为"abc",存放在常量区,原创 2016-07-08 17:16:52 · 1285 阅读 · 0 评论 -
java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: PermGen space 解决办法: 双击server (eg: pylon) ,然后点击Open lanuch configuration Arguments中的 VM arguments 前面加入 -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPe原创 2016-08-04 17:06:03 · 279 阅读 · 0 评论 -
Eclipse配置多个jdk
由于有些时间长的项目可能会需要低版本的jdk, 故配置一个低版本的jdk来满足需要。点击项目,右击build path -> configure build path -> 对 JRE System Library进行更改或者生成一个新的jdk.原创 2016-08-04 17:11:13 · 440 阅读 · 0 评论 -
安装了两种版本的jdk后,Eclipse启动失败解决方法
安装了两种版本的jdk后,Eclipse启动失败解决方法: 由于项目原因,安装了两种版本的jdk,结果导致eclipse启动失败, 需要在eclipse.ini中加入-startupplugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar指定jdk所在路径。***-vmE:\Program Files\Java\jdk1.原创 2016-08-04 20:16:25 · 11586 阅读 · 7 评论 -
根号2的小数点后100位
根号2的小数点后100位package 根号2的小数点后100位;import java.util.*;import java.math.*;public class QuickPower { public static void main(String[] args) { // TODO Auto-generated method stub double原创 2016-07-22 11:27:22 · 6148 阅读 · 3 评论 -
Java基础知识(一)
1,Java程序初始化顺序 父类静态变量、父类静态代码块、子类静态变量、子类静态代码块、父类非静态变量、父类非静态代码块、父类构造函数、子类非静态变量、子类非静态代码块、子类构造函数。2,Java中的作用域有哪些 public、protected、default、private。3,一个Java文件中是否可以定义多个类 一个Java文件中可以定义多个类,但 最多只能有一个类被publi原创 2016-07-05 22:16:47 · 463 阅读 · 0 评论 -
类型转换
String到Long的转换,避免出现java.lang.NumberFormatException: For input string: “1.0” at java.lang.NumberFormatException.forInputString(Unknown Source) 的问题 String ids = ExpImpUtils.toStr(excelRowMap.get(原创 2016-07-14 16:22:29 · 672 阅读 · 0 评论 -
1 2 3 4 5 6 7 8 9 =110 在左边数字之间加入运算符(+、-或不加),使得等式成立
1 2 3 4 5 6 7 8 9 = 110;请看上边的算式,为了使等式成立,需要在数字间填入加号或者减号(可以不填,但不能填入其它符号)。之间没有填入符号的数字组合成一个数,例如:12+34+56+7-8+9 就是一种合格的填法;123+4+5+67-89 是另一个可能的答案。请你利用计算机的优势,帮助警察叔叔快速找到所有答案。每个答案占一行。形如:12+34+56+7-8+9 123+4+转载 2016-03-29 20:49:13 · 10024 阅读 · 2 评论 -
Java内存区域-JVM
Java虚拟机运行时数据分为: 方法区,堆, 虚拟机栈,本地方法栈,程序计数器。 Java虚拟机栈, 是线程私有的,生命周期和线程相同,描述了Java的方法执行模型,每个方法执行时都会创建一个栈帧,会抛出StackOverFlowError和OOM。本地方法栈 类似Java虚拟机栈,只是描述的是本地方法的执行模型。也会抛出StackOverFlowError和OOM。Java堆 Java原创 2016-03-31 14:53:20 · 367 阅读 · 0 评论 -
OOM异常分类:
OOM异常分类: Java堆溢出 虚拟机栈和本地方法栈溢出 方法区和运行常量池溢出 本机直接内存溢出1,Java堆溢出 heap space: Java堆溢出是因为Java堆容量不足导致的,可以通过设置虚拟机参数-Xms和-Xmx分别设定Java堆的最小容量和最大容量。public class RuntimeConstantPoolOOM { public static void原创 2016-03-31 14:55:56 · 902 阅读 · 0 评论 -
剑指offer-java(1)
(1)二维数组中的查找 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。public class Solution { public boolean Find(int [][] array,int target) { for(int i=0;i<array.原创 2016-03-19 17:45:33 · 316 阅读 · 0 评论 -
机试题
1,去除连续重复的字符。 分析: 用一个LinkedList来解决 2,分组求平均值。 分析: 首先判断有效值加入list中 3,大数求余 分析: import java.math.BigInteger BigInteger 的divide方法。 有一点需要注意: 需要对异常进行try…catch..不然,有一个case会不过。原创 2016-04-01 16:37:06 · 279 阅读 · 0 评论 -
wait()、notify()、notifyAll()
一个线程A调用了对象obj的wait方法进入等待, 另一个线程调用对象obj的notify()或者notifyAll()方法, A在收到notify()或者notifyAll()后,返回,import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.*;public class WaitNoti原创 2016-04-04 00:58:01 · 297 阅读 · 0 评论 -
笔试题
节点拥有的子树的个数称为节点的度。即没有子节点的节点的度为0. SQL的WHERE子句不能含有聚合函数。eg: sum() avg() group byJava的序列化有两种方法: 1,实现Serializable接口,并继承相应的方法,java.io.Serializable接口,将对象状态转为可保持或传输格式的过程 2,实现Externalizable接口,并复写 writeExterna原创 2016-03-22 21:05:27 · 334 阅读 · 0 评论 -
算法题(1)
二分搜索public void binarySearch(int[] a,int target){ int left=0;int right=a.length-1; while(left<=right&&left<a.length&&right<a.length) { int mid=left+(right-left)/2; if(a[mid原创 2016-04-06 15:38:49 · 529 阅读 · 0 评论 -
算法-java(1)
(1)阶乘 1,给定一个数N,则N!的末尾有多少零? 分析: 10=2*5; N!=2^x * 5^y * …; 0的个数M=min(x,y); 2出现的频率比5出现的频率大的多,故M=y; 即题目可化为求 1-N中5的指数int count=0;for(int i=1;i<=N;i++){ int j=i; while(j%5==0){ count++原创 2016-03-28 16:16:45 · 432 阅读 · 0 评论 -
Java接口与内部类
public interface Comparable<T>{ int compareTo(T other);}任何实现Comparable接口的类都需要包含compareTo方法java.lang.Comparable<T> int compare(T other)用这个对象与other进行比较java.lang.Integerstatic int compare(int x原创 2016-04-26 11:06:04 · 239 阅读 · 0 评论 -
Eclipse Debug 界面应用详解——Eclipse Debug不为人知的秘密
今天浏览csdn,发现一文详细的描述了Eclipse Debug中的各个知识点,非常详尽!特此记录。 Eclipse Debug不为人知的秘密 http://blog.csdn.net/mgoann/article/details/7239492 Debug视图 认识debug视图,红色部分框为线程堆栈视图,黄色部分框为表达式、断点、变量视图,蓝色部分为代码视图。线程堆栈视图分别介绍一下转载 2016-04-18 22:40:39 · 384 阅读 · 0 评论 -
TCP三次握手、四次挥手及四层模型
TCP三次握手所谓三次握手(Three-way Handshake),是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。三次握手的目的是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号并交换 TCP 窗口大小信息.在socket编程中,客户端执行connect()时。将触发三次握手。第一次握手: 客户端发送一个TCP的SYN标志位置1的包指明客户打算连接的服务器的端口,原创 2016-04-21 10:07:52 · 1134 阅读 · 0 评论 -
Integer自动装箱、自动拆箱
//代码段1 Integer i1=200; Integer j1=200; System.out.println(i1==j1);//代码段2 Integer i2=100; Integer j2=100; System.out.println(i2==j2);复制代码这两段代码的结果分别是多少?JDK原创 2016-10-11 16:39:08 · 355 阅读 · 0 评论