- 博客(36)
- 收藏
- 关注
转载 Java Garbage Collection基础详解------Java 垃圾回收机制技术详解
最近还是在找工作,在面试某移动互联网公司之前认为自己对Java的GC机制已经相当了解,其他面试官问的时候也不存在问题,直到那天该公司一个做搜索的面试官问了我GC的问题,具体就是:老年代使用的是哪中垃圾回收算法,并详细解释第一步做什么,第二部做什么?这时候才发现具体一步一步怎么来的,确实不知道。那结果就可想而知,面试官就对我不感兴趣了。那一瞬间,感觉自己不应该过分轻信别人的博客,要相信官方的文档,因
2014-09-05 10:35:11 975
转载 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 906
原创 调整数组顺序使奇数位于偶数前面。
题目:输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。要求时间复杂度为O(n)。
2014-07-30 12:56:17 663
原创 字符串的排列
题目:输入一个字符串,打印出该字符串中字符的所有排列。 例如输入字符串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 664
原创 和为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 830
原创 一个数组是由一个递减数列左移若干位形成的,比如{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 1651 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 3144
转载 卡特兰数
什么是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 1039
原创 一个整数数组,长度为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 3292
原创 .有一千万条短信,有重复,以文本文件的形式保 请用5 分钟时间,找出重复出现最多的前10 条。
1、.有一千万条短信,有重复,以文本文件的形式保 请用5 分钟时间,找出重复出现最多的前10 条。
2014-07-28 11:12:01 3274
原创 请修改append 函数,利用这个函数实现:两个非降序链表的并集,1->2->3 和2->3->5 并为1->2->3->5 另外只能输出结果,不能修改两个链表的数据。
不知道啥意思,用JAVA中Linkedlist实现链表,代码如下:
2014-07-25 20:52:14 2554
原创 一串首尾相连的珠子(m 个),有N 种颜色(N<=10),设计一个算法,取出其中一段,要求包含所有N 中颜色,并使长度最短。
转换:将颜色用数字表示出来,比如五种颜色可以用0到4表示,题目就演化为由N个数字 毫无顺序的连成一串,数字串长度为m,在这长度为m的数字串中,取出一段,包含 所有N个数字,且使之长度最短。分析
2014-07-25 19:51:29 1655
原创 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 768
转载 二叉树两节点间最大距离
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 781
原创 用天平(只能比较,不能称重)从一堆小球中找出其中唯一一个较轻的,使用x 次天平, 最多可以从y 个小球中找出较轻的那个,求y 与x 的关系式。
此为百度面试题,用三分法
2014-07-23 17:47:33 1844
原创 图的深度优先与广度优先遍历
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 756
原创 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 1914
原创 简单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 669
转载 JAVA堆栈(转载)
1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集
2014-06-10 10:16:44 536
原创 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 949
原创 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 1200
转载 TCP为什么要三次握手,不是两次四次
第三次握手——革命斗争中的通信故事在革命战争影片中,经常会看到英勇的解放军战士背着步话机在喊“长江长江,我是黄河,听到请回答。”很明显,这是呼号为黄河的一方想找呼号为长江的另一方说事,为了保证影片的节奏,导演往往把后面的联络过程省略了,其实后面还有两步,长江听到黄河的呼叫后要回答“黄河黄河,我是长江,我听到了你,请回答。”这叫做第二次握手。黄河听到长江的呼叫后还要回答“长江长江
2014-06-04 17:27:06 938
原创 求一个矩阵中最大的二元矩阵
/** * @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 824
原创 给一串很长字符串,要求找到符合要求的字符串,类似“和谐”系统
实现一个挺高级的字符匹配算法: 给一串很长字符串,要求找到符合要求的字符串,例如目的串:123 1******3***2 ,12*****3 这些都要找出来 思路:
2014-06-03 19:04:13 999
原创 递归实现数的阶乘
/** * @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 873
原创 字符串左旋
/** * @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 870
原创 在字符串中找出连续最长的数字串
/** * @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 891
原创 输入两个整数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 971
原创 将整数字符串转换成整数输出(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 1230
原创 在一个字符串中找到第一个只出现一次的字符(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 1447
原创 二叉树建立以及先序、中序、后序、层次遍历(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 1160
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人