- 博客(19)
- 收藏
- 关注
原创 HashMap源码解读
HashMap数据结构在jdk1.7中,HashMap采用数组+链表(拉链法)。因为数组是一组连续的内存空间,易查询,不易增删,而链表是不连续的内存空间,通过节点相互连接,易删除,不易查询。HashMap结合这两者的优秀之处来提高效率。而在jdk1.8时,为了解决当hash碰撞过于频繁,而链表的查询效率(时间复杂度为O(n))过低时,当链表的长度达到一定值(默认是8)时,将链表转换成红黑树...
2021-04-08 13:44:56
196
原创 利用discord创建一个自己的discord bot机器人
最近应一疯狂热爱NIKE的朋友需求,接触了discord开发,利用discord bot实现了很多有意思的事情。1.Discord是什么?Discord 是一款适用于游戏玩家一体化语音和文字聊天的即时通信(IM)软件。 目前 Discord 已经覆盖 Windows、MacOS、Android、iOS、Windows Phone等多种主流平台。可以称之为支持 Linux 的 YY 语音,其以简洁的界面、强大的功能、与主流游戏平台的无缝结合,获得了国外众多游戏玩家的青睐,成为游戏玩家游戏中沟通协作的.
2020-11-24 22:31:03
29617
3
原创 技术宅预约Kou罩那些事儿
俗话说需求推动技术的发展,当下口罩也成了炙手可热的硬通货,颇有一般等价物的意思。今天偶然看到了公众号推送的文章,emmmm口罩也要线上预约了,本着技术服务生活的态度扫码进去看了一下,界面简单清爽,嗯!做的蛮不错!好评!凭借职业敏感性,咦,没有看到有传参数呀,他怎么知道我预约的是哪家药店,反正周末有生无聊,好奇心害死猫,随即从二维码下手。二维码解码结果:从解码结果可知有两个参数,...
2020-02-23 22:50:38
334
原创 高维数据可视化方法
高维数据可视化的方法:当维数低于10时:RadViz,散点图矩阵,平行坐标 当维度在10~100之间时:平行坐标,降维投影图 当维度在100以上时:只能使用降维投影图来进行可视化...
2020-01-18 22:57:21
5849
1
原创 JAVA中依赖冲突原因解析以及解决思路
1.依赖冲突原因详解依赖冲突的根源是Maven的依赖机制会导致Jar包的冲突。举个栗子,在我们目前的项目中使用了A和B两个Jar包,A包在依赖中依赖了C包,而B包在依赖中也同时依赖了C包,但是A包依赖的C的版本的1.0,B依赖C包的版本是2.0。此时,我们的项目中就出现了1.0.和2.0两个版本的C包,此时Maven会依赖路径最短优先原则,来决定使用哪个版本的Jar包,而另外一个无用的Jar包...
2019-12-16 15:49:00
3446
原创 事务传播机制REQUIRES_NEW,在嵌套事务中不起作用的解决方法
事务传播机制REQUIRES_NEW的官方文档中是这样解释的:Create a new transaction, and suspend the current transaction if one exists.翻译为创建一个新事务,如果当前存在事务,则挂起当前存在的事务。总结下REQUIRES_NEW有两层含义:1.REQUIRES_NEW会开启新事务,外层事务不会影响内层事务...
2019-12-04 15:53:51
2920
1
原创 JVM之垃圾回收器GC(一)
GC(Garbage Collection)即垃圾收集,GC是JVM中一种自动内存管理机制。自动内存管理机制可以自动的判断指定的内存区域是否需要被释放,依照合适的垃圾回收算法来安全的释放指定的内存区域,进而提高开发效率和提升系统的安全性,某些算法还可以提高系统的运行性能。本文就GC如何判断垃圾对象的算法进行阐述。如何判断对象为垃圾对象:(1)引用计数算法在对象中添加一个引用计数器,当有...
2019-07-24 15:13:35
110
原创 JVM内存模型之栈内存
Java虚拟机栈(Java Virtual Machine Stacks) 是线程私有的,每创建一个线程,虚拟机就会为这个线程创建一个虚拟机栈,虚拟机栈表示Java方法执行的内存模型,每调用一个方法就会为每个方法生成一个栈帧(Stack Frame),用来存储局部变量表、操作数栈、动态链接、方法出口等信息。每个方法被调用和完成的过程,都对应一个栈帧从虚拟机栈上入栈和出栈的过程。虚拟机栈的生命周期和...
2019-07-23 19:22:30
379
原创 SQL调优总结
最近面试的时候DB是高频问题,而在DB中关于SQL优化是重点中的重点,在SQL优化中index索引是必问。SQL优化的步骤:1.首先通过show status命令来了解数据库中各种SQL的执行频率mysql连接成功后,通过show [session/global] status命令可以提供目前Mysql服务器的状态信息,可以根据当前的需要来加上参数session或者是global。se...
2019-07-12 17:04:19
137
原创 mybatis注解之@Mapper和@MapperScan
在使用Mybatis持久层框架来操作数据库时,我们可以使用@Mapper注解和@MapperScan注解来将Mapper接口类交给Sprinig进行管理。方式一:使用@Mapper注解优点:粒度更细缺点:直接在Mapper接口类中加@Mapper注解,需要在每一个mapper接口类中都需要添加@Mapper注解,较为繁琐方式二:使用@MapperScan注解通过@...
2019-07-04 18:15:58
3689
原创 设计模式之单例的N种实现
单例模式是一种常用的设计模式,单例模式的定义是单例的类只允许一个实例存在。单例的实现主要是通过以下两个步骤:1.将该类的构造方法定义为私有,这样其他类的代码就无法通过调用该类的构造方法来实例化该类的对象,只能通过该类提供的静态方法来获取该类的实例化对象。2.在类中定义一个静态方法,当调用该静态方法的时候判断该类持有的对象是否为空,如果不为空则返回其引用,如果类持有的引用为空则创建一...
2019-06-17 17:01:49
353
原创 关于消息队列的几点思考(2)
在系统中引入消息队列可能会出现的问题系统的可用性降低:系统引入的外部依赖越多,越容易挂掉,最初是A系统同步调用BCD三个系统的接口,ABCD都没问题。如果加入MQ等更多的依赖,如果说MQ出现故障,整个系统都会崩溃。引入的组件越多,故障的可能性就越大。系统的复杂性提高:加入MQ,如何保证消息没有被重复消费?如何处理消息丢失的问题?如何保证消息传递的顺序性问题?这些都是在生产环境中会遇到的问题...
2019-05-14 17:19:36
528
原创 关于消息队列的几点思考(1)
首先是消息队列常见的使用场景,其实场景有很多,但是比较核心的使用场景有三个:解耦、异步、削峰解耦在不使用MQ时的系统模块耦合场景:使用MQ后系统解耦:如果说在自己负责的系统中是否有类似的场景,就是一个系统或者是一个模块,调用了多个系统或者模块,互相之间的调用关系很复杂,尤其是维护起来会很麻烦。但其实这个调用是不需要直接同步调用接口的,就需要考虑在自己的项目中是否可以使用MQ...
2019-05-14 09:28:09
117
原创 使用arduino作为web客户端,以get方式发送带参数的http请求到服务器实现物联网
应朋友需求,在工作学习之余学习了半个月的Arduino,分享一下自己的学习成果。软件:本地服务器中的项目是使用JAVA,框架Springboot+Mybatis,数据库Mysql,在项目中开放一个可以直接向数据库存储数据的接口来接收arduino发出的请求。硬件:Arduino UNO开发板,DHT11传感器+Ethernet W5100拓展板,将arduino中读出的数据以带参数的htt...
2019-05-13 14:37:32
12623
5
原创 MongoDB使用java获取连接异常java.lang.NoSuchMethodError: com.mongodb.connection.DefaultClusterFactory.create
在使用java获取MongoDB连接时出现异常,使用CentOS可以正常连接到MongDB,防火墙也已关闭。java.lang.NoSuchMethodError: com.mongodb.connection.DefaultClusterFactory.create(Lcom/mongodb/connection/ClusterSettings;Lcom/mongodb/connection...
2019-05-08 21:26:29
7413
原创 maven下手动导jar包到本地仓库,The goal you specified requires a project to execute but there is no POM
命令一:(运行失败)mvn install:install-file -Dfile=D:\Program Files\feiq\Recv Files\jave-1.0.2.RELEASE.jar -DgroupId=com.baizhi -DartifactId=jave -Dversion=1.0.2 -Dpackaging=jar经查是因为目录路径中存在空格,将需要添加的ja...
2019-04-19 09:24:14
1735
4
原创 Spring+jdbcTemplate+Struts2整合框架搭建过程
1.添加jar包Spring的jar包Struts2的jar包 ojdbc数据库驱动jar包(使用oracle数据库) 数据库连接池jar包 (dbcp数据库连接池)aop的一个第三方依赖jar2.配置applicationContext.xml(1)配置数据源DataSource,DBCP中数据源的类名为BasicDataSou...
2019-03-13 14:41:12
410
原创 Spring的AOP思路
现有代码的问题:1:事务代码耦合----现有的事务控制的代码,耦合在了service方法中,一旦数据库的访问技术发生变化,所有的事务控制的代码都需要替换,导致service的代码被大量的修改JDBC控制事务代码:conn.setAutoCommit(false);conn.commit;Mybatis控制事务代码:sqlSession.commit();2:事务控制的代...
2019-03-11 21:25:42
103
转载 java中接口是否可以继承多个接口?
接口是常量值和方法定义的集合。接口是一种特殊的抽象类。java类是单继承的。classB Extends classAjava接口可以多继承。Interface3 Extends Interface0, Interface1, interface……不允许类多重继承的主要原因是,如果A同时继承B和C,而B和C同时有一个D方法,A如何决定该继承那一个呢?但接口不存在这样的问题,接口全都是抽象...
2018-11-17 13:57:02
895
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人