自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 Caused by: com.dangdang.ddframe.rdb.sharding.parsing.parser.exception.SQLParsingException:

SQL syntax error, expected token is 'EQ', actual token is 'IDENTIFIER',一级目录二级目录三级目录这个问题是shardingjdbc的一个问题,因为它不支持某些SQL,如果不是必要进行分库分表的话,就不要使用 sharding-jdbc,因为会有诸多的限制和不方便(我的版本:1.5.4.1)可能是我的版本太旧了,也许升级下版本就可以了,但是我的项目比较复杂,升级可能会引出新的问题,所以就用了官方推荐的多数据源解决。进入官网:http

2020-12-17 11:01:51 1554

原创 java手机号归属地查询

java手机号归属地查询Maven 依赖代码实现:测试结果:Maven 依赖 <dependency> <groupId>com.googlecode.libphonenumber</groupId> <artifactId>geocoder</artifactId> <version>2.126</version> &

2020-09-28 09:52:22 1165

原创 ERROR: Unsupported method: AndroidProject.getVariantNames().

@[TOC](ERROR: Unsupported method: AndroidProject.getVariantNames().)问题:最近公司让我对接一键免密登陆功能,客户端开发也需要熟悉,用Android Studio打开项目后报错,内如如下:ERROR: Unsupported method: AndroidProject.getVariantNames().The version of Gradle you connect to does not support that method

2020-09-28 09:28:50 774

原创 第三方接口的自动化管理---智能路由

智能路由--第三方接口的自动化管理1、背景介绍准备工作模块介绍2、演进历程初级阶段处理流程存在问题半自动化阶段优化后的处理流程主要完成的改进点半自动化阶段存在的问题智能路由阶段主要思想智能路由处理流程3、实现思路实时监控借助阿里Sentinel组件完成实时统计自动切走自动切回总结1、背景介绍对于很多企业,调用第三方公司提供的接口再平常不过了,但是大家都知道依赖别人的接口并且要求自己的系统稳定、高可用那是多么的困难,很被动,任人宰割。只要依赖别人的服务,系统就很难做到高可用… 为了解决这一问题,笔者也是

2020-08-08 18:13:36 868 3

原创 JVM详解---系列

JVM基础知识JVM从编译到执行JAVA程序的执行过程三级目录JVM从编译到执行JAVA程序的执行过程一个java程序首先经过 javac 命令编译成 .class 文件,然后 JVM 将其加载到方法区,执行引擎将会执行这些字节码,执行时,会翻译成操作系统对应的函数。所以,JVM 作为 .class 文件的翻译存在:输入字节码,调用操作系统函数。调用过程如下: HelloWord.java 文件 -> javac 编译器 -> HelloWord.class 字节码-> J

2020-07-31 22:09:00 230

转载 Job for docker.service failed because the control process exited with error code. See

在Liunx中使用Docker, 注: Liunx使用的是在虚拟机下的centOS7版本在刚开始安装Docker时没有任何错误, 但是在后续的docker启动过程中, 出现以下问题:Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service"刚遇到这个问题时, 在百度上找答案, 但是找到的答案都不能满足这个问题, 于是自己就

2020-06-30 22:24:12 316

原创 Sharding-jdbc不支持sql

处理Sharding-jdbc不支持sql在很多项目中,我们可能只是对数据库中一张或两张表进行分表分库处理,其余表依然按照正常的处理逻辑。若此时所有的表的操作都交给sharding处理的话,其一 是效率会受到很大的影响,其二是sharding jdbc会不支持很多sql的写法。在这里为了绕开sharding jdbc对数据源的管理,需要多配置一个数据源 dataSourceForSpring,该数据源不交给sharding-jdbc来管理(其实还是同一个数据库也可以是分开的),而是spring直接管理。

2020-06-12 14:20:50 3770

原创 org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for

Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsExceptionorg.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is com.mysql.jdbc.exceptions.jdbc4.CommunicationsException

2020-06-04 11:55:26 4247

原创 Java线程基础、线程之间的共享和协作(四)

