
Java
临地
天天向上
展开
-
java spark-streaming java.lang.invoke.SerializedLambda to field org.apache.spark.rdd.MapPartitionsRD
再次吐槽,spark的文档对初学者真的非常不友好。同时下面的错误大概率也是可以解决掉的。java.io.IOException: 远程主机强迫关闭了一个现有的连接问题描述在本地idea执行spark streaming相关代码时,setMaster为“local[2]”时,我是可以正常执行的,但是当我在 StandAlone 模式下启动本地集群的 setMaster 时,就会出现这个错误。然后我分别根据不同的搜索结果,设置jars等,甚至看到官网关于此问题的两个issueht原创 2021-08-11 17:46:17 · 646 阅读 · 1 评论 -
spark-streaming:Unable to create executor due to java.io.FileNotFoundException: java.io.FileNotFound
Master为“local[2]”时,这是正常的。但是当我在 StandAlone 模式下启动本地集群的 setMaster 时,出现错误: lost an executor 2 (already removed): Unable to create executor due to java.io.FileNotFoundException: java.io.FileNotFoundException: HADOOP_HOME and hadoop.home解决方法:下载并且设计HADOOP_H原创 2021-08-11 17:35:21 · 612 阅读 · 0 评论 -
spark - Initial job has not accepted any resources...没有接受到数据
1.表现与原因表现为将spark streaming提交到集群时(setMaster()),没有接受到任何数据,并打印Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient resources原因为集群没有资源执行job,基本是因为只启动了msater,没有启动work2.解决方法启动work即原创 2021-08-05 11:04:01 · 1008 阅读 · 0 评论 -
Junit单元测试多线程中子线程无法查询主线程的数据
目录1.表现2.原因3.解决方法1.表现在单元测试中,开启了事务,并且在主线程中进行数据库操作,然而开了多线程处理后,子线程无法获取主线程的数据。举个例子,在主线程中insert了几条记录,然后在子线程中查询会发现查询不到//代码只是随手例子,并不能真实执行pubic void mainThread(){//主线程插入数据insert(id);//子线程删除new Thread(() -> deleteById(id)).start();//期望结果是子线程成原创 2021-08-04 20:11:51 · 1171 阅读 · 0 评论 -
leetcode-45-跳跃游戏
先放完整代码//给你一个非负整数数组 nums ,你最初位于数组的第一个位置。 //// 数组中的每个元素代表你在该位置可以跳跃的最大长度。 //// 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 //// 假设你总是可以到达数组的最后一个位置。 //// //// 示例 1: //// //输入: nums = [2,3,1,1,4]//输出: 2//解释: 跳到最后一个位置的最小跳跃数是 2。// 从下标为 0 跳到下标为 1 的位置,跳1步,然...原创 2021-07-28 21:50:20 · 332 阅读 · 0 评论 -
sharding-jdbc分表查询优化:maxConnectionsSizePerQuery
sharding-jdbc配置maxConnectionsSizePerQuery作用设置每个查询最大获取的连接数,同时影响结果归并方式最大连接数简单来说就是当存在分表,且查询语句不包含分表键时,每个查询都需要分解成不同的分表sql查询数据库,能够同时执行的sql数量由此参数设置;举个例子,假如maxConnectionsSizePerQuery = 128,分表有1024个则在一般情况下(线程池资源充足):一个查询sql(不包含分表键)将拆分成1024个,但是maxConnectionsSiz原创 2021-01-23 11:31:06 · 3319 阅读 · 0 评论 -
rabbitmq多数据源
mq多数据源核心依赖 <!-- mq多数据源 --> <dependency> <groupId>com.mytaxi.spring.multirabbit</groupId> <artifactId>spring-multirabbit-lib</artifactId> <version>2.2.0</versi原创 2020-10-24 16:09:24 · 807 阅读 · 1 评论 -
线程池执行前后进行额外操作
实际上就是继承ThreadPoolExecutor类,然后重写beforeExecute和afterExecute方法public class ThreadPoolBefore extends ThreadPoolExecutor { public ThreadPoolBefore(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable&g.原创 2020-06-29 16:36:03 · 340 阅读 · 0 评论 -
ConcurrentHashMap误解(分段锁)和补充(什么情况下会裂变成红黑树,以及为什么)
1.序言网上很多ConcurrentHashMap分析的文章都在讲使用了分段锁balabala怎么样怎么样使得它是线程安全的,这些文章一些是过时的,也有一些是不够详细的,所以记录一下最近对ConcurrentHashMap的学习记录2.误解网上对ConcurrentHashMap的说法还停留在 分段锁上,这不能说是错的,只是过时了,jdk1.8之后,ConcurrentHashMap就不是分段锁了,而是使用synchronized锁住了对应桶节点,而且是只有put和remove的时候才会上锁,g原创 2020-06-24 18:01:44 · 584 阅读 · 0 评论 -
i++ 和++i(为萌新时期的疑惑填坑)
今天突然想起以前有过的一个疑惑,找了很多文章都是黏贴复制,糊里糊涂的,今天填一下坑。先摆出结果: int k = 1; int before = ++k; System.out.println("before: "+before + " K: "+k); k = 1; int after = k++; System.out.println("after: "+after + " K: "+k);原创 2020-06-24 17:27:53 · 429 阅读 · 0 评论 -
Java调用python(通过socket调用传参并获取结果)
python通过socket等待java程序连接,传参,并通过socket回传结果附:运行python文件python代码如下#encoding=UTF-8import socketimport sysimport threadingdef main(): # 创建服务器套接字 serversocket = socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 获取本地主机名称 host = so原创 2020-06-24 17:16:20 · 1019 阅读 · 1 评论 -
对象转化为JSONOject
经常忘记,各种花里胡哨转化,记录一下简单快捷的正确方式JSONObject.parseObject(JSON.toJSONString(object))原创 2020-06-22 17:53:47 · 880 阅读 · 0 评论 -
java.lang.NullPointerException: element cannot be mapped to a null key
该报错是使用Stream的groupingBy方法,key为null导致的,可以加一个filter过滤null值,或加个try catch以免影响主流程nested exception is java.lang.NullPointerException: element cannot be mapped to a null key at org.springframework.kafka.listener.adapter.MessagingMessageListenerAdapter.invoke.原创 2020-06-17 19:24:32 · 8292 阅读 · 0 评论 -
线程池、参数和常见线程池
本文将讲解线程池参数、参数之间的关系以及线程池以一个怎么样的策略执行新增到线程池的线程,最后会举例常见的线程池是怎么样应用这些参数和流程的。文章较长,可以根据目录选择想看的知识,若有错误请指出。1.线程池概述线程池,顾名思义就是一个装线程的池子,池子里的线程可以重复理用,降低产生和销毁线程的开销。举个例子,没有线程池使用线程的时候,就像开水龙头洗手,每次洗手都需要开水龙头,洗完手水就会流进下水道。而线程池就像在水盆洗手,每次洗手只需要重复理用水盆的水就好了(手太脏的当我没说)。2.线程池参数原创 2020-06-12 18:24:00 · 310 阅读 · 0 评论 -
java Calendar 获取时间戳对应的星期几 和 今天对应的星期几
/** *获取今天是星期几 * @return */ public static Integer getDayOfWeek(){ Calendar calendar = Calendar.getInstance(); return calendar.get(DAY_OF_WEEK) - 1; } /** * 获取指定时间戳是星期几 * @param time * @return .原创 2020-05-28 18:29:10 · 2124 阅读 · 0 评论 -
Java 中 E T K V Object含义和作用
除了Object,都是泛型的表示方法,可以匹配对应的类型E – Element (在集合中使用,因为集合中存放的是元素)T – Type(Java 类)K – Key(键,例如Map<K,String>,表示键类型不确定的map)V – Value(值,与键相对应)N – Number(数值类型)Object是所有类的根类,即父类,作用效果与一般的父子类相...原创 2020-05-08 11:21:35 · 367 阅读 · 0 评论 -
Java中@ - 注解
一、什么是java注解注解,顾名思义,注解,就是对某一事物进行添加注释说明,会存放一些信息,这些信息可能对以后某个时段来说是很有用处的。Java注解又叫java标注,java提供了一套机制,使得我们可以对方法、类、参数、包、域以及变量等添加标准(即附上某些信息)。且在以后某个时段通过反射将标注的信息提取出来以供使用。二、自定义Java标注1为什么要自...原创 2018-10-18 18:36:20 · 54896 阅读 · 11 评论 -
java - 抓取博客内容(第一个小爬虫)
package Sept;import java.io.BufferedReader;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.io.InputStreamReader;import java.net.URL;import java.net.URLCon...原创 2018-09-17 19:14:10 · 245 阅读 · 0 评论 -
树的子结构 - 牛客网剑指offer
题目描述输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 注意:一般遍历树都会采用递归,递归的边界问题比较容易处理;public class Solution { public boolean HasSubtree(TreeNode root1,TreeNode root2) { if(root2==null|...原创 2018-07-21 00:25:34 · 153 阅读 · 0 评论 -
HDU - 2067 小兔的棋盘
题目: 小兔的叔叔从外面旅游回来给她带来了一个礼物,小兔高兴地跑回自己的房间,拆开一看是一个棋盘,小兔有所失望。不过没过几天发现了棋盘的好玩之处。从起点(0,0)走到终点(n,n)的最短路径数是C(2n,n),现在小兔又想如果不穿越对角线(但可接触对角线上的格点),这样的路径数有多少?小兔想了很长时间都没想出来,现在想请你帮助小兔解决这个问题,对于你来说应该不难吧! ...原创 2018-07-20 21:43:22 · 259 阅读 · 0 评论 -
链表中倒数第k个结点 - 牛客剑指offer 13
题目描述输入一个链表,输出该链表中倒数第k个结点。思路:这道题应该注意边界问题,解决的话其实很简单。但是考察的是鲁棒性,这方面没有研究...但是感觉自己写的问题应该不大吧;首先定义两个node,a和b,a一开始遍历,直到a遍历到k-1个节点,b开始遍历;也就是说a比b领先k-1个点;所以当a到了末尾的时候,b就是倒数第k个点;/*public class ListNode { int v...原创 2018-07-09 23:48:24 · 153 阅读 · 0 评论 -
HDU - 1131 Count the Trees
Problem DescriptionAnother common social inability is known as ACM (Abnormally Compulsive Meditation). This psychological disorder is somewhat common among programmers. It can be described as the temp...原创 2018-07-09 23:33:18 · 237 阅读 · 0 评论 -
调整数组顺序使奇数位于偶数前面 - 牛客剑指offer 12
题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。第一种思路:每次暴力寻找,然后暴力区间往后挪一位;public class Solution { public void reOrderArray(int [] array) { int len=...原创 2018-07-08 22:57:47 · 135 阅读 · 0 评论 -
HDU - 1133 Buy the Ticket
Problem DescriptionThe \\\\\\\"Harry Potter and the Goblet of Fire\\\\\\\" will be on show in the next few days. As a crazy fan of Harry Potter, you will go to the cinema and have the first sight, won...原创 2018-07-08 22:26:57 · 187 阅读 · 0 评论 -
数值的整数次方 - 牛客剑指offer 11
题目描述给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。没什么好说的,指数运算采用快速幂,注意throw Exception就行,但是..牛客不需要,只要输出 0 就好了,很奇怪。。public class Solution { public double Power(double base, int exponent) {...原创 2018-07-07 23:23:48 · 131 阅读 · 0 评论 -
二进制中 1 的个数 - 牛客剑指offer 10
题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。public class Solution { public int NumberOf1(int n) { int sum=0; while(n!=0){ sum++; n=n&(n-1); } return...原创 2018-07-06 23:13:23 · 157 阅读 · 0 评论 -
HDU - 1030 How Many Trees?
How Many Trees?Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 1478 Accepted Submission(s): 767 Problem DescriptionA binary search tree is a binary...原创 2018-07-06 22:54:49 · 206 阅读 · 0 评论 -
矩形覆盖 - 牛客剑指offer 10
题目描述我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?思路:斐波那契思想,参考 跳台阶public class Solution { public int RectCover(int target) { int a=1,b=2,c=3; for(int i=3;i<=ta...原创 2018-07-05 17:26:12 · 160 阅读 · 0 评论 -
HDU - 1250 Hat's Fibonacci
Problem DescriptionA Fibonacci sequence is calculated by adding the previous two members the sequence, with the first two members being both 1.F(1) = 1, F(2) = 1, F(3) = 1,F(4) = 1, F(n>4) = F(n -...原创 2018-07-05 16:57:42 · 199 阅读 · 0 评论 -
Java序列化
Java 序列化Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据、有关对象的类型的信息和存储在对象中数据的类型。将序列化对象写入文件之后,可以从文件中读取出来,并且对它进行反序列化,也就是说,对象的类型信息、对象的数据,还有对象中的数据类型可以用来在内存中新建对象。整个过程都是 Java 虚拟机(JVM)独立的,也就是说,在一个平台上序列...转载 2018-07-03 21:46:12 · 113 阅读 · 0 评论 -
斐波那契数列 - 牛客剑指offer7
题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。n<=39public class Solution { public int Fibonacci(int n) { int a=1,b=1,c=1; for(int i=3;i<=n;i++){ c=a+b; a=b; ...原创 2018-07-03 21:29:46 · 141 阅读 · 0 评论 -
旋转数组的最小数字 - 牛客剑指offer6
题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。这个..暴力了public class Solution { public int minNumberInR...原创 2018-07-03 21:21:34 · 127 阅读 · 0 评论 -
HDU -1001 Exponentiation(Java)
ExponentiationTime Limit: 1000/500 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 2798 Accepted Submission(s): 761 Problem DescriptionProblems involving the computatio...原创 2018-07-03 20:29:44 · 222 阅读 · 0 评论 -
Applet 的生命周期
Applet 类是浏览器类库中最为重要的类,同时也是所有 JAVA 小应用程序的基本类。 一个 Applet 应用程序从开始运行到结束时所经历的过程被称为 Applet 的生命周期。 Applet 的生命周期涉及 init() 、 start() 、 stop() 和 destroy() 四种方法,这 4 种方法都是 Applet 类的成员,可以继承这些方法,也可以重写这些方法,覆盖原来定义的这些...原创 2018-07-02 22:59:39 · 2554 阅读 · 0 评论 -
用两个栈实现队列 - 牛客剑指offer5
题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。思路:用栈 1 存储队列,利用栈 2 取出 栈底元素,然后把其他元素重新装进栈 1;import java.util.Stack;public class Solution { Stack<Integer> stack1 = new Stack<Integer>(); ...原创 2018-07-02 22:43:29 · 152 阅读 · 0 评论 -
Java垃圾回收方式
两个最基本的java回收算法:复制算法和标记清理算法复制算法:两个区域A和B,初始对象在A,继续存活的对象被转移到B。此为新生代最常用的算法标记清理:一块区域,标记可达对象(可达性分析),然后回收不可达对象,会出现碎片,那么引出标记-整理算法:多了碎片整理,整理出更大的内存放更大的对象两个概念:新生代和年老代新生代:初始对象,生命周期短的永久代:长时间存在的对象整个java的垃圾回收是新生代和年老...转载 2018-07-02 00:30:00 · 215 阅读 · 0 评论 -
重建二叉树-牛客剑指offer4
题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。思路:二叉树生成问题,习惯采取递归解决;首先前序遍历是先遍历根节点,然后左子树,然后右子树;中序遍历是先遍历左子树,然后父节点,然后右子树;那么,由中序遍历...原创 2018-07-02 00:19:49 · 235 阅读 · 0 评论 -
矩阵压缩存储(对称矩阵与压缩矩阵)
1. 对称矩阵采用一维数组进行存储,例如test[3][3]={ { 1 , 2 , 3 } , { 2 , 1 , 3 } , { 3 , 3 , 1 } }存进 ans [ ] 里面;for(int i=0;i<3;i++)for(int j=0;j<3;j++)ans[ len++ ]=test[ i ] [ j ];解压缩则反转:例如 test [ i ] [ j ]=len ...原创 2018-06-30 22:40:55 · 2842 阅读 · 0 评论 -
Java方法初始化过程(不完整)
初始化过程: 1. 初始化父类中的静态成员变量和静态代码块 ; 2. 初始化子类中的静态成员变量和静态代码块 ; 3.初始化父类的普通成员变量和代码块,再执行父类的构造方法;4.初始化子类的普通成员变量和代码块,再执行子类的构造方法;...原创 2018-06-30 22:12:37 · 323 阅读 · 0 评论 -
从尾到头打印链表 - 牛客剑指Offer3
题目:输入一个链表,从尾到头打印链表每个节点的值。并且给出了链表类:/*** public class ListNode {* int val;* ListNode next = null;** ListNode(int val) {* this.val = val;* }* }**/思路...原创 2018-06-30 22:04:34 · 144 阅读 · 0 评论