![](https://img-blog.csdnimg.cn/20190927151026427.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
java se
java基础
ASN_forever
这个作者很懒,什么都没留下…
展开
-
java中File类的getPath()、getAbsolutePath()以及getCanonicalPath()的用法和区别
getPath():基本语法:public String getPath(),直接返回此抽象路径名的路径名字符串。注意:返回的是定义时的路径,可能是相对路径,也可能是绝对路径,这个取决于定义时用的是相对路径还是绝对路径。如果定义时用的是绝对路径,那么使用getPath()返回的结果跟用getAbsolutePath()返回的结果一样getAbsolutePath():基本语法:public Str...原创 2018-06-11 14:36:24 · 14451 阅读 · 0 评论 -
maven是啥?(转)
https://www.cnblogs.com/whgk/p/7112560.htmlhttps://blog.csdn.net/shuzhe66/article/details/45009175转载 2018-07-15 23:03:08 · 145 阅读 · 0 评论 -
java中try的return和finally及其return的关系
public class Test { public static void main(String[] args) { //System.out.println(get()); System.out.println("hello"+beforeFinally()); } public static int beforeFinally(){ int a = 0; ...原创 2018-08-09 15:05:17 · 349 阅读 · 0 评论 -
java中静态代码块、构造代码块、构造函数以及Java类初始化顺序
转自:https://www.cnblogs.com/Qian123/p/5713440.html阅读目录构造函数 构造代码块 静态代码块 java类初始化顺序静态代码块:用staitc声明,jvm加载类时执行,仅执行一次构造代码块:类中直接用{}定义,每一次创建对象时执行。执行顺序优先级:静态块,main(),构造块,构造方法。构造函数public HelloA...转载 2018-08-09 16:09:04 · 332 阅读 · 0 评论 -
java多线程超详细整理
转自:http://www.cnblogs.com/Qian123/p/5670304.html#4029125不得不说,博主真的是一位认真严谨的大神妹子。整理的内容都相当好。强烈建议朋友们点进去看看。。。(非商业互吹,非插播广告)这里转载过来,只为自己和大家学习。...转载 2018-08-09 18:38:43 · 149 阅读 · 0 评论 -
正则表达式匹配中文后写入txt文件
匹配中文的正则表达式:[\u4e00-\u9fa5] public class GetChinese { public static void main(String[] args) throws IOException { File f = new File("in.txt"); File out = new File("out.txt"); Pattern patter...原创 2018-08-15 10:33:18 · 1947 阅读 · 0 评论 -
java的并发修改异常ConcurrentModificationException
快速失败(Fail-Fast)机制:对于线程不安全的集合对象的迭代器,如果在使用迭代器的过程中有其他线程修改了集合对象结构或者元素数量,那么将抛出ConcurrentModificationException,这就是所谓fail-fast策略。在对集合使用iterator进行遍历的同时,如果直接调用集合对象的相关方法对其进行修改,如删除等操作时,会报ConcurrentModification...原创 2018-08-08 17:01:24 · 272 阅读 · 0 评论 -
贝壳找房2018算法笔试
第一题import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Map.Entry;import java.util.Scanner;import java.util.Set;public class Main { public static void ...原创 2018-08-19 00:32:13 · 3599 阅读 · 2 评论 -
二分查找的java实现以及平均查找长度
首先要明白,二分查找是建立在有序数组的基础上的。二分查找主要有递归和非递归两种算法实现/** * 二分查找的递归和非递归实现 * * @author ht * */public class BinarySearch { public static void main(String[] args) { Arr a = new Arr(10); a.addNum(1)...原创 2018-08-28 10:21:45 · 4354 阅读 · 4 评论 -
归并排序、希尔排序、快速排序的基本思想过程及java实现
参考博文:https://blog.csdn.net/qq_35434690/article/details/76187262归并排序归并排序是根据将两个有序数组合并成一个有序数组的思想发展而来,如果两个数组有序,那么只需要依次比较两个数组中的每个数,小的数放进空数组中,并原数组游标向前移动一位进行下一次比较,直到当一个数组的游标到达数组尾部(也就是这个数组被比较完了)时,直接将另一个数组...原创 2018-07-04 15:02:15 · 497 阅读 · 0 评论 -
2018携程笔试
import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String[] num = sc.nextLine().split(" "); int x1 = Integer....原创 2018-09-04 22:04:23 · 768 阅读 · 0 评论 -
java实现递归全排列算法
思路: ①找到所有可能出现在第一个位置的字符,即start与其后面所有与它不同的字符互换位置 ②一个位置的字符完成步骤①之后,递归进行下一个位置的互换操作,也就是start+1 ③直到start==end,说明最后一个字符以及互换完毕,所以打印第一轮的互换结果,然后返回到上一个位置的for循环中 ④再次进行swap操作...原创 2018-12-04 09:55:47 · 2058 阅读 · 1 评论 -
全排列的java递归实现
思路:全排列,对于数组来说,就是某一个下标处可以放整个数组所有的元素。因此每个位置的元素都用其后的各个元素依次与其进行互换,直到需要互换的是最后一个元素时,打印出来的结果就是某一种全排列,然后返回到上一个元素。返回时要注意需要再互换一次回复到原来的状态。后来发现,原来以前写过全排列:https://blog.csdn.net/ASN_forever/article/details/847834...原创 2018-12-14 18:11:44 · 804 阅读 · 0 评论 -
广度优先搜索算法及java实现——针对无向无权图
深度优先搜索及java实现:https://blog.csdn.net/ASN_forever/article/details/80993836广度优先搜索广度优先搜索是除深度优先搜索之外,对图进行搜索时采用的另一种基本算法。广度优先搜索算法的思想广度优先搜索使用队列进行操作。首先选定一个顶点作为起始顶点,将其放到队尾(此时也是队首)作为当前顶点,并做标记表示已读,然后寻找当前顶点(队首位置的顶点...原创 2018-07-13 14:04:39 · 1312 阅读 · 2 评论 -
java序列化和反序列化(转载)
https://www.cnblogs.com/xdp-gacl/p/3777987.html一、序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为对象的过程称为对象的反序列化。 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中; 2) 在网络上传送对象的字节序列。 在很多应用中,需要对...转载 2018-07-19 11:13:20 · 178 阅读 · 0 评论 -
java中main函数的参数
public static void main(String[] args){}main方法作为java程序的入口,能够被JVM自动识别并调用。其参数是一个String类型的数组,当以命令行的形式运行java程序时,可以在类名后面输入任意多个字符串作为实参传递给main函数。public class MainDemo { public static void main(String...原创 2018-06-21 13:31:16 · 2470 阅读 · 0 评论 -
JSch - Java实现的SFTP(文件下载详解篇)
转载自:http://www.cnblogs.com/longyg/archive/2012/06/25/2561332.html转载 2018-06-09 11:50:23 · 527 阅读 · 0 评论 -
JSch - Java实现的SFTP(文件上传详解篇)
转载自:http://www.cnblogs.com/longyg/archive/2012/06/25/2556576.html转载 2018-06-09 11:51:19 · 180 阅读 · 0 评论 -
split()用法
split()方法的作用是对字符串进行分割。分割的方式是根据匹配给定的正则表达式来拆分字符串。返回值为分割后的字符串数组。基本语法:public String[ ] split( String regex, int limit )参数解释:①regex:正则表达式分隔符 ②limit:分割的分数注意: “.”,“、”,“|”和“*”是转义字符,使用的时候必须加 “\...原创 2018-06-11 10:17:42 · 5647 阅读 · 1 评论 -
PhantomJS快速入门
原文链接:https://blog.csdn.net/libsyc/article/details/78199850PhantomJS快速入门 本文简要介绍了PhantomJS的相关基础知识点,主要包括PhantomJS的介绍、下载与安装、HelloWorld程序、核心模块介绍等。由于鄙人才疏学浅,难免有疏漏之处,欢迎指正交流。 1、PhantomJS是什么? PhantomJS是一个基于w...转载 2018-06-27 09:48:48 · 344 阅读 · 0 评论 -
队列及java实现
队列队列与栈不同,栈是一种先进后出的数据结构,因此对于入栈push和出栈pop操作来说可以使用同一个指针。而队列是先进先出的,对于插入和删除操作来说,插入(进)的位置在队尾,删除(出)的位置在队首,因此需要队首(front)和队尾(rear)两个指针。循环队列对于用数组实现的队列来说,最初的实现方式是插入操作从数组的0下标位置开始,每次插入下标+1,删除也从0下标开始依次从队首往队尾的方向删除。并...原创 2018-07-02 15:49:36 · 252 阅读 · 0 评论 -
phantomjs入门
原文地址:https://blog.csdn.net/yuexianchang/article/details/53306892一、简介PhantomJS 是一个基于WebKit的服务器端 JavaScript API。它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准: DOM 处理, CSS 选择器, JSON, Canvas, 和 SVG。PhantomJS可以用于页面自动化,...转载 2018-06-27 17:01:22 · 291 阅读 · 0 评论 -
单链表及其java实现
链表链表是除数组之外应用最多的一种数据存储结构。它很多时候可以取代数组作为其他存储结构的基础,例如栈和队列。链表有很多种,包括单链表、双端链表、有序链表、双向链表和有迭代器的链表。数组的缺点无序数组中搜索效率低,有序数组中插入效率低,不管是有序数组还是无序数组的删除效率都很低。插入新节点java实现插入和删除操作的对象都是从表头开始public class LinkListApp { publi...原创 2018-07-03 14:58:42 · 213 阅读 · 0 评论 -
深度优先搜索算法及java实现——针对无向无权图
图是一种比树更宽泛和复杂的数据结构,树只是图的一种特殊形式。图有很多种划分方式,针对不同的划分方式可以分为连通图/非连通图、有向图/无向图、带权图/非带权图等。图与树不同,树一般都有固定的结构,如二叉树,一个节点最多有两个子节点,因此可以通过在节点对象中添加两个属性用来存储子节点的引用(类似于边),以此方式实现二叉树。或者是用数组的方式实现数(也就是堆结构)。但是对于图来说,它的邻接顶点的个数是不...原创 2018-07-11 00:28:17 · 2062 阅读 · 0 评论 -
windows下用Eclipse开发Wordcount程序并生成jar包上传到hadoop集群去执行
因为我安装的是centos7 服务器版本而非桌面版本,因此没办法在namenode所在虚拟机上安装Eclipse等开发工具。本来想到可以在本地Eclipse中添加hadoop插件,然后就可以直接在本地开发和测试,但无奈鼓捣了一天最后以失败告终。因此改变思路,想到用在本地开发后生成jar包,然后发送到namenode节点去运行的方式。这种方式与上一种的区别就是没法在本地运行(因为没有配置hadoop...原创 2018-07-17 14:59:15 · 3493 阅读 · 6 评论 -
不带权图:基于深度优先搜索实现的最小生成树——java实现
深度优先搜索参考:https://blog.csdn.net/ASN_forever/article/details/80993836最小生成树用最少数量的边来实现图中各顶点之间的连通,也就是用最少数量的边实现连通图,则这些边就组成了一个最小生成树。同一个图,通常有很多个最小生成树。最小生成树边的数量永远都比顶点的数量少1。下面是基于深度优先搜索实现的最小生成树java代码/** * 在使用邻接...原创 2018-07-11 13:45:11 · 719 阅读 · 0 评论 -
用warshall算法求图的传递闭包矩阵
传递闭包传递闭包的意思是说,如果顶点A能到达顶点B,并且顶点B能到达顶点C,那么顶点A一定能到达顶点C。因此可以通过修改原始邻接矩阵得到传递闭包矩阵,使用的方法就是warshall方法。原始邻接矩阵只表示哪些顶点是邻接顶点,而传递闭包矩阵表达的是每个顶点可以到达哪些顶点。warshall算法的关键代码//生成闭包矩阵 public void getClosureMatrix(){ for(i...原创 2018-07-11 16:19:38 · 3932 阅读 · 1 评论 -
LeetCode204题:计数质数
这道题真的是解法很多,但满足时间复杂度的还不太容易想。解法一:暴力法外层循环从2到n,内层循环从2到ni,然后ni取模内层循环的值,判断是否为质数。复杂度O(n2),舍弃。解法二:根据之前的质数求思路:一个数如果与比它小的所有的质数取模后结果都不为0时,那么此数也是质数。所以,从2开始遍历到n时,每遇到一个质数就将其放到ArrayList中(用ArrayList而不用trees...原创 2018-12-10 23:36:22 · 378 阅读 · 0 评论