ThreadLocal 辨析接着上一篇线程的共享和协作,对synchronized 内置锁以及volatile,最轻量级的同步机制 做了辨析,接下来我们聊聊 ThreadLocal与 Synchonized 的比较ThreadLoack 和 Synchonized 都是用于解决多线程并发访问。可是ThreadLocal和Synchonized 有这本质的区别。 Synchonized 是利用锁的机制,使变量或代码块在某一时刻仅仅能被一个线程访问。ThreadLoack 是为每个线程都提供了变量

2020-05-31 23:17:10 233

原创 Java线程基础、线程之间的共享和协作(三)

对 Java 里的线程再多一点认识深入理解run()和start()Thead类是Java里对线程概念的抽象,可以这样理解:我们通过new Thread(),其实只是new出来一个Thread的实例,还没有真正和操作系统线程挂钩起来。只有执行了start()方法后,才实现了真正意义上的启动线程。start()方法让一个线程进入就绪队列等待分配CPU,分到CPU后才调用实现的run()方法,start()方法不能重复调用,如果重复调用会抛异常。而run()方法是业务逻辑实现的地方,本质上和任意一个类

2020-05-27 20:05:45 239

原创 Java线程基础、线程之间的共享和协作(二)

认识Java里的线程Java天生就是多线程一个 Java 程序从 main()方法开始执行,然后按照既定的代码逻辑执行,看似没有其他线程参与,但实际上 Java 程序天生就是多线程程序,因为执行 main()方法的是一个名称为 main 的线程。一个main线程的启动,大概做了以下几个事情:main //main 线程,用户程序入口Reference Handler//清除 Reference 的线程Finalizer // 调用对象 finalize 方法的线程Signal Dispa

2020-05-26 17:52:07 189

原创 Java线程基础、线程之间的共享和协作(一)

线程基础、线程之间的共享和协作目录线程基础、线程之间的共享和协作什么是进程和线程CPU核心数和线程数的关系CPU时间片轮转机制澄清并行和并发高并发编程的意义、好处和注意事项多线程程序需要注意的事项什么是进程和线程1. 进程是程序运行资源分配的最小单位进程是操作系统进行资源分配的最小单位,其中包括:CPU,内存空间、磁盘IO等,同一进程中的多条线程共享改进程中的全部系统资源,而进程和进程之间是相互独立的。进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的的

2020-05-21 11:14:58 303

原创 Java创建线程的四种种方式

