JAVA IDEA DEBUG
文章平均质量分 59
Tate_Brown
这个作者很懒,什么都没留下…
展开
-
一个由Java泛型类型擦除引起的问题
问题发生项目工具及框架: mybatis-plus,springboot,jackson做json序列化处理器。业务需求:搞了一个字段,字段类型是json。字段在java对应中对应的属性是一个枚举类型的List.展现情况:利用mybatis-plus,存入时很正常的存入了枚举name组成的数组。查看的时候出现了问题,取出对象时是正常的。而当我访问那个枚举数组时,只要一访问这其中的元素,就出现了报错。java.lang.ClassCastException: java.lang.String can原创 2021-05-29 00:01:31 · 290 阅读 · 0 评论 -
几种水平分表方案与具体实践
最近在写水平分表,调研总结实践了一些比较普遍的方法,下面总结一下。水平分表所谓水平分表,顾名思义,就是由于某个单表数据过多,影响查询效率,于是选择分表,将原来的业务表按某个维度拆分成几个表,查询的时候根据维度限定选择对应的维度分表去查。比如常见情况下的a表,我按某个维度把它分成了a_1,a_2,a_3。那么当我要查1的数据就去查a_1,查2的数据就去查a_2.前提条件最最前提,主键要唯一,有很多实现方法,比如可以针对不同分表设置不同步长来实现,也可以通过雪花算法,uuid来生成分布式唯一id,一原创 2021-03-08 15:01:39 · 3215 阅读 · 0 评论 -
Redis简介
Redis缓存缓存是Redis最常见的用途,一般用来保证系统的高性能与高并发,因为缓存是放在内存的,而数据库的数据需要经过磁盘文件,当然mysql也支持一部分缓存,内存读写的并发量一定是比磁盘读写高的。简介Redis与Memcached的区别Redis支持复杂数据结构。Redis支持集群模式,当然Memcached也可也实现集群只是比较麻烦。Redis是单核的,在小数据的处理上Redis比Memcached的性能要高。Memcached是多核的,在大数据的处理上性能较高。线程模型主原创 2020-07-28 11:51:16 · 181 阅读 · 0 评论 -
ElasticSearch(分布式搜索引擎)介绍
ElasticSearchES是目前很流行的分布式搜索引擎,基于Lucene.架构设计主体设计:和一般的分布式思想一致,大的来说即在多个机器或容器上启动多个ElasticSearch进程,进而组成cluster。主要功能:存储数据。基本方式:使用索引作为基本单位存储数据,和Mysql类似,将索引与数据表关联,但也有一点不一样,这里的索引只是差不多相当于一张表,实际的情况index下还可以继续分类,一般按照以下层级分类。index->type->mapping->docume原创 2020-07-27 11:23:11 · 318 阅读 · 0 评论 -
消息队列介绍
使用消息队列的原因要是针对某些特定的业务场景,如果不使用消息队列会让系统的一些业务实现变得很复杂。这些场景很多,比如电商系统的订单与库存服务,考试系统的提交与日志服务等。将这些复杂的场景抽象起来,其实使用消息队列的场景集中在达到三个目的:解耦、异步、挫峰。解耦这里主要针对耦合度比较高的系统场景,举个简单的例子,比如说电商场景,订单服务需要被支付、仓库、商品等服务调用,而这其中订单服务就会出现很大的问题,它需要去时刻检测另外的服务是否还活着,如果调用失败了是不是还需要存储或者重发,一旦处理的逻辑不当原创 2020-07-26 17:36:40 · 235 阅读 · 0 评论 -
Java中List对象中clear()方法和List=null方法来清空List的异同(由一道算法题发现)
今天在刷力扣的时候因为一道比较简单的题卡住了,题目如下比较常规的写出了一开始的代码。/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { public List原创 2020-07-08 10:50:00 · 2072 阅读 · 0 评论 -
HashMap超详解
内部数据结构JDK1.8为例,内部使用数组+链表/红黑树的实现方式学过数据结构的都知道拉链法构造哈希表,这就是通过拉链法构造的过程。但是也有区别,当因哈希碰撞形成的链表长度超过8且数组大小超过64(包含64)时,会变成红黑树,提高查找的效率。当红黑树节点小于6时,又会转化回链表。数据插入原理1.判断数组是否为空,若为空则初始化数组,否则,通过计算(n-1)&hash值得到存储的...原创 2020-04-15 15:20:42 · 242 阅读 · 0 评论 -
Session、Cookie、JWT详解
Cookie和Session的产生原因为什么会有Cookie和Session,这是一个自然发生的事情,平时在进行开发时,通常使用HTTP或HTTPS协议发送请求到服务端,而学过计算机网络的都知道,HTTP协议是一种无状态的协议,服务端无法从请求本身知道请求方的相应信息状态,简单说就是请求对于服务端来说都是一视同仁的。这就无法满足实际的开发需求,所以就出现了Cookie和Session,这是HTT...原创 2020-04-13 14:17:41 · 427 阅读 · 0 评论 -
Java高阶笔记
Java语法糖语法糖:Syntactic sugar作用:make things easier to read or to express.使得程序员更容易编写程序,更清晰准确表达逻辑业务,不仅仅是语法的转换,也包括一些小的改进。for/for-each没有分号,和C++类似for(个体:数组)由5.0引入,语法更简介,避免越界错误,但是不可以删除替换元素,不知道当前具体索引,只...原创 2020-03-04 21:11:43 · 952 阅读 · 0 评论 -
Java进阶笔记
Maven构建工具Maven仓库搜索jar包优点:第三方库很强大,要学会在巨人肩膀上工作缺点:搜索,确定版本,下载jar包,工作量大且不易在Maven仓库搜索jar包,添加到pom.xml,右键项目-run as-build,run as即可。Maven概念和实战Maven是一个构建工具,自动下载中心仓库的jar文件,可以更改为aliyun镜像,编译测试运行和打包发布Java项目...原创 2020-01-26 21:04:49 · 501 阅读 · 0 评论 -
Java基础笔记(一)
主要是mooc陈良育老师的课程,这是第一部分课程的内容,强烈推荐,让我发现不少存在的知识漏洞,下面是笔记。Java类基础知识Class(类)1.main函数简写psvm2.类Java文件必须以.java作为拓展名一个Java文件只能有一个public classpublic class的名字必须和文件名字一样大小写都要完全一致一个文件可以有多个class,但是只有一个是pub...原创 2020-01-25 20:53:48 · 320 阅读 · 0 评论 -
分布式配置中心选择
一现有的开源分布式配置中心1.Diamond2.Disconf3.Apollo4.Spring-Cloud-Config5.Netflixarchaius二.优缺点分析与异同比较1.Diamond,Disconf,Apollo都是存在mysql的,spring-cloud-config基于文件,yml或者键值对文件,通过git来拉取的。2.spring-cloud-...原创 2019-03-07 00:16:11 · 612 阅读 · 0 评论 -
基于Google authentic实现的双因子登录认证系统前后台基于SSMP+Vue+Element(解决SecureRandom造成的服务器请求缓慢)
用md5两次加盐密码,可以灵活更换算法- -直接上代码地址:JAVA后台:https://github.com/TateBrownJava/TwoFALogindemoBackendVue前端:https://github.com/TateBrownJava/TwoFALoginDemofrontend----------------------------------------...原创 2018-11-29 01:03:16 · 1924 阅读 · 0 评论 -
Ambiguous handler methods mapped for HTTP path
映射模糊造成的错误。比如/a/{id}与/a/{oid},如果id与oid为相同类型的,{}表示不确定的模糊,所以id与oid,这两个映射会被判断为同一个映射,所以我们需要,把其中一个a改名或者把后面的属性改掉,如果对于确定的id或者oid,可以直接把大括号去掉就可以了。...原创 2018-04-18 19:01:58 · 759 阅读 · 0 评论 -
如何在服务器上部署一个前后端分离的项目并解决跨域问题
以后端为spring-boot与前台为vue的项目举例。一.给服务器安装相应的需求环境1.安装jdk安装方式可自行百度,推荐使用yum安装,安装完成后配置环境即可。2.安装nginx。代理服务器,安装方式可自行百度,yum应该也是可以安装的。二.部署后台代码1.这里采用IDEA作为开发工具,只要通过maven的打包操作package在target那里找到jar包即可。点击package复制那个ja...原创 2018-05-19 14:35:44 · 34835 阅读 · 7 评论 -
如何将一个spring项目重构成spring-boot项目(仅后台)
一.spring---spring-boot的区别 其实讲区别,就是讲spring-boot有不同Spring Boot可以建立独立的Spring应用程序;内嵌了如Tomcat,Jetty和Undertow这样的容器,也就是说可以直接跑起来,用不着再做部署工作了。无需再像Spring那样搞一堆繁琐的xml文件的配置;可以自动配置Spring;提供了一些现有的功能,如量度工具,表单数据验证以及一些外...原创 2018-05-27 19:20:51 · 6490 阅读 · 3 评论 -
一些在线系统的计时操作的实现(spring-boot计时器使用,时间戳比较先后)
最近在搞一个含有在线考试模块的系统。既然是考试,必不可少的一部分就是计时了。总的来说,需要计时的系统大体上分两种:1.规定时间内的倒计时。2.规定时间段内的计时判断。对于第一种倒计时,我觉得下面这篇文章写的很好,这是链接:https://blog.csdn.net/a13432421434/article/details/71346153对于第二种倒计时,我并没有找到合适的,首先介绍一下这个项目的...原创 2018-07-03 19:25:30 · 5015 阅读 · 0 评论 -
Java操作pdf文件与Base64编码相互转换与文件流操作
1.第一步,引入bc包的安装依赖。在pom.xml中引入。<!-- https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk15on --><dependency> <groupId>org.bouncycastle</groupId> <artif...原创 2018-07-25 13:00:41 · 21575 阅读 · 0 评论 -
Spring-boot中MyBatis-Plus实现分页操作
官网上有个比较详细的demo,下面是地址。https://git.oschina.net/baomidou/mybatisplus-spring-boot首先,新建一个分页工具类public class PageUtils implements Serializable { private static final long serialVersionUID = 1L; //总记...原创 2018-07-20 11:42:18 · 9035 阅读 · 0 评论 -
使用IDEA开发安卓和使用AS开发安卓的不同
有人说IDEA开发安卓不是基于gradle,其实应该是没关系的,注意导入安卓的时候的右下角有个gradle need be import,所以吧,idea会默认的去下载gradle- -还有AS和IDEA连界面的差不多。两者区别,AS是只是针对安卓的开发,对安卓的支持肯定是比idea好的。但是IDEA来说,其实是一切java的开发。说白了,AS是谷歌针对安卓在idea基础上的二次开发。所以对安...原创 2018-09-10 23:32:38 · 4773 阅读 · 0 评论 -
Itext5库的对PDF文件的基本操作(一)---新建文档,设置文档属性,设置文档密码
首先引入依赖,为了方便起见,我们采用maven方式构建demo项目。在pom中添加itext库的相应依赖。<!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf --> <dependency> <groupId>com.itextpdf</g...原创 2018-09-18 22:56:09 · 1240 阅读 · 1 评论 -
微信小程序全栈(一).通过授权登录解密获取用户的openid和unionid
最近做一个微信小程序,有个功能需要甲触发A事件然后B收到甲的消息。毫无疑问就是要获取openid存下来与用户绑定了。然后可能有公众号对接进来,于是还是要求一个unionid。这就不可避免要涉及一个获取流程。 本来我以为是小程序端简简单单获取一下腾讯的接口直接就返回回数据了,后来去官方文档看了一下是前端把密文,偏移量,code发给后台,后台通过腾讯接口发送自己的AppId,AppSe...原创 2018-11-12 21:06:40 · 746 阅读 · 0 评论 -
小程序全栈(二)一点总结
基本上是一个礼拜完成了整个过程,从java后台到小程序前端,然后是等上线了,而且这个系统逻辑比较简单。过程中发现并解决的问题其实不算问题,遗留下来的问题很多,也没找到什么好的解决方案,当然更多的还有一些感受。一.还未解决的疑问1.假如我的小程序后台需要用web另外开发,我如何控制我的web端用户的表和小程序端的用户表。而且我的后台需要多角色,小程序端也是多角色。是分表,还是一个表加一个字段...原创 2018-11-20 00:43:58 · 242 阅读 · 0 评论 -
IDEA遇到Auto build completed with errors以及卡在parsing java...几种情况的分析
在使用IDEA的时候,经常从类似git之类的地方将上面的代码clone并部署到本地。有时候配置完一些必要的东西之后,maven会根据项目配置好的pom.xml开始自动的下载依赖包,一般情况下会很顺利的安装好相关依赖的jar包然后直接点运行项目就完成部署了,具体步骤随便找一下都有。 但是最近碰到了一个比较玄学的问题,用IDEA利用从git上clone下来一个spring-boot项目的框...原创 2018-03-13 22:53:47 · 31207 阅读 · 3 评论