自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Java Garbage Collection基础详解------Java 垃圾回收机制技术详解

最近还是在找工作,在面试某移动互联网公司之前认为自己对Java的GC机制已经相当了解,其他面试官问的时候也不存在问题,直到那天该公司一个做搜索的面试官问了我GC的问题,具体就是:老年代使用的是哪中垃圾回收算法,并详细解释第一步做什么,第二部做什么?这时候才发现具体一步一步怎么来的,确实不知道。那结果就可想而知,面试官就对我不感兴趣了。那一瞬间,感觉自己不应该过分轻信别人的博客,要相信官方的文档,因

2014-09-05 10:35:11 916

转载 JVM原理和优化

JVM工作原理和特点主要是指操作系统装入JVM是通过jdk中Java.exe来完成,通过下面4步来完成JVM环境.1.创建JVM装载环境和配置2.装载JVM.dll3.初始化JVM.dll并挂界到JNIENV(JNI调用接口)实例4.调用JNIEnv实例装载并处理class类。在我们运行和调试Java程序的时候,经常会提到一个JVM的概念.JVM是Java程序运行的环境,但

2014-09-03 13:08:18 819

原创 调整数组顺序使奇数位于偶数前面。

题目:输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。要求时间复杂度为O(n)。

2014-07-30 12:56:17 604

原创 字符串的排列

