JAVA
文章平均质量分 95
ZHANG_980
这个作者很懒,什么都没留下…
展开
-
@DataJpaTest 数据库无数据
@DataJpaTest 数据库无数据先看官方注释:/** * Annotation that can be used in combination with {@code @RunWith(SpringRunner.class)} * for a typical JPA test. Can be used when a test focuses <strong>only</strong> on JPA * components. * <p> * U原创 2020-09-04 11:29:00 · 1429 阅读 · 0 评论 -
Failed to replace DataSource with an embedded database for tests
Failed to replace DataSource with an embedded database for tests错误提示 :Caused by: java.lang.IllegalStateException: Failed to replace DataSource with an embedded database for tests. If you want an embedded database please put a supported one on the clas原创 2020-09-03 17:17:58 · 1193 阅读 · 0 评论 -
分布式事务解决方案
什么场景下会产生分布式事务?在支付异步回调的情况下,支付宝发送http请求给第三方平台,第三方平台需要更改支付状态以及订单状态,在此场景下,第三方平台更改本地支付数据库的支付状态后,通知订单服务更改订单的状态,在此程序后,如果代码出现异常,由于有声明式事务的存在,本地支付服务的数据库会进行回滚,变成未支付状态,但是订单服务的状态却无法回滚,订单服务的订单的状态变成已支付状态,这就出现了订单数据库...转载 2019-12-24 19:53:09 · 211 阅读 · 0 评论 -
Redis分布式锁的一种实现
Redis分布式锁原创 2019-11-19 11:01:51 · 182 阅读 · 1 评论 -
分布式唯一ID: snowflake算法思考
缘起为什么会突然谈到分布式唯一id呢?原因是最近在准备使用RocketMQ,看看官网介绍:一句话,消息可能会重复,所以消费端需要做幂等。为什么消息会重复后续RocketMQ章节进行详细介绍,本节重点不在这里。为了达到业务的幂等,必须要有这样一个id存在,需要满足下面几个条件:同一业务场景要全局唯一。该id必须是在消息的发送方进行产生发送到MQ。消费端根据该id进行判断是否重复,确保...转载 2019-11-18 19:35:08 · 158 阅读 · 0 评论 -
The expression 'XXXX' evaluated to a null value
方式1 传入map将要传递的id都存到一个List中,将List存到要传参的map中,并给List一个键名,在collection中就配置这个键名,然后就能成功解析遍历了。//使用<foreach>传入map集合,其中map中的值为对象做查询 Map<String,Object> stuMap = new HashMap<>(); ...原创 2019-10-17 20:29:16 · 11070 阅读 · 1 评论 -
leetCode 41.First Missing Positive (第一个丢失的正数) 解题思路和方法
First Missing Positive Given an unsorted integer array, find the first missing positive integer.For example,Given [1,2,0] return 3,and [3,4,-1,1] return 2.Your algorithm should run in转载 2017-09-22 14:42:19 · 251 阅读 · 0 评论 -
后台获取前端信息的纽带--HttpServletRequest
HttpServletRequestRequest对象具体应用HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,开发人员通过这个对象的相关方法,即可以获得客户的这些信息。一、通过request常用方法获得相关信息:1、通过request常用方法获得客户机信息 getRequestURL方法返回客户端发...转载 2018-06-07 17:53:59 · 3750 阅读 · 0 评论 -
读书工作笔记(一)
读书笔记(一)1. 方法重载1.1方法名称必须相同。1.2参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)。1.3方法的返回类型可以相同也可以不相同。1.4仅仅返回...原创 2018-11-08 17:54:18 · 228 阅读 · 0 评论 -
设计模式总结
常见设计模式单例模式工厂模式观察者模式适配器模式装饰者模式单例模式 /** * 线程安全,但是效率非常低 * @author vanceinfo * */ public class SingletonTest { private SingletonTest() { } private static SingletonT...原创 2019-01-30 18:09:05 · 178 阅读 · 0 评论 -
分布式锁简单入门以及三种实现方式介绍
--------------------- 作者:徐刘根 来源:CSDN 原文:https://blog.csdn.net/xlgen157387/article/details/79036337 版权声明:本文为博主原创文章,转载请附上博文链接!很多小伙伴在学习Java的时候,总是感觉Java多线程在实际的业务中很少使用,以至于不会花太多的时间去学习,技术债不断累积!等到了一定程度的...转载 2019-02-13 23:06:34 · 149 阅读 · 0 评论 -
读书工作笔记(二)
1.notify()和notifyAll()的本质区别notify()和notifyAll()都是Object对象用于通知处在等待该对象的线程的方法。两者的最大区别在于:notifyAll使所有原来在该对象上等待被notify的所有线程统统退出wait的状态,变成等待该对象上的锁,一旦该对象被解锁,他们就会去竞争。notify则文明得多,它只是选择一个wait状态线程进行通知,并使它获得该对...原创 2019-03-11 15:12:46 · 1263 阅读 · 1 评论 -
读书笔记(三)
B站1.redis的hash数据结构是如何实现的?/* hash表是空的需要初始化空间, 默认是4*/ if (d->ht[0].size == 0) return dictExpand(d, DICT_HT_INITIAL_SIZE);2.kafka中zookeeper的作用?监控kafka broker节点和消费者节点,存储元信息3.hashmap默认数组为空,初始化...原创 2019-12-30 21:26:49 · 910 阅读 · 0 评论 -
基于Redis Set的分布式锁(转载)
前言分布式锁在分布式应用中应用广泛,想要搞懂一个新事物首先得了解它的由来,这样才能更加的理解甚至可以举一反三。首先谈到分布式锁自然也就联想到分布式应用。在我们将应用拆分为分布式应用之前的单机系统中,对一些并发场景读取公共资源时如扣库存,卖车票之类的需求可以简单的使用同步或者是加锁就可以实现。但是应用分布式了之后系统由以前的单进程多线程的程序变为了多进程多线程,这时使用以上的解决方案明显就不...转载 2019-06-23 16:23:18 · 773 阅读 · 0 评论 -
归并排序(JAVA)
package cn.shu.test.sort;public class MergeSort { //程序入口 public static void main(String[] args) { int[] a = {5,9,12,7,36,81,94,45,69}; for(int i=0; i<a.length; i++){ System.out.print(a[i]+"原创 2017-09-01 19:33:08 · 261 阅读 · 0 评论 -
【深入Java虚拟机】之四:类加载机制
转载:http://blog.csdn.net/ns_code/article/details/17881581类加载过程 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。它们开始的顺序如下图所示: 其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这转载 2017-09-16 21:53:31 · 253 阅读 · 0 评论 -
去哪网笔试 按层打印二叉树 Java实现
题目描述 给定一棵二叉树的前序(根、左、右)和中序(左、根、右)的打印结果,输出此二叉树按层(从左往右)打印结果。例如一棵二叉树前序:1 2 4 5 3;中序:4 2 5 1 3。可以构建出下图所示二叉树:按层打印的结果则为:1 2 3 4 5。import java.util.Arrays;import java.util.LinkedList;import java.util.原创 2017-04-01 21:50:54 · 1831 阅读 · 0 评论 -
session和cookie的区别
具体来说cookie机制采用的是在客户端保持状态的方案,cookie的内容主要包括:名字,值,过期时间,路径和域。而session机制采用的是一种在服务器端保持状态的解决方案。同时我们也看到,由于采用服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能需要借助于cookie机制来达到保存标识的目的。而session提供了方便管理全局变量的方式。session是针对每一原创 2017-03-23 12:07:54 · 347 阅读 · 0 评论 -
多线程循环打印
public class MultiThread implements Runnable { private static volatile String msg = "线程一打印A"; //volatile用来保证静态变量的修改对其他线程都是可见的。不加运行测试也可以,最好加上。 private String message; private String ne原创 2017-04-17 23:21:42 · 424 阅读 · 0 评论 -
Page,request,session,application四大域对象详解
一、ServletContext 1、生命周期:当Web应用被加载进容器时创建代表整个web应用的ServletContext对象,当服务器关闭或Web应用被移除时,ServletContext对象跟着销毁。 2、作用范围:整个Web应用(应用范围)。 3、作用: a)在不同Servlet 之间转发 this.getSer转载 2017-04-14 16:47:53 · 1390 阅读 · 0 评论 -
jsp的九大内置对象和四大作用域
九大内置对象:request response pageContext session application out config page exception四大作用域:Request Page Session Application具体分析如下:request 请求对象 类型 javax.ser转载 2017-04-16 14:41:57 · 327 阅读 · 0 评论 -
详解java内存泄露和如何避免内存泄漏
一直以来java都占据着语言排行榜的头把交椅。这是与java的设计密不可分的,其中最令大家喜欢的不是面向对象,而是垃圾回收机制。你只需要简单的创建对象而不需要负责释放空间,因为Java的垃圾回收器会负责内存的回收。然而,情况并不是这样简单,内存泄露还是经常会在Java应用程序中出现。下面我们将详细的学习什么是内存泄露,为什么会发生,以及怎样阻止内存泄露。什么是内存泄露内存泄露的定义:对转载 2017-04-16 18:13:46 · 387 阅读 · 0 评论 -
Ubuntu ifconfig命令eth0没有IP 解决方法
问题描述:Ubuntu ifconfig命令eth0没有IP 1.删除etc/udev/rules.d/70-persistent-net.rules 文件,之后重启让系统重新生成eth0配置文件rm -f /etc/udev/rules.d/70-persistent-net.rulesreboot2.$ifconfig 看有没有eth0信息3.$sudo原创 2017-05-28 12:01:27 · 12390 阅读 · 1 评论 -
java基本类型与包装类型区别
Java基本类型与包装类型区别Java中基本类型都有固定的存储空间,不像其他大多数语言那样随机器硬件架构的变化而变化,这种占存储空间大小的不变性是java程序比其他大多数语言编写的程序更具可移植性的原因之一。java中基本类型和包装类的区别:1.包装类是对象,拥有方法和字段.对象的调用都是通过引用对象的地址 ;2.包装类创建的是对象,拥有方法和字段.对象的调转载 2017-05-30 17:31:01 · 1758 阅读 · 0 评论 -
Java中定义常量(Constant) 的几种方法
/** * Method One */ interface ConstantInterface { String SUNDAY = "SUNDAY"; String MONDAY = "MONDAY"; String TUESDAY = "TUESDAY"; String WEDNE转载 2017-05-20 12:21:19 · 47997 阅读 · 0 评论 -
Java实现怎样hashcode
下面这段话摘自Effective Java一书:在程序执行期间,只要equals方法的比较操作用到的信息没有被修改,那么对这同一个对象调用多次,hashCode方法必须始终如一地返回同一个整数。如果两个对象根据equals方法比较是相等的,那么调用两个对象的hashCode方法必须返回相同的整数结果。如果两个对象根据equals方法比较是不等的,则hashCode方法不一定得返回不同的整数转载 2017-07-11 14:04:48 · 330 阅读 · 0 评论 -
Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect错误原因:zookeeper没有正常启动为了避免防火墙的影响,关闭防火墙不同版本防火墙查看命令不太一样,大家自己选择合适命令后来发现是jdk配置问题,需要source一下原创 2017-05-26 10:51:39 · 45360 阅读 · 4 评论 -
海量数据处理
原文链接:http://blog.csdn.net/v_july_v/article/details/7382693前言 一般而言,标题含有“秒杀”,“99%”,“史上最全/最强”等词汇的往往都脱不了哗众取宠之嫌,但进一步来讲,如果读者读罢此文,却无任何收获,那么,我也甘愿背负这样的罪名 :-),同时,此文可以看做是对这篇文章:十道海量数据处理面试题与十个方法大总结的一般抽象性转载 2017-07-05 21:20:24 · 229 阅读 · 0 评论 -
Java集合类详解
Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMapCollection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。J转载 2017-06-15 17:18:09 · 327 阅读 · 0 评论 -
剑指offer -- 旋转数组最小值
问题描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1.public class RotateMin { public static void main(String[] args) throws Exception {原创 2017-07-15 21:40:38 · 272 阅读 · 0 评论 -
打印1到最大的n位数
/** * 剑指offer面试题12:打印1到最大n位数 * 题目:输入数字n,按顺序打印从1到最大的n位十进制数。 * 比如:输入3,则打印1,2,3一直到999 * 解法一:使用数组表示大数 * * */public class Print1ToNthDigits { //使用数组实现对数进行+1操作 public static boolean increm原创 2017-07-16 20:42:02 · 342 阅读 · 0 评论 -
Java过滤器与SpringMVC拦截器之间的关系与区别
过滤器和SpringMVC的拦截器的区别转载 2017-07-20 17:45:19 · 303 阅读 · 0 评论 -
今日头条笔试题
/*题目描述:给定两个长度为 n 的整数数列 A 和 B。再给定 q 组查询,每次查询给出两个整数 x 和 y,求满足 Ai >= x 且 Bi >= y 这样的 i 的数量。输入第一行给定两个整数 n 和 q。第二行给定数列 A,包含 n 个整数。第三行给定数列 B,包含 n 个整数。接下来 q 行,每行两个整数 x 和 y,意义如上所述。输出对于每组查询,输出所求的下标数量。原创 2017-08-22 16:43:12 · 501 阅读 · 0 评论 -
JAVA 各种数值类型最大值和最小值 Int, short, char, long, float,&nbs
代码片段:byte bmax, bmin;short shmax, shmin;char cmax, cmin;int imax, imin;long lmax,lmin;float fmax,fmin;double dmax,dmin;fmax = Float.MAX_VALUE;fmin = Float.MIN_VALUE;dmax = Double.M转载 2017-04-01 23:51:27 · 1510 阅读 · 0 评论