Java
文章平均质量分 53
萝卜吃土豆
这个作者很懒,什么都没留下…
展开
-
eclipse启动时报“An Error has Occurred. See the log file”问题
我是在另一个电脑上装个jdk13用用,发现以前用的eclipse启动报“An Error has Occurred. See the log file”问题,在网上也看了很多方法,不是没法实现就是没有效果。之前用同样的eclipse没有错误,应该还是版本问题,我是去官网下一个最新版eclipse安装就没问题了。所以解决方法是要么换jdk版本 换成jdk8,要么换eclipse 可以去官网下...原创 2020-03-15 11:09:57 · 452 阅读 · 0 评论 -
Arrays.copyOf()和System.arrayCopy()的区别
在看ArrayList源码时看见,当扩容时采取的是Arrays.copyOf(),插入或删除时使用的是System.arrayCopy()认为这两者之间的主要区别是Arrays.copyOf()在复制数组的元素是会创建一个新的数组,返回类型是数组,System.arrayCopy()值复制到已经存在的数组中去,返回类型是void看copyOf源码发现,其实前者调用了后者public ...原创 2019-07-10 11:08:21 · 655 阅读 · 0 评论 -
Java线程——创建
有三种使用线程的方法:继承 Thread 类 实现 Runnable 接口 实现 Callable 接口实现 Runnable 和 Callable 接口的类只能当做一个可以在线程中运行的任务,不是真正意义上的线程,因此最后还需要通过 Thread 来调用。可以说任务是通过线程驱动从而执行的。一般采用实现接口的方式创建线程。1、继承 Thread 类public class...原创 2019-06-06 17:06:07 · 443 阅读 · 0 评论 -
java适配器模式
转载自:http://www.cnblogs.com/V1haoge/p/6479118.html 适配器就是一种适配中间件,它存在于不匹配的二者之间,用于连接二者,将不匹配变得匹配,简单点理解就是平常所见的转接头,转换器之类的存在。 适配器模式有两种:类适配器、对象适配器、接口适配器 前二者在实现上有些许区别,作用一样,第三个接口适配器差别较大。1、类适配器模式: ...转载 2019-05-27 16:27:30 · 144 阅读 · 0 评论 -
Java list.remove( )方法需要注意的两个地方
转载自:https://blog.csdn.net/DeMonliuhui/article/details/75057512 list.remove最近做项目的过程中,需要用到list.remove()方法,结果发现两个有趣的坑,经过分析后找到原因,记录一下跟大家分享一下。代码直接上一段代码,进行分析。public class Main {...转载 2019-05-22 16:36:30 · 688 阅读 · 0 评论 -
正则表达式的常用方法,pattern和matcher(解析json为例),语法和表达式
想要从文本中获取信息,正则表达式是一个很好的选择,现在用正则表达式来解析json数据,数据同上篇博客{"photos":{"page":2,"pages":103,"perpage":50,"total":"5118","photo":[{"id":"34630130964","owner":"33472412@N00","secret":"41cac838fc","server":"426...原创 2018-11-07 20:26:18 · 1337 阅读 · 0 评论 -
Spark实现分组并求每一组内TopN(Java)——三种不同情形下适用的三种方法
自己随意编写一份测试数据,所用的测试数据如下,需求是按照第一列的字母分组,然后按照第二列数据取出每一组内前N个数据,后面我分别列出了我使用的三种方案来实现该需求,不同方案在不同的场景下会有各自的优势 a 25 b 36 c 24 d 45 e 60 a 33 b 26 c 47 d 43 e 62 a 13 b 16 ...原创 2018-07-17 10:42:21 · 3099 阅读 · 0 评论 -
选择排序算法Java实现
选择排序的基本思想是首先找到数组中最小的那一个元素,然后再将该元素与数组中的第一个元素交换位置。再在剩下的元素中找出最小的那一个元素,然后再将该元素与数组中的第二个元素交换位置。如此循环,最后实现数组的排序 代码如下:public class Selection { //选择排序算法,升序 public static void sort(Comparable[] a) {...原创 2018-07-18 13:37:47 · 5550 阅读 · 2 评论 -
插入排序算法Java实现
插入排序的思想是循环数组中每一个元素,然后将这些元素依次插入到一个有序的数列中去,实现数组的排序,也就是说循环到的当前元素索引的左侧都是已经排好序的,针对当前元素,将它依次与相邻的左侧元素比较,小于左侧就两个交换,循环比较和交换的过程,直至元素大于左侧相邻元素,或者是该元素已被交换至最左侧。 代码实现如下:public class Insertion { //插入排序...原创 2018-07-18 13:48:29 · 669 阅读 · 0 评论 -
Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.jdbc.Driver解决方案
在用java连接MySQL时报了Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.jdbc.Driver这个错误是在加载类的时候找不到该类,缺少对应的mysql-connector-java的jar包下载连接:https://dev.mysql.com/downloads/file/?id=4770...原创 2018-07-19 12:48:31 · 37416 阅读 · 3 评论 -
Exception in thread "main" java.lang.StackOverflowError 错误
今天在写归并排序的时候,其中递归过程中有部分没有处理好,运行程序出现栈溢出的错误Exception in thread "main" java.lang.StackOverflowErrorprivate static void mergeSort(Comparable[] a, int lo, int hi) { int mid = (lo+hi)/2; mergeSort(a...原创 2018-07-24 11:22:56 · 21128 阅读 · 0 评论 -
归并排序算法Java实现
归并排序的主要思想是将两个有序的部分归并成一个有序的整体,这一关键的实现方法如下每个部分都有详细注释public class MergeSort { public static void merge(Comparable[] a,int lo,int mid,int hi) { Comparable[] b = new Comparable[hi-lo+1]; //建立一个同样...原创 2018-07-24 11:17:58 · 606 阅读 · 0 评论 -
希尔排序算法Java实现
希尔排序算法是插入排序的一种改进,希尔排序将数组的下标按照一定的增量排序,将一个数组分成几个部分,对其中各个部分都只用使用插入排序的思想,当在当前增量情况下各个部分排序完成,则按照一定规则缩小增量,直至增量为一时,数组就只有一个部分,完成这部分的排序即可完成数组的排序。增量选取无硬性要求,在这里增量选择为3*k+1,即1,4,7,10,13...... public class Shel...原创 2018-07-23 20:59:14 · 415 阅读 · 0 评论 -
基于二叉堆的优先队列java实现
堆有序的·二叉树,就是每个节点值都是大于等于它的子节点值。这里用大小为N+1的数组pq来表示一个大小为N的堆,不使用pq[0]。关于二叉树,有一个特点很重要,就是位置k的父节点是k/2,子节点是2*k和2*k+1。 堆的有序化,包括两种情况:1.当某个节点的值增大时,采用的是由下至上的堆有序化,比较该节点与它的父节点的值,并根据比较结果交换位置。定义方法swim(上浮)。2...原创 2018-05-02 20:58:03 · 181 阅读 · 0 评论