题目:输入一个字符串,打印出该字符串中字符的所有排列。 例如输入字符串abc,则输出由字符a、b、c 所能排列出来的所有字符串 abc、acb、bac、bca、cab 和cba。/*思路:考察递归 *   /abc(1,1) *     abc(0,0)\acb(1,2)    *     /   bac(1,1) *    /        /  *abc

2014-07-30 11:27:07 602

原创 和为n连续正数序列

题目:输入一个正数n,输出所有和为n连续正数序列。    例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3 个连续序列1-5、4-6 和7-8。

2014-07-29 12:15:22 781

原创 一个数组是由一个递减数列左移若干位形成的,比如{4,3,2,1,6,5} 是由{6,5,4,3,2,1}左移两位形成的,在这种数组中查找某一个数

public class findNum { /** * @param PLA * 题目:一个数组是由一个递减数列左移若干位形成的,比如{4,3,2,1,6,5} 是由{6,5,4,3,2,1}左移两位形成的,在这种数组中查找某一个数 */ /*用二分法查找貌似就挺快*/ public static void main(String[] args) { // TODO

2014-07-28 23:40:30 1526 3

原创 求一个数组的最长递减子序列比如{9,4,3,2,5,4,3,2}的最长递减子序列为{9,5, 4,3,2}

代码如下:public class Decrease { /** * @param PLA * */ /*算法描述: * 用动态规划解决此问题,设A为原数组,另设数组B(大小与A相同)做为辅助数组,其中 * B[i]用来存储以A[i]为结尾的最长递减子序列的长度,比如i=3,A[3]=2比其前面任何 * 元素都小,所以B[3]=4. * 可以得出:B[i]=

2014-07-28 19:52:35 3086

转载 卡特兰数

什么是Catalan数说到Catalan数,就不得不提及Catalan序列,Catalan序列是一个整数序列,其通项公式是我们从中取出的就叫做第n个Catalan数,前几个Catalan数是:1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670

2014-07-28 17:56:46 971

原创 一个整数数组,长度为n,将其分为m份,使各份的和相等,求m 的最大值比如{3,2,4,3,6} 可以分成{3,2,4,3,6} m=1; {3,6}{2,4,3} m=2 {3,3}{2

问题描述:一个整数数组,长度为n,将其分为m份,使各份的和相等,求m 的最大值比如{3,2,4,3,6} 可以分成{3,2,4,3,6} m=1;{3,6}{2,4,3} m=2{3,3}{2,4}{6} m=3 所以m 的最大值为3

2014-07-28 17:33:18 2785

原创 .有一千万条短信,有重复,以文本文件的形式保 请用5 分钟时间,找出重复出现最多的前10 条。

1、.有一千万条短信,有重复,以文本文件的形式保 请用5 分钟时间,找出重复出现最多的前10 条。

2014-07-28 11:12:01 3163

转载 JAVA堆内存

原文链接

2014-07-27 12:37:29 719

转载

原文

2014-07-27 12:35:24 546

原创 请修改append 函数,利用这个函数实现:两个非降序链表的并集,1->2->3 和2->3->5 并为1->2->3->5 另外只能输出结果,不能修改两个链表的数据。

不知道啥意思,用JAVA中Linkedlist实现链表,代码如下:

2014-07-25 20:52:14 2462

原创 一串首尾相连的珠子(m 个),有N 种颜色(N<=10),设计一个算法,取出其中一段,要求包含所有N 中颜色,并使长度最短。

转换:将颜色用数字表示出来,比如五种颜色可以用0到4表示,题目就演化为由N个数字   毫无顺序的连成一串,数字串长度为m,在这长度为m的数字串中,取出一段,包含   所有N个数字,且使之长度最短。分析

2014-07-25 19:51:29 1568

原创 JAVA实现简单的堆栈结构

package Stack;public class Stack {// 不知道栈中要存入什么类型,用泛型 /** * @param PLA * JAVA实现简单堆栈 */ private Object[] stack;// java不支持泛型数组(可以用其它容器来使用) private int index;// 充当指针 private static final in

2014-07-25 16:36:41 717

转载 二叉树两节点间最大距离

package BinTree;import java.util.ArrayList;import java.util.List;public class Node_dis { /* a. 1 / \ 2 3 / \ / \ 4 5 6 7 max=4 pass "root" b. 1

2014-07-24 12:04:22 740

原创 递归函数详解

先上代码,简单代码如下:

2014-07-24 11:29:11 1069

转载 大量的URL 字符串,如何从中去除重复的,优化时间空间复杂度

1、如果内存足够的话,用hash表

2014-07-23 18:12:38 3553

原创 用天平(只能比较,不能称重)从一堆小球中找出其中唯一一个较轻的,使用x 次天平, 最多可以从y 个小球中找出较轻的那个,求y 与x 的关系式。

此为百度面试题,用三分法

2014-07-23 17:47:33 1782

原创 图的深度优先与广度优先遍历

import java.util.LinkedList;import java.util.Queue;public class Graph { /** * @PLA 图的遍历 */ private int num = 9;// 结点数 private boolean[] flag;// 存储结点是否遍历过 private String[] vertexs = { "A",

2014-07-23 17:10:15 702

原创 n 支队伍比赛,分别编号为0,1,2......n-1,已知它们之间的实力对比关系,存储在一个二维数组w[n][n]中。。。

题目:n 支队伍比赛,分别编号为0,1,2......n-1,已知它们之间的实力对比关系,存储在一个二维数组w[n][n]中,w[i][j] 的值代表编号为i,j 的队伍中更强的一支,所以w[i][j]=i 或者j,现在给出它们的出场顺序,并存储在数组order[n]中,比如order[n] = {4,3,5,8,1......},那么第一轮比赛就是4 对3, 5 对8。然胜者晋级,败者淘

2014-07-03 12:06:39 1821

原创 简单socket编程,传输文件,JAVA

package socket_file;import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.File;import java.io.FileInputSt

2014-06-20 11:05:31 630

转载 JAVA堆栈(转载)

1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集

2014-06-10 10:16:44 499

原创 FileInputStream与FileReader读取文件

/** * @author PLA * java FileInputStream与FileReader */ public static void main(String[] args) { try { FileInputStream fis = new FileInputStream("d:\\data.txt"); int data = fis.read()

2014-06-05 19:58:18 909

原创 JAVA用enum枚举与switch搭配

/** * @author PLA * java enum switch */ public static void main(String[] args) { getColor gc = new getColor(Color.RED); gc.describe(); } public static class getColor{ Color color; pu

2014-06-04 19:20:21 1160

转载 TCP为什么要三次握手,不是两次四次

第三次握手——革命斗争中的通信故事在革命战争影片中,经常会看到英勇的解放军战士背着步话机在喊“长江长江,我是黄河,听到请回答。”很明显,这是呼号为黄河的一方想找呼号为长江的另一方说事,为了保证影片的节奏,导演往往把后面的联络过程省略了,其实后面还有两步,长江听到黄河的呼叫后要回答“黄河黄河,我是长江,我听到了你,请回答。”这叫做第二次握手。黄河听到长江的呼叫后还要回答“长江长江

2014-06-04 17:27:06 911

原创 求一个矩阵中最大的二元矩阵

/** * @author PLA * 求一个矩阵中最大的二元矩阵 */ public static void main(String[] args) { int matrix[][] = {{1,2,0,3,4},{2,3,4,5,1},{1,1,5,3,0}}; getMaxMatrix(matrix); } public static void getMaxMat

2014-06-04 11:40:01 801

原创 给一串很长字符串,要求找到符合要求的字符串,类似“和谐”系统

实现一个挺高级的字符匹配算法: 给一串很长字符串,要求找到符合要求的字符串,例如目的串:123 1******3***2  ,12*****3 这些都要找出来 思路:

2014-06-03 19:04:13 973

原创 递归实现数的阶乘

/** * @author PLA 阶乘 */ public static void main(String[] args) { System.out.println("请输入一个数字:"); Scanner scanner = new Scanner(System.in); int i = scanner.nextInt(); System.out.println(i

2014-06-03 12:29:54 830

原创 统计从1到n整数中1出现的次数

思想:按照位数分别进行统计

2014-06-03 12:23:33 815

原创 字符串左旋

/** * @author PLA 字符串左旋 */ public static void main(String[] args) { String s = "abcdefghi"; char[] ch = s.toCharArray(); int m = 3; System.out.println("原字符串:" + s); swap(ch, 0, m); s

2014-06-02 20:26:58 821

原创 在字符串中找出连续最长的数字串

/** * @author PLA * 在字符串中找出连续最长的数字串 */ public static void main(String[] args) { String s = "fd76687dfsad69798796dgdg7902344342"; getNum(s); } public static void getNum(String s){ int

2014-05-30 18:56:10 865

原创 输入两个整数n 和m,从数列1,2,3.......n 中随意取几个数, 使其和等于m ,要求将其中所有的可能组合列出来.

/** * @author PLA * 输入两个整数n 和m,从数列1,2,3.......n 中随意取几个数, * 使其和等于m ,要求将其中所有的可能组合列出来. */ public static void main(String[] args) { int m=27,n=20; comb(m,n); } public static void comb(i

2014-05-30 16:26:49 910

原创 将整数字符串转换成整数输出(JAVA实现,不能用自带函数)

/** * @author PLA * 将整数字符串转换成整数输出 */ public static void main(String[] args) { String s = "-1456542"; change(s); } public static void change(String s){ boolean flag = true; long num

2014-05-30 12:56:38 1195

原创 在一个字符串中找到第一个只出现一次的字符(JAVA实现)

/** * @author PLA * 在一个字符串中找到第一个只出现一次的字符 */ public static void main(String[] args) { String s = "dtoghohronogddddew"; int judge = find(s); if(judge!=-1) System.out.println(s.charAt(

2014-05-29 19:37:16 1409

原创 二叉树建立以及先序、中序、后序、层次遍历(JAVA 实现)

package BinTree;import java.awt.List;import java.util.LinkedList;public class BinTree { int count = 0; int recount =0; private int[] array = {1,2,3,4,5,6,7,8,9}; private static java.util.List

2014-05-29 17:45:47 1104

空空如也

空空如也

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

TA关注的人

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