- 博客(25)
- 收藏
- 关注
原创 java导出word简单实例(值,图片和动态循环列表)
导出word有很多方法,我用的是freemarker的方式.1.制作一个word模板,需要加入值的地方制作成表单域2.将word另存为xml文件,将<w:t>标签里的数据改成${},并对应属性名3.将xml文件改为ftl文件放到src下的template文件夹下。4.附代码。package 导出word;import java.io.BufferedWriter;import j...
2018-07-10 11:00:19
3808
原创 剑指offer--二维数组的查找
package test;import java.util.HashSet;import java.util.Scanner;public class SetTest { // 二维数组的查找 // 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从下到上递增的顺序排序。 // 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 ...
2018-05-03 17:46:53
158
原创 简单学习一下dubbo
什么是Dubbo?dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务治理方案,以及SOA服务治理方案。 什么是RPC?两个服务器上分别部署不同的应用a,b。当服务器a想要调用服务器b提供的方法时,由于不属于一个空间,不能直接调用,需要通过网络传输调用服务。rpc会出现的问题?1.寻址问题 2.序列化 3.通讯问题(假定存在某种网络协议)什么是soap?严格分离模块,使用接口调...
2018-04-15 00:58:24
252
原创 了解一哈负载均衡
我在面试ok的时候面试官问到了一个负载均衡的概念,说实话对于这些概念的东西当时都是一眼扫过,并没有真正理解过,现在好好说说吧!什么是负载均衡呢?将一个任务平均的分配到多个操作单元上进行执行。负载均衡的用来干什么?当单个网络应用访问量不断增长,单个处理单元无法满足负载要求时,网络应用流量将要达到瓶颈时,负载均衡才会起作用。负载均横的含义?有两层含义:1.将单负载操作单元的任务分发到多个节点设备上处理...
2018-04-12 00:05:47
887
转载 剑指offer-二叉搜索树的第k个节点
package 二叉搜索树的第k个节点;public class Problem52 { static int index = 0; // 计数器 public static TreeNode KthNode(TreeNode root, int k) { if (root != null) { // 中序遍历寻找第k个 TreeNode node = KthNode(root.left,...
2018-04-07 14:15:16
143
转载 剑指offer-输入链表输出该链表倒数第k个结点
package 输入链表输出该链表倒数第k个结点;public class Problem22 { public static void main(String args[]) { /* * 测试用例 */ //初始化一个单链表 ListNode listNode = new ListNode(1); l...
2018-04-06 22:36:08
114
转载 剑指offer-复制复杂链表
分成三个步骤 1).根据原始链表的每个结点N创建对应的N’,并把N’连在N的后面。 如下图: 2)看到上图我们就应该知道这个算法的巧妙之处了,B’.sbiling就记录在B.sbiling.next,这一步就是通过这个方法设置sbiling指针了。3).将两个链表断开。package 复杂链表的复制;class Node{ int value; Node next; Node s...
2018-03-29 23:19:43
183
原创 list集合源码分析
List集合我们众所周知的就是有序可重复,底层是一维数组,但是我现在通过面试的情况发现自己对于集合的理解还是太浅薄了。ArrayList 底层是一个数组,让我们了解ArrayList到底是什么。首先ArrayList都知道查找快,增删慢,了解一下为什么?看一下源码:public class ArrayList<E> extends AbstractList<E> ...
2018-03-28 21:21:33
3807
1
转载 Maven的生命周期
Maven的生命周期是对所有的构建过程进行抽象和统一。Maven的生命周期是抽象的,这意味着生命周期本身不做任何实际的工作,生命周期只是定义了一系列的阶段,并确定这些阶段的执行顺序。而在执行这些阶段时,实际的工作还是由插件来完成的。上面我们也说到过,生命周期包含一些阶段,这些阶段是有顺序的,并且后面的阶段依赖于前面的阶段,用户和Maven最直接的交互方式就是调用这些生命周期阶段。 1. cl...
2018-03-26 23:25:03
147
转载 3种分布式锁实现
1、分布式锁的三种实现方式目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项。”所以,很多系统在设计之初就要对这三者做出取舍。在互联网领域的绝大多数...
2018-03-26 17:45:20
513
原创 两个链表的第一个公共节点
这个问题一种常想到的方法就是两层循环遍历,外层循环遍历链表A,对A中每个节点,遍历链表B,如果在B中找到,说明这个节点是第一个公共节点,但是这样的方法时间复杂为mn,一般是不允采用的分析问题所以我们需要分析更深层次的问题,找到其中的规律,我们如果动手画一下一般的链表图就能够发现两个链表的第一个公共节点之后的样子一定是如下表示(由此可以发现有时候动手是很重要的) 可以发现两个链表在第一个节...
2018-03-25 08:55:24
195
原创 剑指offer--数值的整数次方
package 数值的整数次方;public class Problem11 { public static void main(String[] args) throws Exception { Problem11 problem11=new Problem11(); System.out.println(problem11.power(2.0, 3)); } public double ...
2018-03-24 15:24:20
141
原创 剑指offer--数字在排序数组中出现的次数
package 数字在排序数组中出现的次数;/*题目:统计一个数字在排序数组中出现的次数。例如输入排序数组{1,2,3,3,3,3,3,4,5}和数字 3,由于 3 在这个数组中出现了 4 次,因此输出 4。* 1 2 3 3 3 3 4 5*****/public class Problem38 { public static void main(String[] args) { int...
2018-03-24 15:23:40
119
原创 剑指offer--数组中只出现一次的数字
package 数组中只出现一次的数字;/*题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是 O(n),空间复杂度为 O(1);*/public class Problem50 { public static void main(String[] args) { Problem50 problem50=new Problem50(...
2018-03-24 15:22:50
136
原创 剑指offer--二进制中1的个数
package 二进制中1的个数;public class Problem10 { public static void main(String[] args) { Problem10 problem10=new Problem10(); System.out.println(problem10.numberOf1(3)); } public int numberOf1(int a){ i...
2018-03-24 15:21:56
127
原创 剑指offer--斐波那契数列
package 斐波那契数列;import java.util.Scanner;public class Fibonacci { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); int s=scanner.nextInt(); for(int i=0;i<s;i++){ ...
2018-03-24 15:21:04
118
原创 剑指offer--删除链表结点
package 删除链表结点;public class DeleteNode { public static void main(String[] args) { ListNode head = new ListNode(); ListNode second = new ListNode(); ListNode third = new ListNode(); head.nextNode =...
2018-03-24 15:20:16
136
原创 剑指offer--删除重复节点
package 删除重复节点;/*需要两个指针,一个指向前一个节点preNode,另一个指向当前节点node, * 如果遇到相等的节点,node向后移动,preNode不动,存下node.val方便后面的比较, * 直到遇到node和node.next不相等,preNode就可以指向node.next 注意:链表开头可能就开始有重复的节点,所以默认preNode=null,在后面的给preNode...
2018-03-24 15:19:24
147
原创 剑指offer--替换空格
package 替换空格;public class ReplaceBlank { public static void main(String[] args) { String s="we are happy"; System.out.println(replaceBlank(s)); } public static String replaceBlank(String s) { if(s=...
2018-03-24 15:18:35
109
原创 旋转数组的最小数字
package 旋转数组的最小数字;/*题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为 1.*/public class Problem11 { public static void main(String[] args) { ...
2018-03-24 15:17:38
86
原创 剑指offer--圆圈中最后剩下的数字
package 圆圈中最后剩下的数字;import java.util.ArrayList;import java.util.List;import java.util.Scanner;/*例如 0,1,2,3,4这5个数字组成一个圆圈, * 从0开始每次删除第三个数字, * 则删除的前4个数字是2,0,4,1最后剩下的数字是3(约瑟夫环问题)*/public class Problem62 { ...
2018-03-24 12:55:53
344
原创 多益笔试
说出 ArrayList,Vector, LinkedList 的存储性能和特性?ArrayList 和 Vector 都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector 由于使用了 synchronized 方法(线程安全),通常性能上较 ArrayList...
2018-03-11 18:00:07
971
转载 常用类
String字符串是常量。字符串的对象创建后内容不可改变。String s ="abc" ; //在程序中出现 ""引的字符串,都是在字符串常量池中创建对象 ,常量池对象是唯一的。String s1 = new String(); //创建一个空字符串对象。 但不是nullString s2 = new String(new byte[]{97,98,00}); //使用字节数组构造字符串...
2018-03-11 11:46:59
208
原创 异常--自己理解
程序不通过的4种情况,而我们需要注意的是第2种。在JAVA程序中,使用类表示产生异常. 当出现一个异常时,其实产生此类异常的的对象 ,并抛出。java.lang.NullPointerException空引用异常java.lang.ArithmeticException:/ by zero数学异常java.lang.StackOverflowError溢出异常异常处理方式try-catch-fin...
2018-03-11 10:17:27
245
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人