1、继承Thread类/** * @program: * @description: 通过集成Thread类 * @author: wen.yang * @create: 2020-05-13 19:53 **/public class MyThead extends Thread { // 在MyThead类中覆盖Thread类中的run方法. public void run() { // 在run方法中编写需要执行的操作 for(int i = 0; i <

2020-05-13 20:00:15 260

原创 freemarker.template.TemplateNotFoundException: Template not found for name "*.ftl"

Freemarker 加载模板方法(SpringBoot环境)最近项目上用到freeMarker 的模板,遇到有关配置freeMarker的模板路径时,配置过如下情况:**根据官网上freeMarker的Api配置但是自己不管怎么修改,还是报freemarker.template.TemplateNotFoundException: Template not found for name “*.ftl”1、首先检查下打的包target下是否有你需要的模板文件没有则需要设置pom文件 <

2020-05-09 10:19:50 25376 6

转载 [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated c

[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated c异常:在执行一段SQL时出现以下问题[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and con...

2020-04-24 17:27:17 6496

转载 mysql报错 is longer than the server configured value of 'wait_timeout'...

具体报错信息:Could not open JDBC Connection for transaction; nested exception is com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:The last packet successfully received from the server was 52,075,567...

2020-04-20 15:42:35 3762

原创 Spring @Valid 参数校验 @RestControllerAdvice自定义返回值 不生效

如果确保代码没有任何问题,检查下 下列几项:方法上增加需要捕获的HTTP状态码 @ResponseStatus(HttpStatus.BAD_REQUEST) /** * 参数解析失败异常 */ @ExceptionHandler(HttpMessageNotReadableException.class) @ResponseStatus(HttpStatus.BAD...

2020-04-16 11:49:11 1250 1

原创 Mybatis多数据源动态切换

MyBatista多数据源动态切换首先建立两个测试库,我这里是mybatis_dynamic_data_base 和 mybatis_dynamic_data_base2,表名分别是:mybatis_data1 和 mybatis_data2,表结构一样在表中分别添加两条不同的数据,分别是xiaoyang和xiaoYang2...

2020-04-07 13:44:07 276

转载 中台

中台这一概念,最近在国内大热。阿里、腾讯、百度、京东、美团、滴滴等一众互联网巨头,从去年到今年,接连开始组织架构的调整,意图建设中台。也有很多人认为,中台并不是解决一切问题的法宝,小公司不需要用中台,只有发展到一定规模的公司才需要中台。是不是要有中台?中台适合什么阶段/规模的公司?是一个可以值得去讨论的问题。1.什么是中台,到底要解决什么问题?这个最早由阿里在2015年提出的“大中台,小前...

2020-04-02 20:04:33 483

原创 Spring中的BeanFactory和 FactoryBean的区别

Spring中beanFactory和factoryBean区别概念BeanFactory生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入概念BeanFactory首先,要理解BeanFactory 表示它是一个...

2020-04-02 19:53:36 260

转载 公平锁与非公平锁

前言Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码来自JDK 8)、使用场景进行举例,为读者介绍主流锁的知识点,以及不同的锁的适用场景。Java中往往是按照是否含有某一特性来定义锁,我们通过特性将锁进行分组归类,再使用对比的方式进行介绍,帮助大家更快捷的理解相关知识。下面给出本文内容的总体分类目录:1. 乐...

2020-02-27 09:20:38 454 1

原创 线程池详解

Java中预定义的线程池:FixedThreadPool 创建固定线程数量的线程池,适用于负载较重的服务器,使用了无界队列。 /** * Creates a thread pool that reuses a fixed number of threads * operating off a shared unbounded queue, using the p...

2019-12-27 09:02:02 77

原创 notify和notifyAll应该用谁?

应该尽量使用notifyAll,使用notify因为有可能发生信号丢失的情况。eg:等待超时模式实现一个连接池:假设 等待时间时长为T,当前时间now+T以后超时,long overtime = now + T;long remainTime = T;//等待的持续时间while(remainTime>0 && result不满足条件){ wait(...

2019-12-15 16:31:39 173

原创 线程详解,线程间的共享和协作

基础概念 cpu核心数和线程数的关系: 核心数:线程数=1:1,使用了超线程技术后为1:2 cpu时间片轮转机制: 又称为RR调度,会导致上下文切换 进程和线程: 进程:程序运行资源分配的最小单位,进程内部有多个线程,会共享这个进程的资源 线程:CPU调度的最小单位,必须依赖进程而存在 并行和并发 并行:同一时刻,可以同时处理事情的能力 ...

2019-12-15 15:25:39 144

原创 HashMap 多线程环境下线程不安全

学习笔记:HashMap多线程环境下线程不安全主要原因是put(key,value)操作会引起死循环,hashMap中的 Entry 链表产生环形数据结构,next往下找的时候,永远找不到最后一个,所以导致死循环。 ConcurrentHashMap中如何定位某个元素在哪个位置,如何保证线程安全? JDK1.7及以前: get()方法定位segmen...

2019-12-04 12:28:30 206

原创 Hash详解

Hash哈希(Hash),也叫散列:把任意长度的输入通过一种算法(哈希算法),变换成为固定长度的输出,输出值叫做散列值。属于压缩映射,容易产生哈希冲突。常用Hash算法:直接取余法解决Hash冲突:开放寻址法 再散列法 链地址法PS:md4、md5、sha都是常见的Hash算法,也叫摘要算法,不可逆...

2019-12-02 12:43:05 152

原创 int 占几个字节

4个字节或2个字节,主要看操作系统,和编译器有关,一个int的大小是操作系统的一个字长 TC是16位系统程序,所以int是16bit,也就是两个字节 在32位linux和32位或64位的Windows下,都是4个字节,也就是目前最常用的VC和gcc结果。 C类型 32 64 char ...

2019-11-20 12:49:44 23196

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除